网易首页 > 网易号 > 正文 申请入驻

不得不说的惊险刺激——记一次虚拟化服务器的灾难恢复

0
分享至

大过年的,虚拟化服务器崩溃了,正感叹它会挑日子呢,其实并不是那么回事——已经坏了段时间,客户早早地就想着过了年再折腾,无奈财务要用,所以又催着我们修复。

也不知道从什么时候开始,年底要钱成了我的主要工作,印象最深的是前年——还以为是去年,刚才特地查了聊天记录才确认是前年了——有个当初听上去不错的项目竣工,年底结算的时候才发现,这个装饰公司的名称真没起错,果然是不三不四。

要钱的过程,就不描述了,对付无耻之极的人,只能用非常手段,虽然非常艰辛,但是不管怎么说,钱总算是要回来了,而且连质保金(还没到日子)都一并要了回来,觉得相当不错了。

言归正传,年底钱难要,心情难免抑郁,但是有技术活来了,咱绝不打一分折扣,得给人家干好了。这不,忙活了好几天,总算是八九不离十了,今天给大家整理一下灾难恢复过程,觉得有用的朋友们,关注一下鄙人,点个赞,也算是为我深夜码字加个油吧,先谢谢了。

这是一台XenServer服务器,后面挂载着我们公司自己开发的分布式存储系统,虚拟机都在存储池里面,所以我接到电话并不是太担心。

客户发来截图,xencenter连接不上服务器。那就到机房看一下嘛,也许重启一下就会好呢?嘿嘿。

事实证明,我想多了,这个画面可不是什么好苗头,顿时有种不祥的预感,重启果然是无效的,让客户再次重启,这回选择安全模式,输入命令:journalctl -xb

好家伙,难怪系统起不来了,这是文件系统坏了啊,当然也可能是硬盘坏了;也不知道能不能修复,先试试看呗,让客户执行命令:fsck /dev/sda5,还以为有机会喝口水,等结果,可是客户一秒钟就发来图片

Fsck命令根本就没法执行,这……玩得有点大啊,硬盘就没闪个黄灯?

好吧,服务器呼啦啦地跑得起劲呢,没有任何故障指示灯。

看来要放弃治疗了,重装之前,最好有虚拟机和虚拟硬盘的对应关系(vm-uuid、vdi-uuid),所以,此时执行命令:xe vbd-list

呃……这个时候,我感到事态严重,要啥啥没有,这可咋整?

把硬盘拆下来,挂载到centos系统,想拿到/var/xapi/state.db文件,这个文件能用记事本打开,里面记录着虚拟机的配置以及各个uuid,然而目录下空空如也,有点慌了。尝试fsck修复,完事后挂回去,还是起不来。

完犊子,芭比Q了。

换我们的硬盘,装XenServer。可惜,装上容易,恢复难啊,痛苦的旅程就此拉开帷幕——没错,你要看的好戏才刚刚开始。

安装我们自己的分布式存储系统,以便挂载网络存储: ./installer7 -M,报错了,少一堆资源包,正常正常,那就先更新源吧, 先备份一下:cp CentOS-Base.repo CentOS-Base.repo.backup,然后编辑文件:vim CentOS-Base.repo

提示没有vim命令,好吧,那就yum install vim,安装完成后,再执行vim CentOS-Base.repo。

我在谁?我在哪儿?我在干什么?有必要安装vim吗?FinalShell可以直接打开、编辑、保存的啊!

好的好的,自从有了FinalShell,省事儿多了,早就抛弃Xshell了。注意,没拿广告费啊,开源免费软件,好用,就是Java开发的,有点占内存。

Yum clean all

Yum makecache

yum-config-manager --enable 失败,好吧好吧, yum install yum-config-manager,不对,那应该是yum install yum-utils,Linux就是这样了,总是缺这缺那,要一个个地补。

yum-config-manager --enable,总算妥了,但是挂载存储还是报错,于是又执行命令:yum install fuse

/usr/local/exfs/bin/exfsmount /exfs,分布式存储系统挂载到/exfs路径。

挂载容易,怎么把它设置为Xenserver的默认存储呢?而且里面有数据,不敢轻举妄动,这是个技术活儿。

