Инструменты пользователя

Инструменты сайта


linux:kvm

Виртуализация

Подготовка к работе

Сеть

Для того, что бы наши виртуальные машины были в одной же сети с 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

После чего перезагружаем машину, дабы убедиться, что в случае перезагрузки все будет отлично работать.

Если по каким либо причинам виртуальная машины была создана с сетевой настройкой по умолчанию, то необходимо переконфигурировать сетевой интерфейс виртуальной машины и привести его к такому виду:

  <interface type='bridge'>
      <mac address='52:54:00:b8:d5:f9'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Далее, что бы получить доступ к виртуальной машине для ее управления необходимо поправить настройки по умолчанию /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

Всё.

Источники

linux/kvm.txt · Последнее изменение: 2012/07/13 10:22 — linko22@gmail.com