CentOS实体机救援和虚拟化

服务器磁盘坏救援

场景

生产环境上有一台服务商提供的mini pc做服务器,安装了CentOS 7,提供中转服务,该PC使用单个64G msata的固态硬盘做系统盘和数据盘,最近发现硬盘有坏道,导致服务有问题,不想花钱修只能自己想办法搞定。目前有两种方法补救,趁磁盘还没完全挂,把数据和服务安装包备份新建一台虚拟机重新部署,没有部署文档,这个方法比较耗时;另外一种方法是先硬盘对拷,把系统备份一份,再虚拟化导入到KVM或者现有的nutanix超融合,从根本解决单点服务器故障,不再被卡脖子。

系统备份救援

系统对拷备份有很多软件可以实现,鼎鼎大名的GHOST硬盘对拷,DG或者ATI软件都可以实现。

本次使用DG软件的硬盘对拷功能,操作比较简单,从WINPE(用的是优启通的WINPE)启动DG,从界面直接操作就行,对拷完毕后,拔掉原硬盘,从新硬盘启动,发现启动不了,左上角只有一白点在闪,网上查阅资料是丢失了CentOS的启动菜单。在这步卡住了很久,最后找到一篇文章修复启动菜单。

修复启引导菜单

一、恢复centos的引导

1、用centos iso 制作启动u盘,或者使用刻录光盘启动盘进入到安装centos的界面,开机选择的时候不要选择安装centos,而是选择troubleshooting疑难解答选项,然后选择rescue a centos system。

按tab键选择continue (一定要选),然后选择ok.

2、进入命令行界面,输入:
chroot /mnt/sysimage

接着就是重要的一步,安装grub2了。执行以下命令:
/sbin/grub2-install /dev/sda

安装成功后执行reboot重新启动系统。这只是又把centos的启动项找回来了,windows的引导要在之后通过grub2来完成。

二、恢复windows的引导

1、之后的恢复就很简单了,重新启动系统之后centos系统就能打开了,可以通过grub2的功能实现windows的引导。

2、打开终端,在root用户下执行下面的命令:
grub2-mkconfig -o /boot/grub2/grub.conf

系统自动找到了windows 8 系统与xp系统的引导项,并加入到了grub.conf菜单中。这样就避免了手功改动文件的危险,并且所有系统都能正常启动。

参考网站:https://www.jb51.net/os/redhat/278733.html?ivk_sa=1024320u

修复成功后,终于可以正常进入系统,测试服务一切正常,好在服务商并没有做硬件授权绑定,不然只能给钱搞。

CentOS物理机虚拟化

系统正常启动后,下一步就是把系统虚拟化。

首先,下载qemu-img工具:

yum install -y qemu-img

使用df -h查看磁盘信息

转换物理磁盘到vmdk镜像:

qemu-img convert -O vmdk /dev/sda /VMDISK/vm102.vmdk -p

其中可以带-c参数,带压缩,但不建议使用,加上这个参数很可能会转换失败,-O 后面是虚拟磁盘格式,/dev/sda是物理磁盘,vm102.vmdk是虚拟磁盘,-p是让qemu-img显示进度。

导入虚拟磁盘到Proxmox(KVM)和Nutanix(AHV)

导入到PVE

转换成功后,可以通过scp命令传输到PVE主机:

scp /VMDISK/vm102.vmdk 192.168.1.40:/VMDISK

输入账号密码后就开始传输。另外本地Windows主机可以通过WINSCP工具连接CentOS物理机,把镜像拷贝到本机,再上传到PVE主机。

传输完毕后,PVE新建虚拟机,这里虚拟机ID为102,建立虚拟机后执行:

qm importdisk 102 vm102.vmdk local -format qcow2

等待导入成功后,到PVE控制面板虚拟机硬件界面,就可以看到一个未使用的磁盘,把它挂载到虚拟机开机即可。

导入到Nutanix(AHV)

使用WINSCP拷贝一份镜像到本机,通过nutanix的prism镜像页面上传镜像即可。

上传完毕后,同样新建一个虚拟机,此时磁盘选择上传的镜像链接即可,比较简单。

分享到