KVM虛擬化運(yùn)維指南:修改虛擬機(jī)名稱
在KVM(Kernel-based Virtual Machine)虛擬化環(huán)境中,可能會(huì)遇到虛擬機(jī)創(chuàng)建后,由于規(guī)劃問(wèn)題而修改虛擬機(jī)名稱等需求,本文提供生產(chǎn)環(huán)境下了詳細(xì)的修改步驟
需求:將192.168.40.152-kylinsp3-prod-02名稱修改為192.168.40.152-kylinsp3-prod-03
[root@localhost ~]# virsh list
Id 名稱 狀態(tài)
--------------------------------------------------
1 192.168.40.150-kylinsp3-prod-01 運(yùn)行中
3 192.168.40.151-kylinsp3-prod-02 運(yùn)行中
4 192.168.40.152-kylinsp3-prod-02 運(yùn)行中
主要步驟
1?? 備份原VM的XML配置
2?? 重命名磁盤文件
3?? 修改 XML 配置應(yīng)用新名稱
4?? 取消原 VM 定義,避免沖突
5?? 重新定義并啟動(dòng)新VM
步驟 1:導(dǎo)出原 VM 的 XML 配置
首先,使用 virsh dumpxml
命令導(dǎo)出當(dāng)前虛擬機(jī)的 XML 配置文件:
virsh dumpxml 192.168.40.152-kylinsp3-prod-02 > /tmp/new-vm152.xml
然后,關(guān)閉該虛擬機(jī)
[root@localhost ~]# virsh shutdown 192.168.40.152-kylinsp3-prod-02
域 192.168.40.152-kylinsp3-prod-02 被關(guān)閉
[root@localhost ~]# virsh list --all
Id 名稱 狀態(tài)
--------------------------------------------------
1 192.168.40.150-kylinsp3-prod-01 運(yùn)行中
3 192.168.40.151-kylinsp3-prod-02 運(yùn)行中
- 192.168.40.152-kylinsp3-prod-02 關(guān)閉
此時(shí),虛擬機(jī)的狀態(tài)應(yīng)變?yōu)?nbsp;shut off
。
步驟 2:找到原磁盤文件
使用 virsh dumpxml
或 ls
命令找到虛擬機(jī)的磁盤文件路徑:
步驟 3:重命名磁盤文件
將磁盤文件重命名
注:文件屬性需要為為qemu:root,否則可能會(huì)啟動(dòng)失敗
步驟 4:修改 XML 配置
使用 vi
編輯導(dǎo)出的 XML 文件
vi /tmp/new-vm152.xml
修改 1:調(diào)整虛擬機(jī)名稱
找到 <name>
標(biāo)簽,并修改為新 VM 的名稱
<name>192.168.40.152-kylinsp3-prod-03</name>
修改 2:更新磁盤文件為新名稱
<source file='/data/qcow2/libvirt/images/192.168.40.152-kylinsp3-prod-03'/>
修改 3:刪除 UUID 避免沖突
找到 <uuid>
標(biāo)簽,刪除或注釋,后邊會(huì)自動(dòng)生成新的uuid
<uuid>7fa9bd2a-d5b5-4c01-9a14-0b7739f34a36</uuid>
保存并退出。
步驟 5:取消原 VM 定義
刪除舊的 VM 定義
[root@localhost images]# virsh undefine 192.168.40.152-kylinsp3-prod-02
error: Failed to undefine domain 192.168.40.152-kylinsp3-prod-02
error: 所需操作無(wú)效:cannot undefine domain with nvram
需要加上參數(shù)--nvram
[root@localhost images]# virsh undefine 192.168.40.152-kylinsp3-prod-02 --nvram
Domain 192.168.40.152-kylinsp3-prod-02 has been undefined
注意:如果 VM 使用了 UEFI 啟動(dòng),則必須添加
--nvram
選項(xiàng),否則無(wú)法刪除。
步驟 6:導(dǎo)入新 XML 并定義 VM
使用修改后的 XML 重新定義虛擬機(jī)
virsh define /tmp/new-vm152.xml
驗(yàn)證是否成功
步驟 7:?jiǎn)?dòng)新虛擬機(jī)
virsh list --all
virsh start 192.168.40.152-kylinsp3-prod-03
如果一切正常,虛擬機(jī)應(yīng)進(jìn)入 running
狀態(tài)。
總結(jié)
以上方法通過(guò) XML 配置文件導(dǎo)出 + 修改 + 重新定義的方式,實(shí)現(xiàn)KVM 虛擬機(jī)名稱和磁盤文件的修改。