如果不是分布式存储系统,只是服务器里面的另外一块硬盘,或者另外一个阵列组成的磁盘,那么操作步骤如下:

1、通过pvscan查看原存储的UUID:

VG_XenStorage-a17d3701-3c00-22de-840a-b04e17de1f29

2、 通过xe host-list 命令查看重装后的host的UUID号:

b471cd67-80ad-45ea-aa06-4870cfb67b1d

3、将PVscan命令得到的UUID号导入存储,命令如下:

xe sr-introduce uuid=a17d3701-3c00-22de-840a-b04e17de1f29 type=lvm name-label="Disk2" content-type=user

4、用命令:ll /dev/disk/by-id查看存储设备的ID:

ata-ST3000DM008-2DM166_Z504KYKY

5、通过以上的sr-uuid号、by-id号、host的uuid号创建出pbd的UUID号:

Xe pbd-create sr-uuid=a17d3701-3c00-22de-840a-b04e17de1f29 device-config:device=/dev/disk/by-id/ata-ST3000DM008-2DM166_Z504KYKY host-uuid=b471cd67-80ad-45ea-aa06-4870cfb67b1d

此时,在xencenter控制台,只要点击“Disks”存储,然后“Rescan”,就能搜索原来的虚拟磁盘(搜索不到,就执行命令xe pbd-plug uuid=刚才得到的pbd的uuid),运气好的话,有名称和描述,很容易匹配到原来的虚拟机,如果只显示虚拟磁盘的容量,没有其他信息怎么办?

那就新建虚拟机,但是不要开机,然后“Attach Disk”,

在列表中随便选一块虚拟磁盘,看看你的运气怎么样。

然后把新建虚拟机的时候,新建的虚拟磁盘删除,只用刚才“Attach Disk”添加的虚拟磁盘启动虚拟机,如果能启动,就自然能看到是什么系统,如果无法启动,那么这块虚拟磁盘可能不是系统盘,而是虚拟机的存储盘,记录下面,后面再挂载到可启动的虚拟机里面查看内容。

问题来了,我们现在用的是外挂的分布式存储系统,pvscan命令是无效的,无法获取到存储的uuid,那后面的一系列操作都是无法运行的。

也就是说,我必须找到原存储的uuid,否则无法进行到下一步。

前面说到,分布式存储系统已经挂载到/exfs路径,那就看一下日志文件吧。

Cd /exfs

Ls

Cat filelog.txt

Sr-mount,就是挂载的存储,每个vhd文件前面都是80785f5e-ef2a-323f-ce2f-6f8eef3d56f6,这个必定是原存储的uuid了。

那就好办了,直接执行命令,导入这个存储即可:

xe sr-introduce uuid=80785f5e-ef2a-323f-ce2f-6f8eef3d56f6 name-label=exfs shared=true type=file device-config:location=/exfs/HGVM1 content-type=user

回到xencenter,看到导入的存储了,然而,里面空空如也,心里难免一阵恐慌。

鼠标右键点击“exfs”(就是刚才导回的存储),选择“repair”,完成后,虚拟磁盘都显示出来了,只不过,非常遗憾,除了容量以外,什么信息都丢失了,先手动标个编号吧,因为没有得到原xenserver系统硬盘中的/var/xapi/state.db文件,此时实在没办法了,只能逐一挂载这些虚拟磁盘,看内容再做决定。

正如前面所说的,先创建一台Win10的虚拟机,然后“Attach Disk”,一个一个地看太慢了,我直接添加几个不同容量的磁盘1号100G、5号200G、12号1000G、13号2000G,然后启动虚拟机,顺利启动,1号100G是个Windows Server,启动后到磁盘管理,可以看到,5号200G无法识别分区类型,判断为Linux系统,12号1000G,可以直接打开,看到很多文件夹,判断为共享盘,按照原来的架构,理应是域控的D盘,挂载在此,正合适;13号2000G,提示是跨区卷,当然不能初始化。此时,记录桌面文件夹的最后修改日期,然后关闭虚拟机。

分析:按照客户提供的信息,这台虚拟服务器里, 有一台Win7,两台Windows Server,两台CentOS,可是现在有这么多虚拟磁盘,明显有重复的,应该是快照。

