kvm挂载磁盘的方法和工具很多,具体如下:
(1)raw格式的磁盘可以直接挂载,也可以将qcow2格式的磁盘转换成raw格式的并挂载。eg:转换的命令为:
[root@KVM ~]# qemu-img convert -f raw -O qcow2 yz3_add.qcow2 yz3_add.img
具体的可以参考上节内容。
(2)通过编译安装qemu-nbd工具挂载qcow2格式的磁盘。 qemu-nbd工具默认没有安装,需要编译进行安装。
(3)通过创建kvm环境创建kvm虚拟机配置文件挂载虚拟机磁盘启动虚拟机。该内容课参考六的内容(KVM虚拟化笔记(六)------kvm虚拟机的克隆)
(4)通过libguestfs-tools工具进行测试。
本文主要测试的是libguest-tools工具进行测试,步骤如下:
1,首先确认libguestfs-tools工具是否安装,没有的话可进行yum安装。
[root@KVM ~]#install libguestfs-tools [root@KVM ~]# rpm -qa|grep libguestfs-tools libguestfs-tools-1.20.11-14.el6.x86_64 libguestfs-tools-c-1.20.11-14.el6.x86_64 [root@KVM ~]# vir virsh virt-p_w_picpath virt-resize virt-alignment-scan virt-inspector virt-sparsify virt-cat virt-inspector2 virt-sysprep virt-clone virt-install virt-tar virt-convert virt-list-filesystems virt-tar-in virt-copy-in virt-list-partitions virt-tar-out virt-copy-out virt-ls virt-top virt-df virt-make-fs virt-v2v virt-edit virt-manager virt-viewer virt-filesystems virt-p2v-server virt-win-reg virt-format virt-pki-validate virt-xml-validate virt-host-validate virt-rescue
命令格式:-d采用域名的方式,-a是直接获取磁盘文件方式
virt-df [--options] -d domname virt-df [--options] -a disk.img [-a disk.img ...]
2,virt-cat命令,可直接查看虚拟机的文件,类似于cat,(开关机都可以)
[root@KVM ~]# virt-cat -d hadoop1 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin [root@KVM ~]#
3,virt-edit命令,可直接编辑虚拟机里面的文件,类似于vi编辑器(注意:该虚拟机必须处于关机状态)
[root@KVM ~]# virt-edit -d hadoop3 /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
4,virt-df命令,可直接查看虚拟机里边的磁盘使用情况,类似于df -h命令,(开关机都可以)。
[root@KVM ~]# virt-df -h hadoop1 Filesystem Size Used Available Use% hadoop1:/dev/sda1 484M 32M 427M 7% hadoop1:/dev/VolGroup/lv_root 18G 733M 17G 4% [root@KVM ~]# virt-df -h hadoop4 Filesystem Size Used Available Use% hadoop4:/dev/sda1 484M 32M 427M 7% hadoop4:/dev/VolGroup/lv_root 12G 731M 11G 6% [root@KVM ~]# virsh list --all Id Name State ---------------------------------------------------- 1 win7 running 17 hadoop1 running 18 hadoop4 running 20 hadoop2 running - hadoop3 shut off
[root@KVM ~]# virsh domblklist hadoop1 Target Source ------------------------------------------------ vda /p_w_picpaths/test/hadoop1.qcow2 vdb /p_w_picpaths/test/hadoop1_add01.qcow2 hdc -
9,virt-copy-in命令,直接虚拟化平台上本地磁盘到虚拟机磁盘上,类似于cp (虚拟机必须处于关机状态,开机验证)
[root@KVM install]# virt-copy-in -d hadoop1 /tmp/install/nginx.tar.gz /tmp/ [root@KVM install]# virsh start hadoop1 Domain hadoop1 started
如果出现报错:“错误:root@ubuntu:/usr/bin# virt-copy-in -d yz /tmp/install/jdk-8u51-linux-x64.rpm /root
/usr/bin/virt-copy-in: line 19: exec: guestfish: not found”原因是没有安装guestfish造成的,可以先安装执行此命令yum install guestfish -y 自动安装就可以查看了。