首先,本文并不是教程,只是记录一下我在黑群晖上爬行的经验。
然后,本文只针对在 ESXi 6.7u3 上,使用 RDM 硬盘直通的黑群晖虚拟机。
最后, 操作有风险!操作有风险!操作有风险! 重要的事情说三遍!
黑群晖嘛,既然是黑的,我也不好意思多说什么。对 SAS 支持不好,如果将硬盘通过虚拟 SATA 控制器直通到 DSM 又无法显示原始信息。
这怎么找出对应的物理硬盘嘛!让人抓狂。
然后,想起了 ESXi 里面能看到硬盘分区表,那么如果我在 DSM 里面把硬盘分区表抹掉,这样不就知道到底是对应哪块物理硬盘了么。
如果一个硬盘已经在 DSM 中初始化,那么分区表大概是这样的。
现在要把分区表清理掉。
首先,SSH 进入 DSM,先查看有哪些硬盘
ls /dev/sd?
然后,查看一下存储池都在使用哪些硬盘。
cat /proc/mdstat
其中 md0 和 md1 是系统分区阵列,md2 和 md3 是跟存储池相关的阵列。可以看出,在我这个例子当中,sda 和 sdb 并没有参与到阵列当中,也就是说这两块硬盘是可以安全弹出的。
操作之前先来看一下 /dev/sda 的分区表信息。
sudo fdisk -l /dev/sda
可以看到,这块硬盘上只有两个系统分区,并没有数据分区,也就是已经被初始化,但是没有加入到任何阵列当中。
接下来,清理掉这两块硬盘的分区表。再次声明,此操作有风险,操作不慎会导致数据丢失!
sudo dd if=/dev/zero of=/dev/<sd?> bs=512 count=1
然后,再来看一下清理之后的分区表信息。
分区表已经空啦!
回到 ESXi 找到那个被清空分区表的硬盘。
然后根据 naa 地址,点亮硬盘灯。
esxcli storage core device set -d <naa_id> -l=locator -L=60
到服务器上就能找到对应的物理硬盘啦!
提醒一下,使用 RDM 直通的硬盘,不支持热插拔。要更换硬盘必须先彻底关机,而且要在虚拟机设置里将对应的硬盘连带 vmdk 都删掉,然后重新通过 Add raw disk 将新硬盘添加到虚拟机中。