猜测:4块100G的虚拟磁盘中,有一个是Win7,2个当然是Windows Server,多出来一个,是其中一台Windows Server的快照。而200G的虚拟磁盘,可能是两台CentOS的,多出来的几个,应该是快照;1000G的虚拟磁盘,已经确定,2000G的既然是跨区卷,那至少是2个2000G组成一块磁盘,那就继续操作。

这台名为Win10的虚拟机,改名称为Windows Server-1,断开5号-200G、新增14号2000G,可是忙中出错,断开虚拟磁盘应该是“Detach”,却点了“Delete”,被删除了!

真是屋漏偏遭连夜雨啊,还让不让人活了,算了,先放一边,我们的存储系统有回收站的,稍等再找回来吧,先弄清楚其他虚拟磁盘再说。

趁虚拟机在启动的时候,再新建一台Win虚拟机,“Attach Disk”选择2号100G,结果启动时也显示Windows Server,进系统后,发现与刚才启动的第一台虚拟机,计算机名称相同,原来是同一台虚拟机啊,记录下桌面文件夹的最后修改日期,再重复操作,3号和4号,发现4个100G的虚拟磁盘,全是同一台Windows Server!比对日期后,保留一台,其他磁盘没用了,先留着吧。

这台Win7的虚拟机,改名称为Windows Server-1,为什么呢?因为客户记得Win7是100G的磁盘,但是现在100G的磁盘已经全部挂载过了,根本就没有Win7,由此判断,Win7应该是在坏了的本地磁盘内,所以继续找另一台Windows Server要紧。

“Attach Disk”选择6号200G,启动后,看计算机名称,果然是Windows Server-2,老规矩,还是记下桌面文件夹的最后修改日期,以待比对。

还是这台虚拟机,改为“Attach Disk”7号200G,结果启动的是CentOS,关机;

创建一台新的CentOS虚拟机,“Attach Disk”7号200G,启动正常,暂时就这样不动它。

回到Windows Server-2那台虚拟机,一个一个地“Attach Disk”后面的几个200G,发现全是同一台Windows Server,用前面的方法,比对日期,使用最新的作为正式的系统盘,其他的几个200G的虚拟磁盘就没用了,刚才误删除的那个,应该是另外一台CentOS,那就把它找回来吧。

mkdir /mnt/restore

/usr/local/exfs/bin/exfsmount -m /mnt/restore/

cd /mnt/restore/trash

mv *.vhd /exfs/HGVM1/

重新Rescan,5号200G又回来了,创建一台新的CentOS虚拟机,“Attach Disk”5号200G,启动正常。至此,操作系统全部恢复,接下来,恢复Windows Server的存储,前面已经在Windows Server-1挂载了,13和14,并且在“磁盘管理”中,跨区卷已经正常工作,如下图所示,是那块3.9T的磁盘。

此时,把15和18(16和17无法与15组合成跨区卷,18成功组合)挂载到Windows Server-2,并且在“磁盘管理”中,跨区卷已经正常工作,也是一块3.9T的磁盘,但是文件内容大有不同,交给客户去比对。

此时,虚拟服务器的恢复暂时告一段落,待客户检查文件后,根据客户反馈的信息,再挂载剩余的虚拟磁盘(16、17、19、20),还需要多次重复的操作,才能最终完成恢复工作。

总结,再好的技术,也比不上勤快的备份有效!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
马斯克:一面是天才一面是疯子,从小混乱的家庭关系让他无法正常

马斯克:一面是天才一面是疯子,从小混乱的家庭关系让他无法正常

照见古今
2024-01-06 18:43:16
他是陆军总司令,蒋介石的大管家,新中国唯独不接受此人的投降

他是陆军总司令,蒋介石的大管家,新中国唯独不接受此人的投降

百年历史老号
2024-06-18 06:25:58
贵州狂砍妻子15刀后续!男子动手内幕曝光,女子命大被救活

贵州狂砍妻子15刀后续!男子动手内幕曝光,女子命大被救活

懂瓜瓜
2024-06-18 23:34:22
局势升级!菲方再派舰船闯我方岛礁,关键时刻,东盟表态

