KVM安裝
一、網路卡橋接
1、在原網路卡上註釋掉IP配置,新增一下內容
BRIDGE=br0
2、配置橋接網路卡地址
vim ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=none
IPADDR="10.0.0.121"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.2"
DNS1="223.5.5.5"
二、安裝KVM
1、檢視CPU是否支援虛擬化
cat /proc/cpuinfo | grep --color vmx
2、安裝KVM,設定開機自啟
yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python -y
systemctl start libvirtd
systemctl enable libvirtd
# 檢視
systemctl is-enabled libvirtd
lsmod | grep kvm
3、安裝VNCserver,便於遠端控制
(1)、安裝
yum -y install tigervnc tigervnc-server tigervnc-server-module
(2)、配置VNC服務
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service> /lib/systemd/system/vncserver@:1.service
vim /lib/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
(3)、設定VNC密碼
vncpasswd P@ssW0rd
(4)、過載配置,啟動服務
systemctl daemon-reload
systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service
# 檢視
systemctl is-enabled vncserver@:1.service
# 如果啟動報錯 rm -rf /tmp/.X11-unix/* 然後再啟動
三、在KVM上安裝系統
1、安裝windows
virt-install --name=win2008 --ram 512 --vcpus=1 --disk path=/var/lib/libvirt/images/win2008.img,size=30 --accelerate --cdrom /var/lib/libvirt/images/zh-\ Hans_windows_server_2008_datacenter_enterprise_standard_x86_dvd_x14-26742.iso --vnc --vncport=5917 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
# 說明:
name:虛擬機器名
ram:記憶體大小
vcpus:cpu核心數
disk path:虛擬機器安裝路徑
cdrom:光碟映象
vnc:指定vnc
vncport:指定vnc埠
vnclisten:監聽地址
bridge:橋接模式
windows下用tightVNC viewer 遠端連線10.0.0.121:5917 進行圖形化安裝
2、安裝Linux
virt-install --name=centos7-1 --ram 1024 --vcpus=1 --disk path=/data/centos7-1.img,size=15 --accelerate --cdrom /data/CentOS-7-x86_64-DVD-1708\(1\).iso --vnc --vncport=5917 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
四、虛擬機器擴容
(1)、直接擴容
virsh shutdown test01.qcow2 //先關機
qemu-img info test01.qcow2
qemu-img resize test01.qcow2 +200G
(2)、線上擴容
# 檢視現有磁碟
virsh domblklist centos7-1
# 建立一塊qcow2虛擬磁碟
qemu-img create -f qcow2 /data/centos7-1.img 1G
# 線上新增這臺qcow2虛擬磁碟
virsh attach-disk centos7-1 /data/centos7-1.img vdb --cache=none --subdriver=qcow2
五、配置更改
(1)、更改記憶體
# 1. 檢視虛擬機器當前記憶體
[root@sh-kvm-1 ~]# virsh dominfo kvm-1 | grep memory
Max memory: 4194304 KiB
Used memory: 4194304 KiB
# 2、動態設定記憶體為512MB,記憶體減少
virsh setmem kvm-1 524288
# 注意單位必須是KB
# 3、檢視記憶體變化
# virsh dominfo kvm-1 | grep memory
Max memory: 14194304 KiB
Used memory: 524288 kiB
# 4、記憶體增加
virsh shutdown kvm-1
virsh edit kvm-1 # 直接更改memory
virsh create /etc/libvirt/demu/kvm-1/xml
# 之後操作1,2,3步驟增加記憶體
(2)、更改CPU
virsh shutdown kvm-1
virsh edit kvm-1
# <vcpu>2</vcpu> # 4 > 2
virsh create /etc/libvirt/demu/kvm-1/xml
六、KVM基本操作
(1)、檢視虛擬機器
# 檢視執行的虛擬機器
virsh list
# 檢視所有虛擬機器
virsh list --all
(2)、啟動虛擬機器
# 啟動虛擬機器
virsh start kvm-1
# 設定開機自啟動
virsh autostart kvm-1
# 取消開機自啟動
virsh autostart --disable kvm-1
(3)、連線虛擬機器
# 連線
virsh console kvm-1
# 推出
ctrl+]
(4)、關閉虛擬機器
virsh shutdown kvm-1
(5)、刪除虛擬機器
# 第一步,停掉虛擬機器
virsh shutdown kvm-1
# 第二步
virsh destroy kvm-1
# 第三步
virsh undefine kvm-1
# 第四步
rm /dev/vg_shkvm1/kvm-1 # 不建議刪除硬碟
(6)、快照管理
virsh snapshot-create 虛擬機器 //建立快照
virsh snapshot-list --domain 虛擬機器 //快照資訊
virsh snapshot-revert 虛擬機器 快照名 //恢復快照
virsh snapshot-delete --domain newframe --snapshotname 1520411749 刪除快照