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

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

因服务器突然断电原因导致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

存储瘫痪抢救Oracle数据库案例

本次分享的案例是关于HP FC MSA2000存储瘫痪抢救Oracle数据库的案例,故障存储整个存储空间由8块硬盘组成,其中7块硬盘组成一个RAID5的阵列,剩余1块做成热备盘使用。由于RAID5阵列中出现2块硬盘损坏,而此时只有一块热备盘成功激活,因此导致RAID5阵列瘫痪,上层LUN无法正常使用。 由于存储是因为RAID阵列中某些磁盘掉线,从而导致整个存储不可用。因此接收到磁盘以后先对所有磁盘做物理检测,检测完后发现没有物理故障。排除物理故障后对数据全部备份后在进行进一步的分析。 【故障分析】 1、分析故障原因 由于前两个步骤并没有检测到磁盘有物理故障或者是坏道,由此推断可能是由于某些磁盘读写不稳定导致故障发生。因为HP MSA2000控制器检查磁盘的策略很严格,一旦某些磁盘性能不稳定,HP MSA2000控制器就认为是坏盘,就将认为是坏盘的磁盘踢出RAID组。而一旦RAID组中掉线的盘到达到RAID级别允许掉盘的极限,那么这个RAID组将变的不可用,上层基于RAID组的LUN也将变的不可用。目前初步了解的情况为基于RAID组的LUN有6个,均分配给HP-Unix小机使用,上层做的LVM逻辑卷,重要数据为Oracle数据库及OA服务端。 2、分析RAID组结构 HP MSA2000存储的LUN都是基于RAID组的,因此需要先分析底层RAID组的信息,然后根据分析的信息重构原始的RAID组。分析每一块数据盘,发现4号盘的数据同其它数据盘不太一样,初步认为可能是hot Spare盘。接着分析其他数据盘,分析Oracle数据库页在每个磁盘中分布的情况,并根据数据分布的情况得出RAID组的条带大小,磁盘顺序及数据走向等RAID组的重要信息。 3、分析RAID组掉线盘 根据上述分析的RAID信息,尝试通过北亚RAID虚拟程序将原始的RAID组虚拟出来。但由于整个RAID组中一共掉线两块盘,因此需要分析这两块硬盘掉线的顺序。仔细分析每一块硬盘中的数据,发现有一块硬盘在同一个条带上的数据和其他硬盘明显不一样,因此初步判断此硬盘可能是最先掉线的,通过北亚RAID校验程序对这个条带做校验,发现除掉刚才分析的那块硬盘得出的数据是最好的,因此可以明确最先掉线的硬盘了。 4、分析RAID组中的LUN信息 由于LUN是基于RAID组的,因此需要根据上述分析的信息将RAID组最新的状态虚拟出来。然后分析LUN在RAID组中的分配情况,以及LUN分配的数据块MAP。由于底层有6个LUN,因此只需要将每一个LUN的数据块分布MAP提取出来。然后针对这些信息编写相应的程序,对所有LUN的数据MAP做解析,然后根据数据MAP并导出所有LUN的数据。 【数据恢复过程】 1、解析修复LVM逻辑卷 分析生成出来的所有LUN,发现所有LUN中均包含HP-Unix的LVM逻辑卷信息。尝试解析每个LUN中的LVM信息,发现其中一共有三套LVM,其中45G的LVM中划分了一个LV,里面存放OA服务器端的数据,190G的LVM中划分了一个LV,里面存放临时备份数据。剩余4个LUN组成一个2.1T左右的LVM,也只划分了一个LV,里面存放Oracle数据库文件。编写解释LVM的程序,尝试将每套LVM中的LV卷都解释出来,但发现解释程序出错。 仔细分析程序报错的原因,安排开发工程师debug程序出错的位置,并同时安排高级文件系统工程师对恢复的LUN做检测,检测LVM信息是否会因存储瘫痪导致LMV逻辑卷的信息损坏。经过仔细检测,发现确实因为存储瘫痪导致LVM信息损坏。尝试人工对损坏的区域进行修复,并同步修改程序,重新解析LVM逻辑卷。 2、解析VXFS文件系统 搭建环境,将解释出来的LV卷映射到搭建好的环境中,并尝试Mount文件系统。结果Mount文件系统出错,尝试使用“fsck –F vxfs” 命令修复vxfs文件系统,但修复结果还是不能挂载,怀疑底层vxfs文件系统的部分元数据可能破坏,需要进行手工修复。 3、修复VXFS文件系统 仔细分析解析出来的LV,并根据VXFS文件系统的底层结构校验此文件系统是否完整。分析发现底层VXFS文件系统果然有问题,原来当时存储瘫痪的同时此文件在系统正在执行IO操作,因此导致部分文件系统元文件没有更新以及损坏。人工对这些损坏的元文件进行手工修复,保证VXFS文件系统能够正常解析。再次将修复好的LV卷挂载到HP-Unix小机上,尝试Mount文件系统,文件系统没有报错,成功挂载。 4、检测Oracle数据库文件并启动数据库 在HP-Unix机器上mount文件系统后,将所有用户数据均备份至指定磁盘空间。所有用户数据大小在1TB左右。 使用Oracle数据库文件检测工具“dbv”检测每个数据库文件是否完整,发现并没有错误。再使用北亚Oracle数据库检测工具,发现有部分数据库文件和日志文件校验不一致,安排北亚工程师对此类文件进行修复

