====== Виртуализация ======
===== Подготовка к работе =====
==== Сеть ====
Для того, что бы наши виртуальные машины были в одной же сети с host-системой необходимо переделать сетевые интерфейсы.
Для этого устанавливаем пакет для работы с сетевыми мостами:
yum install bridge-utils
Создаём новый сетевой интерфейс br0, описываем его в **/etc/sysconfig/network-scripts/ifcfg-br0**:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.45
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
Старый сетевой интерфейс **/etc/sysconfig/network-scripts/ifcfg-eth0** приводим к виду:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
После чего перезагружаем машину, дабы убедиться, что в случае перезагрузки все будет отлично работать.
Если по каким либо причинам виртуальная машины была создана с сетевой настройкой по умолчанию, то необходимо переконфигурировать сетевой интерфейс виртуальной машины и привести его к такому виду:
Далее, что бы получить доступ к виртуальной машине для ее управления необходимо поправить настройки по умолчанию **/etc/libvirt/qemu.conf**, надо раскоментировать и щадать следующие параметры:
vnc_listen = "0.0.0.0" # раскомментировать
vnc_password = "Password" # раскомментировать и поставить свой пароль
И перезагружаем демона
systemctl restart libvirtd.service
===== Создание виртуальной машины =====
Для простоты создания лучше всего использовать готовый скрипт:
#!/bin/bash
SYSNAME="vps-centos01"
DISKSIZE="5"
virt-install --connect qemu:///system -n $SYSNAME -r 512 --vcpus=2 --arch=x86_64 \
-c CentOS-6.2-x86_64-netinstall.iso --disk /home/kvm/images/$SYSNAME.img,size=$DISKSIZE \
-w network=bridge:br0,model=virtio --graphics vnc --os-type=linux --os-variant=rhel6
===== Управление виртуальной машиной =====
===== Увеличение дискового пространства =====
Для начала убиваем машину
virsh destroy machine-name
Делаем обязательно бекап
cp /home/virt/images/machine-name.img /home/virt/images/machine-name.imb.backup
Создаём пустой файл необходимого нам размера
dd if=/dev/zero of=zeros.raw bs=1024k count=4096
Копируем его в наш текущий образ
echo zeros.raw >> /home/virt/images/machine-name.img
Монтируем образ для манипуляций с ним средствами fdisk
losetup /dev/loop0 /home/virt/images/machine-name.img
Редактируем
fdisk /dev/loop0
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/loop0: 105.4 GB, 105360916480 bytes
255 heads, 63 sectors/track, 12809 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e743
Device Boot Start End Blocks Id System
/dev/loop0p1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/loop0p2 64 2611 20458496 8e Linux LVM
/dev/loop0p3 2611 7710 40959055 83 Linux
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Selected partition 4
First cylinder (7711-12809, default 7711):
Using default value 7711
Last cylinder, +cylinders or +size{K,M,G} (7711-12809, default 12809):
Using default value 12809
Command (m for help): p
Disk /dev/loop0: 105.4 GB, 105360916480 bytes
255 heads, 63 sectors/track, 12809 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e743
Device Boot Start End Blocks Id System
/dev/loop0p1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/loop0p2 64 2611 20458496 8e Linux LVM
/dev/loop0p3 2611 7710 40959055 83 Linux
/dev/loop0p4 7711 12809 40957717+ 83 Linux
Выходим, отмонтируем диск
losetup -d /dev/loop0
Стартуем виртуалку
virsh start machine-name
Логинимся в неё и добавляем новый диск в раздел LVM
pvcreate /dev/vda4
vgextend VolGroup /dev/vda4
lvextend -l+100%FREE /dev/VolGroup/lv_root
resize2fs /dev/VolGroup/lv_root
Всё.
===== Источники =====
[[http://cumptrnrd.wordpress.com/tag/mirror/]]
[[http://andrey.org/kvm-on-centos/]]
[[http://fedoraproject.org/wiki/Getting_started_with_virtualization]]
[[http://docs.fedoraproject.org/ru-RU/Fedora/12/html/Virtualization_Guide/sect-Virtualization_Guide-Virtualized_guest_installation_overview-Creating_guests_with_virt_manager.html]]
[[http://docs.fedoraproject.org/ru-RU/Fedora/12/html/Virtualization_Guide/chap-Virtualization_Guide-KVM_guest_timing_management.html]]
[[http://forums.fedoraforum.org/showthread.php?t=212060]]