ubuntu12.04 下挂载qcow2格式镜像的方法
PS: 最近直接cp镜像,启动另一镜像后发现找不到eth0,然后dmesg | grep eth0 发现change eth0 to eth1。这才恍然大悟,直接cp镜像时没有修改udev规则,KVM的两个VM的MAC地址相同了。然后挂载修改MAC地址/etc/udev/rules.d/70-persistent-net.rules 。其实可以直接使用virsh console vm2 的方法。但是为了跟一般的做法。自己来亲测一次qcow2的挂载过程。
直接记录过程
临时加载nbd模块
modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/ryu2.qcow2
kpartx -a /dev/nbd0
ls | grep nbd0
nbd0
nbd0p1
nbd0p2
接下来把nbd0p1挂载上
mount /dev/nbd0p1 /mnt
root@c10:/mnt# ls
bin dev home lib lost+found mnt proc run selinux sys usr vmlinuz
boot etc initrd.img lib64 media opt root sbin srv tmp var
root@c10:/mnt#
接下来卸载。
umount /mnt
root@c10:~# qemu-nbd -d /var/lib/libvirt/images/ryu2.qcow2
/var/lib/libvirt/images/ryu2.qcow2 disconnected