一、VNC環境搭建
- 安裝vnc服務
yum -y install tigervnc tigervnc-server
- vnc服務配置——宿主機遠程控制
- # 配置vnc
- # 將/lib/systemd/system/vncserver@.service文件復制一份
- cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
- # 編輯剛剛復制得到的文件,將文件中的<USER>修改為VNC Client(或者VNC Viewer)連接的賬號,我只設置一個用戶root,多用戶再增加對應的vncserver@:2.service文件即可
- vim /etc/systemd/system/vncserver@:1.service
- # 修改以后的文件部分內容(只修改文件下半部分)
- [Unit]
- Description=Remote desktop service (VNC)
- After=syslog.target network.target
- [Service]
- Type=forking
- User=root
- # Clean any existing files in /tmp/.X11-unix environment
- ExecStartPre=/bin/sh -c '-/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
- ExecStart=/user/sbin/runuser -l root -c "/usr/bin/vncserver :1 -geometry 1280*720 -depth 24"
- PIDFile=/home/root/.vnc/%H%i.pid
- ExecStop=-/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
- [Install]
- WantedBy=multi-user.target
- #設置vnc連接密碼,輸入命令vncpasswd以后連續輸入兩次密碼,然后直接連續回車(回車以后還要設置幾項,直接回車沒有影響,未做深入研究)
- vncpasswd
- # 啟動vncserver@:1.service並設置開機啟動
- systemctl start vncserver@:1.service
- systemctl enable vncserver@:1.service
- # 設置防火牆(VNC默認是被防火牆阻止的)
- firewall-cmd --permanent --add-service="vnc-server" --zone="public"
- firewall-cmd --reload
- # 啟動VNC服務
- vncserver
- # 會出現以下信息:其中說明VNC客戶端連接賬號為root,端口號為5901(文章最后會有端口說明),在局域網內其他電腦上用VNC客戶端連接
- New 'dev:1 (root)' desktop is dev:1
- Starting applications specified in /root/.vnc/xstartup
- Log file is /root/.vnc/dev:1.log
- 下載vnc client,測試連接
二、虛擬機安裝
- 創建磁盤(安裝系統的空間)
- # 創建類型為raw的磁盤,310G容量
- qemu-img create -f raw /opt/kvm.raw 310G
- # 檢查磁盤是否創建成功
- qemu-img info /opt/kvm.raw
- # 看到類似以下信息表明磁盤創建成功
- image: /opt/kvm.raw
- file format: raw
- virtual size: 310G (10737418240 bytes)
- disk size: 0
- virt-install命令以及VNC遠程控制安裝虛擬機
Windows系統安裝
virt-install \
--virt-type kvm \
--name server-10-1-1-126-vm03 \
--ram 4096 \
--cdrom=/iso/cn_windows_10_2019_x64官網.iso \
--boot cdrom \
--cpu core2duo \
--network bridge=br0,model='e1000' \
--graphics vnc,listen=0.0.0.0,port=5900 \
--disk path=/data/kvm.raw,bus='ide' \
--noautoconsole \
--os-type=windows
執行virt-install命令以后,虛擬機安裝並未結束,接下來用上面配置的VNC連接主機進行后續操作
- # 此時如果virt-install命令參數沒有問題,會有提示信息:
- # 開始安裝......
- # 域安裝仍在進行。您可以重新連接
- # 到控制台(virsh console)以便完成安裝進程
- # 執行以后只看到提示連接成功,其他沒有變化,所以不用執行這個命令,暫時沒發現有什么用處
- # 局域網內的任意一台同網段的電腦通過vnc client或者vnc viewer連接虛擬機
如果連接成功,就會出現熟悉的windows安裝界面:
virt-install常用參數說明
- # 舊版本的寫法
1 –name指定虛擬機名稱 2 –memory分配內存大小。 3 –vcpus分配CPU核心數,最大與實體機CPU核心數相同 4 –disk指定虛擬機鏡像,size指定分配大小單位為G。 5 –network網絡類型,此處用的是默認,一般用的應該是bridge橋接。 6 –accelerate加速 7 –cdrom指定安裝鏡像iso 8 –vnc啟用VNC遠程管理,一般安裝系統都要啟用。 9 –vncport指定VNC監控端口,默認端口為5900,端口不能重復。 10 –vnclisten指定VNC綁定IP,默認綁定127.0.0.1,這里改為0.0.0.0。 11 –os-type=linux,windows 12 –os-variant=rhel6
- # 新版本的寫法
1 --name 指定虛擬機名稱 2 --ram 虛擬機內存大小,以 MB 為單位 3 --vcpus 分配CPU核心數,最大與實體機CPU核心數相同 4 –-vnc 啟用VNC遠程管理,一般安裝系統都要啟用。 5 –-vncport 指定VNC監控端口,默認端口為5900,端口不能重復。 6 –-vnclisten 指定VNC綁定IP,默認綁定127.0.0.1,這里改為0.0.0.0。 7 --network 虛擬機網絡配置 8 # 其中子選項,bridge=br0 指定橋接網卡的名稱。 9 10 --os-type=linux,windows 11 --os-variant=rhel7.2 12 13 --disk 指定虛擬機的磁盤存儲位置 14 # size,初始磁盤大小,以 GB 為單位。 15 16 --location 指定安裝介質路徑,如光盤鏡像的文件路徑。 17 --graphics 圖形化顯示配置 18 # 全新安裝虛擬機過程中可能會有很多交互操作,比如設置語言,初始化 root 密碼等等。 19 # graphics 選項的作用就是配置圖形化的交互方式,可以使用 vnc(一種遠程桌面軟件)進行鏈接。 20 # 我們這列使用命令行的方式安裝,所以這里要設置為 none,但要通過 --extra-args 選項指定終端信息, 21 # 這樣才能將安裝過程中的交互信息輸出到當前控制台。 22 --extra-args 根據不同的安裝方式設置不同的額外選項
三、虛擬機管理—命令行方式 -
1 virsh list # 查看在運行的虛擬機 2 virsh dumpxml vm-name # 查看kvm虛擬機配置文件 3 virsh edit vm-name # 修改虛擬機的配置文件(部分選項修改以后start虛擬機就可以生效) 4 virsh start vm-name # 啟動kvm虛擬機 5 virsh shutdown vm-name # 正常關機 6 7 virsh destroy vm-name # 非正常關機,強制關閉虛擬機(相當於物理機直接拔掉電源) 8 virsh undefine vm-name # 刪除vm的配置文件 9 10 ls /etc/libvirt/qemu 11 # 查看刪除結果,Centos-6.6的配置文件被刪除,但磁盤文件不會被刪除 12 13 virsh define file-name.xml # 根據配置文件定義虛擬機 14 virsh suspend vm-name # 掛起,終止 15 virsh resumed vm-name # 恢復被掛起的虛擬機 16 virsh autostart vm-name # 開機自啟動vm 17 virsh console <虛擬機名稱> # 連接虛擬機
徹底刪除虛擬機的方法:1 # 虛擬機啟動的情況下先關閉虛擬機 2 virsh destroy vm-name 3 4 # 刪除vm配置文件 5 virsh undefine vm-name 6 7 # 查看刪除結果(是否刪除了配置文件),如果沒有vm-name.xml文件則刪除成功 8 ls /etc/libvirt/qemu 9 10 # 刪除虛擬機磁盤(安裝的時候創建的kvm.raw文件) 11 rm /data/kvm.raw