【转】XenServer错误恢复:断电网卡丢失.虚拟机(VPS)不见

这次一朋友拖我帮忙.他的服务器因为机房断电,致使网卡丢失等一系列处理。在此小记一笔
背景:
机器位于美国. 32G内存+1T硬盘*4(硬RAID10阵列)+xenserver5.6系统 服务器支持kvm远程管理.
机房断电,致使xenserver网卡丢失.在恢复网络连接后,其所有虚拟机(VPS)丢失。
控制面板使用我的是我破解过的xensystem2.0版本.(维护和操作起来比较方便)

开始:
起初我在网上找了很多方法,都不成,有说是因为xenserver有自我保护模式,有说是pool主从模式的,都试过了,不成功。一般没见过的命令也不敢操作,毕竟不太熟悉。万一数据搞丢了可不好。
还好有xenme.com的站长帮我,在此表示 非常的感谢. 本想酬谢的,结果被拒绝了,不过还好他有亲戚在我这边,看来下次他来我这边可以请他喝酒了 呵呵.
1.恢复网卡访问
连接上KVM,需要安装java环境,这个就不介绍了
因为断电的原因,网卡丢失了。这时候我们通过
xe pif-scan
查找一下网卡,如果没有找到可能你就需要联系下机房人员了
找到网卡后,你还需要配置你的母机的IP等信息,测试可以ping通或者是非KVM可以SSH连接上后,就可以通过SSH操作了。

2.网卡已经成功激活并能远程SSH连接,这时候我们可以退出KVM,操作太卡了。
使用XenCenter连接后.发现SR及VPS全部不能正常显示.
先在SSH端检查下数据是否还在.
先列出卷
pvscan
PV /dev/sda3   VG VG_XenStorage-c9aa6b53-8d71-6fc0-8148-2b28cf9bf57b   lvm2 [1.81 TB / 1.26 TB free]
Total: 1 [1.81 TB] / in use: 1 [1.81 TB] / in no VG: 0 [0   ]
使用了600G,看来原来的数据还在。
记录下uuid“c9aa6b53-8d71-6fc0-8148-2b28cf9bf57b”
创建出这个UUID的存储
xe sr-introduce uuid=c9aa6b53-8d71-6fc0-8148-2b28cf9bf57b type=lvm name-label=”Local storage” content-type=user
找到SR的数据存储设备或分区的SCSI ID
ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 Nov 22 14:31 scsi-SAdaptec_bootos_A46A2A2C -> ../../sda
lrwxrwxrwx 1 root root 10 Nov 22 14:31 scsi-SAdaptec_bootos_A46A2A2C-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Nov 22 14:31 scsi-SAdaptec_bootos_A46A2A2C-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Nov 22 14:31 scsi-SAdaptec_bootos_A46A2A2C-part3 -> ../../sda3

列出服务器UUID
xe host-list
uuid ( RO)                : dbe8e2d9-817d-429a-be77-235a7e58d234
name-label ( RW): xenserver-mdqhgghe
name-description ( RW): Default install of XenServer

通过设置的scsi ID,host ID,sr uuid检测出pdb uuid
xe pbd-create sr-uuid=c9aa6b53-8d71-6fc0-8148-2b28cf9bf57b device-config:device=/dev/disk/by-id/scsi-SAdaptec_bootos_A46A2A2C-part3 host-uuid=dbe8e2d9-817d-429a-be77-235a7e58d234
得到pbd uuid:
0d65a15e-75a0-dc81-8bb5-79df3e6d96db

把这个存储还原
xe pbd-plug uuid=0d65a15e-75a0-dc81-8bb5-79df3e6d96db

在这儿我们还创建一个ISO的光驱,呆会儿来安装系统使用
mkdir -p /iso_storage
xe sr-create name-label=iso_storage type=iso device-config:location=/iso_storage device-config:legacy_mode=true content-type=iso

这儿我们可以重启一下XAPI   
service xapi restart
或者重启一下xen的工具接口
xe-toolstack-restart

3.还原VPS
现在,我们能通过XENcenter查看到存储器了.在stoarge中,能看到你之前的所有VPS的硬盘VHD,如果运气不好你可能看到的是没有任何的识别编号,如下图:

这里有3种办法:
1,自己创建一个VPS,一个个硬盘挂载回去,找回数据。此办法需要的时间很长,如果VPS数量多的话,需要几天的时间。而且如果你是做VPS的,还要和客户联系,找回对应的数据。
2,这个办法需要前提有备份state.db(记录VPS硬盘UUID等文档),通过这个来快速找回硬盘。
3,还有个恢复办法,利用xensystem系统中记录的每台VPS的硬盘UUID。通过这个恢复,时间很短,我试过我有17台VPS,用了15分钟全部恢复完毕!
方法1我就不讲了,不是本文的重点.
方法2是,如果你有备份state.db这个文件,通过这个文档找出每台VPS的硬盘UUID。虽然非常耗时间,但起码也能快速找回。

