【个人笔记】如何将 Linux 文件系统扩容
虽然很多人都习惯了在Windows上对磁盘扩容,但是Linux主要通过界面来实现扩容。这里我就个人收藏了些😁
注意:由于本人吴脑的键客
是个散修,不专业之处勿喷,请关注并私聊
EXT4/XFS
Ext4 是由 Theodore Ts’o 领导的团队开发的日志文件系统。 它是 Ext3 文件系统的继承者。 2008 年,Ext4 稳定版正式发布,并成为 Linux 官方推荐的默认文件系统。
XFS 是一种高性能日志文件系统,最早由 Silicon Graphics 公司于 1993 年为 IRIX 操作系统开发。 它是 IRIX 5.3 版的默认文件系统,后来被移植到 Linux 内核中。
操作
$ sudo fdisk -l # 查看Device明细
$ sudo lsblk # 查看挂载
使用 Growpart 命令扩展分区 要扩展分区,需要使用 "growpart “命令,后面跟设备和分区编号。 例如,如果要扩展设备”/dev/sda "上的第一个分区,可以运行该命令。
$ sudo growpart /dev/sda 1 # 这里是sda1,如果是固态硬盘 nvme0n1p2,则是 growpart /dev/nvme0n1 2
使用 Resizefs 命令调整文件系统大小 扩展分区后,需要调整文件系统大小以使用新调整的分区。 对于 EXT4 类型,使用 "resizefs "命令,并在后面加上设备和分区号。 例如
$ sudo resize2fs /dev/sda1 #参考fdisk
该命令将调整设备"/dev/sda "第一个分区上文件系统的大小。
对于 XFS 文件类型,使用 Xfs_growfs 命令调整文件系统的大小 扩展分区后,需要调整文件系统的大小以使用新调整的分区。 为此,请使用 "xfs_growfs "命令,然后输入文件系统的挂载点。 例如
$ sudo xfs_growfs /mnt/filesystem #参考lsblk
该命令将调整挂载在"/mnt/filesystem "上的 XFS 文件系统的大小,以使用新调整的分区。
btrfs
也通过 growpart 让磁盘分区可以扩展。
扩大 btrfs 文件系统
要放大单个设备上的文件系统,请使用命令:
$ sudo btrfs filesystem resize amount /mount-point # 参考xfs,即lsblk
例如
btrfs filesystem resize +200M /btrfssingle
# Resize '/btrfssingle' of '+200M'
要放大多设备文件系统,必须指定要放大的设备。 首先,显示在指定挂载点有 btrfs 文件系统的所有设备:
btrfs filesystem show /mount-point
例如
$ sudo btrfs filesystem show /btrfstest
Label: none uuid: 755b41b7-7a20-4a24-abb3-45fdbed1ab39
Total devices 4 FS bytes used 192.00KiB
devid 1 size 1.00GiB used 224.75MiB path /dev/vdc
devid 2 size 524.00MiB used 204.75MiB path /dev/vdd
devid 3 size 1.00GiB used 8.00MiB path /dev/vde
devid 4 size 1.00GiB used 8.00MiB path /dev/vdf
Btrfs v3.16.2
然后,在确定要放大的设备的 devid 后,使用以下命令:
btrfs filesystem resize devid:amount /mount-point
例如
btrfs filesystem resize 2:+200M /btrfstest
Resize '/btrfstest/' of '2:+200M'
数量也可以是最大值,而不是指定数量。 这将使用设备上所有剩余的可用空间。
注意:数量也可以是max
,而不是指定数量。 这将使用设备上所有剩余的可用空间。
缩减 btrfs 文件系统
btrfs filesystem resize amount /mount-point
btrfs filesystem resize -200M /btrfssingle
# Resize '/btrfssingle' of '-200M
其他操作同理扩展
设置文件系统大小
btrfs filesystem resize amount /mount-point
btrfs filesystem resize 700M /btrfssingle
# Resize '/btrfssingle' of '700M'
这样就直接设置了空间具体的大小,其他操作同理扩展