
Podívejme se na základní použití a správu VM ve virtualizaci pomocí KVM (Kernel-based Virtual Machine), kterou poskytuje samotné linuxové jádro. Vezmeme v příkladech letem světem instalaci potřebných KVM balíčků, vytvoření VM hostů, jejich správu a síťové nastavení.
Před instalací KVM je dobré zkontrolovat, zda procesor hostitele podporuje virtualizaci:grep -E '(vmx|svm)' /proc/cpuinfo.
Instalace a spuštění KVM
# Instalace KVM pro CentOSyum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utilssystemctl start libvirtdsystemctl enable libvirtd
# Instalace KVM pro Debian, Ubuntu, Linux Mintsudo apt-get install qemu-system qemu-utils libvirt-bin virt-manager python-spice-client-gtk virt-viewer
Vytvoření hosta (VM, guest)
Přes virt-manager pro X windows
virt-manager &
File - New virtual machine - proklikat se průvodcem (viz obrázek)
Přes terminál
virt-install --name=Xubuntu --file=/var/lib/libvirt/images/xubuntu.dsk --file-size=20 --nonsparse --graphics spice --vcpus=2 --ram=2048 --cdrom=xubuntu-dvd-install.iso --network bridge=br0 --os-type=linux --os-variant=generic
Správa KVM hostů přes terminál
Všechny VM - virsh list --all
Všechny běžící VM - virsh list
Start VM - virsh start VM
Pause VM - virsh suspend VM
Resume VM - virsh resume VM
Reboot VM - virsh reboot VM
Vypnutí VM - virsh shutdown VM
Tvrdé vypnutí VM - virsh destroy VM
-
Změna konfigurace - virsh edit VM
Připojení na konzoly - virsh console VM
Network
Abychom se dostali na VM hosty přes IP ve stejné síti jako je hypervizor (hostitel), tak je na hostujícím stroji potřeba nastavit síťovku do režimu mostu (bridge). Mějme následující situaci - hypervizor má síťovku enp0s25 s IP 192.168.4.28 a chceme jí změnit do režimu mostu.vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
TYPE=Ethernet BOOTPROTO=static DEVICE=enp0s25 ONBOOT=yes BRIDGE=br0 PROMISC=yes
vim ifcfg-br0
TYPE=Bridge BOOTPROTO=static DEVICE=br0 ONBOOT=yes IPADDR=192.168.4.28 NETMASK=255.255.255.0 GATEWAY=192.168.4.254 DNS1=192.168.4.254
systemctl restart networkip addr show br0brctl show
Promiskuitní režim
Někdy je třeba ručně nastavit sťovou kartu do tzv. promiskuitního režimu (promisc mode), díky kterému NIC bude zachytávat i pakety, které nejsou určeny přímo pro ni (packet sniffing) = ale mimo jiné i pro virtuální NIC pro dané VM hosty.
ip link set eth0 promisc on
#alternativněvim /etc/sysconfig/network-scripts/ifcfg-enp0s25
PROMISC=yes ALLMULTI=yes
Komentáře (3)
Přidat komentář