热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

摘要:kvm虚拟化技术下虚拟机的磁盘空间中数据的保护与恢复,考虑kvm的服务器级别的可用性。1.kvm技术简单介绍kvm虚拟化技术由几部分构成,kvm内核模块(cpu和内存的虚拟化及管理),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 2007-11-24 14:56 loop0p1
    brw-rw---- 1 root disk 253, 5 2007-11-24 14:56 loop0p5
    挂载需要的分区
    # mount /dev/mapper/loop0p1 /mnt/MyFileSystem
    这样就可以读取挂载的镜像文件中的数据,而且可以分在区中任意读写数据了。
    当然,这些操作都是在虚拟机停机的情况下进行的,目的就是停机时候查看数据,或是在机器死掉时恢复重要数据。

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


推荐阅读
  • 如何监控 Linux 服务器状态?,分享
    Linux服务器我们天天打交道,特别是Linux工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。本文介绍的几个命令,不仅仅适用于 ... [详细]
  • 主流操作系统简介
    主流操作系统简介子墨居士操作系统理论定义为管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分࿰ ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
  • 阿里云服务器iis设置方法与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情,选Linux服务器首先要 ... [详细]
  • 如何查看电脑系统版本_腾讯云服务器系统版本怎么看?Windows和Centos版本怎么选?...
    腾讯云服务器系统版本怎么看?想要知道自己的腾讯云服务器系统版本是哪个,可以登录云服务器后台管理系统查看,或者使用命令行查询,如果不会操作& ... [详细]
  • 新新于2005-09-1415:02:23发表:利用chbg程序动态制作屏保XScreenSaver是一个开放的框架,就像一个服务器,任何一个可以在根窗 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
author-avatar
mobiledu2502920413
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有