首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    断电虚拟机无法启动恢复案例教程

    本次分享的是因意外断电,导致某台虚拟机不能正常启动,查看虚拟机的配置文件时发现此虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失。此时磁盘文件和快照文件还存在。当遇到这种情况应该如何进行正确的操作呢? 【初检分析及数据恢复方式】 找VMware工程师诊断后,尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。因此就将故障虚拟机下的某个磁盘文件删除了,这时ESXi存储就有200多G的剩余空间了,而后VMware工程师就重新建了一个40G的虚拟机,并且分配了固定大小的虚拟磁盘,Windows Server 2008,数据库应用环境SQL Server 2008数据库服务器,虚拟机磁盘容量精简200G数据盘+ 160G快照数据盘。 在VMware vSphere Client上将挂载的RD220i存储中VMFS卷以正常方式卸载掉。然后将卷通过网线的方式连接到备份服务器上,接着使用专业的工具将整个VMFS卷以扇区的方式镜像到已准备的备份空间上。分析VMFS卷的底层数据发现,ESXi主机的突然断电导致故障虚拟机目录下的目录项出现破坏,但是这种破坏不会影响虚拟机的重要数据,只是破坏了文件的目录项而已,可以通过人工修复即可解决。而人为删除某个文件的话,则目录项对应的数据区索引会被清掉,也不会影响删除文件的实际数据。这种情况可根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片匹配和合并,最终也可恢复删除的虚拟磁盘文件。但是在上述的两种情况之下又新建了一台虚拟机,并且分配了虚拟磁盘。 经过分析发现分配的虚拟磁盘已经全部清零了,也是这个新建的虚拟机所占用的磁盘空间全部被清零。 如果新虚拟磁盘占用了删除虚拟机磁盘所释放的空间,那么此部分空间将无法恢复的。根据SQL Server数据库的结构去自由空间中找到数据库的开始位置。在数据库的结构中,数据库的第9个页会记录本数据库的数据库名。因此根据这个特征可以核对此数据库的头部页是否是正在查找的。并且数据库的每个页中都会记录数据库页编号以及文件号,所以根据这些特征编写数据库扫描程序,然后利用程序去底层扫描所有符合数据库页的数据碎片。接着将扫描出来的碎片按顺序重组成一个完整MDF文件,再通过MDF校验程序检测整个MDF文件是否完整。在整个校验过程中,只有极少量因有部分碎片没有找到外,其余数据库均校验成功。 实施完后,并没有将所有的数据库文件全部恢复出来,还有文件因缺失部分页导致其无法正常使用。因此需要采用备份来恢复这两个数据库文件,但是在检查完这两个文件的备份后发现全部备份因备份机制故障导致没有备份出来,之前的备份全部没有,只有最近的全部增量备份 因此可以根据缺失的页号在增量备份中查找,再将找到的页补到文件中,这样可以恢复一部分丢失的数据库页。最终补完后还是缺失部分页,无法正常使用。但是可以通过自主开发的数据库解析程序将文件中用户比较重要的几十张表成功导出,并成功导入到新建的数据库中。 【数据恢复结果】 在本地服务器中搭建和原始环境一样的数据库环境并安装上层宏桥应用软件。再由客户安排工程验证数据库是否完整,经过验证后,数据库恢复基本没问题。上层应用可以正常运行,数据记录也都基本没有缺失,数据库成功挂载,本次数据恢复成功。

    01

    误删除VMware虚拟机vmdk文件的恢复案例

    Dell MD 3200系列存储,VMware ESXi 5.5版本,因意外断电,导致某台虚拟机不能正常启动,查看虚拟机的配置文件时发现此虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失。此时xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。 找VMware工程师诊断后,尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。因此就将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,这时ESXi存储就有200多G的剩余空间了,而后VMware工程师就重新建了一个40G的虚拟机,并且分配了固定大小的虚拟磁盘,Windows Server 2008(虚拟机操作系统),数据库应用环境SQL Server 2008数据库服务器,虚拟机磁盘容量200G数据盘(精简模式)+ 160G快照数据盘。 解决方法: 1、备份数据 在VMware vSphere Client上将挂载的RD220i存储中VMFS卷以正常方式卸载掉。然后将RD220i存储上的VMFS卷通过网线的方式连接到备份服务器上,接着使用专业的工具将整个VMFS卷以扇区的方式镜像到已准备的备份空间上,以确保客户的数据安全,之后的分析和恢复操作均在备份的数据上进行。 2、分析故障原因 仔细分析VMFS卷的底层数据发现,ESXi主机的突然断电导致故障虚拟机目录下的目录项出现破坏,但是这种破坏不会影响虚拟机的重要数据,只是破坏了文件的目录项而已,可以通过人工修复即可解决。而人为删除某个文件的话,则目录项对应的数据区索引会被清掉,也不会影响删除文件的实际数据。这种情况可根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片匹配和合并,最终也可恢复删除的虚拟磁盘文件。但是在上述的两种情况之下又新建了一台虚拟机,并且分配了虚拟磁盘。经过仔细分析发现分配的40G虚拟磁盘已经全部清零了(在创建虚拟磁盘的时候会选择创建磁盘的类型),也是这个新建的虚拟机所占用的磁盘空间全部被清零。 如果新虚拟磁盘占用了删除虚拟机磁盘所释放的空间,那么此部分空间将无法恢复的。

    02

    虚拟机磁盘文件丢失恢复教程

    因服务器突然断电原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失,通过电话联系北亚数据来进行恢复。硬件环境是Dell 720服务器配戴一张H710P的RAID卡,由4块希捷2T STAT硬盘组成的RAID 10,上层环境是Xen Server 6.2版本操作系统,虚拟机是Windows Server 2003系统,10G系统盘 + 5G数据盘两个虚拟机磁盘,上层是Web服务器(ASP + SQL 2005的网站架构)。 【数据恢复过程】 将客户数据盘以磁盘底层扇区的方式镜像到备份空间上后,仔细分析底层数据发现Xen Server服务器中虚拟机的磁盘都是以LVM的结构存放的,即每个虚拟机的虚拟磁盘都是一个LV,并且虚拟磁盘的模式是精简模式的。LVM的相关信息在Xen Server中都有记载,查看“/etc/lvm/backup/frombtye.com “下LVM的相关信息发现并没有存在损坏的虚拟磁盘信息,因此可以断定LVM的信息已经被更新了。接着分析底层看能否找到未被更新的LVM信息,在底层发现了还未更新的LVM信息。 根据未被更新的LVM信息找到了虚拟磁盘的数据区域,发现该区域的数据已被破坏。分析后发现造成虚拟机不可用的最终原因是因为虚拟机的虚拟磁盘被破坏,从而导致虚拟机中的操作系统和数据丢失。而导致这种情况的发生很有可能是虚拟机遭遇网络攻击或hack入侵后留下恶意程序造成的。仔细核对这片区域后发现,虽然该区域有很多数据被破坏了,但还是发现了很多数据库的页碎片。因此可以尝试将许多数据库的页碎片拼成一个可用的数据库。

    03

    Centos6.3安装KVM

    一、安装kvm 1 在安装CentOS6.3时可以选择安装好kvm 2 如果未安装好kvm,请按照下列方式安装 [创建本地yum源] 挂载iso文件 mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt 设置本地yum源 在/etc/yum.repos.d/创建   “任意文件名.repo"    文件   vi 刚才新建的文件名编辑 【localyum】任意名称 ,不能有空格。 name= local yum  任意名称 baseurl=file:////mnt/Packages      这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下 enabled=1   代表   生效     0为不生效 gpgcheck=1   检查gpgkey  1 生效   0不生效 gpgkey=file:///software    安装光盘里有这个文件        不指定  安装时,可能提示没有注册 保存退出 执行命令 yum clean all (1) kvm需要有 CPU 的支持(Intel VT 或 AMD SVM) [root@moniter ~]#egrep '^flags.*(vmx|svm)' /proc/cpuinfo 如果有返回值说明cpu支持虚拟化 (2) 安装kvm libvirted yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst (3) 启动libvirted service messagebus start service haldaemon start service libvirtd start chkconfig messagebus on chkconfig haldaemon on chkconfig libvirtd on (4)检查kvm是否安装成功 [root@jiayuan ~]# virsh -c qemu:///system list  Id    名称                         状态 ----------------------------------------------------  1     redhat6.3                      running (5)kvm模块 [root@myKVM ~]# lsmod | grep kvm kvm_intel              52570  0 kvm                  314739  1 kvm_intel 二、配置网桥 vi /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=10.207.20.255 IPADDR=10.207.20.200 NETMASK=255.255.255.0 NETWORK=10.207.20.0 ONBOOT=yes b、 vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet DEVICE=eth0 BOOTPROTO=none ONBOOT=yes BRIDGE=br0 c、 重起网络服务生效 service network restart d、 echo 1 > /proc/sys/net/ipv4/ip_forward  #虚拟机上网 e、 检查桥接网络 [root@moniter ~]# brctl show bridge name     bridge id               STP enabled     interfaces br0             8000.842b2b74e1b6       no              eth0 virbr0          8000.000000000000       yes br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡 三、安装vnc 注意:CentOS6.3 VNC的命名rpm为tiggervnc-server (1) yum install tiggervnc-server (2) vi /etc/sysconfig/vncservers #加一行     VNCSERVERS="

    02
    领券