qemu-nbd介绍
NBD(Network Block Device)
,即网络块设备
。可以将一个远程主机的磁盘空间,当作一个块设备来使用。就像一块硬盘一样使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上。NBD与NFS有所不同,NFS只是提供一个挂载点供客户端使用,客户端无法改变这个挂载点的分区格式,而NBD提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用。NBD是一个内核模块,大部分Linux发行版都已包含它。
操作步骤
kvm磁盘read-only恢复
内核启动nbd
modprobe nbd max_part=8
关闭机器
virsh destroy virtualhost_Name
挂载磁盘,挂载只读磁盘对应的qcow2文件
cd /qcow2Path/
qemu-nbd -c /dev/nbd0 virtualhost_Name_sda.qcow2
修复分区
磁盘镜像中存在多个分区的话,分区会被映射成p2 p3等
fsck.ext4 -y /dev/nbd0p2
fsck.ext4 /dev/nbd0p3
卸载磁盘
qemu-nbd -d /dev/nbd0
启动kvm
virsh start virtualhost_Name
参考
https://www.qemu.org/docs/master/tools/qemu-nbd.html