1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > kvm虚拟化技术下虚拟机磁盘的数据保护

kvm虚拟化技术下虚拟机磁盘的数据保护

时间:2020-12-28 03:29:37

相关推荐

kvm虚拟化技术下虚拟机磁盘的数据保护

摘要:kvm虚拟化技术下虚拟机的磁盘空间中数据的保护与恢复,考虑kvm的服务器级别的可用性。

1.kvm技术简单介绍

kvm虚拟化技术由几部分构成,kvm内核模块(cpu和内存的虚拟化及管理),kvm其他硬件设备模拟。其中其他的硬件设备中,较为重要的有磁盘和网络设备,这部分的虚拟化是使用qemu来完成的,称作修改后的qemu,即qemu-kvm。当然,就用到了qemu技术,那么它对磁盘的管理和使用就用qemu-img来完成。

2.虚拟机部署的过程中对磁盘文件的查看

虚拟机部署的过程中对磁盘的操作,主要分为磁盘空间的分配,磁盘中数据的查看等问题。因为目前较为主流的虚拟化技术采用的磁盘格式都是不同的,有些格式能够支持磁盘的预分配,有些只能一次分配。这些不同的格式,在虚拟机的一次生成到处可用上造成了障碍,因此各种虚拟化技术中就产生磁盘格式转换的专门工具,用于在不同的虚拟机镜像之间转换。

在磁盘格式转换前首先要搞清楚自己需要的格式,以及待转换的磁盘镜像的格式。转换需谨慎,换前要备份呀。

在qemu技术中,支持的格式很多,有raw cow qcow vdi vmdk cloop dmg bochs vpc vvfat qcow2 parallels nbd blkdebug host_cdrom host_floppy host_device file,可以说很丰富,但是比较常用的有cow、qcow和raw。raw格式是最为纯净的格式,可以转化为很多其他的格式,而其他的格式转换有时需要预先转化为raw中间格式。

以qcow2为例:

查看格式命令为:

#qemu-img info /dev/lvmdisk/vm-disk

现将qcow2转化为raw格式

#qemu-img convert /dev/lvmdisk/vm-disk -O -f raw

这是转化后的磁盘就像一块真正的物理磁盘,可以用sfdisk来查看各个分区的偏移量,然后找到分区的头,实现不同分区的挂载

lion@lion-laptop:~$ sfdisk -l -uS kvm/hd/fwle-1/fw.img

Disk kvm/hd/fwle-1/fw.img: cannot get geometry

Disk kvm/hd/fwle-1/fw.img: 62 cylinders, 255 heads, 63 sectors/track

Warning: extended partition does not start at a cylinder boundary.

DOS and Linux will interpret the contents differently.

Warning: The partition table looks like it was made

for C/H/S=*/16/63 (instead of 62/255/63).

For this listing I'll assume that geometry.

Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System

kvm/hd/fwle-1/fw.img1 63 7055 6993 83 Linux

kvm/hd/fwle-1/fw.img2 7056 180431 173376 83 Linux

kvm/hd/fwle-1/fw.img3 180432 1000943 820512 5 Extended

kvm/hd/fwle-1/fw.img4 0 - 0 0 Empty

kvm/hd/fwle-1/fw.img5 180495 451583 271089 83 Linux

kvm/hd/fwle-1/fw.img6 451647 722735 271089 83 Linux

kvm/hd/fwle-1/fw.img7 722799 993887 271089 83 Linux

kvm/hd/fwle-1/fw.img8 993951 1000943 6993 83 Linux

如果想要挂载fw.img文件的第五个分区,我要首先计算第五分区的偏移量 180495 * 512 = 92413440,

则输入

#mount -o loop,offset=92413440 kvm/hd/fwle-1/fw.img tmp/ 命令,就把第五个分区挂载上。这样就可以查看分区中的数据了。

上面已经介绍了一种查看虚拟机磁盘中数据的方法,还有一种方式也可以查看。

关于数据的恢复和备份补充:

查看img文件的格式:

#qemu-img info /devlvmdisk/debian-disk

关联一个loop0设备:

#losetup /dev/loop0 /dev/lvmdisk/debian-disk

取消关联:

#losetup -d /dev/loop0

做分区表映射:

# kpartx -av /dev/loop0

取消分区表映射:

# kpartx -d /dev/loop0

查看映射结果

# ls -alF /dev/mapper

brw-rw---- 1 root disk 253, 4 -11-24 14:56 loop0p1

brw-rw---- 1 root disk 253, 5 -11-24 14:56 loop0p5

挂载需要的分区

# mount /dev/mapper/loop0p1 /mnt/MyFileSystem

这样就可以读取挂载的镜像文件中的数据,而且可以分在区中任意读写数据了。

当然,这些操作都是在虚拟机停机的情况下进行的,目的就是停机时候查看数据,或是在机器死掉时恢复重要数据。

3.总结

对磁盘技术的熟练使用能够帮助我们快速的修复死机的虚拟机,同时也为数据安全打下了一定的伏笔。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。