Ставим базовую систему, убираем опции установки графического окружения и сервера печати, добавляем сервер ssh.
Проверяем наличие поддержки виртуализации процессором:
# cat /proc/cpuinfo | egrep ‘(vmx|svm)’
Замечательно, у меня в системе 8 поддерживающих виртуализацию процессоров 🙂
Что делать, если их нет? Копаемся в BIOS-е, включаем виртуализацию, перешиваем свежий BIOS. Если процессор принципиально не поддерживает виртуализацию, берём другой сервер.
С другим сервером никак? Долго плачем, жалуемся начальнику на тяжёлую жизнь и на то, что пользователи нас побьют и т.д… Не помогло? Ставим qemu:
# aptitude install qemu
Установка в серверной завершена, перезагружаем сервер. Уходим из серверной.
Ставим разные (не)нужные штуки:
# aptitude install qemu-kvm bridge-utils libvirt-bin virtinst mc htop lshw sockstat traceroute virt-manager lxde-core xrdp
Последние три ставим для того, чтобы можно было из M$ Windows заходить терминальным клиентом и рулить виртуальным сервером без установки клиента на рабочем месте администратора. Если у администратора рабочее место с Linux, можно поставить virt-manager там. xrdp удобен тем, что не запускает графический интерфейс до тех пор, пока пользователь не захочит подключиться для удалённого управления сервером, а так же тем, что клиенты rdp имеются практически под любую os и платформу, включая мобильные.
Проверяем, появился ли модуль виртуализации:
# lsmod | grep kvm
Ответ есть — и ок.
Включаем форвардинг arp-запросов, чтобы виртуальные машины адекватно видели сеть, для этого в файл /etc/sysctl.conf добавляем строки:
net.ipv4.conf.all.forwarding=1 net.ipv4.conf.all.proxy_arp=1
и применяем настройки командой sysctl -p
Настраиваем сетевой мост, для этого редактируем /etc/network/interfaces:
# nano /etc/network/interfaces
Находим настройку сетевой платы, обычно что-то типа:
allow-hotplug eth0 iface eth0 inet static address .....
и добавляем мост, изменяя настройку на такую:
auto eth0 iface eth0 inet manual auto br0 iface br0 inet static bridge_ports eth0 address .....
(разумеется, у вас может быть сетевой интерфейс не eth0, учтите это!)
Перезапускаем сеть:
# /etc/init.d/networking restart
Если удалённый коннект отвалился, бежим в серверную и проверяем, что не так 🙂
Проверяем состояние сетевого моста:
# brctl show
Ответ, в котором фигурирует сетевой интерфейс eth0 есть — и ок.
Рулить всем этим будем из линукса нативной программой virt-manager, а из виндов — подключаться терминалом на xrdp и рулить ею же в удалённом рабочем столе lxde.
Для этого добавляем нашего пользователя в группу libvirt:
# nano /etc/group
в строчке libvirt:… в конце дописываем имя нашего пользователя (несколько пользователей пишутся списком через запятую), сохраняем.
Создаём файл автостарта virt-manager:
$ touch ~/.xsessionrc
$ nano ~/.xsessionrc
/usr/bin/virt-manager&
Проверяем возможность подключиться терминалом из виндов.
Готово!
подключиться терминалом из виндов ….. КАК ??????
mstsc.exe /v:IP
где IP — адрес виртуального сервера