一、利用libvirt命令動態掛載
在利用KVM的虛擬桌面應用中,有時候需要在虛擬桌面起來后還能夠動態的掛載或卸載數據盤,以達到類似熱插盤U盤或移動硬盤的效果,當然管理上需要做處理。如果純粹中技術上來講,大概是下面的幾步: 1. 創建數據盤: 創建數據盤可以用qemu-img命令,但是缺點是創建完以后還需要在虛擬機里面做磁盤初始化(在磁盤管理里)和格式化。相比較而言,用libguestfs帶的 virt-make-fs就好很多,一條命令完成磁盤創建和初始化的功能,掛到虛擬機里面馬上就可以使用。 sudo virt-make-fs -F qcow2 -t ntfs -s 100G /home/.../workroom/test/temp test100G.img 2. 定義數據盤配置文件: <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/home/.../workroom/test/test500G.img'/> <target dev='hdf' bus='virtio' type='virtio'/> </disk> 另存為 test-device-attach.xml 3. 啟動虛擬機,假設虛擬機的domain名是 DomainAttachDisk; 4. 運行 virsh 命令完成掛載 sudo attach-device DomainAttachDisk /home/.../workroom/test/test-attach.xml 測試下來從掛載命令到操作系統識別大概30秒-60秒之間 5. 卸載命令: sudo detach-device DomainAttachDisk /home/.../workroom/test/test-attach.xml 如果用應用程序把這些過程管理起來,那么就能做到動態的數據盤掛載和卸載功能。