chfs コマンド

目的

ファイルシステムの属性を変更します。

構文

chfs [ -n NodeName ] [ -m NewMountPoint ] [ -u MountGroup ] [ -A { yes | no } ] [ -p { ro | rw } ] [ -t { yes | no } ] [ -a Attribute=Value ] [ -d Attribute ] FileSystem

説明

chfs コマンドは、ファイルシステムの属性を変更します。 新しいマウント・ポイント、自動マウント、許可、およびファイルシステム・サイズを設定または変更することができます。FileSystem パラメーターには、マウント・ポイントとして表されたファイルシステムの名前を指定します。

ファイルシステム属性のいくつかは、ファイルシステムの作成時に設定され、変更できないものもあります。 ジャーナル・ファイルシステム (JFS) の場合、この種の属性にはフラグメント・サイズ、ブロック・サイズ、i ノード当たりのバイト数、圧縮、および最小ファイルシステム・サイズがあります。 拡張ジャーナル・ファイルシステム (JFS2) の場合、ブロック・サイズは変更できません。

chfs コマンドは、ファイルシステムにとって意味のない属性も受け入れます。 属性は /etc/filesystems ファイルに保存されますが、ファイルシステムは属性に影響を与えません。 追加の属性は制限される必要があります。/etc/filesystems ファイル内のスタンザの合計サイズは、512 バイトを 超えてはいけません。 サイズがこの限度を超えると、スタンザは認識されなくなります。

chfs コマンドは、コマンドが理解できない Attribute=Value のペアをすべて無視しますが、/etc/filesystems ファイル適切なスタンザにそれらを追加します。

例:

chfs -a abcd=1G /

これは、/etc/filesystems ファイル内の root スタンザで、新規 abcd 属性を 1G の値に設定します。

フラグ

項目 説明
-a Attribute=Value 仮想ファイルシステム・タイプに応じて、Attribute=Value の対を 指定します。複数の Attribute=Value の対を指定する場合は、複数の -a Attribute=Value パラメーターを指定します。

以下の属性または値の組は、ジャーナル・ファイルシステム (JFS) に固有のものです。

 
-a copy=Copy#
splitcopy 属性と共に使用されるときに分割するミラー・コピーを 指定します。デフォルト・コピーは 2 番目のコピーです。 有効な値は 1、2、または 3 です。
 
-a log=LVName
使用する、既存のログの論理ボリューム名のログをとる、ファイルシステムの絶対パス名を指定します。 このファイルシステムのロギング用装置は、 そのファイルシステムと同じボリューム・グループに常駐している必要があります。
 
-a size=NewSize
ジャーナル・ファイルシステムのサイズを指定します。 サイズは、512 バイト・ブロック、メガバイトまたはギガバイト単位で指定できます。 Value が接尾部 M であれば、その値の単位はメガバイトであると解釈されます。 Value が接尾部 G であれば、その値の単位はギガバイトであると解釈されます。 値が + で始まる場合は、 ファイルシステムのサイズを指定の量だけ増加させるよう要求していると解釈されます。 指定したサイズが物理区画サイズで等分に分割できなければ、等分に分割できる近似値に切り上げられます。

ファイルシステムが常駐するボリューム・グループは、最大論理ボリューム・サイズを定義し、ファイルシステムのサイズも制限します。

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 メタデータが与えられます。 ユーザー・データの保全性は保証されません。そのため、この処置を講じるときは、 ファイルシステムの活動を最小限にとどめてください。 オンライン分割ミラー・コピーとして指定できるのは、1 つのコピーだけです。
  以下の属性または値の組は、拡張ジャーナル・ファイルシステム (JFS2) に固有のものです。
-a Attribute=Value
-a ea=v2
JFS2 ファイルシステム拡張属性 (ea) フォーマットを変換します。V1 フォーマットを使用して いる JFS2 ファイルシステムは、V2 フォーマットを使用するものに変換できます。こうして変換されたファイルシステム は、さらに変換して v1 に戻すことはできません。変換はオンデマンド方法で行われる ので、拡張属性や ACL の書き込みがあると、そのファイル・オブジェクトの変換が生じる 原因になります。v2 フォーマットには、NFS4 ACL に対するサポート だけでなく、拡張が容易な名前付き拡張属性に対するサポートも用意されて います。v1 フォーマットには、以前のリリースの AIX® オペレーティング・システムとの互換性があります。
 
