如何让新扩展的 RAID 在 Debian 中显示正确的大小

Mat*_*ner 6 debian raid5 dell-perc

我最近将我的 RAID 5 存储虚拟驱动器从 6TB 扩展到 9TB。Dell OMSA 和 RAID 控制器的 bios 都显示我的内存为 8382GB。这很好。

但是当进入 Debian 并四处浏览时,它仍然只能看到 6TB。

当我做一个 fdisk -l 我得到这个:

Disk /dev/sda: 9000.1 GB, 9000103968768 bytes
255 heads, 63 sectors/track, 1094200 cylinders, total 17578328064 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT
Run Code Online (Sandbox Code Playgroud)

所以它现在看到它是 9TB。但是 sda1 分区没有。我如何扩展它以反映大小的变化......而不会丢失任何数据!

谢谢

sam*_*usz 1

正如 @duskwuff 已经提到的,这是一个GPT分区表,因此fdisk仅显示保护性 MBR 内容。gdisk -l /dev/sda代替使用。您可能有多个分区,在这种情况下,您只能调整最后一个分区的大小。

解决方法(不推荐)可能是软件 RAID0(mdraid在 Linux 中称为),跨越您要扩展的分区,并在新空间中创建一个,对操作系统来说是一个大空间。为了避免数据丢失,您必须使用不带元数据的 mdraid 变体(mdadm --build ...,不是mdadm --create ...),请选中man mdadm。然而,这会降低性能,如果应用于根文件系统分区,则会带来另一个困难,并且有可能在任何错误时擦除您的数据。

可能还有另一种非破坏性的解决方案 - 如果磁盘上有一个分区并且找到文件系统的偏移量,则可以删除该分区并无分区地安装整个磁盘,并在安装时提供 offset= value 。不确定它是否适用于正确的块设备(仅与循环和图像文件一起使用)。如果它在分区仍然存在的情况下工作,那么在没有分区的情况下它也可以工作,因此您可以在接触分区布局之前尝试安装和偏移。缺点是,如果有一天您需要数据恢复软件,这种布局可能会让数据恢复软件感到困惑。

为了避免此类问题,我总是尝试对 boot/rootfs - 分区磁盘和数据 - 无分区磁盘使用不同的卷组(在线扩展它是小菜一碟,只需调整文件系统的大小 - 假设它resize2fs /dev/sda是 EXT {2..4})。这是未来的解决方案。