01

OrientDB备份数据库

像RDBMS一样,OrientDB也支持备份和恢复操作。 在执行备份操作时,它将使用ZIP算法将当前数据库的所有文件转换为压缩zip格式。 通过启用自动备份服务器插件,可以自动使用此功能(备份)。 备份数据库或导出数据库是相同的,但是,基于我们必须知道什么时候使用备份和什么时候使用导出的过程。 在进行备份时,它将创建数据库的一致性副本,所有后续写入操作都被锁定并等待完成备份过程。 在此操作中,它将创建一个只读备份文件。 如果在进行备份时需要并发读取和写入操作,则必须选择导出数据库,而不是备份数据库。 导出不锁定数据库,在导出过程中允许并发写入。 以下语句是数据库备份的基本语法:

02

服务器安全指南 - 加密你的磁盘

在这个互联网高度发达的时代,我们的个人隐私和信息安全也极易受到泄露和威胁,因此,保护好我们的数据安全便成为了重中之重。然而,传统的使用工具加密单个文件或者文件夹的方式(例如VeraCrypt/eCryptfs等)过于麻烦,且极其复杂,很难被大家接受。于是全盘加密应运而生,Windows平台上的BitLocker,Linux下的LUKS,macOS平台的FileVault,都是全盘加密的最好应用。现在,新安装的Windows在支持的情况下会默认启用BitLocker,macOS也会在初始化时提醒你是否启用FileVault,而iOS则是强制启用了全盘加密,他人即使接触到了你的设备,读取了你的硬盘,在密码没有泄露的情况下,你的数据也是十分安全的。由此看来,这种无感加密的方式也即将成为主流的数据安全保护措施。

02

OrientDB备份数据库

像RDBMS一样,OrientDB也支持备份和恢复操作。 在执行备份操作时,它将使用ZIP算法将当前数据库的所有文件转换为压缩zip格式。 通过启用自动备份服务器插件,可以自动使用此功能(备份)。 备份数据库或导出数据库是相同的,但是,基于我们必须知道什么时候使用备份和什么时候使用导出的过程。 在进行备份时,它将创建数据库的一致性副本,所有后续写入操作都被锁定并等待完成备份过程。 在此操作中,它将创建一个只读备份文件。 如果在进行备份时需要并发读取和写入操作,则必须选择导出数据库,而不是备份数据库。 导出不锁定数据库,在导出过程中允许并发写入。 以下语句是数据库备份的基本语法:

04
领券