2021-05-12 14:32:11
RedHat Linux下KVM虛擬機器快速安裝
RedHat Linux光碟中收錄了KVM 所以我們可以直接使用yum安裝KVM相關的包
前提是你已經配好了yum源。
yum -y install qemu-kvm virt-manager libvirt
。。。。。。。。。。。。。。。。。。。
安裝完成後啟動服務
service libvirtd start
啟動 libvirtd 守護行程 : [確定]
。。。。。。。。。。。。。。。。。。。
輸入命令brctl show 顯示一下資訊表示OK
建議:service NetworkManager stop
chkconfig NetworkManager off
這個時候啟動服務
vir-manager 彈出下面介面
OK接下來點選“電腦”圖示按照提示根據自己的需要安裝就OK了。都是圖形介面沒什麼好說的。
如果我們在生產環境中需要安裝多台虛擬機器怎麼辦呢?克隆?OK當然克隆的最簡單方便的方法啦。但是如果直接克隆真實是很佔用資源。小編今天跟大家分享一種更輕便、更簡單的方法:
第一步:啟動進程後 在目錄/var/lib/libvirt/images/下生成一塊80G的空間 具體操作如下
[root@localhost ~]# service libvirtd start
啟動 libvirtd 守護行程: [確定]
[root@localhost images]# qemu-img create -f qcow2 rhel6base.img 80G
[root@localhost images]#virt-manager 啟動服務
按照提示一步步安裝
注意:下面這一步的時候路徑為生成的rhel6base.img的路徑
安裝完成後重新引導進入系統後關掉虛擬機器
以剛開裝的kvm虛擬機器為模板 克隆第二太虛擬機器 具體操作如下
[root@localhost images]# qemu-img create -b rhel6base.img -f qcow2 rhel6base2.img
Formatting 'rhel6base2.img', fmt=qcow2 size=85899345920 backing_file='rhel6base.img' encryption=off cluster_size=65536
啟動圖介面操作基本上沒有太大差異,注意下面兩步操作
1:使用現有的磁碟映象檔案
2:路徑為新生成的rhel6base2
安裝完成後檢視增大的檔案大小 只有8.7M
[root@localhost images]# ll -lh
總用量 3.8G
-rw-r--r-- 1 root root 8.7M 6月 15 15:06 rhel6base1.img
-rw-r--r-- 1 qemu qemu 3.8G 6月 15 11:24 rhel6base.img
對於技術人員來說還可以通過直接命令列進行新建虛擬機器
具體操作:
先建立增量映象檔案
[root@localhost images]#qemu-img create -b rhel6base,img -f qcow2 rhel6base2.img
[root@localhost images]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- rhel6base 關閉
- rhel6basenode1 關閉
[root@localhost images]# virsh dumpxml rhel6base
<domain type='kvm'>
<name>rhel6base</name>
<uuid>377ef988-42cf-5aad-771c-6e95979ea6a9</uuid>
<memory unit='KiB'>1003520</memory>
<currentMemory unit='KiB'>1003520</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.5.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/rhel6base.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='network'>
<mac address='52:54:00:c3:8c:d4'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
輸出的內容就是虛擬機器的組態檔
我們可以把輸出檔案重定向輸出到/tmp下面重新命名為mymv.xml
[root@localhost images]# virsh dumpxml rhel6base > /tmp/myvm.xml
然後對組態檔進行修改
[root@localhost images]# vim /tmp/myvm.xml
克隆出來的虛擬機器需要更改 rhel的名字 mac地址 uuid號 檔名四個地方
修改名稱:
<name>rhel6base</name> --》 <name>rhel6base2</name>
修改UUID:
[root@localhost images]# uuidgen 【生成新的uuid】
7bb06bc1-d610-4f51-a641-d1566b0a0c8b
<uuid>377ef988-42cf-5aad-771c-6e95979ea6a9</uuid> --》 <uuid>7bb06bc1-d610-4f51-a641-d1566b0a0c8b</uuid>
修改mac地址: <mac address='52:54:00:c3:8c:00'/> --》 <mac address='52:54:00:c3:8c:01'/>
修改磁碟檔名:
<source file='/var/lib/libvirt/images/rhel6base.img'/ ---》
<source file='/var/lib/libvirt/images/rhel6base2.img'/
最後:
[root@localhost images]# virsh define /tmp/myvm.xml
定義域 rhel6base2(從 /tmp/myvm.xml)
[root@localhost images]#virt-manager 可以看到多了一台rhel6base2的虛擬機器
感覺這種方法操作方便,節省資源。供大家參考。
想要更快速的安裝克隆虛擬機器可以把步驟寫成指令碼。
#!/bin/bash
BASEVM=rhel6base
IMG_DIR=/var/lib/libvirt/images
read -p "Input a number: " VM_NUM
NEWVM=rhel6basenode$VM_NUM
qemu-img create -b $IMG_DIR/${BASEVM}.img -f qcow2 $IMG_DIR/${NEWVM}.img
virsh dumpxml ${BASEVM} > /tmp/myvm.xml
sed -i "/name>r/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml
sed -i "/uuid/s/uuid>.{36}/uuid>$(uuidgen)/" /tmp/myvm.xml
sed -i "/${BASEVM}.img/s/${BASEVM}.img/${NEWVM}.img" /tmp/myvm.xml
sed -i "/mac add/s/00'/>/$VM_NUM'/>/" /tmp/myvm.xml 【母機mac地址後兩位00】
virsh define /tmp/myvm.xml
執行以上指令碼就可以快速克隆出來一台kvm虛擬機器
相關文章