KVM系列之虛擬克隆技術

Windows Systemd 文本編輯器 Linux 運維那點事 2017-04-30

背景

一般情況下,虛擬機承載主機上不止跑一臺虛擬機,那麼問題來了,如何,難道每臺都從頭根據系統提示一步一步進行安裝?我真會瘋掉的,那有沒有什麼好點的辦法解決?辦法肯定是有的,可以通過克隆技術製作相同的虛擬機,實現虛擬機快速部署。下面我就簡單介紹兩種實現方式。

實現方式:

通過“virt-clone”命令,實現虛擬機克隆。

通過複製磁盤、配置文件,實現虛擬機克隆。

虛擬機承載主機系統:

CentOS 7.2.1511 X86_64

命令實現

前提條件

虛擬機的磁盤格式類型為qcow2。

被克隆主機需要關機。

克隆虛擬機

[root@controller ~]# virt-clone --original windows_2k3 --name windows_2k3_01 --file /data/pool/windows_2k3_01

說明:

--original:指定克隆系統源

--name:指定新虛擬機名稱

--file:指定新虛擬機存放位置

修改虛擬配置文件

[root@controller ~]# virsh edit windows_2k3_01

<graphics type='vnc' port='-1' autoport='yes'>

改為

<graphics type='vnc' port='5911' autoport='no'>

或者

[root@controller ~]# vim /etc/libvirt/qemu/windows_2k3_01.xml

[root@controller ~]# virsh define /etc/libvirt/qemu/windows_2k3_01.xml

添加VNC窗口

[root@controller ~]# cp /lib/systemd/system/[email protected] /lib/systemd/system/vncserver@:11.service

啟動虛擬機

[root@controller ~]# virsh start windows_2k3_01

連接VNC

KVM系列之虛擬克隆技術

KVM系列之虛擬克隆技術

注意:如果克隆的是linux系統,啟動系統後需要處理網絡。

Copy實現

Copy磁盤鏡像、配置文件

[root@controller ~]# cp /data/pool/windows_2k3 /data/pool/windows_2k3_02

[root@controller ~]# cp /etc/libvirt/qemu/windows_2k3.xml /etc/libvirt/qemu/windows_2k3_02.xml

修改配置文件

[root@controller ~]# vim /etc/libvirt/qemu/windows_2k3_02.xml

改為:<name>windows_2k3_02</name>

刪除:<uuid>3230baaa-88e9-4289-8c96-d6621c35cd97</uuid>

改為:<source file='/data/pool/windows_2k3_02'/>

刪除:<mac address='52:54:00:87:c2:2a'/>

改為:<graphics type='vnc' port='5912' autoport='no'>

[root@controller ~]# virsh define /etc/libvirt/qemu/windows_2k3_02.xml

添加VNC窗口

[root@controller ~]# cp /lib/systemd/system/vncserver@:11.service /lib/systemd/system/vncserver@:12.service

啟動虛擬機

[root@controller ~]# virsh start windows_2k3_02

查看虛擬機列表

[root@controller ~]# virsh list --all

Id 名稱狀態

----------------------------------------------------

12 windows_2k3_01 running

13 windows_2k3_02 running

- windows_2k3 關閉

連接VNC

KVM系列之虛擬克隆技術

KVM系列之虛擬克隆技術

網絡對比

KVM系列之虛擬克隆技術

擴展內容

對配置文件熟悉,修改比較困難,能否自動生成配置文件?可以的,只需要複製磁盤鏡像,通過執行一次“virt-install”命令實現自動生成配置文件,前提需要知道被克隆虛擬主機創建時的硬件配置參數(最重要的是磁盤信息)。

比如之前創建windows_2k3的命令如下

virt-install -n windows_2k3 -r 1024 -vcpus=1 -c /data/iso/windows_server_2003.iso --disk path=/data/pool/windows_2k3,format=qcow2,size=30,bus=ide --hvm --os-type=windows --vnc --vncport 5910 --network network=default --force --autostart

改為

virt-install -n windows_2k3_03 -r 1024 -vcpus=1 -c /data/iso/windows_server_2003.iso --disk path=/data/pool/windows_2k3_03,format=qcow2,size=30,bus=ide --hvm --os-type=windows --vnc --vncport 5913 --network network=default --force --autostart

注意:只需要修改三個地方:-n 、--disk path、--vncport;

FQA

Q1:克隆虛擬機能使用遠程桌面連接?

A1:可以,需要在被克隆主機配置固定IP、創建用戶密碼、開啟遠程功能,系統克隆後就可使用遠程桌面進行連接,連接需要修改IP地址,否則下一虛擬機的克隆會存在IP衝突。

Q2:網絡有重名

A2:我的電腦--屬性--計算機名--更改--輸入新計算機名稱--重啟系統即可。

Q3:克隆linux系統,啟動如何處理網絡問題?

A3:需要處理70-persistent-net.rules和ifcfg-eth0文件

[root@KVM_Clinet ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules

[root@KVM_Clinet ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

刪除MAC跟UUID,還可以手動配置靜態IP(不是比改項),然後重啟系統。

相關推薦

推薦中...