![通过命令行调整 RAID 0 阵列上的分区大小](https://linux22.com/image/1106364/%E9%80%9A%E8%BF%87%E5%91%BD%E4%BB%A4%E8%A1%8C%E8%B0%83%E6%95%B4%20RAID%200%20%E9%98%B5%E5%88%97%E4%B8%8A%E7%9A%84%E5%88%86%E5%8C%BA%E5%A4%A7%E5%B0%8F.png)
简单地说,当我设置服务器时,它并不打算用于现在这个用途,并且根目录(/)的磁盘空间已经用完,而/home 上有大量的东西在浮动。
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 10157944 9600344 45656 100% /
/dev/root 10157944 9600344 45656 100% /
/dev 8183468 8 8183460 1% /dev
none 1636756 252 1636504 1% /run
none 5120 0 5120 0% /run/lock
none 8183772 0 8183772 0% /run/shm
/dev/md3 211225328 17996836 182583336 9% /home
学到教训了!(下次给更多空间……)
这是 parted 的输出,显示了磁盘及其当前大小以及 RAID 阵列。
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2097kB 10.5GB 10.5GB primary ext4 boot, raid
2 10.5GB 11.0GB 535MB primary linux-swap(v1)
3 11.0GB 120GB 109GB primary raid
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sdb: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2097kB 10.5GB 10.5GB primary ext4 raid
2 10.5GB 11.0GB 535MB primary linux-swap(v1)
3 11.0GB 120GB 109GB primary raid
Model: Linux Software RAID Array (md)
Disk /dev/md3: 218GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 218GB 218GB ext4
Model: Linux Software RAID Array (md)
Disk /dev/md1: 10.5GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 10.5GB 10.5GB ext4
我需要做的是将 /home 分区缩小 40GB,并将 / 分区增加 40GB。当我使用调整大小命令时,Parted 告诉我:
"WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release."
查找 e2fsprogs 告诉我它们是 ext2 工具,考虑到磁盘是 EXT4,这让我害怕极了。
有没有安全的方法来调整分区大小?我正在通过 SSH 在距离服务器 600 英里的地方进行这项工作,没有直接访问权限。
提前致谢
答案1
ext2、ext3 和 ext4 是同一文件系统的演化版本;事实上,未激活任何新功能的 ext4 文件系统是 ext3 文件系统,而未激活任何新功能的 ext3 文件系统是 ext2 文件系统。这就是为什么没有为 ext3 和 ext4 单独设置程序的原因:它们是同一套工具,即 e2fsprogs,它已逐渐得到增强,以应对 ext3 和 ext4。
限制resize2fs
(“ext2/ext3/ext4 文件系统调整器”)的一个缺点是它只能在文件系统卸载时缩小文件系统。因此,如果您想缩小文件系统/home
,则需要先卸载它。您可以扩大已安装的文件系统,这对 来说不是问题/
。
更大的问题将是调整 RAID-0 阵列的大小。管理 RAID 阵列的一个工具是mdadm
据我所知,无法调整 RAID-0 阵列的大小。
据我所知,除非您愿意在维护期间复制所有数据/home
,否则您将只能使用这种配置。(您可以只复制数据并创建一个更大的根分区来侵占其空间。)您可以使用磁盘开头的未分区空间来存储的当前内容。这并不难,但容易出错。如果没有物理访问权限,我不会尝试这样做(当您移动根分区时,特别容易搞砸引导加载程序)。您对这些工具的不熟悉使您更有可能犯一个小错误,而这个错误很容易修复,只需插入启动 CD 即可。/
/home
/home
我的建议是移动大部分内容/
并/home
创建一个符号链接,直到有人可以亲自访问该服务器。
未来,我建议不要使用 md-RAID 的 RAID-0,而是使用 LVM 条带化。LVM 卷可以调整大小,甚至是条带化卷。LVM 是稍微慢一点这里,但更容易管理(正如您现在遇到的问题所示)。使用 RAID 进行镜像(RAID-1)和其他 RAID 模式。
此外,如果您决定坚持使用 RAID-0 来获得 5% 的性能提升,那么如果您有一个 RAID-0 阵列,那么一切就会变得更容易。