KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)

1. 安裝VNC

關閉防火牆及selinux,修改selinux config文件:
[root@localhost ~]# vim /etc/selinux/config
查看selinux狀態
[root@localhost ~]# getenforce
臨時關閉selinux服務
[root@localhost ~]# setenforce 0

KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
[root@localhost ~]# systemctl stop firewalld 關閉防火牆
[root@localhost ~]# systemctl disable firewalld 禁止防火牆開機啓動
不想關閉防火牆可添加VNC服務到防火牆
[root@localhost ~]# firewall-cmd --permanent --add-service vnc-server
(注:VNC需要開通5901端口,這裏只是測試,出於安全考慮在生產環境建議手動添加端口,不建議關閉防火牆。)
安裝主程序:
[root@localhost ~]# yum install -y vnc-*

[root@localhost ~]# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

修改vncserver@:1.service文件
[root@localhost ~]# vim /etc/systemd/system/vncserver@:1.service

ExecStart=/usr/sbin/runuser -l <user> -c "/usr/bin/vncserver %i"
PIDFile=/home/<user>/.vnc/%H%i.pid
修改爲
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/home/root/.vnc/%H%i.pid
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
(注:根據自己定義的用戶進行修改,將<user>修改爲自定義登錄用戶名)
設置VNC登錄密碼
[root@localhost ~]# vncpasswd
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
(注:使用VNC客戶端遠程登錄時需要使用)
修改qemu.conf配置文件
[root@localhost ~]# vim /etc/libvirt/qemu.conf
修改以下內容:將以下選項的“#”去除
vnc_password = "123456" 是在設置vncpassword時使用的密碼
vnc_listen = "0.0.0.0"
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
[root@localhost ~]# systemctl daemon-reload 重新加載

啓動vncserver@:1.service
[root@localhost ~]# systemctl start vncserver@:1.service

將vncserver@:1.service設置爲開機啓動
[root@localhost ~]# systemctl enable vncserver@:1.service

連接測試:
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)

VNC安裝測試完成接下來我們創建KVM虛擬機。

2. 虛擬機創建

創建系統鏡像存放目錄,使用工具將ISO系統安裝包上傳到/kvm/iso目錄下,
[root@localhost /]# mkdir -p /kvm/iso
[root@localhost /]# ls /kvm/iso/
CentOS-7.2-x86_64-DVD-1511.iso
創建一個20G的虛擬磁盤,/var/lib/libvirt/images/爲虛擬磁盤默認存放路徑
[root@localhost /]# qemu-img create -f qcow2 /var/lib/libvirt/images/kvmtest.qcow2 20G
提示:
在使用虛擬機安裝測試KVM時,需要打開CPU虛擬化功能
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
如果時物理設備安裝KVM,需要在BIOS裏面打開CPU虛擬化功能,否則創建虛擬機時無法創建。
創建虛擬機:
[root@localhost ~]# virt-install --virt-type kvm --name kvmtest --ram 1024 --vcpus 2 --cdrom=/kvm/iso/CentOS-7.2-x86_64-DVD-1511.iso --disk path=/var/lib/libvirt/images/kvmtest.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
命令解析:
--virt-type kvm #指定虛擬機類型“kvm、qemu、xen”(默認是KVM)
--name kvmtest #指定虛擬機名稱
--ram 1024 #指定內存大小
--vcpus 2 # 指定虛擬機CPU多少核
--cdrom=/kvm/iso/CentOS-7.2-x86_64-DVD-1511.iso #指定ISO鏡像存放位置
--disk path=/var/lib/libvirt/images/kvmtest.qcow2 #指定磁盤文件存放位置
--network bridge=br0 #指定虛擬機網絡:"--network"(企業中“橋接網絡”用的最多,“NAT網絡是默認網絡,用‘default’表示”看情況使用;使用哪種網絡需要知道它們的名稱)
--graphics vnc,listen=0.0.0.0 #指定vnc,vnc監聽0.0.0.0地址:"--graphics"(通常使用“VNC”,缺點:虛擬機不能複製;桌面虛擬化使用“spice”,對配置要求很高,尤其顯卡;兩種方式的端口都可以自己指定)
--noautoconsole #不自動連接控制檯
--autostart #指定“宿主機重啓後”,虛擬機是否自動開機(可選項,一般設置爲自動開機)

更多命令解析可以使用virt-install -h進行查看。

VNC連接測試:
連接虛擬機的端口時5900,默認是-1端口,可以通過virsh edit kvmtest命令查看端口,
[root@localhost ~]# virsh edit kvmtest
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)

如果需要重新自定義vnc連接端口,可以通過virsh edit kvmtest進行修改,修改port以及autoport內容例如:
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
修改爲
<graphics type='vnc' port='<自定義端口>' autoport='no' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>

VNC連接測試:
在vnc地址欄中輸入宿主主機IP:5900回車,顯示以下界面
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
點擊"Continue"繼續的意思
KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
虛擬機正常連接,系統安裝就不做多介紹了。到此KVM虛擬機使用VNC連接設置以完全設置完成。

  1. 拓展
    多個虛擬機需要使用VNC連接如何設置呢!!
    上面我們已經說過了,只需要修改新建項目系統的虛擬機配置文件重新命名vnc端口號就可以了,在指定端口號時最好使用5900以後的端口(個人習慣)具體操作如下:
    [root@localhost ~]# virsh edit <虛擬機名稱>
    修改以下內容:
    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
    <listen type='address' address='0.0.0.0'/>
    </graphics>
    修改爲
    <graphics type='vnc' port='<自定義端口>' autoport='no' listen='0.0.0.0'>
    <listen type='address' address='0.0.0.0'/>
    </graphics>
    KVM之文本模式創建虛擬機及使用VNC連接控制虛擬機(非console)
    溫馨提示:自定義端口後,若防火牆在運行狀態情況下,記得開放端口!!!^_^
    多虛擬機使用VNC連接設置到此完全結束!!
    下一篇我們繼續介紹使用console來連接虛擬機!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章