1. 程式人生 > >CentOS 7 下配置KVM

CentOS 7 下配置KVM

之前有文章寫過這塊的,CentOS 7 下面又有些不同,記錄一下吧。
1.查cpu是否支援VT

egrep '(vmx|svm)' --color=always /proc/cpuinfo

2.檢查核心模組是否載入

lsmod | grep kvm

3.檢視Selinux狀態

sestatus

如果是啟用狀態

# vi /etc/sysconfig/selinux
SELINUX=disabled
reboot

4.安裝 KVM

yum install kvm libvirt python-virtinst qemu-kvm virt-viewer tunctl bridge-utils avahi dmidecode qemu-kvm-tools virt-manager qemu-img virt-install net-tools libguestfs-tools -y

5.啟動libvirt服務

systemctl start libvirtd
systemctl enable libvirtd

6.檢視kvm服務是否正常,目前沒任何虛擬機器,所以沒有內容顯示

virsh -c qemu:///system list

7.為虛擬機器建立網橋
首先備份一下網絡卡設定

mv /etc/sysconfig/network-scripts/ifcfg-enp3s0 /root/ifcfg-enp3s0.bak

建立一個檔案 /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTRPOTO=static
IPADDR=208.66.77.146
NETMASK=255.255.255.248
GATEWAY= 208.66.77.145
ONBOOT=yes

修改 /etc/sysconfig/network-scripts/ifcfg-enp3s0為

DEVICE=enp3s0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

重啟網路

/etc/init.d/network restart

建立映象檔案

qemu-img create -f qcow2 /home/img/VM1.img 20G

安裝虛擬機器

virt-install \
--name VM5 \
--ram 1024 \
--vcpus=8 \
--disk path=/home/img/VM5.img,size=20,format=qcow2,bus=virtio \
--accelerate \
--cdrom /root/iso/CentOS-6.6-x86_64-bin-DVD1.iso \
--graphics vnc,listen=0.0.0.0,port=5924, \
--network bridge=br0,model=virtio  \
--force  --autostart \
--noautoconsole

Virsh語法參考:

Autostart                         自動開始一個域
Create                            從一個 XML 檔案建立一個域
Define                            從一個 XML 檔案定義(但不開始)一個域
edit                              編輯某個域的 XML 配置
shutdown                          關閉一個域
start                             開始一個(以前定義的)非活躍的域
reboot                            重新啟動一個域
suspend                           掛起一個域
resume                            重新恢復一個域
vncdisplay                        vnc 顯示
undefine                          刪除虛擬機器,只是刪除VM的配置檔案,並不刪除虛擬磁碟檔案

檢視虛擬機器列表。

virsh -c qemu:///system list

重啟虛擬機器

virsh reboot VM1

虛擬機器宿主機開機自啟動

virsh autostart VM1

取消

virsh autostart --disable VM1

刪除虛擬機器

virsh undefine VM1
rm -rf /home/img/VM1.img
rm -rf /etc/libvirt/qemu/VM1.xml
rm -rf /etc/libvirt/qemu/autostart/VM1.xml

虛擬機器的配置檔案在這裡

/etc/libvirt/qemu/*.xml

一個一個安裝虛擬機器太麻煩,我們來克隆吧!
首先關閉虛擬機器

virsh shutdown VM1
virsh -c qemu:///system list
virt-clone -o VM1 -n VM2 -f /home/img/VM2.img --connect=qemu:///system
chown qemu.qemu VM05.img

修改一些配置,把 vnc 的埠號修改一下,避免兩個產生衝突,並記錄一下這裡面的 MAC 地址備用。

virsh edit VM2

先啟動 VM2,目前兩個虛擬機器還不能同時啟動。

virsh start VM2
virsh -c qemu:///system list

連線VNC

rm -rf /etc/udev/rules.d/70-persistent-net.rules
rm -rf /etc/udev/rules.d/70-persistent-cd.rules
vi /etc/network/interfaces
hwaddress ether 52:54:00:4b:04:bb 新增mac地址

/etc/init.d/networking restart
virsh reboot VM2
virsh start VM1

也使用virt-edit命令直接在宿主機修改虛擬機器檔案

virt-edit VM2 /etc/network/interfaces
virt-edit VM2 /etc/hostname
virt-edit VM2 /etc/hosts