-a efs=yes
ファイルシステムを暗号化ファイルシステム (EFS) に変換します。

chfs コマンドは、現在のファイルシステムを EFS ファイルシステムに変更します。 EFS ファイルシステムが有効になると、ea 属性が自動的に変換され、 スケーラブル拡張属性 (v2) を格納できるようになります。

制約事項: chfs コマンドで、 次のファイルシステム (マウント・ポイント) を EFS に変換することはできません。 ブート中にセキュリティー・インフラストラクチャー (カーネル・エクステンション、ライブラリーなど) を使用できないからです。
  • /
  • /usr
  • /var
  • /opt
 
-a freeze = { timeout | 0 | off }
timeout の値に応じて、ファイルシステムを凍結または解凍する必要があることを指定します。ファイルシステムを凍結すると、そのファイルシステムとほぼ同じディスク・イメージが作成され、ディスクにすべてのダーティー・ファイルシステム・メタデータとユーザー・データが書き込まれます。 この凍結状態ではファイルシステムは読み取り専用になり、このファイルシステムやその内容を変更しようとしても、凍結状態が終了するまで待たなければなりません。 timeout の値は 0off、また正数です。正数 を指定すると、ファイルシステムは最大 timeout 秒の間凍結されます。timeout0 または off の場合、ファイルシステムは解凍され、変更が可能になります。

注意: 基本ファイルシステム (/ /usr/var/tmp) を凍結すると、 予想外の動作が起こる場合があります。

 
-a [ log | logname ]=LVName
使用する、既存のログの論理ボリューム名のログをとる、ファイルシステムの絶対パス名を指定します。 このファイルシステムのロギング用装置は、 そのファイルシステムと同じボリューム・グループに常駐している必要があります。 キーワード INLINE を使用して、 JFS2 ファイルシステムを持つ論理ボリュームにログを入れるように指定できます。 このオプションを使用するには、INLINE ログを使用して JFS2 ファイルシステムを作成しておく必要があります。 このオプションでは、ファイルシステムが入っている論理ボリュームの名前が変更されても、ログが認識されるよう に、/etc/filesystems ファイルを更新します。
注: OUTLINE ログを使用するファイルシステムの場合は、論理ボリュームが 適正にフォーマットされ、論理ボリュームのタイプが jfs2log である限り、このオプションを 使用して、アウトライン・ボリュームを 1 つの論理ボリュームから別の論理ボリュームに 変更できます。chfs を呼び出してアウトライン・ログを変更する時点でファイルシステムがマウントされている場合は、/etc/filesystems ファイルは変更されますが、実際のログはファイルシステムが次にマウントされるまで (つまり、 umount 操作、またはシステム・クラッシュとリカバリーの後まで) 変更されません。 INLINE ログを使用するファイルシステムの場合、 このオプションは INLINE ログと OUTLINE ログの切り替えをサポートしません。 現在のところ、inlinelog から outlinelog (またはその逆) に切り替えるには、 ファイルシステムを除去してから再作成する必要があります。
リリース AIX 5L および AIX 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 5L または AIX 5.1 で 作成され、後で AIX 5.2 以降のリリースにアップグレードされた場合は、chfs を使用 して、/etc/filesystems ファイルの inlinelog 名を変更できます。
 
-a logsize=LogSize
INLINE ログのサイズを M バイト単位で指定します。 入力サイズは、正の値である 必要があります。インライン・ログ・サイズが 1 より大か等しい場合は、入力サイズは整数である必要が あります。入力が 1 より小で、0 より大か等しい浮動小数点値である 場合は、入力サイズは無視され、デフォルトのインライン・ログ・サイズが 取られます。値が + (正符号) で始まっている 場合は、INLINE ログ・サイズを指定された量だけ大きくする要求として 解釈されます。値が - (負符号) で始まっている 場合は、INLINE ログ・サイズを指定された量だけ小さくする要求として 解釈されます。

INLINE ログが使用されていない場合は、入力は 無視されます。 INLINE ログ・サイズは、ファイルシステムのサイズの 10% を超えることはできませんし、2047 M バイトより 大きくすることはできません。

 
-a managed={yes | no}
JFS2 ファイルシステム上のデータ管理アプリケーション・プログラミング・インターフェース (DMAPI) を有効にします。
 
-a maxext=Value
ファイルシステム・ブロック内のファイル・エクステントの最大サイズを指定します。 ゼロの値は、JFS2 のデフォルト最大サイズを使用することを暗黙指定します。0 未満の値、またはサポートされる最大エクステント・サイズ 16777215 を超える値は無効です。既存のファイル・エクステントは、この変更の影響を受けませんので注意してください。
 
-a mountguard={yes | no}
PowerHA® SystemMirror® 環境または他のクラスタリング環境において、サポートされない同時マウントが行われないようにファイルシステムが保護されます。mountguard が有効な場合、ファイルシステムが他のノードまたはシステムにマウントされるように見えても、そのファイルシステムはマウントできません。mountguard 設定を一時的に無効にするには、mount コマンドの noguard オプションを参照してください。
 
-a options = mountOptions
どの mount オプションを chfs コマンドに渡すかを指定します。 有効なオプションのリストについては、mount コマンドを参照してください。
 
-a reclaim={normal | fast}
normal オプションを選択すると、reclaim コマンドは可能な限りファイルシステムをパックします。 reclaim コマンドは、フリー・スペースの最大の連続チャンクを見つけ、可能な限り再利用処理を行います。 これにより、システム内の他の場所で、再利用処理が行われたフリー・スペースが再利用可能になります。 変更の始めただし、normal オプションを reclaim コマンドに使用すると、ファイルシステムはフリーズ状態になります。 そのため、大量のデータがパックされる場合、フリーズ時間は著しく長くなる可能性があります。変更の終わり

fast オプションを選択すると、reclaim コマンドは、フリー・スペースの最大の連続チャンクを見つけ、可能な限り再利用処理を行います。 これにより、システム内の他の場所で、再利用処理が行われたフリー・スペースが再利用可能になります。

reclaim コマンドで回復されるフリー・スペース量を正確に判別することはできません。 実際にスペースの再利用処理を行う chfs コマンドの実行前に、再利用処理の対象となるスペースを大まかに見積もるには、最初に lvmstat –v <volume group> –e を実行し、次に chfs コマンドの終了後、lvmstat –v <volume group> –r を実行します。

最初の lvmstat コマンドが静的コレクションをそのボリューム・グループで有効にし、2 番目のコマンドが記録された統計を表示します。

ファイルシステム内のすべてのディスクで、再利用操作がサポートされている必要があります。 再利用操作は実際のファイルシステム・サイズを変更しません。 reclaim オプションは、ファイルシステムにスナップショットがある場合は指定できません。 また、ライブ・アップデートが実行中の場合や、ファイルシステムが読み取り専用である場合は実行できません。 reclaim オプションは、ファイルシステムのサイズ変更操作とは併用できません。 このコマンドが進行中の場合、ライブ・アップデートは開始されません。

 
-a refreeze={timeout}
凍結したファイルシステムのタイムアウトをリセットすることを指定します。timeout は指定した値にリセットされます。この場合でも、ファイルシステムは凍結されていなければなりません (-a freeze オプションか fscntl インターフェースを使用)。
 
-a size=NewSize
拡張ジャーナル・ファイルシステムのサイズを 512 バイト・ブロック、 メガバイトまたはギガバイト単位で指定します。 Value が接尾部 M であれば、その値の単位はメガバイトであると解釈されます。 Value が接尾部 G であれば、その値の単位はギガバイトであると解釈されます。 値が + で始まる場合は、 ファイルシステムのサイズを指定の量だけ増加させるよう要求していると解釈されます。 Value が - で始まっている場合は、ファイル・システム・サイズを指定された量だけ縮小する 要求として解釈されます。

指定されたサイズが + または - で始まってはいないが、ファイルシステムの 現行サイズより大または小である場合も、それはファイルシステム・サイズの増大要求または縮小 要求です。

ファイルシステムに inlinelog があり、このファイルシステムの新サイズが現行サイズと 同じである場合は、inlinelog のサイズは変更されません。 指定したサイズが物理区画サイズで等分に分割できなければ、等分に分割できる近似値に切り上げられます。ストライプ済みの論理ボリューム上に ファイルシステムがある場合、新規ファイルシステムのサイズは概数にされ、物理区画サイズとストライプ幅を掛けた数の倍数の中で 最も近い数値となります。 ストライプ幅とは、ストライプ済みの論理ボリュームを形成するハード・ディスクの数のことです。

この属性は、-d フラグが指定されていない限り、 JFS2 ファイルシステムの作成時には必須です。 ファイルシステムが常駐するボリューム・グループは、 最大論理ボリューム・サイズを定義し、ファイルシステムのサイズも制限します。 最大サイズはファイルシステムのブロック・サイズで決定されます。
fs block size (byte)        MAX fssize (TB)
===========================================
512                         4
1024                        8
2048                        16
4096                        32

ファイルシステム・サイズの縮小要求が正常に実行される のは、論理ボリュームが要求されたファイルシステム・サイズに応じて、元の LV サイズと等しいか、または それよりも小さいときです。

sizelogsize の 両属性を 1 つの chfs 要求で指定して、ファイルシステムおよびその inlinelog のサイズを サイズ変更できます。

注: 変更の始め縮小操作の間、著しく長い時間にわたって、ファイルシステムはフリーズ状態になる可能性があります。 アプリケーションへの影響を最小限にするには、ワークロードが小さい間に、ファイルシステムを少量に縮小してください。 変更の終わり
 
-a vix={yes|no}
ファイルシステム内に連続する 16 KB の空きエクステントがない場合に、 デフォルトの 16 KB より小さい i ノード・エクステントをファイルシステムが割り当てることが可能かどうかを指定します。 ファイルシステムが小さな空きのエクステントで使用可能になった後で、初期のバージョンの AIX ではこのファイルシステムにアクセスすることはできず、かつマーキングを除去することはできません。
yes
ファイルシステムは、可変長 i ノード・エクステントを割り振ることができます。
no
ファイルシステムは、i ノード・エクステントにデフォルトのサイズ 16 KB を使用する 必要があります。ファイルシステムに既に可変長 i ノード・エクステントが含まれている場合は、この指定は効力を持ちません。
 
注:
  1. JFS2 は、 結果として生じるファイルシステムのサイズに影響を与えるような nbpi 値やフラグメント・サイズ値を持ちません。
  2. 要求されたサイズが物理区画サイズより小さい場合は、ファイルシステムは圧縮 できません。少なくとも 1 つの物理区画サイズでなければ、縮小要求の対象にはなりえません。
  3. スナップショットを持つファイルシステムは、圧縮できません。
  4. 変更の始めファイルシステムの縮小操作中、ファイルシステムへの書き込み操作が断続的に制限されることがあります。変更の終わり
  5. 変更の始め拡張操作が実行されているときは、ファイルシステムにアクセスできません。 インライン・ログのある大きなファイルシステムは、数分間使用できない場合があります。 インライン・ログを再フォーマットする必要があります。変更の終わり
  6. 新しいファイルシステム・サイズは指定されているが、inlinelog サイズが指定されていない ときは、新しい logsize は、指定された拡張/圧縮ファイルシステム・サイズに応じて、これに比例して 調整 (拡張/圧縮) されます。 ログ・サイズの増減は、ファイルシステム・サイズの 増減の 40% を超えることは できません。
  7. 新しいファイルシステム・サイズは指定されていないが、inlinelog があるとき は、新しい logsize が指定された場合は、ファイルシステム・サイズが、新しいログ・サイズを含む ように変更されることがあります。
  8. df コマンドによって報告されるフリー・スペースは、必ずしも ファイルシステムのフラグメント化のせいで、shrinkFS 要求によって切り捨てられる可能性のある スペースであるとは限りません。フラグメント化されたファイルシステムは、オブジェクトが切り捨てのために その領域から外に移されるだけの十分な大きさのフリー・スペースがなく、しかも shrinkFS が ファイルシステムのフラグメント解消を実行しない場合は、圧縮されない可能性があります。この場合、chfs コマンドは失敗し、戻りコード 28 (ENOSPC) が表示されます。
  9. maxext 属性は、ファイルシステムが新しいリリースでこの属性を指定して作成されていたとしても、古いリリースでは無視されます。
  10. AIX 7.2 テクノロジー・レベル 1 以降では、区画は、chfs コマンドの実行によって解放され、解放された区画でスペース再利用プロセスが開始されます。
-A 自動マウント用の属性を指定します。
yes
ファイルシステムは、システム再起動時に自動的にマウントされます。
no
ファイルシステムは、システム再起動時にマウントされません。
-d Attribute 指定されたファイルシステムの /etc/filesystems ファイルから、指定された属性を 削除します。
-m NewMountPoint 指定されたファイルシステムに新しいマウント・ポイントを 指定します。
-n NodeName 指定したファイルシステムのノード名を指定します。 /etc/filesystems ファイル内のノード名属性が、新しい名前で 更新されます。ノード名属性は、NFS (ネットワーク・ファイルシステム) 仮想ファイルシステム・タイプなどの一定のリモート仮想ファイルシステム・タイプに固有の属性です。
-p ファイルシステムの許可を設定します。
ro
読み取り専用許可を指定します。
rw
読み取り/書き込み許可を指定します。
-t 指定されたファイルシステムのアカウンティング属性を 設定します。
yes
ファイルシステムのアカウントは、アカウント・サブシステムによって処理されます。
no
ファイルシステムのアカウントは、アカウント・サブシステムによって処理されません。この値がデフォルトです。
-u MountGroup マウント・グループを指定します。 マウント・グループは、関連する複数のマウント対象を 1 つのグループとしてまとめるときに使用します。これにより、複数のマウント対象を個別にではなく一度にマウントすることができます。 例えば、特定のテストの実行にあたって、幾つかのスクラッチ・ファイルシステムを いつでも一緒にマウントする必要がある場合は、それらのスクラッチ・ファイルシステムは、それぞれを test マウント・グループに配置できます。その上で、mount -t test コマンドのような単一のコマンドを使用して、それらのスクラッチ・ファイルシステムは、 すべてマウントできます。

セキュリティー

アクセス制御

このコマンドを実行できるのは、root ユーザーまたはシステム・グループのメンバーのみです。

RBAC ユーザーと Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権の詳細情報については、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドを参照してください。

  1. ジャーナル・ファイルシステム /test のファイルシステム・サイズを変更するには、次のように入力します。
    chfs  -a size=24576 /test
    このコマンドにより、ジャーナル・ファイルシステム /test のサイズが 24576 個の 512 バイト・ブロック、すなわち 12 M バイト (既にこの大きさ以上になっていない場合) に変更されます。
  2. ジャーナル・ファイルシステム /test のサイズを増加するには、次のように入力します。
    chfs  -a size=+8192 /test
    このコマンドは、/test ジャーナル・ファイルシステムの サイズを 512 バイトのブロック 8192 個分、つまり 4 MB だけ増やします。
  3. JFS2 ファイルシステムを NFS4 ACL をサポートできるバージョンに変換する 場合は、次のように入力します。
    chfs -a ea=v2 /test
  4. ファイルシステムのマウント・ポイントを変更するには、次のように入力します。
    chfs  -m /test2 /test
    このコマンドにより、ファイルシステムのマウント・ポイントが /test から /test2 に変更されます。
  5. ファイルシステムからアカウント属性を削除するには、 次のように入力します。
    chfs -d account /home
    このコマンドは、ファイルシステム /home からアカウント属性を除去します。 アカウント属性は、/etc/filesystems ファイルの /home: スタンザから削除されます。
  6. ミラー化されたファイルシステムのコピーを分割して、 それをオンライン・バックアップとして使用するために読み取り専用にマウントするには、 次のように入力します。
    chfs -a splitcopy=/backup -a copy=2 /testfs
    これで /testfs の読み取り専用コピーが /backup にマウントされます。
  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 既知のファイルシステムをリストし、その特性を定義します。