局势升级!菲方再派舰船闯我方岛礁,关键时刻,东盟表态

笔墨V
2024-06-19 03:20:47
国乒头号克星,无缘巴黎奥运会,李隼和王皓,长出了一口气

国乒头号克星,无缘巴黎奥运会,李隼和王皓,长出了一口气

北丐聊球
2024-06-18 14:51:31
霍福德妻子:多米尼加每个人都为我丈夫骄傲 希望能激励更多孩子

霍福德妻子:多米尼加每个人都为我丈夫骄傲 希望能激励更多孩子

直播吧
2024-06-19 02:16:12
东莞一小学校长,被查

东莞一小学校长,被查

南方都市报
2024-06-19 11:24:06
眼看中国允许逮捕非法坐滩人员,小马科斯坐不住了,东盟多国表态

眼看中国允许逮捕非法坐滩人员,小马科斯坐不住了,东盟多国表态

明月文史
2024-06-19 10:10:57
曾被华为拉黑的APP,被百万中年男人硬抬上市

曾被华为拉黑的APP,被百万中年男人硬抬上市

黑马公社
2024-06-18 16:36:06
英媒:乌克兰和平峰会令人失望

英媒:乌克兰和平峰会令人失望

环球时报国际
2024-06-18 08:37:29
四川省委书记、省长、省委副书记,有新身份!

四川省委书记、省长、省委副书记,有新身份!

上观新闻
2024-06-19 12:02:17
4国军舰闯入南海军演,中方039潜艇果断发射鱼雷,摧毁一艘两栖舰

4国军舰闯入南海军演,中方039潜艇果断发射鱼雷,摧毁一艘两栖舰

军事在前沿
2024-06-18 13:53:53
CCTV5直播,黄金时间晚9点,克罗地亚生死战,德国赢球=提前晋级

CCTV5直播,黄金时间晚9点,克罗地亚生死战,德国赢球=提前晋级

凌空倒钩
2024-06-19 12:03:26
没有比x生活更好用的医生了吧!

没有比x生活更好用的医生了吧!

性学研究僧
2024-06-17 11:19:17
再见了,探花!凯尔特人酝酿6换1交易,塔图姆组五巨头再争FMVP?

再见了,探花!凯尔特人酝酿6换1交易,塔图姆组五巨头再争FMVP?

林子说事
2024-06-19 03:46:48
来东部吧,奥本山的召唤!活塞力邀哈登加盟!3年1.3亿冲击季后赛

来东部吧,奥本山的召唤!活塞力邀哈登加盟!3年1.3亿冲击季后赛

阿牛体育说
2024-06-19 12:34:54
上半年业绩暴增股名单 (附股)

上半年业绩暴增股名单 (附股)

证券时报
2024-06-19 09:34:08
谢育新:这是一次非常好的学习机会,我们会发挥出自己的水平

谢育新:这是一次非常好的学习机会,我们会发挥出自己的水平

懂球帝
2024-06-18 20:56:06
6月18日俄乌:各方愈发强硬,满足俄罗斯损失更多的期望

6月18日俄乌:各方愈发强硬,满足俄罗斯损失更多的期望

山河路口
2024-06-18 17:20:38
周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

周海媚从小就有阴阳眼,离世前曾有诡异预兆?靠撞鬼走红是真的吗

洞鉴历史
2024-06-11 14:23:53
2024-06-19 14:06:44
IT狂人日志
IT狂人日志
IT,擅写技术类短文或趣事
127文章数 2197关注度
往期回顾 全部

科技要闻

英伟达超越苹果、微软登顶全球新股王

头条要闻

8名大龄女工坐冷藏车窒息身亡 车内有大量未包装干冰

头条要闻

8名大龄女工坐冷藏车窒息身亡 车内有大量未包装干冰

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

吴清:证监会将推出“科创板八条”

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

游戏
数码
家居
本地
公开课

搞笑合作游戏《Purrrifiers》Steam页面 支持中文

数码要闻

游侠X1 Mini登场,这款能当笔记本用的掌机把我看傻了

家居要闻

自然开放 实现灵动可变空间

本地新闻

我和我的家乡|在鞍山的每一步都有新发现

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版