kvm虛擬機磁盤掛載還真不是一帆風順的。xen虛擬化默認就raw格式的磁盤,可以直接掛載,kvm如果采用raw也可以直接掛載,與xen磁盤掛載方式一致。
1.kvm虛擬化相比xen虛擬化來說,工具與方法眾多,本文列舉思路如下:
(1)raw格式的磁盤可以直接掛載,可以將qcow2磁盤轉換成raw格式並掛載
轉換示例:qemu-imgconvert-fraw-Oqcow2/data/raw.img/data/qcow2.img
(2)通過編譯安裝qemu-nbd工具掛載qcows格式的磁盤
qemu-nbd工具默認沒有安裝,需要編譯安裝,該內容待測試,如確實需要也可以參考思路1去解決。
(3)通過創建KVM環境創建kvm虛擬機配置文件掛載虛擬磁盤啟動虛擬機
(4)通過libguestfs-tools工具直接修改與讀取qcow2虛擬磁盤文件
本文主要測試libguestfs-tools工具來進行測試。
2.libguestfs-tools工具的使用示例
(1)確認libguestfs-tools工具的安裝,沒有安裝可以yum進行安裝。
安裝完成后,會安裝很多virt-開頭的命令,下面將大概介紹使用這些命令。
[root@node1 ~]# vir virsh virt-df virt-inspector2 virt-p2v-server virt-tar-in virt-alignment-scan virt-edit virt-install virt-pki-validate virt-tar-out virt-cat virt-filesystems virt-list-filesystems virt-rescue virt-v2v virt-clone virt-format virt-list-partitions virt-resize virt-viewer virt-convert virt-host-validate virt-ls virt-sparsify virt-what virt-copy-in virt-p_w_picpath virt-make-fs virt-sysprep virt-win-reg virt-copy-out virt-inspector virt-manager virt-tar virt-xml-validate
(2)命令使用參數格式
通常兩種方式:-d是采用域名稱方式,-a是直接獲取的磁盤文件方式。
3.virt-cat命令
直接查看虛擬機里面的/etc/passwd文件,類似於cat命令。
4.virt-edit命令
直接編輯虛擬機里面的文件,類似於vi命令。
注:虛擬機必須處於關機狀態,否則會出現如下提示:
可以通過vi命令進行編輯。
5.virt-df命令
直接查看虛擬機里面的磁盤使用情況,類似於df-h命令。
virt-filesystems命令也與上面內容類似
6.virt-copy-out命令
直接復制虛擬機里面的磁盤文件到本地磁盤上,類似於cp命令。
(1)拷貝oeltest01虛擬機中的passwd文件到本地/root目錄下
(2)拷貝oeltest01虛擬機中的/etc/到本地/root目錄下
該命令很有用,也可以直接指定虛擬機磁盤文件進行命令。
#查看虛擬機所有磁盤文件
通過直接讀取磁盤文件中的內容。
[root@node1 ~]# virt-copy-out -a /data/test01.qcow2 -a /data/test01_add01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0 /root/
7.virt-copy-in命令
直接復制虛擬化平台上本地磁盤文件到虛擬機磁盤上,類似於cp命令。
拷貝本地/root/etc.tar.gz文件到虛擬機/root目錄下
注:虛擬化必須處於關機狀態,可以開機驗證。
文讀取虛擬機磁盤文件的內容到此,還有很多命令的命令,可以進行測試