Устанавливаем CentOS в VirtualBox. Устанавливаем CentOS в VirtualBox Centos 7 kvm установка img
Подготовка сервера
Проверяем наличие поддержки со стороны процессора:
cat /proc/cpuinfo | egrep "(vmx|svm)"
Если команда ничего не вернет, на сервере отсутствует поддержка виртуализации или она отключена в настройках БИОС. Сам KVM поставить на такой сервер можно, но при попытке ввести команду управления гипервизором мы получим ошибку «WARNING KVM acceleration not available, using "qemu"». В таком случае необходимо перезагрузить сервер, войти в БИОС, найти поддержку технологии виртуализации (Intel VT или AMD-V) и включить ее.
Создадим каталоги, в которых будем хранить все, что касается виртуализации (предлагаемые по умолчанию не удобные):
mkdir -p /kvm/{images,iso}
* каталог /kvm/images для виртуальных дисков; /kvm/iso — для iso-образов.
Установка и запуск
Установка выполняется из репозитория следующей командой:
yum install qemu-kvm libvirt virt-install
* где qemu-kvm — сам гипервизор; libvirt — библиотека управления виртуализацией; virt-install — утилита для управления виртуальными машинами.
Разрешаем автозапуск:
systemctl enable libvirtd
Запускаем KVM:
systemctl start libvirtd
Настройка сети
В данной инструкции рассмотрим использование сетевого моста.
Настраивая сетевой мост через удаленное подключение, внимательно проверяйте вводимые данные. В случае ошибки соединение будет прервано.
Устанавливаем пакет для работы с bridge:
yum install bridge-utils
Смотрим список сетевых интерфейсов и их настроек:
В моем примере были следующие данные:
1: lo:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6::1/128 scope host
valid_lft forever preferred_lft forever
2: enp4s0f0:
inet 192.168.1.24/24 brd 192.168.1.255 scope global enp4s0f0
valid_lft forever preferred_lft forever
valid_lft forever preferred_lft forever
3: enp5s5:
4: virbr0:
valid_lft forever preferred_lft forever
5: virbr0-nic:
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
* из этого для нас важны enp4s0f0 — реальный сетевой интерфейс с настроенным IP-адресом 192.168.1.24 , через который идет подключение сервера к локальной сети (из него мы будем делать мост); 00:16:76:04:26:c6 — mac-адрес реального ethernet адаптера; virbr0 — виртуальный сетевой адаптер.
Редактируем настройки реального адаптера:
vi /etc/sysconfig/network-scripts/ifcfg-enp4s0f0
Приводим его к виду:
ONBOOT=yes
BRIDGE=br0
TYPE=Ethernet
DEVICE=enp4s0f0
BOOTPROTO=none
Создаем интерфейс для сетевого моста:
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.24
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=77.88.8.8
Перезапускаем сетевую службу:
systemctl restart network
Сетевые настройки должны измениться — в моем случае:
2: enp4s0f0:
link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
3: enp5s5:
link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff
4: virbr0:
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic:
link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
6: br0:
link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.24/24 brd 192.168.1.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::216:76ff:fe04:26c6/64 scope link
valid_lft forever preferred_lft forever
Настаиваем перенаправления сетевого трафика:
vi /etc/sysctl.d/99-sysctl.conf
net.ipv4.ip_forward=1
Применяем настройки:
sysctl -p /etc/sysctl.d/99-sysctl.conf
Перезапускаем libvirtd:
systemctl restart libvirtd
Создание виртуальной машины
Смотрим доступные варианты гостевых операционных систем:
Для создания первой виртуальной машины вводим следующую команду:
virt-install -n FirstTest \
--noautoconsole \
--network=bridge:br0 \
--ram 1024 --arch=x86_64 \
--vcpus=1 --cpu host --check-cpu \
--disk path=/kvm/images/FirstTest-disk1.img,size=16 \
--cdrom /kvm/iso/CentOS-7-x86_64-Minimal-1611.iso \
--graphics vnc,listen=0.0.0.0,password=my_password \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
- FirstTest — имя создаваемой машины;
- noautoconsole — после создания не подключается автоматически к консоли виртуальной машины;
- network — тип сети (в нашем примере сетевой мост);
- ram — объем оперативной памяти, который будет выделен;
- vcpus — количество виртуальных процессоров;
- disk — виртуальный диск: path — путь до диска; size — его объем;
- cdrom — виртуальный привод с образом системы;
- graphics — параметры подключения к виртуальной машины с помощью графической консоли (в данном примере используем vnc); listen — на какой адресе принимает запросы vnc (в нашем примере на всех); password — пароль для подключения при помощи vnc;
- os-variant — гостевая операционная система (весь список мы получали командой osinfo-query os , в данном примере устанавливаем Reв Hat 7 / CentOS 7).
Разрешаем автостарт для созданной ВМ:
virsh autostart FirstTest
Подключение к виртуальной машине
Для дальнейшей установки операционной системы скачиваем VNC-клиент на компьютер администратора, например, TightVNC и устанавливаем его.
На сервере смотрим, на каком порту слушает VNC созданной машины:
virsh vncdisplay FirstTest
в моем случае было:
Это значит, что нужно к 5900 прибавить 0. Если результат команды будет:1 — 5900 + 1 = 5901 и так далее.
Открываем порт на брандмауэре:
firewall-cmd --permanent --add-port=5900-5905/tcp
firewall-cmd --reload
* в данном примере добавлено сразу 6 tcp-портов от 5900 до 5905 .
Запускаем установленный TightVNC Viewer, в открывшемся окне вводим IP-адрес сервера KVM и порт, на котором слушает наша ВМ (в данном примере, 5900):
Нажимаем Connect . Программа запросит пароль — вводим тот, что указали при создании ВМ, (в данном примере, my_password ). Мы подключимся к виртуальной машине, как будто, к ней подключен монитор или удаленная консоль KVM.
Admin и пароль, который создали при выполнении команды engine-setup . После успешного входа можно управлять виртуальными машинами через веб-интерфейс.
CentOS является одной из популярных систем на базе Linux, и по этой причине многие пользователи хотят с ней познакомиться. Устанавливать ее в качестве второй операционной системы на свой ПК - вариант не для каждого, но вместо этого можно поработать с ней в виртуальной, изолированной среде под названием VirtualBox.
Скачать CentOS можно совершенно бесплатно. Для удобства пользователей разработчики сделали 2 вариации дистрибутива и несколько способов закачки.
Сама операционная система есть в двух версиях: полная (Everything) и урезанная (Minimal). Для полноценного знакомства рекомендуется скачать полную версию - в урезанной нет даже графической оболочки, и для обычного домашнего использования она не предназначена. Если же вам нужна урезанная, на главной странице CentOS нажмите «Minimal ISO» . Оно скачивается ровно такими же действиями, что и Everything, загрузку которой мы рассмотрим ниже.
Скачать версию Everything можно через torrent. Поскольку примерный размер образа составляет порядка 8 ГБ.
Для скачивания выполните следующее:
Шаг 2: Создание виртуальной машины для CentOS
В VirtualBox каждая устанавливаемая операционная система нуждается в отдельной виртуальной машине (VM). На этом этапе выбирается тип системы, которая будет установлена, создается виртуальный накопитель и настраиваются дополнительные параметры.
На этом установка VM заканчивается.
Шаг 3: Настройка виртуальной машины
Этот этап необязателен, но будет полезен для некоторых базовых настроек и общего ознакомления с тем, что можно изменить в VM. Для входа в настройки нужно нажать правой кнопкой мыши по виртуальной машине и выбрать пункт «Настроить» .
Во вкладке «Система» - «Процессор» можно увеличить количество процессоров до 2. Это даст некоторый прирост к производительности CentOS.
Перейдя в «Дисплей» , можете добавить некоторое количество МБ к видеопамяти и включить 3D-ускорение.
Остальные настройки можно выставить по своему усмотрению и возвращаться к ним в любой момент, когда машина не запущена.
Шаг 4: Установка CentOS
Основной и последний этап: инсталляция дистрибутива, который уже был скачан.
- Выделите кликом мыши виртуальную машину и нажмите на кнопку «Запустить» .
- После запуска VM нажмите на папку и через стандартный системный проводник укажите место, куда вы скачали образ ОС.
- Запустится установщик системы. При помощи стрелки вверх на клавиатуре выберите пункт «Install CentOS Linux 7» и нажмите Enter .
- В автоматическом режиме будут произведены некоторые операции.
- Начнется запуск инсталлятора.
- Запустится графический установщик CentOS. Сразу же хотим заметить, что у этого дистрибутива один из самых проработанных и дружелюбных установщиков, поэтому работать с ним будет очень просто.
Выберите ваш язык и его разновидность.
- В окне с параметрами настройте:
- Нажмите на кнопку «Начать установку» .
- Во время установки (состояние отображается в нижней части окна как прогресс-бар) вам будет предложено придумать пароль root и создать пользователя.
- Впишите пароль для прав root (суперпользователя) 2 раза и нажмите «Готово» . Если пароль будет простым, кнопку «Готово» потребуется нажать дважды. Не забудьте сперва переключить раскладку клавиатуры на английский язык. Текущий язык можно увидеть в правом верхнем углу окна.
- Впишите желаемые инициалы в поле «Полное имя»
. Строка «Имя пользователя»
будет заполнена автоматически, но ее можно изменить вручную.
При желании назначьте этого пользователя администратором, установив соответствующую галочку.
Придумайте пароль для учетной записи и нажмите «Готово» .
- Дождитесь установки ОС и нажмите на кнопку «Завершить настройку» .
- Будут выполнены еще кое-какие настройки в автоматическом режиме. .
- Появится загрузчик GRUB, который по умолчанию через 5 секунд продолжит загрузку ОС. Можно сделать это вручную, не дожидаясь таймера, нажав на Enter .
- Появится окно загрузки CentOS.
- Снова отобразится окно с настройками. На этот раз нужно принять условия лицензионного соглашения и настроить сеть.
- Поставьте галочку в этом коротком документе и нажмите «Готово» .
- Чтобы включить интернет, нажмите на параметр «Сеть и имя узла»
.
Кликните на регулятор, и он сдвинется вправо.
- Нажмите на кнопку «Завершить» .
- Вы попадете на экран входа в учетную запись. Кликните на нее.
- Переключите раскладку клавиатуры, введите пароль и нажмите «Войти» .
Теперь вы можете начинать пользоваться операционной системой CentOS.
Установка CentOS - одна из самых простых, и может быть без труда выполнена даже новичком. Эта операционная система по первым впечатлениям ощутимо может отличаться от Windows и быть непривычной, даже если вы ранее пользовались Ubuntu или MacOS. Однако в освоении этой ОС не возникнет особых сложностей благодаря удобному окружению рабочего стола и расширенному набору приложений и утилит.
В продолжение игрищ с организацией виртуальной винды на выделенном серваке, решил попробовать на вкус KVM, ибо до этого момента как то всегда за глаза хватало продуктов VMware и VirtualBox. А тут на одном из форумов вычитал гневную тираду какого то товарища на счет того, что только идиоты ставят VirtualBox там где можно поставить KVM.
Ну и решил посмотреть. Надо сказать, что в моем понимании, VIrtualBox ставится чуть муторней чем KVM, но управляется проще и нет геморроев с настройкой сетки, хотя функциональностью он возможно и уступает. Чего не скажешь про ESXi. Но обо всем по порядку.
Ставил стандартно на CentOS 6.7, т.ч телодвижения начинаем с обновления системы:
# yum -y update
Смотрим поддерживается ли процессором аппаратная виртуализация, т.к KVM для своей работы требует поддержки Intel VT или AMD-V
# egrep -i "vmx|svm" --color=always /proc/cpuinfo
в выводе должен присутствовать либо vmx либо svm
Смотрим статус контроля доступа SELinux
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
теоретически он может помешать при доступе к дискам, поэтому его надо либо корректно настроить на работу с папкой имиджей, либо отрубить, что мне естественно проще – в файле /etc/selinux/config меняем значение параметра SELINUX на disabled и перегружаем машину
SELINUX=disabled
Импортируем GPG ключи для пакетов
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Ставим весь фарш: сам kvm, API управления виртуалками libvirt, приблуду для создания виртуалок virtinst и гипервизор qemu-kvm
# yum -y install kvm libvirt python-virtinst qemu-kvm
Запускаем libvirt и прописываем модуль автозагрузку
# /etc/init.d/libvirtd start
# chkconfig libvirtd on
Проверяем как KVM установился и стартанул (в выводе должно быть 0 ошибок)
# virsh -c qemu:///system list
Id Name State
—————————————————-
Устанавливаем сетевой мост, для подключения гостевых машин к внешней сетке и ужасному, страшному энторнету
# yum install bridge-utils
Создаем конфиг сетевого моста, аналогичный настройкам сетевого интерфейса, но с небольшой разницей:
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
###### /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=bridge
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=yes
IPADDR=SERVER_IP
PREFIX=24
GATEWAY=GW_IP
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=”System br0″
##################
затем редактируем настройки основного интерфейса, комментируя парметры BOOTPROTO, IPADDR, PREFIX, GATEWAY, DNS1 и прописывая сетевой мост
###### /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
#BOOTPROTO=none
HWADDR=01:2e:32:ab:9f:1e
#IPADDR=SERVER_IP
#PREFIX=24
#GATEWAY=GW_IP
#DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=”System eth0″
BRIDGE=br0
##################
Теперь рестартим сетку и смотрим что получилось - у нас должны показываться 4 интерфейса:
br0 с основным IP
eth0 без IP
lo 127.0.0.1
virbr0 с внутренним IP виртуального рутера
проверяем состояние нашего сетевого моста:
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.002215ab999d no eth0
virbr0 8000.52540052c0e1 yes virbr0-nic
теоретически можно ускорить работу сетевого моста, добавлением в файл /etc/sysctl.conf следующих параметров:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Теперь переходим к созданию директории для хранения имиджей виртуалок и образов дистов iso
# mkdir /usr/vm/iso
# mkdir /usr/vm/vm-images
по дефолту все имиджи машин, образы дисков и прочее хранится в /var/lib/libvirt/ но я решил выпендриться и порезал диск в лучших олдскульных традициях разбиения, поэтому учитывайте этот момент при установке сервера, либо же придется удалять оригинальные хранилища и линковать, как мне, на /usr
# rm -Rf /var/lib/libvirt/images
# ln -s usr/vm/iso /var/lib/libvirt/images
После всей этой подготовки, пытаемся создать виртуальную машину под Windows 7 с 2 виртуальными процами, 4Gb оперативки, 30Gb HDD, хранения имиджа в папке /usr/vm/vm-images и имиджем windows7.iso который мы скачали ранее в папку /usr/vm/iso
# virt-install --connect=qemu:///system -n win7 -r 4096 --vcpus=2 --disk path=/usr/vm/vm-images/win7.img,size=30 -c /usr/vm/iso/windows7.iso --vnc --noautoconsole --os-type windows --os-variant win7 --accelerate --network=bridge:br0 --hvm
Если все нормально, то увидим процесс создания диска. На этой торжественной ноте можно переходить к настройке машины, и тут кроется самая настоящая засада, т.к если вы работаете из под винды, то из вариантов есть либо управление через ming сквозь putty-ssh, но для этого требуются X Windows на стороне сервера, либо же совершенно не понятная тулза virtual viewer, которуя я так и не смог заставить работать. Поэтому все что я смог найти- это либо этот внешний сервис, позволяющий подцепить свою KVM к их админке; либо же ставить свою веб-админку на базе Webmin Cloudmin GPL.
Тут надо заметить, что строка инициализиции сетки –network=bridge:br0 позволит использовать на виртуальной машине паблик IP, тогда как если вы хотите сидеть в виртуальной локалке и выходить из неё в инет, то надо ставить другой оператор –network=bridge:virbr0 что я упустил при установке, т.ч потом пришлось менять руками в файле настройки виртуальной машины /etc/libvirt/qemu/win7.xml.
Управление машиной в CLI осуществляется через virsh (virtual shell) в который мы попадаем из командной строки shell:
# virsh --connect qemu:///system
Welcome to virsh, the virtualization interactive terminal.
Type: ‘help’ for help with commands
‘quit’ to quit
virsh # list –all
Id Name State
—————————————————-
2 win7 running
virsh # shutdown win7
Domain win7 is being shutdown
virsh # start win7
Domain win7 started
Подобных статей достаточно много, но, так как далее я подготовил статьи по настройкам связанным с CentOS, посему, все же опишу процесс установки. К тому же он не будет долгим. Итак, заходим на официальный сайт в раздел скачивание и скачиваем, в моем случае DVD ISO:
Если вдруг скорость Вас не порадует, чуть ниже есть возможность скачать через торрент, к примеру — я так же раздаю этот дистрибутив, ещё кто-то раздает.. и так Вы добьетесь максимальной скорости скачивания, в пределах возможности Вашего интернет канала. Качать я буду все же полную версию CentOS, а не минимальную, как в которой я опубликовывал ранее.
После скачивания, создаем виртуальную машину и подключаем к ней только что скаченный образ. в моем случае это будет Oracle VM VirtualBox. Нажимаем создать, имя, пусть будет «centos», тип — Linux и так как в списке версий, к сожалению нет CentOS, поэтому выбираем Red Hat 64 bit (даже если у Вашей виртуальной машины менее 2 гб озу, поставьте 64 бит, попросту часто бывают случаи что установка ОС не получиться):
Нажимаем «Next» и после этого — «Создать новый виртуальный жесткий диск»:
И выбираем диск по умолчанию «VDI»:
Нажимаем «Next» и оставляем крыжик на «Динамический виртуальный жёсткий диск»:
Нажимаем «Next» и далее укажем размер жесткого диска, дабы не париться по поводу свободного места — укажем примерно 40 гб., так как диск у нас динамический, то место будет занимать на реальном жестком диске по мере надобности, то есть сразу все 40 гб не зарезервируются на нашем жестком диске:
Далее, нажимаем на кнопку «Создать», после этого нажимаем на кнопку «Настроить», залезаем в меню «Система» и во вкладке «Процессор» при необходимости выбираем 2-3 ЦПУ (в моем случае установка идет на Core i7 — 8 ядер, поэтому, я могу себе это позволить):
После выбора образа у нас будет что то типа того:
Переходим в меню «Сеть» , так как в моем случае — имеется домашний роутер с выдачей IP адресов (DHCP сервером), то, я выберу тип подключения «Сетевой мост» с выбором моей сетевой карты на рабочей машине, в «Дополнительно» убеждаюсь, что тип адаптера — это стандартная сетевая карта Intel PRO/1000 MT:
После этого нажимаем на кнопку «ОК».
Кстати, если Вы используете VmWare, то Вам необходимо будет отредактировать vmx файл нашей виртуальной машины (после создания), нажимаем правой кнопкой мыши на vmx файле и открываем к примеру в блокноте или Notepad++:
и в самый низ добавляем:
ethernet0 . virtualDev = "e1000" |
и сохраняем наш vmx файл. Это нужно для того, чтобы CentOS 7 увидел Вашу виртуальную сетевую плату в VmWare.
Итак, возвращаемся в нашему VirtualBox’у, запускаем виртуальную машину с помощью кнопки «Запустить»:
После этого выбираем «Intall CentOS 7»:
Запустится процесс установки, выбираем русский язык:
После этого, нажимаем кнопку «Продолжить» и выбираем программы для установки:
После этого, в верхнем левом углу нажимаем на кнопку «Готово», после этого — заходим в «Место установки»:
Выбираем наш жесткий диск и нажимаем кнопку «Готово»:
Нажимаем на наш сетевой адаптер и включаем его путем нажатия на данную кнопку:
После этого, нажимаем на кнопку «Готово». На этом, настройка в меню практически закончена и нажимаем на кнопку «Начать установку»:
Во время установки, нам будет необходимо установить пароль от пользователя root и создать пользователя. Для начала — нажимаем на «Пароль ROOT» и устанавливаем наш сложный пароль, убедитесь что установлен английский язык (в верхнем правом углу «us»):
Если пароль недостаточно сложный, то, система оповестит Вас об этом, надо будет всего лишь дважды нажать на кнопку «Готово» и пароль примется.
После этого, создаем пользователя:
Тут все так же просто — полное имя — Ваше полное имя, далее имя пользователя (в моем случае sergey), далее, можем сразу наделить пользователя правами администратора, для этого ставим галку в «Сделать этого пользователя администратором» и вводим чуть ниже «Пароль» и ещё чуть ниже подтверждаем наш пароль:
Если пароль недостаточно сложный, два раза нажимаем на кнопку «Готово». Далее, ждем пока у нас установиться и настроиться наша ОС:
После установки, внизу нажимаем на кнопку «Перезагрузить» и ждем пока перезагрузится наша ново установленная ОС:
После перезагрузки — нам надо принять Лицензию, для этого — нажимаем на «Лицензионная информация»
и принимаем (обязательно, не забываем прочесть его, это одно из самых коротких лицензионных соглашений:)) :
и нажимаем на кнопку «Завершить настройку»:
После этого, будет предложено настроить Kdump, тут можем ничего не трогать и нажмем на «Вперед»:
После этого, войдем в пользовательский профиль. Не забываем поменять язык ввода пароля:
Вуаля, все установлено:
После этого, подключаем образ диска Дополнений гостевой ОС:
После этого, нажимаем на файл autorun.sh , вводим наш пароль с привелегиями и видим что все устанавливается:
После установки нажимаем кнопку Enter в консоле и перезагружаем нашу систему. После этого, все дополнения у нас применяться. На этом все.
Установка на других виртуальных машинах, осуществляется по аналогии. Думаю не составит сложности установить и на других виртуальных машинах.
KVM — это инфраструктура виртуализации для Linux, для которой процессор с аппаратным расширением виртуализации может принимать гостевые системы.
KVM — это удобное решение для тестирования различных операционных систем, если у вас нет возможности приобретать дорогостоящие и энергоемкие физические устройства.
В приведенном ниже руководстве представлена установка и настройка KVM (QEMU) вместе с конфигурацией Linux Bridge в операционной системе CentOS7 / RedHat7.
1. Проверьте поддержку виртуализации оборудования процессора
Наш процессор должен поддерживать аппаратную виртуализацию (VT-x), чтобы стать Hypervisor KVM и хостом виртуальных машин (гостевые операционные системы):
# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 42 Model name: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz Stepping: 7 CPU MHz: 800.000 BogoMIPS: 4988.58 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3
2. Отключите и остановите NetworkManager
Известно, что NetworkManager вызывает проблемы при работе с Linux Bridge, поэтому для нас лучше отключить его:
# systemctl stop NetworkManager # systemctl disable NetworkManager Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
3. Установите пакеты, связанные с KVM
# yum install qemu-kvm qemu-img libvirt libvirt-python libvirt-client virt-install virt-viewer virt-manager4. Запустите и включите демон libvirtd
# systemctl enable libvirtd # systemctl start libvirtd5. Установите общесистемные привилегии для KVM
Нам нужно добавить нашего обычного пользователя tuxfixer в группу kvm, чтобы он мог запустить virt-manager
# usermod -a -G kvm tuxfixer
Нам также необходимо установить правила polkit (policy kit) для KVM.
Редактируем файл 49-polkit-pkla-compat.rules:
# vim /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules
и добавьте следующее:
Polkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("kvm")) { return polkit.Result.YES; } });
6. Создайте мост KVM Linux Bridge (модемный сетевой интерфейс гипервизора KVM с сетевыми интерфейсами VM)
В этом уроке мы хотим, чтобы виртуальные машины получали свои IP-адреса из той же сети, где подключен хост KVM Hypervisor, поэтому мы подключим его основной сетевой интерфейс (em1) к сетевым интерфейсам VM.
Для этого нам нужно создать Linux Bridge из интерфейса em1 на хосте KVM Hypervisor.
Текущая конфигурация сети Hypervisor (сразу после установки KVM):
# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6::1/128 scope host valid_lft forever preferred_lft forever 2: em1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 brd 192.168.2.255 scope global dynamic em1 valid_lft 73193sec preferred_lft 73193sec inet6 fe80::d267:e5ff:fe33:153f/64 scope link valid_lft forever preferred_lft forever 3: wlp3s0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff 4: virbr0: mtu 1500 qdisc noqueue state DOWN link/ether 52:54:00:b7:22:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500 link/ether 52:54:00:b7:22:b3 brd ff:ff:ff:ff:ff:ff
Файл конфигурации ifcfg-em1 (до создания моста KVM Linux Bridge):
# cat /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE="em1" TYPE="Ethernet" BOOTPROTO="none" NAME="em1" ONBOOT="yes" HWADDR="D0:67:E5:33:15:3F" IPADDR=192.168.2.3 PREFIX=24 GATEWAY=192.168.2.1 PEERDNS="no" NM_CONTROLLED="no"
Для настройки сети KVM мы будем использовать приложение virt-manager, которое является удобным интерфейсом GUI для интерфейса командной строки KVM.
Примечание. Интерфейс virbr0 был создан автоматически вместе с установкой KVM и представляет виртуальную сеть, существующую «внутри» среды KVM с NAT (трансляция сетевых адресов).
Поскольку мы не нуждаемся в NAT в среде KVM (мы хотим скрыть интерфейс Hypervisor), мы можем удалить существующую виртуальную сеть KVM на основе интерфейса virbr0.
Запустите virt-manager от пользователя root:
# virt-manager
… должно появиться окно virt-manager:
Правый щелчок на QEMU/KVM -> Details -> Virtual Networks -> Disable network: “default” -> Delete network: “default” based on virbr0
Теперь мы можем подключить интерфейс Hypervisor KVM (em1):
Щелкните правой кнопкой мыши:QEMU/KVM -> Details -> Network Interfaces -> Add Interface :
- Interface type: Bridge
- Interface name: br-em1
- Start mode: on boot
- Activate now: enabled
- IP settings: copy configuration from ’em1′
- Bridge settings: STP on, delay 0.00 sec
… нажмите Finish, чтобы переопределить существующую конфигурацию и создать KVM Linux Bridge.
Теперь мы можем проверить вновь созданный Linux Bridge (br-em1):
Проверьте текущую конфигурацию IP (теперь IP назначается br-em1, а em1 действует теперь только как интерфейс):
# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6::1/128 scope host valid_lft forever preferred_lft forever 2: em1: mtu 1500 qdisc pfifo_fast master br-em1 state UP qlen 1000 link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff 3: wlp3s0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:24:d7:f4:dc:e8 brd ff:ff:ff:ff:ff:ff 6: br-em1: mtu 1500 qdisc noqueue state UP link/ether d0:67:e5:33:15:3f brd ff:ff:ff:ff:ff:ff inet 192.168.2.3/24 brd 192.168.2.255 scope global br-em1 valid_lft forever preferred_lft forever inet6 fe80::d267:e5ff:fe33:153f/64 scope link valid_lft forever preferred_lft forever
Проверьте настройку моста:
# brctl show bridge name bridge id STP enabled interfaces br-em1 8000.d067e533153f yes em1
Теперь KVM Linux мост настроен, и мы можем продолжить установку виртуалки.