记录一次服务器硬盘扩容
前一段时间组里的一些机器硬盘满了,需要进行扩容。这些机器的盘一共是 4 个 1.8T 的固态,接在一张 LSI9361-8i RAID 卡上,组成一个 RAID5 使用。机器上可用的盘位还有 4 个,我们决定给这个阵列扩充两个同样大小的盘。
整个扩容分成三个步骤。首先是去机房把新的硬盘插入机器,确认系统可以看到盘之后就可以走人了。
阵列的扩容
接下来是对阵列的扩容,它可以使用 MegaCli 来完成1。这一步对用户是透明的,不会影响正在使用对应设备的程序。首先需要通过 MegaCli64 -LDInfo -Lall -aALL
查看待扩容阵列的 ID 和 RAID 卡 ID,这两个 ID 分别对应前面的参数 -L
和 -a
。例如我们的机器只有一个阵列和一张 RAID 卡,得到的是如下输出,对应的就是 -L0 -a0
:
接下来通过 MegaCli64 -PDList -aALL
确认新插入硬盘的 Enclosure Device ID 和 Slot Number,如果我们两个盘的对应的值分别是 252, 5 以及 252, 6 那么可以通过如下命令扩容(注意同时增加多个硬盘需要一条命令写全,否则相当于两次重建):
扩容过程中可以通过 MegaCli64 -LDRecon -ShowProg -L0 -a0
来查看扩容进度。
文件系统扩容
如果原先的阵列对应的 /dev/sda
,那么接下来确认没有程序占用它后,需要使用 echo 1 > /sys/class/block/sda/device/rescan
来让系统认出扩容后阵列的正确大小。然后修改分区表,并且用相关命令扩容文件系统1。例如 ext4 则可以直接 resize2fs
,然后应该还需要用 tune2fs
修改一下 strip-width
。
参考资料
以下是旧版博客的评论