« Назад

Современный сервер без системы виртуализации является скорее исключением, чем правилом. И это неудивительно, ведь преимуществ его использования действительно множество. Производственная мощность оборудования постоянно растет, и у админа появляется возможность распределять ресурсы сервера для выполнения различных задач. А также появляется возможность сэкономить средства, используя один более мощный сервер с виртуализацией вместо нескольких менее производительных. И вдобавок — удобная для администрирования система управления с полным доступом к виртуальному серверу на расстоянии. Все эти преимущества обеспечивают спрос на технологии виртуализации в современном ИТ мире и их неоспоримые перспективы.

 

Исходные дыни

Для выполнения настройки необходимо иметь сервер с двумя жесткими дисками для RAID-1. Все команды будут выполняться от пользователя root. Текстовый редактор nano.

1. Первоочередная настройка

Есть несколько вариантов настройки системы виртуализации KVM. Рассмотрим два из них. В первом случае развернем виртуальный сервер на lvm-разделе, во втором – используем файл-образ .

Для первого варианта разметка нашего RAID-массива должна выглядеть следующим образом:

PART swap
PART /boot ext3
PART/ext4
PART /data ext4

Из раздела /data мы впоследствии сделаем раздел lvm.

Для установки на файл-образ все проще:

PART swap
PART /boot ext3
PART/ext4

Устанавливаем операционную систему Linux Debian 10 (buster) на зеркало (RAID-1).

Устанавливаем дополнительные пакеты:

#apt install nmap tcpdump mc hdparm fail2ban smartmontools parted texinfo exim4-config mailutils host bridge-utils

Добавляем в файл /etc/sysctl.conf следующие строки:

#nano /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.proxy_arp=1
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.all.proxy_arp=1

Применяем изменения:

#sysctl -p

2. Конфигурируем интерфейсы

Если виртуальная машина будет иметь локальный ip-адрес, необходимо добавить следующие строки в файл /etc/network/interfaces:

#nano /etc/network/interfaces
.
.
.
auto br0
iface br0 inet static
bridge_ports none
bridge_maxwait 0
address локальный ip-адрес
netmask 255.255.255.0

В случае, если виртуальная машина будет иметь внешний ip-адрес, конфигурация моста будет выглядеть иначе:

.
.
.
auto br0
iface br0 inet static
address ip-адрес хостовой операционной системы
netmask 255.255.255.255
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up brctl addbr br0
up ip route add ip-адрес хостовой ОС/32 dev br0
down ip route del ip-адрес хостовой ОС/32 dev br0

3. Создание раздела LVM (Первый вариант)

Данный раздел статьи предназначен для варианта установки виртуальной машины на lvm. Если вы предпочитаете использовать файл-образ для установки, пропустите этот раздел.

Размонтируем раздел, который мы создали для LVM и удалим информацию о нем из fstab (в нашем случае это раздел /dev/md3):

#umount /data/
#nano /etc/fstab
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0

Инициализируем поддержку LVM этим разделом:

#pvcreate /dev/md3

Создадим группу томов, которую назовем vgvm:

#vgcreate vgvm /dev/md3

Чтобы получить данные о точном объеме (в TiB) свободного дискового пространства, выполните следующую команду:

#pvdisplay

Создадим логический раздел LVM на 1Тб:

#lvcreate –L 1Т -n lvmpart vgvm

Проверим, что все хорошо:

#lvdisplay

4. Создание файла-образа (второй вариант)

Альтернативный вариант – это создание файла-образа:

#dd if=/dev/zero of=/home/img/guest.img bs=1024k count=150000

В данном примере создается файл /home/img/guest.img размером 150 ГБ.

5. Установка KVM

Устанавливаем необходимые пакеты:

#apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin

Вводим в состав пользователя root в группы libvirt и kvm:

#adduser `id -un` libvirt
#adduser `id -un` kvm

Перезагружаем систему:

#shutdown -r now

После перезагрузки проверяем работоспособность:

#virsh -c qemu:///system list
root@server1:~# virsh -c qemu:///system list
Id Name    |
----------------------------------

6. Пример установки гостевой системы Linux Debian 10 (buster)

Для проверки списка операционных систем, поддерживаемых системой виртуализации kvm, выполните следующие команды:

#apt install libosinfo-bin
#osinfo-query os

Для первого варианта (инсталляция на lvm-раздел), запуск установок виртуальной машины будет выглядеть следующим образом:

#virt-install --connect qemu:///system --arch=x86_64 -n debian10 -r 32000 --vcpus=6 --disk /dev/vgvm/lvmpart,device=disk,bus=virtio - c /home/iso/debian10.iso --vnc --noautoconsole --os-type linux --os-variant debian10 --network=bridge:br0,model=virtio

Для файла-образа:

#virt-install --connect qemu:///system --arch=x86_64 -n debian10 -r 32000 --vcpus=6 --disk /home/img/guest.img,device=disk,bus= virtio -c /home/iso/debian10.iso --vnc --noautoconsole --os-type linux --os-variant debian10 --network=bridge:br0,model=virtio

где:

--connect qemu:///system URL, по которому идет подключение к KVM,
-n debian10- имя хостинговой системы,
-r 32000 – объем оперативной памяти, выделяемый в мегабайтах,
--arch=x86_64  - ¦архитектура гостевой системы,
--vcpus=6 - количество виртуальных процессов, открытых гостю,
--disk /dev/vgvm/lvmpart,device=disk,bus=virtio - раздел lvm, на который устанавливаем виртуальную машину,
--disk /home/img/guest.img,device=disk,bus=virtio - файл-образ, на который устанавливаем гостевую систему,
--os-type=linux - тип операционной системы,
--os-variant debian10 - версия операционной системы,
--network=bridge:br0,model=virtio – мост для нашей гостевой системы.
--vnc Запускаем VNC для подключения к текстовой консоли.

Осталось добавить доступ к виртуальной машине по vnc:

#nano /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"
vnc_password = "passwd"

Применяем изменения:

#service libvirtd restart

Устанавливайте операционную систему и пользуйтесь преимуществами системы виртуализации.

Удачи!

Компания ООО «ИНФОТЕК.УА» предоставляет профессиональные услуги по обслуживанию компьютеров организаций

22 августа, 2019

Если у вас возникли вопросы

СВЯЖИТЕСЬ С НАМИ!

Оставьте свои данные и мы свяжемся
с вами ближайшее время