2 调整文件系统的大小 #
调整文件系统大小(不要与调整分区或卷大小混淆)可用于将物理卷上的空间变为可用状态,或使用物理卷上可用的其他空间。
2.1 使用案例 #
强烈建议您使用 YaST 分区程序来调整分区或逻辑卷的大小。这样一来,文件系统将自动调整为分区或卷的新大小。不过,在某些情况下,您需要手动调整文件系统的大小,因为 YaST 不支持它们:
- 调整虚拟机 Guest 的虚拟磁盘大小之后。 
- 调整网络附加存储中的卷大小之后。 
- 手动调整分区(例如通过使用 - fdisk或- parted)或逻辑卷(例如通过使用- lvresize)的大小之后。
- 要缩小 Btrfs 文件系统的大小时(从 SUSE Linux Enterprise Server 12 开始,YaST 仅支持增大 Btrfs 文件系统)。 
2.2 调整大小指导原则 #
调整任何文件系统的大小都存在一定的风险,可能会造成数据遗失。
为了避免数据丢失,请确保在开始任何调整大小任务之前备份您的数据。
计划调整文件系统大小时,请考虑以下指导原则。
2.2.1 支持调整大小的文件系统 #
文件系统必须支持调整大小才能利用卷可用空间增加功能。SUSE Linux Enterprise Server 中提供了可用于文件系统 Ext2、Ext3 和 Ext4 的文件系统调整大小实用程序。这些实用程序支持如下增加和减小大小:
| 文件系统 | 实用程序 | 增加大小(增大) | 减小大小(收缩) | 
|---|---|---|---|
| Btrfs | 
 | 联机 | 联机 | 
| XFS | 
 | 联机 | 不支持 | 
| Ext2 | 
 | 联机或脱机 | 仅限脱机 | 
| Ext3 | 
 | 联机或脱机 | 仅限脱机 | 
| Ext4 | 
 | 联机或脱机 | 仅限脱机 | 
2.2.2 增加文件系统的大小 #
您可以将文件系统增大到设备上的最大可用空间,或指定一个准确大小。请确保在尝试增加文件系统的大小之前先增加设备或逻辑卷的大小。
为文件系统指定精确大小时,请确保新大小满足以下条件:
- 新大小必须大于现有数据的大小;否则会发生数据丢失。 
- 新大小必须等于或小于当前设备大小,因为文件系统大小不能超出可用空间。 
2.2.3 减小文件系统的大小 #
当减小设备上的文件系统的大小时,请确保新的大小满足以下条件:
- 新大小必须大于现有数据的大小;否则会发生数据丢失。 
- 新大小必须等于或小于当前设备大小,因为文件系统大小不能超出可用空间。 
如果还计划减小用于保存文件系统的逻辑卷的大小,请确保在尝试减小设备或逻辑卷的大小之前先减小文件系统的大小。
XFS 格式文件系统的大小无法减少,因为 XFS 不支持此功能。
2.3 更改 Btrfs 文件系统的大小 #
   挂载 Btrfs 文件系统后,您可以使用 btrfs
   filesystem resize 命令来更改该文件系统的大小。装入了文件系统时,增加和缩小大小均受支持。
  
- 打开终端。 
- 确定您要更改的文件系统已挂载。 
- 使用 - btrfs filesystem resize命令通过下列其中一种方法更改文件系统的大小:- 要将文件系统大小扩展为设备的最大可用大小,请输入 - >- sudobtrfs filesystem resize max /mnt
- 要将文件系统扩展为指定大小,请输入 - >- sudobtrfs filesystem resize SIZE /mnt- 将 SIZE 替换为所需大小(以字节为单位)。您还可以为值指定单位,例如 50000K (KB)、250M (MB) 或 2G (GB)。您也可以在值前面加上加号 ( - +) 或减号 (- -),分别指定将当前大小增加或减少该指定值:- >- sudobtrfs filesystem resize +SIZE /mnt sudo btrfs filesystem resize -SIZE /mnt
 
- 通过输入以下命令,检查已挂载文件系统的调整大小的结果 - >df -h- Disk Free ( - df) 命令可显示磁盘的总大小、使用的块数以及文件系统上可用的块数。-h 选项会以可辨识的格式列印大小,如 1K、234M 或 2G。
2.4 更改 XFS 文件系统的大小 #
   挂载 XFS 文件系统后,您可以使用 xfs_growfs 命令来增加该文件系统的大小。XFS 文件系统的大小无法减少。
  
- 打开终端。 
- 确定您要更改的文件系统已挂载。 
- 使用 - xfs_growfs命令增加文件系统的大小。下面的示例会将文件系统的大小扩充为最大可用值。有关更多选项,请参见- man 8 xfs_growfs。- >- sudoxfs_growfs -d /mnt
- 通过输入以下命令,检查已挂载文件系统的调整大小的结果 - >df -h- Disk Free ( - df) 命令可显示磁盘的总大小、使用的块数以及文件系统上可用的块数。-h 选项会以可辨识的格式列印大小,如 1K、234M 或 2G。
2.5 更改 ext2、ext3 或 ext4 文件系统的大小 #
   无论是否挂载了相应分区,都可以使用 resize2fs 命令增加 Ext2、Ext3 和 Ext4 文件系统的大小。若要减少 Ext 文件系统的大小,需要将其卸载。
  
- 打开终端。 
- 如果应减少文件系统的大小,请将它卸载。 
- 使用下列方法之一更改文件系统的大小: - 要将文件系统大小扩展为 - /dev/sda1设备的最大可用大小,请输入- >- sudoresize2fs /dev/sda1- 如果未指定大小参数,大小将默认为该分区的大小。 
- 若要将文件系统更改为特定大小,请输入 - >- sudoresize2fs /dev/sda1 SIZE- SIZE 参数指定为文件系统请求的新大小。如果不指定任何单位,则大小参数的单位是文件系统的块大小。也可以选择在大小参数后面加上下列其中一种单位指示项: - s表示 512 字节扇区;- K表示 KB(1 KB 为 1024 字节);- M表示 MB;- G表示 GB。
 - 等到调整大小完成再继续。 
- 如果未挂载该文件系统,则现在挂载它。 
- 通过输入以下命令,检查已挂载文件系统的调整大小的结果 - >df -h- Disk Free ( - df) 命令可显示磁盘的总大小、使用的块数以及文件系统上可用的块数。-h 选项会以可辨识的格式列印大小,如 1K、234M 或 2G。