减小根卷组中文件系统的大小

所有文件系统减到其最小大小的最简单方法是:从备份中恢复基本操作系统时,将 SHRINK 选项设置为 yes

所有文件系统减到其最小大小的最简单方法是:从备份中恢复基本操作系统时,将 SHRINK 选项设置为 yesSHRINK 选项和下面的场景不能前后使用。 如果在执行以下过程后将 缩水 选项设置为 yes ,那么安装将覆盖您对 /image.data 文件所作的更改。

下面的场景将引导您完成减小所选 rootvg 文件系统的大小的手动过程。 您会找到一个并未使用所有分配到的磁盘空间的文件系统,然后根据该文件系统实际使用的空间数量重新分配,这样为根逻辑卷组的使用释放更多的空间。 作为此过程的一部分,需要备份卷组并使用修改过的分配重新安装操作系统。

注意: 此过程需要关闭并重新安装基本操作系统。 每当重新安装任何操作系统时,请安排好停机时间以做到对工作负载的影响最小,以免遭受可能的数据或功能损失。 在重新安装操作系统之前,确保您对数据和任何定制的应用程序或卷组有可靠的备份。

中的信息是使用特定版本的AIX 测试的。 您获得的结果可能会因版本和AIX 级别的不同而有很大差异。

  1. 创建 包含在 rootvg中的所有文件系统的单独备份。 此单独备份帮助确保所有文件系统的完整性。
  2. 利用 root 用户权限,输入以下命令检查根卷组中的哪些文件系统没有使用分配到的磁盘空间:
    df -k

    -k 标志以千字节显示文件系统大小。 结果类似于下面所示内容:

    Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on            
    /dev/hd4           196608      4976   98%     1944     2% /                     
    /dev/hd2          1769472    623988   65%    36984     9% /usr                  
    /dev/hd9var        163840     65116   61%      676     2% /var                  
    /dev/hd3            65536     63024    4%      115     1% /tmp                  
    /dev/hd1            49152      8536   83%      832     7% /home                 
    /proc                   -         -    -         -     -  /proc                 
    /dev/hd10opt        32768     26340   20%      293     4% /opt                  
    

    看到这些结果,您会发现安装在 /usr 的文件系统的大量可用块和较低百分比的使用率。 您确定可以通过减小分配给 /usr 文件系统的分区数目来释放大量块。

  3. 检查 /etc/filesystems 文件的内容以确保安装了 rootvg 中的所有文件系统。 如果没有,那么它们不会包含在重新安装的系统中。
  4. 创建 /image.data 文件,通过输入以下命令来列出 rootvg 中包含在安装过程中的所有活动文件系统:
    mkszfile
  5. 在收藏夹编辑器中打开 /image.data 文件。
  6. 搜索 usr 文本字符串以查找与 /usr 文件系统相关的 lv_data 节。
    使用该节中的数字作为基础,确定可以将 /usr 文件系统中的逻辑分区数目减少多少。 每个附加逻辑分区的缺省大小在 /image.data 文件的 PP_SIZE 条目中定义。 /image.data 文件可能与以下类似:
    lv_data:
    	VOLUME_GROUP= rootvg
    	LV_SOURCE_DISK_LIST= hdisk0 
    	LV_IDENTIFIER= 00042345d300bf15.5
    	LOGICAL_VOLUME= hd2
    	VG_STAT= active/complete
    	TYPE= jfs
    	MAX_LPS= 32512
    	COPIES= 1
    	LPs= 108
    	STALE_PPs= 0
    	INTER_POLICY= minimum
    	INTRA_POLICY= center
    	MOUNT_POINT= /usr
    	MIRROR_WRITE_CONSISTENCY= on/ACTIVE
    	LV_SEPARATE_PV= yes
    	PERMISSION= read/write
    	LV_STATE= opened/syncd
    	WRITE_VERIFY= off
    	PP_SIZE= 16
    	SCHED_POLICY= parallel
    	PP= 108
    	BB_POLICY= relocatable
    	RELOCATABLE= yes
    	UPPER_BOUND= 32
    	LABEL= /usr
    	MAPFILE=
    	LV_MIN_LPS= 70
    	STRIPE_WIDTH= 
    	STRIP_SIZE= 
    分配给该逻辑卷的逻辑分区数为 108 (LPs=108)。
  7. 使用步骤 2 中的结果来确定 /usr 文件系统中的现有数据所需的逻辑分区数。
    使用下面的命令可专门显示 /usr 文件系统的现有文件大小:
    df -k /usr
    结果将重复您在步骤 2 中为 /usr 文件系统接收到的数字 (以千字节为单位)。 例如:
    Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on            
    /dev/hd2          1769472    623988   65%    36984     9% /usr 
    1. 从分配到的 1024 字节块的总数中减去可用空间的数量:
      1769472 - 623988 = 1145484
    2. 加上容纳该文件系统预期的未来增长所需的空间的估计。
      对该例来说,在结果上加上 200000。
      1145484 + 200000 = 1345484
    3. 将结果除以以字节表示的逻辑分区大小 (16*1024),以确定所需的最小逻辑分区数。
      1345484 / 16384 = 82.121826171875
      将该结果四舍五入,用其重定义所需的逻辑分区数 (LPs=83)。
  8. image.data 文件中,将 LPs 字段从 108 更改为 83
  9. 查找与 /usr 文件系统相关的 fs_data 节。
    fs_data 节可能与以下类似:
    fs_data:
    	FS_NAME= /usr
    	FS_SIZE= 3538944
    	FS_MIN_SIZE= 2290968
    	FS_LV= /dev/hd2
    	FS_FS= 4096
    	FS_NBPI= 4096
    	FS_COMPRESS= no
    	FS_BF= false
    	FS_AGSIZE= 8
    
  10. 通过将物理分区大小 (PP_SIZE) 乘以 2 (物理分区使用的 512 字节块数) 与逻辑分区数 (LPs) 来计算文件系统大小 (FS_SIZE)。
    给定该例中使用的值,计算为:
    PP_SIZE * 512 blocks * LPs = FS_SIZE
    16384 * 2 * 83 = 2719744
  11. image.data 文件中,将 FS_SIZE 字段从 3538944 更改为 2719744
  12. 根据 /usr 文件系统使用的当前数据的实际大小计算最小文件系统大小 (FS_MIN_SIZE) ,如下所示:
    1. 计算所需分区的最小数目。
      给定该例中使用的值,计算为:
      size_in_use (请参阅步骤 7a) / PP_SIZE = partitions
      1145484 / 16384 = 69.914794921875
    2. 计算这些数量的分区所需的最小大小。
      将先前的计算结果四舍五入到 70,计算如下:
      PP_SIZE * 512 blocks * partitions = FS_MIN_SIZE
      16384 * 2 * 70 = 2293760
  13. image.data 文件中,将 FS_MIN_SIZE 字段从 2290968 更改为 2293760
  14. 保存编辑并退出编辑器。
  15. 卸装所有不在 rootvg 卷组中的文件系统。
  16. 如果有用户定义的卷组,输入以下命令将其断开并导出:
    varyoffvg VGName
    exportvg VGName
  17. 如果磁带机里有磁带,输入以下命令启动一个完整的系统备份:
    mksysb /dev/rmt0

    此类备份包含 /image.data 文件中指定的文件系统大小信息,稍后这些信息将用于以新的文件系统大小重新安装系统。

    注: 要启动此备份,必须从命令行运行 mksysb 命令。 如果使用诸如 SMIT 的系统管理工具,那么备份会创建一个新的 image.data 文件,覆盖所做的更改。
  18. 使用此备份可使用 使用当前系统设置进行安装 选项来重新安装操作系统。
    在安装过程中,检查是否正确设置了以下选项:
    • Use Maps 必须设置为 no
    • Shrink the File Systems 必须设置为 no

    如果需要有关安装过程的更多信息,请参阅 安装系统备份

  19. 安装操作系统后,以“正常方式”重新引导系统。
    此时,已调整 /usr 文件系统大小,但用户定义的文件系统不可用。
  20. 通过输入以下命令安装所有的文件系统:
    mount all

    如果接收到有关已安装的文件系统的 Device Busy 消息,那么可以忽略这些消息。

此时,已调整 /usr 文件系统大小,根卷组拥有了较多的可用空间,文件系统已经可用。