KVM虚拟化(2)
KVM虛擬化的命令行管理
LVM邏輯卷在虛擬機(jī)存儲中的應(yīng)用
#########################################################
練習(xí)一:virsh 命令工具的基本操作
virsh ?? ??? ??? ??? ?//直接進(jìn)交互模式
virsh? nodeinfo ??? ??? ??? ?//查看KVM節(jié)點(diǎn)(服務(wù)器)信息
virsh? list ??? ??? ??? ??? ?//列出正在運(yùn)行的虛擬機(jī)
virsh? list? --all ??? ??? ??? ?//列出所有虛擬機(jī)(包括未啟動的)
virsh? dominfo? 虛擬機(jī)名稱 ??? ??? ?//查看指定虛擬機(jī)的信息
virsh? start? 虛擬機(jī)名稱 ??? ??? ?//將指定的虛擬機(jī)開機(jī)
virsh? reboot? 虛擬機(jī)名稱 ??? ??? ?//將指定的虛擬機(jī)重啟
virsh? shutdown? 虛擬機(jī)名稱 ??? ??? ?//將指定的虛擬機(jī)正常關(guān)機(jī)
virsh? destroy? 虛擬機(jī)名稱 ??? ??? ?//將指定的虛擬機(jī)強(qiáng)制關(guān)機(jī)(相當(dāng)于拔電源)
virsh? autostart? 虛擬機(jī)名稱 ??? ??? ?//將指定的虛擬機(jī)設(shè)置隨KVM自動開機(jī)
virsh? autostart? --disable? 虛擬機(jī)名稱 ??? ?//將指定的虛擬機(jī)設(shè)置不隨KVM自動開機(jī)
練習(xí)二:使用虛擬機(jī)的XML描述文件
1. 為已有的虛擬機(jī)改名
1)導(dǎo)出虛擬機(jī) rh6_n1 的XML描述信息,保存為 new.xml 文件
[root@kvmsvr ~]# virsh? dumpxml? rh6_n1? >? new.xml
2)修改 new.xml
[root@kvmsvr ~]# vim? new.xml
<domain type='kvm' id='1'>
? <name>rhel6_node1</name> ??? ??? ?//修改為新的虛擬機(jī)名稱
? <uuid>c33a4aad-c555-48b3-a0a9-893ad0b4775e</uuid> ??? ??? ?//修改UUID值(可執(zhí)行uuidgen命令獲得)
??? <disk type='file' device='disk'>
????? <driver name='qemu' type='raw' cache='none'/>
????? <source file=‘/data/p_w_picpaths/node1.img’/> ??? ???????? //因?yàn)橹皇歉拿?#xff0c;虛擬磁盤可不變
????? .. ..
??? </disk>
.. .. ?
3)根據(jù) new.xml 建立新的虛擬機(jī)
[root@kvmsvr ~]# virsh? define? new.xml
定義域 rhel6_node1(從 new.xml)
[root@kvmsvr ~]# virsh? list? --all
?Id??? 名稱???????????????????????? 狀態(tài)
----------------------------------------------------
?1???? rh6_n1???????????????????????? 啟用
?-???? rhel6_node1??????????????????? 關(guān)閉
4)刪除原虛擬機(jī)的 XML 描述
[root@kvmsvr ~]# virsh? destroy? rh6_n1 ??? ?//強(qiáng)制關(guān)機(jī)
域 rh6_n1 被刪除
[root@kvmsvr ~]# virsh? undefine? rh6_n1 ??? ?//刪除虛擬機(jī)定義
域 rh6_n1 已經(jīng)被取消定義
[root@kvmsvr ~]# virsh? list? --all ??? ??? ?//確認(rèn)刪除結(jié)果
?Id??? 名稱???????????????????????? 狀態(tài)
----------------------------------------------------
?-???? rhel6_node1??????????????????? 關(guān)閉
2. 復(fù)制虛擬機(jī)
1)導(dǎo)出虛擬機(jī) rhel6_node1 的XML描述信息,保存為 rh6_n2.xml 文件
[root@kvmsvr ~]# virsh? dumpxml? rhel6_node1? >? rh6_n2.xml
2)修改 rh6_n2.xml
[root@kvmsvr ~]# vim? rh6_n2.xml
<domain type='kvm' id='1'>
? <name>rh6_n2</name> ??? ??? ??? ??? ??? ?//修改為新的虛擬機(jī)名稱
? <uuid>c33a4aad-c555-48b3-a0a9-893ad0b4775e</uuid> ??? ??? ?//修改UUID值(可執(zhí)行uuidgen命令獲得)
??? <disk type='file' device='disk'>
????? <driver name='qemu' type='raw' cache='none'/>
????? <source file=‘/data/p_w_picpaths/node2.img’/> ??? ???????? //因?yàn)閺?fù)制,應(yīng)改用其他虛擬磁盤????? .. ..
??? </disk>
.. ..
3)復(fù)制虛擬機(jī) rhel6_node1 的磁盤文件
[root@kvmsvr ~]# cp? -p? /data/p_w_picpaths/node1.img? /data/p_w_picpaths/node2.img
4)根據(jù) rh6_n2.xml 建立新的虛擬機(jī)
[root@kvmsvr ~]# virsh? define? rh6_n2.xml
定義域 rh6_n2(從 rh6_n2.xml)
練習(xí)三:訪問虛擬機(jī)窗口、虛擬機(jī)克隆
1. virt-viewer? 虛擬機(jī)名稱 ??? ??? ?//與 virt-manager 管理方式基本一樣
2. virt-clone? -o? 模板虛擬機(jī)? -n? 新虛擬機(jī)名稱? -f 克隆后的虛擬機(jī)磁盤路徑
練習(xí)四:LVM快照的創(chuàng)建、使用、驗(yàn)證
1. 建立測試LV、格式化、掛載,寫入數(shù)據(jù)
[root@kvmsvr ~]# lvcreate? -L? 200MB? -n? lvsrc? vg_data
[root@kvmsvr ~]# mkfs.ext4? /dev/vg_data/lvsrc
[root@kvmsvr ~]# mount? /dev/vg_data/lvsrc? /mnt/lvsrc
[root@kvmsvr ~]# dd? if=/dev/zero? of=/mnt/lvsrc/file1? bs=1M? count=100
2. 建立快照LV、掛載及訪問
[root@kvmsvr ~]# lvcreate? -L? 50M? -n? lvsnap? -s? /dev/vg_data/lvsrc
[root@kvmsvr ~]# mount? /dev/vg_data/lvsnap? /mnt/lvsnap
[root@kvmsvr ~]# df? -hT? |? grep? lvs
/dev/mapper/vg_data-lvsrc?? ext4???? 194M? 106M?? 79M? 58% /mnt/lvsrc
/dev/mapper/vg_data-lvsnap? ext4???? 194M? 106M?? 79M? 58% /mnt/lvsnap
3. 快照卷的崩潰驗(yàn)證(可用空間耗盡)、快速重建
[root@kvmsvr ~]# dd? if=/dev/zero? of=/mnt/lvsnap/file2? bs=1M? count=60
dd: 正在寫入"/mnt/lvsnap/file2": 只讀文件系統(tǒng)
.. ..
45703168字節(jié)(46 MB)已復(fù)制,0.164632 秒,278 MB/秒
Message from syslogd@localhost at Jun 23 18:12:52 ...
?kernel:journal commit I/O error ??? ??? ??? ??? ?//快照卷已崩潰
[root@kvmsvr ~]# lvremove? /dev/vg_data/lvsnap?? ??? ??? ?//刪除崩潰的快照卷
[root@kvmsvr ~]# lvcreate?? -L?? 200M? -n?? lvsnap?? -s?? /dev/vg_data/lvsrc
?? ??? ??? ??? ??? ??? ??? ??? ??? ?//重建快照卷
練習(xí)五:從命令行安創(chuàng)建虛擬機(jī)(建模板機(jī))
1. 為虛擬機(jī)準(zhǔn)備磁盤(邏輯卷)
[root@kvmsvr ~]# lvcreate? -L? 10G? -n? lv_node1? vg_data
.. ..
2. 創(chuàng)建新的虛擬機(jī),并從命令行安裝RHEL 6.5系統(tǒng)(PXE方式)
[root@kvmsvr ~]# virt-install \
--name node1? --vcpus=1? --ram=1024? \
--disk path=/dev/vg_data/lv_node1 \
--network? network=network1?? --pxe
??? !!!! 詳細(xì)可參考 man? virt-install 手冊頁
??? !!!! 對于非PXE安裝,應(yīng)改用 --location=安裝源URL
3. 初始化模板虛擬機(jī),關(guān)機(jī)備用(平時(shí)應(yīng)閑置)
[root@localhost ~]# touch? /.unconfigured
.. .. ??? ??? ??? ??? ??? ?//下次開機(jī)后會要求重設(shè)鍵盤、時(shí)區(qū)、root口令、網(wǎng)絡(luò)等信息
[root@localhost ~]# shutdown? -h? now
練習(xí)六:利用LVM快照技術(shù)快速建新虛擬機(jī)
1. 根據(jù)模板機(jī)的 LV 建立快照卷
[root@kvmsvr ~]# lvcreate? -s? -n rh6_snap1 -L 10G /dev/vg_data/lv_node1
? Logical volume "rh6_snap1" created
2. 導(dǎo)出模板機(jī)的XML描述,并修改為新虛擬機(jī)的定義(新名稱、新UUID、新磁盤設(shè)備)
[root@kvmsvr ~]# virsh? dumpxml? node1? >? rh6_snap1.xml
[root@kvmsvr ~]# vim rh6muban.xml
? <name>rh6_snap1</name> ??? ????? ??? ??? ?//修改名稱
? <uuid>a990f28e-4adc-14bc-9fcf-7353877d5c27</uuid> ??? ?//修改UUID
? <source dev=‘/dev/vg_data/rh6_snap1’/> ??? ??????? ??? ?//修改磁盤路徑
? <mac address='52:54:00:72:bb:cc'/> ??? ??? ??? ?//修改網(wǎng)卡MAC地址
? .. ..
3. 建立新的虛擬機(jī)
[root@kvmsvr ~]# virsh? define? rh6_snap1.xml? ??? ??? ?//導(dǎo)入
定義域 rh6_snap1(從 rh6_snap1.xml)
[root@kvmsvr ~]# virsh? list? --all ??? ??? ??? ?//確認(rèn)結(jié)果
.. ..
-???? rh6_snap1?????????????????????? 關(guān)閉
#########################################################
轉(zhuǎn)載于:https://blog.51cto.com/liufu1103/1656818
總結(jié)
- 上一篇: B-树的插入、查找、删除
- 下一篇: Python出现SyntaxError: