chfs 命令

用途

更改文件系统的属性。

语法

chfs [ -n NodeName ] [ -m NewMountPoint ] [ -u MountGroup ] [ -A { | 没有 } ] [ -p { 咆哮 | rw } ] [ -t { | 没有 } ] [-a 属性=价值 ] [ -d 属性 ] FileSystem

描述

chfs 命令更改文件系统的属性。 新的安装点、自动安装、许可权以及文件系统大小都可以被设置或更改。 FileSystem 参数指定文件系统的名称,表示为安装点。

有些文件系统的属性是在创建该文件系统时设置的,因而不能更改。 对于日志文件系统 (JFS),这样的属性包括段的大小、块的大小、每个索引节点的字节数、压缩以及最小文件系统大小。 对于增强日志文件系统 (JFS2),不能更改块的大小。

chfs 命令还会接收与文件系统无关的属性。 这些属性保存在 /etc/filesystems 文件中,但文件系统不会处理这些属性。 必须限制附加属性。 /etc/filesystems 文件中一节的总大小不能超过 512 字节。 如果大小超过该限制,那么该节不再可识别。

chfs 命令会忽略它无法识别的任何 Attribute=Value 对,但会将它们添加至 /etc/filesystems 文件中的相应节。

Example:

chfs -a abcd=1G /

这会在 /etc/filesystems 文件的根节中将新的 abcd 属性设置为值 1G

标志

描述
-a 属性 = 值 指定取决于虚拟文件系统类型的 Attribute=Value 对。 要指定多个 "属性 = 值" 对,请提供多个 -a 属性 = 值 参数。

以下属性或值对特定于日志文件系统 (JFS):

 
-a copy=Copy#
指定当结合 splitcopy 属性使用时,应分割哪个镜像副本。 缺省副本为第二个副本。 有效的值是 1、2 或 3。
 
-a log=LVName
指定要使用的现有日志的文件系统日志记录逻辑卷名称的完整路径名。 此文件系统的日志设备必须与文件系统位于同一卷组上。
 
-a size=NewSize
指定日志文件系统的大小。 该大小可采用 512 字节的块、兆字节或千兆字节这些单位指定。 如果 Value 具有 M 后缀,那么会将它解释为以兆字节计。 如果 Value 具有 G 后缀,会将它解释为以千兆字节计。 如果 Value 以 + 开头,它将被解释为以指定量来增加文件系统大小的请求。 如果指定的大小不能按物理分区大小平均分配,就将向上舍入到最接近平均分配数值的值。

文件系统所驻留的卷组定义了一个逻辑卷大小的最大值,并且也限制了文件系统大小。

JFS 文件系统的最大大小是其片段大小和 nbpi 值的函数。 这些值产生了以下大小限制:
  NBPI  Minimum AG Size    Fragment Size        Maximum Size (GB)
   512         8        512, 1024, 2048, 4096          8
  1024         8        512, 1024, 2048, 4096         16
  2048         8        512, 1024, 2048, 4096         32
  4096         8        512, 1024, 2048, 4096         64
  8192         8        512, 1024, 2048, 4096        128
 16384         8             1024, 2048, 4096        256
 32768        16                   2048, 4096        512
 65536        32                         4096       1024
131072        64                         4096       1024
 
-a splitcopy=NewMountPointName
分割文件系统的镜像副本,并将它以只读形式安装在新的安装点处。 这样提供了文件系统的副本连同可用于备份用途且与之一致的 JFS 元数据。 不保证用户数据的完整性,因此建议您进行此操作时,文件系统的活动应处于最小状态。 只有一个副本可以指定为联机分割镜像副本。
-a 属性 = 值 以下属性或值对特定于增强日志文件系统 (JFS2):
-a ea=v2
转换 JFS2 文件系统扩展属性 (ea) 格式。 使用 v1 格式的 JFS2 文件系统可以转换为使用 v2 格式。 在其转换之后,文件系统无法转换回 v1。 转换是以随需应变的方式完成的,以至于任何扩展属性或 ACL 的写操作导致发生该文件对象的转换。 v2 格式提供支持可伸缩指定扩展属性且支持 NFS4 ACL。 v1格式与以前版本的AIX兼容。
 
-a efs=yes
将文件系统转换为加密文件系统 (EFS)。

chfs 命令将现有现有文件更改为 EFS 文件系统。 当对文件系统启用 EFS 时,ea 属性会自动转换以存储大小可调整的扩展属性 (v2)。 如果未在系统上运行 efsenable 命令,那么此命令将失败。

限制chfs 命令会使得以下文件系统(安装点)不能转换为 EFS,因为安全基础结构(内核扩展和库等等)在引导时不可用:
  • /
  • /usr
  • /var
  • /opt
 
-a freeze = { timeout | 0 | off }
指定必须根据 timeout的值冻结或解冻文件系统。 冻结文件系统的操作将产生一个与文件系统几乎一致的磁盘上的映像,并将所有的脏文件系统元数据和用户数据写到磁盘。 在冻结状态中,文件系统是只读的,任何修改文件系统或其内容的尝试都必须等到冻结结束之后。 timeout 的值必须是 0off或正数。 如果指定了正数,那么文件系统将冻结最多 timeout 秒。 如果 timeout0off,那么将解冻文件系统,并且可以继续进行修改。

:冻结库文件系统(//usr/var/tmp)会导致意外行为。

 
--alff=是
转换文件系统以支持大型文件和大型文件系统。 缺省情况下, JFS2 文件系统的最大大小为 32 TB ,文件的最大大小为 16 TB。 如果 lff 属性的值设置为 yes,那么 JFS2 文件系统的最大潜在大小为 4 PB ,最大潜在文件大小为 4 PB。 此外,如果 "lff属性设置为"是",文件系统只能在AIX® 7.3 或更高版本上加载。
注意:
  1. lff 属性设置为 yes后,无法更改该属性的值。
  2. lff 属性仅在聚集块大小为 4096 字节的文件系统上受支持。
 
-a [ log | logname ]=LVName
指定要使用的现有日志的文件系统日志记录逻辑卷名称的完整路径名。 此文件系统的日志设备必须与文件系统位于同一卷组上。 可以使用关键字 INLINE 来指定该日志位于具有 JFS2 文件系统的逻辑卷中。 此文件系统创建时必须具有将使用此选项的内联日志。 此选项用于更新 /etc/filesystems 文件,以便当包含文件系统的逻辑卷的名称更改时,将能够对该日志进行识别。
注: 对于使用 OUTLINE 日志的文件系统,此选项可用于将大纲日志从一个逻辑卷更改为另一个逻辑卷,只要逻辑卷的格式正确且逻辑卷的类型为 jfs2log。 如果在调用 chfs 以更改大纲日志时安装了文件系统,那么 /etc/filesystems 文件将显示更改,但直到文件系统的下一次安装 (遵循 umount 操作或系统崩溃和恢复) 之后,才会更改实际日志。 对于使用内联日志的文件系统,此选项不支持在内联和外联日志之间切换。 当前要从内联日志切换为外联日志(或反之),必须删除并重新创建文件系统。
在发行版 AIX 5LAIX 5.1中,如果文件系统正在使用 inlinelog ,那么日志条目与 /etc/filesystems 文件中的文件系统相同:
/j2.1:         
dev             = /dev/fslv00         
vfs             = jfs2         
log             = /dev/fslv00         
mount           = false         
account         = false
但是,从 AIX 5.2 和更高发行版开始,如果文件系统正在使用 inlinelog ,那么日志条目是 /etc/filesystems 文件中的关键字 INLINE:
/j2.23:         
dev             = /dev/fslv04         
vfs             = jfs2         
log             = INLINE         
mount           = false         
options         = rw         
account         = false
如果文件系统是在 AIX 5LAIX 5.1上创建的,并且后来升级到 AIX 5.2 或更高发行版,那么可以使用 chfs 来变更 /etc/filesystems 文件中的 inlinelog 名称。
 
--alogshuffle={INLINE |logdevicename}
设置文件系统以使用指定的日志。 指定的日志设备必须与当前日志设备位于同一卷组中。 如果指定 logshuffle = INLINE,那么将扩展逻辑卷以创建文件系统的缺省大小 (文件系统的0.4% ,最大大小为 2047 MB) 的内联日志设备。 指定大纲日志设备不会缩小逻辑卷。
 
-a logsize=LogSize
指定 INLINE 日志的大小 (MB)。 输入大小必须为正值。 如果内联日志大小大于或等于 1,那么输入大小必须为整数。 如果输入的是小于 1 且大于或等于 0 的浮点值,那么忽略输入大小且采用缺省内联日志大小。 如果 value 以 +(加号)开头,那么它将被解释为以指定量增加内联日志大小的请求。 如果 value 以 -(减号)开头,那么它将被解释为以指定量减少直接插入日志大小的请求。

如果没有使用内联日志,那么会忽略输入。 内联日志大小不能大于文件系统大小的 10% 且不能大于 2047 MB。

 
-a managed={yes | no}
对 JFS2 文件系统启用数据管理应用程序编程接口 (DMAPI)。
 
-a maxext=Value
指定文件扩展数据块的最大大小(按文件系统块计)。 如果值为 0,意味着应使用 JFS2 缺省最大值。 小于 0 或者超过了受支持的最大扩展数据块大小 16777215 的值都无效。 请注意,现有文件扩展数据块不受此更改影响。
 
-a mountguard={yes | no}
针对 PowerHA® SystemMirror® 或其他集群环境中不受支持的并发安装保护文件系统。 如果启用了安装防护,那么当文件系统显示为安装在另一节点或系统上时,无法进行安装。 要暂时覆盖安装防护设置,请参阅 mount 命令的 noguard 选项。
 
-a options = mountOptions
指定将哪个 mount 选项传递到 chfs 命令中。 有关有效选项的列表,请参阅 mount 命令。
 
--areclaim={normal{normal | fast}
如果选择了 normal 选项,那么 reclaim 命令将尽可能多地打包文件系统。 reclaim 命令将查找最大的连续可用空间块,然后尽可能回收该块。 这使回收的可用空间可供在系统中的其他位置复用。 但是,当您对 reclaim 命令使用 normal 选项时,文件系统将被冻结。 因此,如果打包了大量数据,那么冻结时间可能很重要。

如果选择了 fast 选项,那么 reclaim 命令将查找最大的连续可用空间块,然后回收尽可能多的可用空间块。 这使回收的可用空间可供在系统中的其他位置复用。

无法确切确定 reclaim 命令恢复的可用空间量。 为了在运行 chfs 命令 (实际上将回收空间) 之前大致估算回收的空间,必须先运行 lvmstat –v <volume group> –e,然后在 chfs 命令完成后运行 lvmstat –v <volume group> –r

第一个 lvmstat 命令对该卷组启用统计信息收集,第二个命令输出记录的统计信息。

文件系统中的所有磁盘都必须支持回收操作。 回收操作不会改变实际文件系统大小。 如果文件系统中有快照并且在实时更新正在运行时无法运行,或者如果文件系统是只读的,那么不能指定回收选项。 回收选项不能与任何文件系统调整大小操作一起使用。 如果正在执行此命令,那么将不会启动实时更新。

 
-a refreeze={timeout}
指定重新设置冻结的文件系统的超时时间。 timeout 将重置为指定的值。 文件系统仍必须冻结 (使用 -a 冻结 选项或 fscntl 接口)。
 
-a size=NewSize
指定增强型日志文件系统的大小,以 512 字节块,兆字节,千兆字节,太字节或 PB 为单位。 如果 size 属性的值具有后缀 M ,那么该值将解释为以兆字节为单位。 如果 size 属性的值具有后缀 G ,那么该值将解释为以千兆字节为单位。 如果 size 属性的值具有后缀 T ,那么该值将解释为以太字节为单位。 如果 size 属性的值具有后缀 P ,那么会将该值解释为以 PB 为单位。 如果 size 属性的值以 + 开头,那么会将其解释为请求将文件系统大小增加指定的量。 如果 size 属性的值以-开头,那么它将解释为请求将文件系统大小减少指定的量。

如果指定的大小不以 + 或 - 开头,但它大于或小于文件系统的当前大小,那么它也是增大或减小文件系统大小的请求。

如果文件系统具有 inlinelog,那么将根据新文件系统的大小重新计算 inlinelog 大小。 如果指定的大小不能按物理分区大小平均分配,就将向上舍入到最接近平均分配数值的值。 如果文件系统在条带逻辑卷上,那么新文件系统的大小将舍入为条带分割宽度乘以物理分区大小的积的最接近值。 条带分割宽度是形成条带化逻辑卷的硬盘数。

文件系统所在的卷组定义最大逻辑卷大小并限制文件系统大小。 文件系统的最大大小由文件系统块大小决定:

fs block size (byte)        MAX fssize
===========================================
512                          4 TB
1024                         8 TB
2048                        16 TB
4096                        32 TB (lff=no) / 4 PB (lff=yes)
 
注意:
  1. 要使用大小大于 32 TB 的文件系统,必须将 lff 属性的值设置为 yes
  2. lff 属性仅在聚集块大小为 4096 字节的文件系统上受支持。

当减少文件系统大小的请求成功时,逻辑卷应等于或小于原始 LV 大小,具体取决于请求的文件系统大小。

可以在一个 chfs 请求中指定 sizelogsize 属性,以调整文件系统及其 inlinelog 大小。

注: 在收缩操作期间,可能会将文件系统冻结很长时间。 要将对应用程序的影响降至最低,必须在低工作负载期间少量缩减文件系统。
 
-a vix={yes|no}
指定当文件系统中没有任何连续的 16 KB 扩展数据块可用时,文件系统是否可分配小于缺省值 16 KB 的索引节点扩展数据块。 对小型空闲扩展数据块启用文件系统后,无法在较早版本的 AIX 上访问该文件系统,并且无法除去标记。
文件系统可以分配可变长度索引节点扩展数据块。
False
文件系统必须对索引节点扩展数据块使用缺省大小 16 KB。 如果文件系统已经包含可变长度索引节点扩展数据块,这将不起作用。
 
注意:
  1. JFS2 不具有影响文件系统最终大小的 nbpi 或段的大小的值。
  2. 如果请求的大小小于物理分区大小,那么您无法缩减文件系统。 至少要求减少一个物理分区的大小。
  3. 不允许缩减有快照的文件系统。
  4. 在文件系统的收缩操作期间,可能会间歇性地限制对文件系统的写操作。
  5. 当扩展操作正在运行时,文件系统不可访问。 具有内联日志的大型文件系统可能在几分钟内不可用。 必须重新格式化内联日志。
  6. 如果指定了新的文件系统大小,但未指定其 inlinelog 大小,那么将根据指定的扩展/缩小文件系统大小按比例调整新的 logsize 。 日志大小的增加或减少应该不超过文件系统大小增加或减少的 40%。
  7. 如果未指定新的文件系统大小,并且存在 inlinelog,那么如果指定了新的 logsize ,那么可能会更改文件系统大小以包含新的日志大小。
  8. 由于文件系统分段, df 命令报告的释放空间不需要 shrinkFS 请求可截断的空间。 如果分段文件系统没有足够的可用空间用于将对象移出要截断的区域,并且 shrinkFS 不执行文件系统碎片整理,那么该分段文件系统可能不会缩小。 在这种情况下, chfs 命令应该失败,返回的代码为 28 (ENOSPC)
  9. maxext 属性在较早版本中会被忽略,即便使用它在更高发行版上创建了文件系统也是如此。
  10. 在 AIX 7.2 Technology Level 1 或更高版本中,在通过运行 chfs 命令释放分区之后,将在释放的分区上启动空间回收进程。
-A 指定自动安装的属性。
系统重新启动时,文件系统自动进行安装。
False
系统重新启动时,文件系统不进行安装。
-d 属性 /etc/filesystems 文件中删除指定文件系统的指定属性。
-m NewMountPoint 为指定的文件系统指定新的安装点。
-n NodeName 为指定的文件系统指定节点名。 /etc/filesystems 文件中的节点名属性将使用新名称进行更新。 节点名属性具体针对某些远程虚拟文件系统类型,比如 NFS(网络文件系统)虚拟文件系统类型。
-p 设置文件系统的许可权。
ro
指定只读许可权。
rw
指定读写许可权。
-t 为指定的文件系统设置记帐属性。
将由记帐子系统来处理文件系统记帐。
False
文件系统记帐不由记帐子系统来处理;这是缺省值。
-u MountGroup 指定安装组。 安装组用于对相关的安装进行分组,这样一来,它们可以作为一个整体一起进行安装而不是对每个分开安装。 例如,当执行某些测试时,如果总是需要一起安装几个暂存文件系统,那么它们中的每个系统都可以放入 test 安装组中。 然后,可以使用单个命令 (例如 mount -t test 命令) 来安装所有这些命令。

安全性

访问控制

只有 root 用户或系统组的成员才能运行此命令。

RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。

示例

  1. 要更改文件系统大小,请执行以下操作:/test日志文件系统,输入:
    chfs  -a size=24576 /test
    此命令更改/test将文件系统记录到 24576 个 512 字节块或 12MB (前提是它先前不大于此)。
  2. 增加规模/test日志文件系统,输入:
    chfs  -a size=+8192 /test
    此命令将增大/test已记录文件系统 8192 个 512 字节块,或 4 MB。
  3. 要将 JFS2 文件系统转换为可以支持 NFS4 ACL 的版本,请输入:
    chfs -a ea=v2 /test
  4. 要更改文件系统的安装点,请输入:
    chfs  -m /test2 /test
    此命令从以下位置更改文件系统的安装点:/test/test2.
  5. 要从文件系统删除记帐属性,请输入:
    chfs -d account /home
    此命令将记帐属性从 /home 文件系统中除去。 记帐属性将从/home:/etc/filesystems 文件的节。
  6. 要分割镜像文件系统的副本并安装它作为只读形式用以联机备份,请输入:
    chfs -a splitcopy=/backup -a copy=2 /testfs
    这将在 /backup上安装 /testfs 的只读副本。
  7. 要更改 /test 日志文件系统的文件系统大小,请输入:
    chfs -a size=64M /test
    此命令将 /test 日志文件系统的大小更改为 64MB (前提是它先前不大于此大小)。
  8. 要减小 /test JFS2 文件系统的大小,请输入:
    chfs  -a size=-16M /test
    此命令将 /test JFS2 文件系统的大小减小 16MB。
  9. 要冻结一个文件系统,请输入:
    chfs  -a freeze=60 /adl
    此命令将 /adl 文件系统冻结最多 60 秒。
  10. 要解冻一个文件系统,请输入:
    chfs  -a freeze=off /zml
    此命令解冻 /zml 文件系统。

文件

描述
/etc/filesystems 列出已知文件系统并定义其特征。