Два и более рабочих места на одном компьютере — бесплатное решение
Желание реализовать возможность совместного использования одного компьютера, хотя бы двуx людей появилась давным-давно. Идея сделать из домашнего или офисного компьютера, как минимум два рабочих места раньше реализовывалась в основном на той же операционной системе со всеми вытекающими недостатками. Трудности возникали особенно тогда, когда одному человеку нравилось работать в windows, а другому в Linux и приходилось кому-то терпеть, если решение было реализовано только через одну ОС. Впрочем были и другие трудности.
Сейчас компьютеры стали более производительные, рост частоты новых процессоров уже нас давно не радует, но зато радует рост ядер. А это значит, что мы в одном системном блоке потенциально уже имеем несколько компьютеров. И тенденция эта будет только расти. Работа нескольких человек с одним компьютером в стандартной конфигурации скоро будет вполне востребованной на рынке и уже сейчас доступна в реализации.
Установка GentooКачаем текущий livecd и загружаемся. Поднимаем сеть. Как зовут сетевой интерфейс?
Для тех кто любит окошки настраиваем сеть так
Я лично привык по старинке. Прописываем свой ip
Установим маршрутизатор по умолчанию
Укажем наши DNS
Задаем пароль для root
Запускаем ssh, для того, чтобы продолжать установку удаленно
C любимого рабочего места заходим по ssh
Предполагается, что у Вас один пустой диск с именем /dev/sda
Создадим раздел для загрузки. 150M с очень большим запасом. Может быть мигрируем в будущем разделы в GPT и поставим EFI.
Все остальное отдадим под lvm
LVM нам понадобится для того, чтобы делать моментальные снимки дисков виртуальных машин, без остановки системы, для организации резервных копий. Так же удобнее будет производить изменение разделов, добавление новых. Разметка диска для LVM. Размеры ставьте на Ваш вкус
Если уже был настроен LVM, то его нужно активировать
Отформатируем все разделы
Монтируем наш будущий корневой раздел
Создаем каталоги для остальных точек монтирования
Монтируем остальные разделы
Качаем свежую систему (проверьте дату в названии файла)
Заберем portage. Portage — описание как собирать и устанавливать необходимые нам программы
Распакуем все это
Скопируем resolv.conf в будущий корневой раздел
Монтируем системные разделы
Попадаем внутрь созданного корневого раздела (будущей системы)
Если есть необходимость, то меняем CFLAGS — опции для компилятора. Опции компилятора, практически стандартные, кроме -march=native (вместо -march=i686), что обязывает компилятор использовать все возможности процессора. Если стоит задача сделать железо независимую установку, то лучше не использовать, т.к. при восстановлении на новом железе (возможно) придется пересобрать весь мир. USE — перечисляются глобально основные опции программ, которые будут установлены. Если будут тонкие клиенты, то добавьте в USE «spice», если нужно пробрасывать USB порты тонких клиентов, то добавьте «usbredir»
Пропишем наши разделы для авто-монтирования
Обновим дерево portage
Если нужно сменить профиль, то как раз самое время
Создадим файл-конфигурации сети
Зададим пароль для root
Добавим себя (testuser), как пользователя и зададим пароль. Добавим в группы users,wheel,audio
К моменту написания статьи не вышла еще qemu-1.7.1, поэтому ставим две звезды, чтобы забрать девелоперскую версию
Данный флаг нужен, чтобы pulseaudio работал как независимый процесс. К сожалению, по умолчанию заставить его стабильно работать с libvirt мне не удалось, используя переменную «nographics_allow_host_audio=1» в libvirtd.conf. Может быть у Вас получится?
Укажем, что нужно будет собирать новые версии пакетов
Установим необходимые программы. Ключ -av позволяет посмотреть опции сборки, если что-то не устраивает, то можно включить опцию в USE переменную, которая содержится в файле /etc/portage/make.conf. app-misc/mc — если кому-то он удобен
Добавим программы в автозагрузку
Соберем ядро Linux, причем в разделах > Device Drivers > IOMMU Hardware Support > IOMMU Hardware Support Отмечаем все звёздочками > Device Drivers > VFIO Non-Privileged userspace driver framework Отмечаем все звёздочками >Device Drivers > Networking support > Universal TUN/TAP device driver support Ставим звёздочку. Все остальное по вкусу ;-)
Добавим флаг «dolvm», для автозагрузки LVM
Установим загрузчик Grub
Копируем новый файл временной зоны в /etc/localtime
Настроим переключение клавиатуры
Фонт в консоли пропишем
Если необходимо, то можно обновить и пересобрать пакеты с новыми USE флагами
Задаем имя хоста
Перегружаемся, если все хорошо, то Вам повезло ;-) Все-таки железо у всех разное, возможно что-то нужно будет включить в ядро. Если все плохо, то разбираемся в документации или пользуемся google. Документации на русском языке в сети достаточно.
Настройка Настройка BIOSПроверяем, что в BIOS VT-d включён, для Z87 «usb intel XHCI» нужно отключить для проброса USB контролеров.
Настройка звукаusermod -G kvm,audio,pulse-access -d /home/qemu qemu usermod -G wheel,audio,pulse-access,users testuser Запустим pulseaudio.
Настройка libvirtВ файл /etc/libvirt/qemu.conf определим пользователя, от которого будет запуск виртуалок
В момент написания статьи seabios в gentoo 1.7.3, а нам нужен свежий, по этому качаем и распаковываем
Создадим вспомогательный скрипт для проброса устройств
Запускаем lspci и выбираем жертву для ручного проброса
Создадим скрипт проброса конкретной видеокарты
Теперь создадим раздел где будет лежать образ виртуальной машины
У меня есть машина, где лежат образы уже подготовленных виртуалок с софтом, надеюсь и у Вас такая появится. Как подготовить образ напишу ниже.
Настройка доменаНиже приведен файл настройки конечной рабочей конфигурации с комментариями.
Данную конфигурацию записываем в файл /etc/libvirt/qemu/wks1.xml Перечитываем файл конфигурации
Первоначальная установка Известные засады- Я встречался с тем, что без полного обновления windows не вставали последние драйвера virtio.
- Перед тем как ставить драйвер-virtio основного диска, нужно подключить второй пустой диск с уже определенным типом virtio