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

1. 安裝VNC

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




linux

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-*






vim

[root@localhost ~]# cp /lib/systemd/system/vncserver@.service /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)


spa

VNC安裝測試完成接下來咱們建立KVM虛擬機。3d

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虛擬化功能,不然建立虛擬機時沒法建立。
相關報錯信息:
KVM之文本模式建立虛擬機及使用VNC鏈接控制虛擬機(非console)
建立虛擬機:
[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
命令解析:
--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 #指定「宿主機重啓後」,虛擬機是否自動開機(可選項,通常設置爲自動開機)























server

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

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鏈接虛擬機)!!
相關文章
相關標籤/搜索