例如,我现在要找出vps2747的2个硬盘UUID,原来的硬盘名称叫:Disk2474s;Disk2474c。
用文本(任何软件)打开state.db文档,搜索“Disk2474s”,找到“vdi-uuid”,后面有一串数字+字母的“c077b15c-091c-4eb3-b8e3-44d7e0da2e3f”。这个就是我们需要的UUID,用命令:
 xe vdi-param-set uuid=c077b15c-091c-4eb3-b8e3-44d7e0da2e3f name-label=Disk2474s

找到“Disk2474s”硬盘,按照上面的步骤,找到“Disk2474c”的硬盘UUID,给这个硬盘重置名称:
 xe vdi-param-set uuid=f119187c-6ab2-4017-a3f1-e87f6b8b322e name-label=Disk2474c
这样,我们就能在XenCenter看到有个硬盘的名称已经显示了
重复上面的步骤,完成虚拟硬盘标识的标注工作。
如果上面2种方法你都没有。。。那你就只能手工一个个给硬盘加标识,然后按方法一慢慢的来折腾了。

接下来的工作就是恢复VPS访问了。这儿我们分为2003系统和Linux分别来做。稍后你就知道为什么了
2003系统的话,比较简单,通过xencenter创建一个新的VM,选择系统版本,然后删除默认磁盘,直接将我们对应的系统硬盘加载进来即可
这儿给大家截图一个

先删除方框内默认的磁盘,然后点击椭圆形内的添加按钮,添加我们03系统以前的磁盘,注意顺序哟。
然后开机即可!

linux系统的话,会比较麻烦。我开始按照上面03系统的方法操作,遇到了这样的问题。
启动创建的VPS
xe vm-start uuid=79ffe4cb-06ee-211c-4a36-e3d89cf46dc7 
却无法开机,提示我
 Error code: INVALID_SOURCE Error parameters: cdrom repo /dev/xvda,
谷歌、百度、搜搜、搜狗、bing、360SO之后,发现有老外说应该是在创建linux的时候 选择Other install media. 但是我这样操作后,能开机,但也不能正常启动  提示完centos 的 booting CentOS 就自动关机了.
纠结了很久,网上搜索、咨询朋友、群内问高手都无结果。

然后我尝试了安装一个同样的linux系统,删除磁盘,挂上以前的硬盘,也不能正常启动。
于是呼  我放弃了。。。。

但是这并没有完,我去做xensystem系统的模板去了,其实此时我懒得想这个linux如何恢复了,因为我用了一下午的时间,没搞定。
制作完几个系统模板,我通过xensystem后台安装了一个linux系统,然后我替换掉了它的磁盘,咧咧咧。。。。奇迹出现了。。。 它既然好了。。。 可以启动了
总 结的时候 整理了一下思路,如果我们的linux系统,最初如果就是直接用xencenter或者直接命令创建的话,可能就不会提 示 Error code: INVALID_SOURCE Error parameters: cdrom repo /dev/xvda, 这样的 错误了,因为我们的系统最初也是用xensystem这个面板创建的,所以解铃还需系铃人呀。

既然知道问题怎么解决,余下的工作就好办了。 
我在后台开了一堆linux系统的VPS,然后替换它们的硬盘为我们之前的磁盘,再然后 调整用户的财务参数,IP显示等内容。到此就全部完工了.

另外 请朋友们不要向我索取xensystem2.0系统的破解,此程序我只做为自己研究折腾了一翻,并不准备对外提供。如果喜欢这个软件,请支持软件原创。

--------------------------------------------------------------------------------

原文转自:http://www.lvtao.net/html/21.html

感谢原作者,通过该文章指点,成功恢复启动盘损坏的XenServer 5.6一台

时间: 2024-08-08 05:35:13

【转】XenServer错误恢复:断电网卡丢失.虚拟机(VPS)不见的相关文章

Xenserver 网卡丢失处理

在环境中因为停电导致xenserver出现故障,问题如下: [[email protected] ~]# xe pool-list The server failed to handle your request,due to an internal error.  The given m essage may give details useful fordebugging the problem. message: INTERNAL_ERROR: [ Connectionfailed: co

Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法

虚拟化大势所趋 公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyper-V做集群跑Hyper-V虚拟机.这是个好东西,节约资源,集中管理,省电,部署超快,关键是可以实时迁移. 我们使用Dell MD3000i盘柜做集群的共享磁盘,它是基于iSCSI的千兆以太网网络存储,一坨Dell PowerEdge R610服务器做了一个Windows Cluster,交换设备是juniper EX22000-48t-4G全千兆交换机,并开启

