我最近将RAID 5存储虚拟驱动器从6TB扩展到了9TB。 戴尔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
所以现在看到它是9TB。 但sda1分区不。 我如何扩大这个反映大小的变化….不丢失任何数据!
谢谢
正如@duskwuff已经提到的,这是一个GPT分区表,所以fdisk只显示保护性的MBR内容。 改用gdisk -l /dev/sda 。 您可能有多个分区,在这种情况下,您只能调整最后一个分区的大小。
解决方法(不推荐)可能是软件RAID0(在Linux中称为mdraid ),跨越您要扩展的分区,并在新空间中创build,作为操作系统的一个大空间可见。 为避免数据丢失,您必须使用不带元数据的mdraid变体( mdadm --build ... ,不是mdadm --create ... ),请检查man mdadm 。 然而,这会降低性能,如果应用到根文件系统分区会带来另一个困难,并且有可能在任何错误的情况下擦除数据。
可能还有另外一个非破坏性的解决scheme – 如果磁盘上只有一个分区,并且find了文件系统的偏移量,那么可以删除分区并挂载整个磁盘分区,在mount上提供offset =值。 不知道它是否适用于块设备(仅用于循环和图像文件)。 如果它仍然在分区的情况下工作,那么它将在没有它们的情况下工作,因此您可以在触摸分区布局之前尝试安装和偏移量。 缺点是这样的布局可能会混淆数据恢复软件,如果你有一天需要它。
为了避免这种问题,我总是尝试使用不同的卷组来启动/ rootfs – 分区磁盘和数据 – 无分区磁盘(在线扩展它只是一小块,只是调整文件系统的大小 – resize2fs /dev/sda ,假设它是一个EXT {2..4})。 这是未来的解决scheme。
如果您不使用LVM,那么没有简单的方法。
如果你非常小心,这里有一个程序,你可以安全地遵循。 最好的方法是小心,以前备份您的数据,显然。
幸运的是,你的分区从第一部分开始,所以你不必担心这个。 你的问题到头了,这不是你的(新)最后一个部门。 所以你需要更新它。 所以你需要摧毁你的分区,并创build一个新的(没有格式化!)。
fdisk -u /dev/sda
然后,在fdisk工具中:
d删除分区1 n创build一个新的分区:
1使它成为第一个分区 1使它在扇区1开始(因为它是) Optionnal(使您的分区可启动):
a to toogle the flag,and 1 to specify the partition 现在您必须编写您的更改:
w 您现在可以退出fdisk,然后重新启动服务器。 完成后,在文件系统级别扩展分区( resize2fs /dev/sda1 )