1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
apt-get install cpu-checker - установить программу для проверки процессора apt-get install qemu-kvm libvirt-bin bridge-utils - установка apt-get install virt-manager - установка virt-manager apt-get install libosinfo-bin - установить информацию об ос nano /etc/network/interfaces - конфиг сети adduser user_name libvirt - добавить user_name в группу libvirtd adduser user_name kvm - добавить user_name в группу kvm sudo adduser id -un libvirtd - добавить себя в группу libvirtd groups - группы cat /etc/group - посмотреть составы групп cat /etc/passwd - посмотреть пользователей ls /etc/libvirt/qemu/ - здесь находятся конфиги ВМ virsh --connect qemu:///system version - версия virsh --connect qemu:///system list - virsh -c qemu:///system list - список ВМ virsh -c qemu+ssh://user@host:port/system - вот так можно подключится к virsh на другом гипервизоре virsh list --all - вывести список ВМ (вкл/выкл) virsh pool-list --all - вывести список хранилищ virsh list --all - вывести список всех виртуалок virsh net-list --all - вывести список всех виртульных сетей virsh sysinfo - все о хосте (cpu,mem,etc..) virsh capabilities - свойства хоста osinfo-query os - список поддерживаемых ос virsh list --all - показать все доступные ВМ virsh start VM_name - запустить ВМ virsh reboot VM_name - перезагрузка VM virsh shutdown VM_NAME - выключить ВМ (нажать кнопку выкл) virsh destroy VM_name - выключить насильно ВМ (как вытащить вилку из розетки) virsh undefine VM_name - удалить ВМ virsh autostart VM_name - включить автозагрузку для ВМ virsh autostart --disable VM_name - отключить автозагрузку ВМ virsh edit VM_name - отредактировать настройки ВМ dpkg -L ovmf - список каталогов ovmf (bios и т.д.) |
Создание виртуальной машины 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
virt-install --os-variant list - смотрим доступные варианты гостевых операционных систем 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 — гостевая операционная система (весь список мы получали командой virt-install --os-variant list, в данном примере устанавливаем Reв Hat 7 / CentOS 7). |
Создание виртуальной машины 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
virt-install \ -n CentOs \ -r 1024 \ --vcpus=2 \ -c /kvm/iso/CentOs-7.0-1406-x86_64-Minimal.iso \ --disk pool=storage,size=20,bus=virtio,format=qcow2,cache=writeback \ --graphics vnc,listen=0.0.0.0 где: -n - название нашей машины, CentOs; -r - выделяемая память, 1024Мб; --vcpus - процессор; -c - путь к iso-образу установочного диска; --disk - виртуальный hdd; pool — название хранилища, storage; size — размер hdd, 20Гб; |
Добавление vCPU виртуальной машине KVM:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
!!! Если виртуальная машина запущена, ее нужно остановить. (virsh shutdown name_VM) !!! Есть вариант и без выключения ВМ В консоли KVM вы можете добавить или уменьшить ресурсы процессора и памяти, выделенные для ВМ двумя способами: С помощью virsh или через конфигурационный XML файл ВМ Синтаксис: !!! virsh setvcpus <vm name> <vcpu_count> --config !!! но при использовании получим ошибку (error: invalid argument: requested vcpus is greater than max allowable vcpus) !!! необходимо использовать параметр (--maximum) Пример: virsh setvcpus test-vm 4 --config --maximum Проверка: virsh dumpxml test-vm | grep vcpu |
Добавление памяти виртуальной машине KVM
1 2 3 4 5 6 7 8 9 10 11 12 13 |
!!! Если виртуальная машина запущена, ее нужно остановить. (virsh shutdown name_VM) !!! Есть вариант и без выключения ВМ Синтаксис: virsh setmem <vm_name> <memsize> --config !!! но при использовании получим ошибку (error: invalid argument: requested vcpus is greater than max allowable vcpus) !!! необходимо использовать параметр (setmaxmem) Пример: virsh setmaxmem test-vm 6G --config Проверка: virsh dumpxml test-vm | grep memory |
Добавление диска в виртуальную машину:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Создадим диск: qemu-img create -f qcow2 -o size=20G /kvm/images/test.qcow2 Синтаксис: virsh attach-disk <vm_name> <vm_dst_disk> name_disk --type disk --persistent Пример подключение диска: virsh list --all - вывести список ВМ (вкл/выкл) virsh domblklist name_VM - узнаем какие диски есть у ВМ virsh domblkinfo VM_NAME NAME_DISK - узнаем информацию о диске virsh attach-disk test-vm /kvm/images/test.qcow2 vdb --type disk --persistent Проверка: virsh dumpxml test-vm |
openvswitch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
cat ovsctl-net.xml ------------------ <network> <name>ovsbr0</name> <forward mode='bridge'/> <bridge name='ovsbr0'/> <virtualport type='openvswitch'/> </network> ------------------ Команды: virsh net-define ovsctl-net.xml virsh net-start ovsbr0 virsh net-autostart ovsbr0 virsh attach-interface --domain test-vm --type network --source ovsbr0 --model e1000 --persistent |
Добавление сетевой карты для виртуальной машины:
1 2 |
virsh attach-interface test-vm --type bridge --source br0 --persistent virsh attach-interface --domain VM1 --type network --source ovsbr0 --model virtio --persistent |
Пример настроек сетевой карты ВМ 1
1 2 3 4 5 6 7 8 9 |
<interface type="bridge"> <source bridge="ovsbr0"/> <vlan trunk="yes"> <tag id="7" nativeMode="untagged"/> </vlan> <virtualport type="openvswitch"> </virtualport> <model type="virtio"/> </interface> |
Пример настроек сетевой карты ВМ 2
1 2 3 4 5 6 7 8 9 10 11 |
<interface type="bridge"> <source bridge="ovsbr0"/> <vlan trunk="yes"> <tag id="4082" nativeMode="untagged"/> <tag id="4083"/> <tag id="4084"/> <tag id="4081"/> </vlan> <virtualport type="openvswitch"> </virtualport> </interface> |