XenServer管理网络做网卡Bond最佳实践

在 XenServer 安装期间,系统会为每个物理网络接口卡 (NIC) 创建一个网络.向资源池添加服务器 时,这些默认网络会进行合并,以便设备名称相同的所有物理 NIC 均连接到同一网络. 通常情况下,如果您想要创建内部网络,使用现有 NIC 设置新 VLAN,或创建 NIC 绑定,只需添加一个新网络即可. 在 XenServer 中您可以配置四种不同类型的网络: 外部网络,与物理网络接口相关联,可在虚拟机与连接到网络的物理网络接口之间提供桥接,从而使虚拟机能够通过服务器的物理网络接口卡连接到

webrtc如何进行错误恢复

视频的压缩方法:(三种帧) 为了视频尽可能的保持高效,视频数据通过不同的编码进行压缩.以帧为单位进行压缩,按照压缩中的不同作用可分类为:内帧(Intra-frames,I帧),预测帧(Predictive-frames,P帧),和双向预测帧(Bipredictive-frames,B帧).B帧利用过去的和将来的包进行编码,在实时交互的视频中不会使用. 一个I帧包含一个完整的图片(经过空间压缩),像传统的静态图片文件.因此,I帧是独立的帧,解码时不依赖其他的帧. P帧则是依赖性的帧,仅包含与之前一

恢复希捷硬盘丢失数据的方法

希捷硬盘数据恢复软件在今天的软件市场中,有许多硬盘恢复工具,但是它们的质量差异很大.一旦您选择了劣质的希捷硬盘恢复软件,您不仅会以失败告终,还会对硬盘造成二次伤害.鉴于此,我们想向您介绍迷你兔数据恢复软件(minitool).对于希捷磁盘恢复来说,迷你兔数据恢复软件是一个专业而安全的选择.但值得注意的是,使用迷你兔数据恢复软件从希捷硬盘恢复数据仅在数据由于逻辑错误(软故障)而丢失时才有用.相反,如果您的希捷硬盘在物理上受损,您最好选择迷你兔人工恢复.考虑到大多数用户是Windows用户,我们将以

SSIS错误恢复利器:CheckPoint

?? 大家对使用SSIS做数据接口应该不陌生了吧,没听过的同学得努力补补了.就开发体验和效率来看,SSIS是款非常酷的软件,学会它的基本使用方法还是很有必要的.既然是数据接口就免不了要考虑灾难恢复这样的事情了.还好SSIS为我们提供了OOB的Feature-- CheckPoint,关键时候还是可以抱抱它大腿的. CheckPoint,SSIS的Failover组件.通过配置SSIS Package的CheckPoint,我们可以非常轻松的保证:不重复执行Control Flow,只在最后出错点

virturalbox 安装centos系统,设置双网卡实现虚拟机上网及主宿互访

一:安装centos系统到virtualbox中,注意事项:安装过程中设置了网络连接信息,将ipv4设置为手动,地址为192.168.56.101,网关为192.168.56.0(以为是host-only 模式) 二:启动centos a.查看 /etc/sysconfig/network-scripts/ifcfg-enp0s* b.检查是否连上网:ping www.baidu.com c.安装常用命令:yum -y install net-tools,yum -y install vim,y

手机通讯录联系人恢复,通讯录丢失怎么办

手机通讯录联系人恢复,通讯录丢失怎么办?手机上有许多的数据都比较的重要,短信.联系人.便签文件.照片等等,这些的数据日常使用的到,所以出现误删或是丢失的几率也比较大,那么通讯录数据丢失的话该怎么恢复呢? 手机的数据出现丢失的情况,那就先停止对手机进行任何的数据操作了,免得出现数据覆盖情况影响后期的恢复工作.那至于具体的恢复教程小编就来和各位分享一下. 教程一:用手机数据恢复精灵 步骤一:打开手机的应用商店或是浏览器来找到"手机数据恢复精灵",将其下载安装到手机上. 步骤二:之后运行软件

3. XenServer 6.5 -创建网卡绑定(bond)

在XenServer中,为了提供网络层面的冗余或者负载均衡功能,为了防止单个网卡的网线或者网卡问题,导致的网络不可用,所以推荐所有的网卡都做绑定(bond)后再使用: 测试Citrix建议在物理机中进行,下面及之后的一切配置都将在物理中进行: 1.打开XenCenter,连接XenServer服务器,点击右侧的网络连接,在下面会列出显示这台服务器的网卡以及管理口的IP地址: 2.点击创"建网卡绑定" 当 vSwitch 是网络堆栈时,您可以绑定两个.三个或四个 NIC,而当 Linux