事情的原因说明

 

      2020年的8月5日,由于同事手贱,有不懂RAID5,没事请把磁盘给拔出来了,但是多台服务的磁盘搞乱了,悲剧发生,服务器无法启动了,一台是公司的gitlab, 一台是公司的数据库,都是要命的;两台都做了RAID5都是300G的7200转硬盘;

     我一个晚上就睡不着了,该如何恢复呢?

     我知道RAID5可能有硬盘顺序的问题(老版本),幸好我的设备DELL的7100R,没有RAID5的硬盘顺序问题,RAID5的相关信息都是写在磁盘上的,插入后应该可以自动回复的(rebuild)的;

    问题的关键如何区分开这些硬盘;一共设计到5个硬盘,其中4个硬盘位一个服务器(gitlab),其中一个硬盘为数据库那个服务器的RAID5硬盘(这个机器也有4个硬盘,被拔了一个); 那么只要把这个硬盘区分开就好了;

如何区分开不同服务器的硬盘?

  1. 插入一个硬盘到gitlab服务器,并启动,在引导时按【cltr+r】,进入到raid配置页面;
  2. 在Foreign 管理中可以看到这个物理硬盘,但是在虚拟组中没有;
  3. 依次插入第二硬盘,按F5刷新,如果该硬盘进入到  Foreign Physics 的 group 不同组中,可以确定这个硬盘原来应该在不同的服务器中;
  4. 我非常的幸运:有4个硬盘在  group0 中, 其中一个在  group1 中,硬盘状态:rebuild  (其实就是系统自动开始重建RAID5)
  5. 到次:已经区分开硬盘了,果断把group1的中的硬盘拔去。其它4个让它们rebuild ,大约rebuild一个晚上的时间;
  6. 第二天,我们尝试导入这个raids5配置(还是在 【cltr+r】),然后重新启动服务器,真是开心服务器可以启动了,看到久违的EXSI 5.6系统了;

       开心啊, 但是新的问题来了;

 

EXSI 5.6的虚拟机不见了?

   Web版进去后在显示虚拟机里列表的状态为不可用,cpu未知等信息;

   如何处理? 先在web管理界面有个删除【不注册】,有点忘了,就是去掉这个有问题的虚拟机;

   找问题的关键? 数据存储不见了;

   处理方式如下:

1、ssh方式连接到服务器

    2、cd   vmfs/dev/disks  可以看到很多奇怪的文件,文件名很长,这些其实是vmfs相关的分区文件,非常幸运还在;

    3、开始重新挂载vmfs

[root@localhost:/dev/disks] esxcli storage vmfs snapshot list

5ab89af3-12a83c9e-289c-782bcb17bc0f

Volume Name: datastore1

VMFS UUID: 5ab89af3-12a83c9e-289c-782bcb17bc0f

Can mount: true

Reason for un-mountability:

Can resignature: true

Reason for non-resignaturability:

Unresolved Extent Count: 1

[root@localhost:/dev/disks] esxcfg-volume -M datastore1

Persistently mounting volume datastore1

[root@localhost:/dev/disks] cd /

[root@localhost:~] ls

altbootbank bootpart.gz lib locker proc scratch tardisks.noauto var vmupgrade

bin dev lib64 mbr productLocker store tmp vmfs

bootbank etc local.tgz opt sbin tardisks usr vmimages

[root@localhost:~] cd vmfs

[root@localhost:/vmfs] ls

devices volumes

[root@localhost:/vmfs] cd volumes/

[root@localhost:/vmfs/volumes] ls

23e35f7c-581f86d0-c6fc-010fb540c147 5ab89af3-12a83c9e-289c-782bcb17bc0f 811b7e70-a540ee13-16bd-fbbd6fe9b08c

5ab89ae7-3b0aecca-f458-782bcb17bc0f 5ab89af8-d16f70cc-1d7e-782bcb17bc0f datastore1

[root@localhost:/vmfs/volumes] cd datastore1/

太开心了

写在最后

  1.  遇事要冷静,要考虑到后果;别瞎搞,瞎搞前做个备份;
  2. 出错了要避免事故的扩大化:立即停止可能引起事故扩大的操作;
  3.  解决问题:找到问题的关键, 找关键,找关键;