この章では,ファイル・システムの概要を説明するとともに,ファイル・システムに関連する基本的なシステム管理作業について説明します。 さまざまなファイル・システムがサポートされていますが,アプリケーションおよび UNIX オペレーティング・システムの構成要素で使用される主なファイル・システムは,AdvFS (Advanced File System) と UNIX ファイル・システム (UFS) です。 出荷時にオペレーティング・システムがインストール済みのシステムでは,省略時のファイル・システムとして AdvFS が構成されています。 AdvFS の管理についての詳細は,『AdvFS 管理ガイド』 を参照してください。
この章では,各ファイル・システムに関して,次のようなシステム管理作業について説明します。
使用可能なファイル・システムの概要 (6.1 節)
クラスタへの結合を容易にする,コンテキスト依存シンボリック・リンク (CDSL) (6.2 節)
UFS ファイル・システムを手動で作成する方法 (6.3 節)
SysMan Menu タスクを使用して UFS ファイル・システムを作成する方法 (6.4 節)
ユーザにクォータを割り当てて UFS ファイル・システム・リソースを制御する方法 (6.5 節)
UFS ファイル・システムのバックアップ方法についての参考資料 (6.6 節)
ファイル・システムのモニタ機能とチューニング機能 (6.7 節)
UFS ファイル・システムの問題のトラブルシューティング (6.8 節)
この他にも,システム管理作業およびファイル・システムに関する情報源があります。
この章では,これらの情報源について必要に応じて説明します。
6.1 ファイル・システムの概要
ユーザがオペレーティング・システムをインストールする場合には,1 つまたは複数の UFS ファイル・システムを作成することができます。 出荷時に AdvFS が構成されているシステムでも,UFS ファイル・システムを作成することができます。 両方のファイル・システムを,システム上で同時に使用することができます。 システム・ディスクの場合や,AdvFS の拡張機能を必要としない場合には,多くの管理者は使い慣れている UFS ファイル・システムを使用します。
オペレーティング・システムは,以下のファイル・システムを含む,さまざまなファイル・システムの最新のバージョンをサポートしています。
AdvFS (Advanced File System)。
このファイル・システムには,独立したドキュメントと拡張インタフェースがあります。
詳細については,『AdvFS 管理ガイド』およびリファレンス・ページの
advfs
(4)
基本 AdvFS Utilities は,SysMan Menu タスクとして提供されています。 これらのタスクへのアクセスについては,第 1 章を参照してください。 SysMan で提供されているユーティリティについては,オンライン・ヘルプが利用できます。
この章で説明されている UNIX ファイル・システム (UFS)。
属性とユーティリティについては,
ufs_fsck
(8)sys_attrs_ufs
(5)tunefs
(8)
ISO 9660 コンパクト・ディスク・ファイル・システム (CDFS)。
詳細については,リファレンス・ページの
cdfs
(4)
メモリ・ファイル・システム (mfs)。
詳細については,
newfs
(8)
ffm (File on File Mounting) ファイル・システム。
詳細については,
ffm
(4)
また,次のマニュアルも参照してください。
AdvFS および UFS の両方のファイル・システムでの LSM (Logical Storage Manager) の使用については,『Logical Storage Manager』を参照してください。
UFS ファイル・システムから AdvFS ファイル・システムへの変換,またはその逆の変換については,『AdvFS 管理ガイド』を参照してください。
UFS ファイル・システムの高度なチューニングについては,『システムの構成とチューニング』を参照してください。
この節の後半および以降の節では,ファイル・システムの作成とその管理での重要な概念について説明します。 この情報は,基本的なファイル・システムの作成とその管理に必要な事項ではありませんが,高度な作業やトラブルシューティングを行う場合に役立ちます。
以降の項で詳細を説明する項目について,概要を次に示します。
ファイル・システムは,ローカルにマウントされているかリモートでマウントされているかにかかわらず,システムやクラスタのディレクトリ階層全体の一部です。
ファイル・システムは,基本システム階層にディレクトリ階層を追加するたびにルート・ファイル・システム (/) から成長し,分岐するツリーであると考えることができます。
/usr/usrs/projects
などの UFS ファイル・システムを作成する場合は,既存の
/usr/usrs
ブランチの下に,新しいブランチとして追加します。
どのシステムでも,ファイル・システムを格納するための一般的な記憶域はハード・ディスクです。
これらのデバイスの管理については,『ハードウェア管理ガイド』で説明しています。
1 つのディスクは,論理パーティションに分割されます。
論理パーティションはディスク全体 (パーティション
c
) とすることも,パーティション
a
〜
h
のようにディスクの一部分とすることもできます。
ディスクのサイズによりパーティションのサイズは異なり,そのサイズは通常 M バイト (MB) で示されます。
最初にファイル・システムを作成する場合は,ディスク・パーティションにファイル・システムを作成し,限られたサイズ (ディスク・スペース) を割り当てます。
UFS ファイル・システムのサイズを大きくするには,より大きなパーティションまたはディスクにそのファイル・システムを移動する必要があります。
ファイル・システムには,物理メディア上のデータのレイアウトを示す,ディスク上のデータ構造があります。 ファイル・システムのトラブルシューティングまたはチューニングなどの高度な作業を行う場合には,この構造を理解していなければなりません。 大半の一般的な作業では,この情報を細かい点まで理解していなくても構いません。 参照情報については,以降の項で説明します。
さまざまなディレクトリおよびファイルのタイプが,一般的なコマンドの出力に表示されます。 シンボリック・リンクやソケットなどのファイル・タイプを識別できるように,参照情報が用意されています。 詳細については,次のリファレンス・ページを参照してください。
file
(1)
ls
(1)dir
(4)
『ハードウェア管理ガイド』
socket
(2)
pipe
(2)
link
(1)ln
(1)
ファイル・システムの位置は,ルート (/
) ディレクトリから始まる UNIX ディレクトリ階層を基準にしています。
作成したファイル・システムは,ディレクトリ階層のマウント・ポイントにマウントされたときに使用可能 (有効) になります。
たとえば,オペレーティング・システムのインストール中に,usr
ファイル・システムを (UFS として) 作成したとします。
このファイル・システムは,ルート (/
) に自動的にマウントされ,パス名はこの階層内の
/usr
となります。
システムの標準ディレクトリ階層は,効率的に構成されています。
ディレクトリ階層により,機能および目的別にファイルが分類されます。
ファイル・システムの効果的な使用方法の一例としては,.cshrc
,.profile
または
.login
などのユーザ設定ファイルで指定された通常の検索パスにあるディレクトリにコマンド・ファイルを置くことがあります。
ディレクトリの中には,実際にはシンボリック・リンクされているものもあります。
X11 ウィンドウ・システムの階層を含む,オペレーティング・システムのディレクトリ階層についての詳細は,リファレンス・ページの
hier
(5)
ファイル・システムは,マウントすることにより使用可能になります。
システムのルート・ディレクトリ下のファイル・システム階層にファイル・システムを接続 (マウント) するには,mount
コマンドを使用します。
ファイル・システムの接続解除 (アンマウント) には,umount
コマンドを使用します。
ファイル・システムをマウントする場合,ファイル・システムを接続する位置 (システムのルート・ディレクトリ下のマウント・ポイント) を指定します。
ファイル・システムのマウントおよびアンマウントについての詳細は,
mount
(8)
マウントされたファイル・システムのルート・ディレクトリは,そのマウント・ポイントでもあります。
システムは,ルート・ディレクトリをシステム初期化ファイルのソースとして使用するため,システムにはルート・ディレクトリは 1 つしか存在しません。
この結果,オペレーティング・システムのローカル・ファイル・システムはすべて,システムのルート・ディレクトリの下にマウントされます。
6.1.2 ディスク・パーティション
ディスクは,セクタと呼ばれる物理的な記憶ユニットから構成されています。 各セクタは通常 512 バイトです。 セクタは論理ブロック番号 (LBN) によってアドレス指定されます。 LBN は,アドレス指定によるユーザ・アクセスが可能なデータ領域の基本単位です。 最小の LBN は 0 で,最大の LBN は,ユーザ・アクセス可能領域の LBN 数より 1 つ少ない値です。
各セクタはグループ化され,最大 8 個のディスク・パーティションを形成します。
ただし,パーティションの数とサイズはディスクによって異なります。
/etc/disktab
ファイルには,システムでサポートされるディスクおよび省略時のパーティション・サイズのリストが含まれています。
詳しい説明は,
disktab
(4)
ディスク・パーティションはディスクの論理的な区画で,これにより,ファイルをさまざまなサイズの別々の領域に書き込むことが可能になります。
パーティションは,ファイル・システムと呼ばれる構造でデータを保管し,ページングおよびスワッピング等のシステム操作で使用することができます。
ファイル・システムは,
hier
(5)
ディスク・パーティションにはディスク・タイプごとに省略時のサイズがあり,このサイズは
disklabel
コマンドまたは
diskconfig
グラフィカル・ユーザ・インタフェースを使用して変更することができます。
各パーティションには,a
から
h
までの名前を割り当てることができます。
1 つのパーティションに割り当てられたスペースが別のパーティションと重なることは可能ですが,省略時のパーティションが重なり合うことはありません。
また,適切に使用されているディスクでは,相互に重なり合うパーティションにはファイル・システムを置くことはありません。
では,モデル RZ1DF-CB ディスクの省略時のパーティションの例を,次のコマンドを使用して示します。
# disklabel -r /dev/rdisk/dsk0a
この出力例では,ディスク・テーブルの部分だけを示します。
また,
rz
(7)例 6-1: 省略時のパーティション
(RZ1DF-CB Disk) 8 partitions: # size offset fstype [fsize bsize cpg] # NOTE: values not exact a: 262144 0 4.2BSD 1024 8192 16 # (Cyl. 0 - 78*) b: 1048576 262144 swap # (Cyl. 78*- 390*) c: 17773524 0 unused 0 0 # (Cyl. 0 - 5289*) d: 1048576 1310720 swap # (Cyl. 390*- 702*) e: 9664482 2359296 AdvFS # (Cyl. 702*- 3578*) f: 5749746 12023778 unused 0 0 # (Cyl. 3578*- 5289*) g: 1433600 524288 unused 0 0 # (Cyl. 156*- 582*) h: 15815636 1957888 unused 0 0 # (Cyl. 582*- 5289*) HSZ10, HSZ40, HSZ50, HSZ70 (RAID) Partitions Disk Start Length dsk?a 0 131072 dsk?b 131072 262144 dsk?c 0 end of media dsk?d 0 0 dsk?e 0 0 dsk?f 0 0 dsk?g 393216 end of media dsk?h 0 0
ディスク・ラベルは,ディスクの最初のセクタ内のブロック 0 (ゼロ) に置かれます。 ディスク・ラベルは,ディスクのジオメトリと,そのディスクがどのようなパーティションに分割されているかに関する詳細な情報を提供します。 システム・ディスク・ドライバおよびブート・プログラムは,ディスク・ラベルの情報を使用して,ドライブ,ディスク・パーティション,およびファイル・システムを認識します。 その他の情報は,ディスクを最も効率的に使用したり,重要なファイル・システムの情報を検索したりするためにオペレーティング・システムによって使用されます。
各パーティションのディスク・ラベルの記述には,パーティションのタイプ (たとえば,標準ファイル・システム,スワップ領域など) を識別する識別子が含まれています。
ディスク・ラベルには 2 つのコピーが存在し,ひとつはディスク上に,もうひとつはシステム・メモリの中にあります。
I/O を実行するよりもシステム・メモリにアクセスする方が速いため,システムがディスクを認識すると,メモリにそのラベルがコピーされます。
ファイル・システムについての情報が不完全な場合,ファイル・システムはラベルのメモリ内コピーをアップデートします。
ラベルは
disklabel
コマンドを使用して変更することができます。
コマンド行インタフェースについての詳細は,
disklabel
(8)diskconfig
については,『ハードウェア管理ガイド』を参照してください。
6.1.3 UFS バージョン 4.0
UFS の現在のバージョンは,リビジョン 4.0 です。 このバージョンのディスク上のデータ・レイアウトは,6.1.4 項に説明されている UFS バージョン 3.0 のデータ・レイアウトと同じですが,データ容量が大きくなっています。
バージョン 3.0 では,32767 個のハード・リンクまたはサブディレクトリをサポートしていますが,バージョン 4.0 では,65533 個のハード・リンクまたはサブディレクトリをサポートしています。
実際のディレクトリ数は,32765 (32k) と 65531 (64k) です。
これは,空のディレクトリに,自分自身と親ディレクトリへのハード・リンクがすでに存在するためです。
ls
-a
コマンドを使用すると,これらのリンクはそれぞれ
.
と
..
で表示されます。
以降この項の例は,32k 個を超えるハード・リンクを持つファイルにも適用されますが,すべて 32k のサブディレクトリについて説明します。
考慮すべき事項と重要な制限 (特に両方のバージョンを使用する場合) について次に示します。
newfs
コマンドまたは
diskconfig
コマンドによるファイル・システムの作成newfs
コマンドまたは
diskconfig
コマンドを使用して新しいファイル・システムを作成すると,非互換の問題を最小限にするために,新しいファイル・システムは必ずバージョン 3.0 (32k のサブディレクトリまたはハード・リンク) として作成されます。
fsck
コマンドによるファイル・システムの検査fsck
コマンドを使用して,問題のあるファイル・システム (システム・クラッシュなどの理由により正常にアンマウントされていないなど) を検査する場合は,見つかったサブディレクトリの最大数により,そのファイル・システムがバージョン 3.0 かバージョン 4.0 かがマークされます。
fsck
コマンドで 32K を超える数のサブディレクトリが見つかった場合は,そのファイル・システムはバージョン 4.0 とマークされます。
fsck
コマンドで 32K を超える数のハード・リンクを持つディレクトリが見つからない場合は,そのファイル・システムはバージョン 3.0 とマークされます。
ファイル・システムは通常,ユーザが 32K のサブディレクトリの制限数を超えて使用するとすぐに,バージョン 4.0 に変換されます。
fsck
コマンドに新しいオプション
-B
が追加されました。
このオプションを使用すると,バージョン 4.0 のファイル・システムをバージョン 3.0 のファイル・システムに変換することができます。
fsck
コマンドでこのオプションを使用すると,そのファイル・システムに 32K を超える数のサブディレクトリを持つディレクトリがなく,かつ 32K を超える数のハード・リンクを持つファイルが存在しない場合にだけ,変換が行われます。
以前のバージョンのオペレーティング・システム (V4.0F など) を実行しているシステムで UFS バージョン 3.0 とバージョン 4.0 の両方を使用する場合の重要な制限を次に示します。
32K を超える数のサブディレクトリを含むディレクトリがそのファイル・システムに存在しないことを確認しない限り,バージョン 4.0 のファイル・システムに対して,以前のバージョンの
fsck
を
-p
または
-y
オプションを使用して実行しないでください。
使用した場合には,32K を超える数のサブディレクトリを含むディレクトリがそのファイル・システムから永久に削除されます。
32K を超える数のサブディレクトリを含むディレクトリは,/etc/fstab
ファイル中で,ルート (/
) パーティション,/usr
パーティション,または他のパーティションにリストしないでください。
ブート時に,/etc/fstab
ファイルに定義されているすべてのファイル・システムに対して
fsck
-p
コマンドが自動的に実行されます。
この実行を防ぐために,バージョン 4.0 ではメイン・スーパブロックと代替スーパブロックが不一致となるようにします。
この不一致により,fsck
-p
の古いバージョンをバージョン 4.0 のファイル・システムに対して実行することはできなくなります。
32K を超える数のサブディレクトリを持つバージョン 4.0 のファイル・システムに対して
fsck
-p
の古いバージョンを実行すると,代替スーパブロックとスーパブロックの不一致により,処理が失敗します。
代替スーパブロックの指定を促すプロンプトが表示された場合には,必ず
n
を入力してください。
誤って
y
を入力した場合でも,次のプロンプトに対して
y
と入力しなければ,バージョン 4.0 のファイル・システムには何も処理が行われません。
CLEAR? [yn]
必要に応じて,ここで,FREE BLK COUNT
と
UPDATE STANDARD SUPERBLOCK
を修正することができます。
ただし,バージョン 4.0 のファイル・システムに対して,2 度目の
fsck
-p
を実行したときには,この不一致による保護は行われません。
32K を超える数のサブディレクトリを含むディレクトリは,永久に削除されます。
この 2 つの UFS バージョンの間にはディスク上のデータ・レイアウトに違いがないため,従来のバージョン 3.0 のファイル・システムを最新のリリースのオペレーティング・システムにマウントすることができます。 バージョン 3.0 のファイル・システム上で 32K を超える数のハード・リンクを作成しようとすると,そのファイル・システムはバージョン 4.0 のファイル・システムに自動的に変換されます。 この変換時に出力されるシステム・メッセージの例を次に示します。
Marking /dev/disk/dsk023 as Tru64 UNIX UFS v.4
32K を超える数のサブディレクトリを持たないバージョン 4.0 のファイル・システムを共用またはマウントする場合は,バージョン 3.0 のファイル・システムだけをサポートする以前のオペレーティング・システム (たとえば Tru64 UNIX バージョン 4.0F) を実行しているシステムにマウントすることができます。 ただし,最初にバージョン 4.0 のファイル・システムを次のように変換しなければなりません。
バージョン 3.0 をサポートするシステムで,次の例のように,fsck
コマンドをファイル・システム・パーティションに対して実行します。
# fsck /dev/rrz03
バージョン 4.0 をサポートするシステムで,次の例のように,fsck
コマンドをファイル・システム・パーティションに対して実行します。
# fsck -B /dev/disk/dsk34d
UFS ファイル・システムは次の 4 つの主要部分から構成されます。
これらのブロックについて,以降の項で説明します。
AdvFS ファイル・システムの構造については『AdvFS 管理ガイド』で説明されています。
6.1.4.1 ブート・ブロック
各ファイル・システムの最初のブロック (ブロック 0) は,ブートまたは初期化プログラムのために予約されています。
6.1.4.2 スーパブロック
各ファイル・システムのブロック 1 はスーパブロックと呼ばれ,次の情報が含まれています。
ファイル・システムのトータル・サイズ (ブロック単位)
ファイル・システムの名前
デバイスの識別子
スーパブロックの最終更新日付
ファイル・システム内のすべての空きブロック (割り当てに利用可能なブロック) が収められている,空きブロック・リストのヘッド
新しいブロックをファイルに割り当てる場合,そのブロックは空きブロック・リストから取得されます。 ファイルを削除すると,ブロックは空きブロック・リストに戻されます。
スーパブロックの次のブロックのグループ。 これらの各ブロックには多くの i ノードが含まれています。 各 i ノードには,i ノード番号が対応しています。 i ノードは,ファイル・システム内の個々のファイルの管理情報を記述しています。 ファイル・システムのファイルごとに 1 つの i ノードがあります。 各ファイル・システムには i ノード数の上限があるため,ファイル・システムに収めることができるファイルには上限があります。 i ノード数の上限はファイル・システムのサイズによって異なります。
各ファイル・システムの最初の i ノード (i ノード 1) には名前がなく,使用されません。 2 番目の i ノード (i ノード 2) はファイル・システムのルート・ディレクトリと対応していなければなりません。 ファイル・システム内のファイルはすべて,ファイル・システムのルート・ディレクトリの下に存在します。 i ノード 3 以降は,どの i ノードをどのファイルに割り当てても構いません。 また,どのデータ・ブロックをどのファイルに割り当てても構いません。 i ノードとブロックの割り当てには,特に順番はありません。
i ノードをファイルに割り当てた場合,i ノードには次の情報を含めることができます。
ファイル・タイプ
ファイル・タイプには,通常ファイル,デバイス・ファイル,名前付きパイプ,ソケット,およびシンボリック・リンク・ファイルがあります。
ファイル所有者
i ノードには,ファイルの所有者を識別するためのユーザおよびグループの識別番号が含まれています。
ファイル保護情報
保護情報によって,ファイル所有者,グループ・メンバ,その他のユーザに対する読み取り,書き込み,および実行アクセスが指定されます。
保護情報には,chmod
コマンドで指定されるその他のモード情報もあります。
リンク数
ディレクトリ・エントリ (リンク) は,ファイル名および i ノード番号から構成されます。 リンク数は,ファイルを参照するディレクトリ・エントリの数を示します。 リンク数が 0 の場合,ファイルは削除されます。 つまり,ファイルの i ノードは,未使用 i ノードのリストに戻され,対応するデータ・ブロックは空きブロック・リストに戻されます。
ファイル・サイズ (バイト単位)
最終ファイル・アクセス日付
最終ファイル変更日
最終 i ノード変更日
データ・ブロックへのポインタ
このポインタは,物理ディスク上でのデータ・ブロックの実際の位置を示します。
データ・ブロックは,ユーザ・データあるいはシステム・ファイルを保持します。
6.1.5 ディレクトリおよびファイルのタイプ
オペレーティング・システムはファイルをビット・ストリームとして認識し,ディスク上のデータ,名前付きパイプ,UNIX ドメイン・ソケット,および端末をファイルとして処理することができます。 このオブジェクト・タイプ透過性により,さまざまなストレージおよび通信機能の定義と動作のためのメカニズムが簡素化されています。 オペレーティング・システムは,内部処理を構成して管理する際に,さまざまなレベルの抽象表現を扱います。
外部インタフェースだけでなく,システムが認識するさまざまなファイル・タイプを理解する必要があります。 システムは,次のファイル・タイプをサポートしています。
通常ファイル
たとえば,プログラムやテキスト・ファイル,またはソース・コードなどの形式でデータが含まれています。
ディレクトリ
通常ファイルの一種で,ファイルの名前や他のディレクトリの名前が含まれます。
文字型デバイス特殊ファイルおよびブロック型デバイス特殊ファイル
システムの物理デバイスと擬似デバイスを識別します。
UNIX ドメイン・ソケット・ファイル
ネットワーク・プロセス間の接続を提供します。
ソケット・ファイルは
socket
システム・コールによって作成されます。
名前付きパイプ
プロセスが互いに通信し合うために使用するデバイス・ファイルです。
ターゲット・ファイルまたはディレクトリをポイントするリンク・ファイル
リンク・ファイルには,ターゲット・ファイルの名前が含まれています。 シンボリック・リンクされたファイルとそのターゲット・ファイルは,同じファイル・システムに存在しても,別のファイル・システムに存在しても構いません。 ハード・リンクされたファイルとそのターゲット・ファイルは,同じファイル・システムに存在しなければなりません。
デバイス特殊ファイルは,物理デバイス,擬似デバイス,および名前付きパイプを表しています。
デバイス特殊ファイルは
/dev
ディレクトリに置かれます。
デバイス特殊ファイルは,システムとデバイス・ドライバの間のリンクの役割を果たします。
それぞれのデバイス特殊ファイルは,物理デバイス (たとえば,ディスク,テープ・ドライブ,プリンタ,または端末),または擬似デバイス (たとえば,ネットワーク・インタフェース,名前付きパイプ,または UNIX ドメイン・ソケット) に対応しています。
デバイス・ドライバはすべての読み取りおよび書き込み操作を行い,デバイスが必要とするプロトコルに従います。
次の 3 種類のデバイス特殊ファイルがあります。
ブロック型デバイス特殊ファイル
ドライバが大きなブロック単位で I/O を処理するようなデバイス,およびカーネルが I/O バッファリングを処理するようなデバイスに使用されます。
ディスクなどの物理デバイスは,ブロック型デバイス特殊ファイルとして定義されます。
/dev
ディレクトリのブロック型デバイス特殊ファイルの例は次のとおりです。
brw------- 1 root system 8, 1 Jan 19 11:20 /dev/disk/dsk0a brw------- 1 root system 8, 1 Jan 19 10:09 /dev/disk/dsk0b
文字型デバイス特殊ファイル
ドライバが独自の I/O バッファリングを処理するようなデバイスに使用されます。
ディスク,端末,擬似端末,およびテープ・ドライバは,通常,文字型デバイス・ファイルとして定義されます。
/dev
ディレクトリの文字型デバイス特殊ファイルの例は次のとおりです。
crw-rw-rw- 1 root system 7, 0 Jan 31 16:02 /dev/ptyp0 crw-rw-rw- 1 root system 7, 1 Jan 31 16:00 /dev/ptyp1 crw-rw-rw- 1 root system 9,1026 Jan 11 14:20 /dev/rtape/tap_01
文字型デバイス特殊ファイルは,次のような raw ディスク・デバイスのケースもあります。
crw-rw-rw- 1 root system 7, 0 Jan 10 11:19 /dev/rdisk/dsk0a
ソケット・デバイス・ファイル
プリンタ・デーモン (lpd
) およびエラー・ログ・デーモン (syslogd
) に使用されます。
/dev
ディレクトリのソケット・デバイス・ファイルの例は次のとおりです。
srw-rw-rw- 1 root system 0 Jan 22 03:40 /dev/log srwxrwxrwx 1 root system 0 Jan 22 03:41 /dev/printer
デバイス特殊ファイルとその命名規則の詳細については,『ハードウェア管理ガイド』を参照してください。
6.2 コンテキスト依存シンボリック・リンクとクラスタ
この節では,システムを結合してクラスタにするディレクトリ階層機能である,コンテキスト依存シンボリック・リンク (CDSL) について説明します。 CDSL には,すべてのシステムのファイル・システムとディレクトリ階層 (現在クラスタのメンバではないものも含む) に対する,一定の必要条件があります。 必要条件は,次のとおりです。
ルート (/
),/var
,および
/usr
の各ファイル・システムには,単一システムでは使用されることのない
/cluster
サブディレクトリがあります。
このサブディレクトリは削除しないでください。
削除すると,システムをクラスタに追加できなくなります。
システムがクラスタに結合されると,そのシステムはクラスタのメンバとなります。 どのファイルにも,メンバ・システムで一意の識別子 (メンバ固有) を含む,一意のパス名があります。 これらのパス名は,コンテキスト依存シンボリック・リンク (CDSL) と呼ばれます。 CDSL は,パス名に変数要素を持つシンボリック・リンクです。 変数要素は各クラスタ・メンバごとに異なり,アプリケーションまたはコマンドで解決されてコンテキストになります。
一部の重要なシステム・ファイルは,ターゲット・ロケーションを指す一意の CDSL を持つターゲット・ディレクトリにあります。 これにより,共用 (クラスタ全体) ファイルと非共用 (メンバ固有) ファイルを分離することができます。
CDSL が移動または破壊されている場合には,アップデート・インストレーションが失敗することがあります。
ディレクトリの構造については,
hier
(5)
CDSL を使用すると,クラスタのメンバとして結合されたシステムは,共用する必要があるすべてのファイルとディレクトリに対してグローバルな名前領域を持つことができます。 CDSL により,基本構成要素とレイヤード・アプリケーションをクラスタ対応にすることができます。 共用ファイルとディレクトリは,クラスタと単一システムで同じように動作します。 また,ファイル・システムの管理ツールも,クラスタと単一システムで同じように動作します。
システムが将来的にクラスタ・メンバになる可能性があるために,CDSL が重要な場合には,以降の項を参照してください。
CDSL がないことを示すエラー (アップデート・インストレーションの失敗など) が発生した場合は,以降の項で説明するように,CDSL の保守や,確認,修正を行わなければなわなければならないことがあります。
6.2.1 関連ドキュメント
CDSL の説明については,次のマニュアルを参照してください。
『インストレーション・ガイド』では,アップデート・インストレーションについて説明しています。
アップデート・インストレーション処理についての詳細は,
installupdate
(8)
TruCluster のドキュメントでは,システムのクラスタへの追加処理と,動作中のクラスタでの CDSL の使用方法について説明しています。 このドキュメントは,ベース・ドキュメント・セットには入っていません。
local
(4)ls
(1)ln
(1)hier
(5)
リファレンス・ページの
cdslinvchk
(8)/usr/sbin/cdslinvchk
スクリプトについて説明しています。
個々のシステムを接続してクラスタとし,ユーザからは 1 つのシステムに見えるようにできます。 1 つのクラスタ内の単一システムは,メンバと呼ばれます。 Tru64 UNIX クラスタの説明については,TruCluster のドキュメントを参照してください。 クラスタ処理を容易にするために,ファイル・システムには,一部のファイルを個々のクラスタ・メンバ内で一意とする構造と識別可能なパス名,およびメンバ固有の情報がなければなりません。
この他のファイルは,クラスタ内のすべてのメンバで共用する必要があります。 CDSL パス名を使用すると,クラスタ内の異なるシステムが同じファイル階層を共用することができます。 ユーザとアプリケーションは,共用であるかメンバ固有であるかに関係なく,従来のパス名を使用してファイルとディレクトリにアクセスできます。
たとえば,2 つのシステムがスタンドアロンである場合または単にネットワーク・リンクで接続されている場合は,登録ユーザの情報を含む
/etc/passwd
ファイルが,それぞれのシステムにあります。
2 つのシステムが 1 つのクラスタのメンバの場合は,両方のシステムの登録ユーザの情報を含む共通の
/etc/passwd
ファイルを共用します。
他の共用ファイルは次のとおりです。
/etc/timezone
または
/etc/group
などの,システム固有ではなく,サイト固有の構成ファイルとディレクトリ
/bin
または
/usr/bin
などの,カスタマイズされた情報を含まないファイルとディレクトリ
クラスタ全体で使用可能なディスクとテープのデバイス特殊ファイル
一部のファイルは,必ずメンバ固有でなければなりません。
つまり,共用可能でないファイルがあります。
メンバ固有ファイルの例は
/etc/rc.config
で,共用ファイルの例は
rc.config.common
です。
これらのファイルには,個別のシステムにだけ適用される構成情報,またはクラスタ内のすべてのメンバに適用される構成情報が含まれます。
クラスタ・システムで CDSL を使用すると,ファイルを共用したり,メンバ固有ファイルを識別して保守することができます。
この他にメンバ固有ファイルには,次のカテゴリがあります。
/var/adm/crash
などのディレクトリ。
これらのディレクトリには,アプリケーション,ユーティリティ,またはデーモンが作成した,個別のクラスタ・メンバにだけ適用されるファイルが置かれます。
/dev
および
/devices
に置かれたデバイス特殊ファイルの一部。
メンバ固有のデバイス特殊ファイルを参照する,/etc/securettys
などの構成ファイル。
ブート時または構成時に使用する,/vmunix
および
/etc/sysconfigtab
などのプロセス固有ファイル。
システムがクラスタに接続されていない場合でも,パス名はまだ存在しています。
ただし,これはユーザには透過的です。
クラスタ・ファイルの命名規則を理解し,そのファイル構造を維持しなければなりません。
CDSL を誤って削除した場合は,再作成する必要があります。
6.2.2.1 CDSL の構造
CDSL
は単に,
ln
(1)
/etc/rc.config ->
/cluster/members/{memb}/etc/rc.config
クラスタがサポートされる前は,このファイルのパス名は
/etc/rc.config
でした。
このファイルは現在,CDSL によってメンバ固有のターゲットにリンクされています。
このリンクの構造は,次のように解釈されます。
/cluster
ディレクトリはルート・ディレクトリに存在し,共用ファイルまたはメンバ固有ファイル (この例の場合) のパスを含みます。
/cluster/members/
ディレクトリには,ローカル・メンバの識別子
member0
のディレクトリと,変数パス要素
{memb}
へのリンクが置かれます。
/cluster/members/member0
ディレクトリには,devices
や
etc
などの,メンバ固有のシステム・ディレクトリが置かれます。
{memb}
変数パス要素を使用して,クラスタの個々のメンバが識別されます。
この変数は,実行時に
sysconfigtab
変数
generic:memberid
の値が付加されて,member
になります。
この変数の省略値はゼロです。
この値は,クラスタの各メンバに固有です。
ルート内の
/.local..
ファイルは,cluster/members/{memb}
へのリンクで,システム固有ファイルを定義します。
システム固有ファイルは,/.local..
パス名で参照または作成できます。
/.local../etc/[filename]
として作成されたファイルは,/etc
が共用ディレクトリのため,/etc/[filename]
のパスでアクセスすることはできません。
このファイルには,/.local../etc/[filename]
および
/cluster/members/{memb}/etc/[filename]
のパス名でのみアクセスできます。
単一システムが他のシステムと一緒にクラスタ化されない場合は,generic:memberid
変数には自動的にゼロが設定されます。
単一システム上の一般的な CDSL の例を次に示します。
/cluster/members/{memb}/etc/rc.config
この CDSL は,次のように解決されます。
/cluster/members/member0/etc/rc.config
システムが他の 2 つのシステムと一緒にクラスタ化され,generic:memberid
変数に 3 が設定された場合,同じ CDSL は次のように解決されます。
/cluster/members/member3/etc/rc.config
クラスタで動作中の場合は,メンバ固有のファイルは次の 3 つの方法で参照できます。
特定のシステムからメンバ固有の形式または共用の形式で参照する (たとえば,/var/adm/crash/crash-data.5
)。
特定のシステムからメンバ固有の形式でのみ参照する (たとえば,/.local../var/adm/crash/crash-data.5
)。
クラスタの任意のメンバから参照する (たとえば,/cluster/members/member0/var/adm/crash/crash-data.5
)。
クラスタのメンバに対してだけ,次の 2 つの特別な CDSL があります。
ミニルート
特別な非共用ディレクトリ
/dev ->
/cluster/members/{memb}/dev
/tmp ->
/cluster/members/{memb}/tmp
詳細については,TruCluster のドキュメントを参照してください。
6.2.3 CDSL の管理
シンボル・リンクされたファイルに適用される保護は,すべてのファイルで行われている一般的な,ユーザおよびファイル・アクセス・モードによる保護だけです。 特別な保護はありません。 また,CDSL にも特別な保護はありません。 単独システムで CDSL が破壊された場合に発生する障害を,次にいくつか示します。
オペレーティング・システムのアップデート・インストレーションが行われたとき。
クラスタ外のシステムで CDSL がないことが分かるのは,アップデート・インストレーション処理
installupdate
(8)/usr/sbin/cdslinvchk
スクリプトを必ず実行してシステムの CDSL の状態を調べてから,アップデート・インストレーションを実行します。
ユーザまたはアプリケーションがメンバ固有の CDSL を移動または削除したとき。
メンバ固有の CDSL が,rm
または
mv
コマンドで誤って削除されることがあります。
この問題を回避するために,手動でファイルを編集したり,作成しないでください。
代わりに,vipw
(/etc/passwd
の編集用) などのツールを使用してファイルを編集してください。
システム管理のツールとユーティリティはすべて CDSL を認識しているため,システム・ファイルの管理に適しています。
単独システム上の CDSL インベントリを検査するには,/usr/sbin/cdslinvchk
スクリプトを使用します。
定期的にインベントリを更新して,CDSL を確認します。
詳細は,
cdslinvchk
(8)6.2.3.2 CDSL の作成
CDSL が誤って破壊された場合または CDSL
を新たに作成する必要がある場合のリンクの修正処理または作成処理については,
ln
(1)/etc/rc.config
リンクが破壊された場合は,リンクを次のように作成します。
sysconfigtab
変数
generic:memberid
で定義されている
{memb}
の値を確認します。
ファイルが存在するかどうか確認します。 たとえば,次のように確認します。
# ls /cluster/members/member3/etc/rc.config
generic:memberid
が 3 の場合は,次のように新しいリンクを作成します。
# cd /etc # ln -s /cluster/members/member3/etc/rc.config
オペレーティング・システムの基本ファイル・システムの構成は,インストレーション中にシステムのルート・ファイル・システムが構築されるときに定義されます。 インストレーション後は,必要に応じてファイル・システムを作成することができます。 以降の項では,ファイル・システムをコマンド行で手動で作成する方法について説明します。 コンソールで作業していて,システムがシングルユーザ・モードでグラフィカル・ユーティリティが使用できないときは,ファイル・システムに対する操作をコマンド行で行わなければなりません。
AdvFS ファイル・システムの作成については,『AdvFS 管理ガイド』を参照してください。
6.3.1 newfs による新しいファイル・システムの作成
ファイル・システムの一般的な作成手順を次に示します。
新しいパーティションとして使用するディスク・デバイスと raw ディスク・パーティションを確認します。
このパーティションが正しくラベル付けされてフォーマットされていることと,まだ使用されていないことを確認します。
コマンド行インタフェース
hwmgr
および
dsfmgr
を使用して,デバイスを指定したり,新しいデバイスを追加してデバイス特殊ファイルを作成したりします。
この手順については,『ハードウェア管理ガイド』を参照してください。
このコマンドのオプションについては,
hwmgr
(8)dsfmgr
(8)
必要な場合には,disklabel -p
コマンドを使用して,ディスクの現在のパーティションの状態を読み取ります。
/etc/fstab
ファイルを調べて,パーティションがファイル・システムにまだ割り当てられていないことと,スワップ・デバイスとして使用されていないことを確認します。
詳細については,
disklabel
(8)fstab
(4)
使用する未使用の raw (文字型) ディスク・パーティションの確認が完了すると,そのパーティションのデバイス特殊ファイルの名前が分かります。
たとえば,ディスク 2 のパーティション
g
のデバイス特殊ファイル名は
/dev/rdisk/dsk2g
です。
デバイス特殊ファイルの名前については,『ハードウェア管理ガイド』を参照してください。
newfs
コマンドを使用して,ファイル・システムをターゲット・パーティションに作成します。
詳細については,
newfs
(8)
マウント・ポイントのディレクトリを作成し,mount
コマンドで新しいファイル・システムをマウントして使用できる状態にします。
リブート後もマウントされるようにしたい場合は,mount
コマンドを
/etc/fstab
ファイルに追加します。
ファイル・システムをエクスポートしたい場合は,そのファイル・システムを
/etc/exports
ファイルに追加します。
詳細については,
mount
(8)
chmod
コマンドを使用して,アクセス制御の制限のチェックと調整を行います。
詳細については,
chmod
(1)
これらの手順については,この項の残りの部分で詳細に説明します。
newfs
コマンドは,ディスク・パーティションを初期化して UFS ファイル・システムを作成します。
newfs
コマンドは,ディスク・ラベルの情報または
/etc/disktab
ファイルに指定された省略時の値を使用して,特定のディスク・パーティションにファイル・システムを作成します。
newfs
コマンドのオプションを使用して,ディスクのジオメトリを指定することもできます。
注意
省略時のディスクのジオメトリの値を変更すると,標準スーパブロックが失われた場合に,
fsck
プログラムは代替スーパブロックを検出できなくなります。
/sbin/newfs
[-N
]
[newfs_options
]
special_device
[disk_type
]
デバイス名には,アンマウントされている raw デバイス (たとえば
/dev/rdisk/dsk0a
) を指定しなければなりません。
ファイル・システム固有のコマンド・オプションについての説明は,
newfs
(8)mfs
コマンドについて説明し,メモリ・ファイル・システム (mfs) の作成方法についても説明しています。
新しいファイル・システムの作成例を次に示します。
ターゲット・ディスクとパーティションを確認します。 ほとんどのシステムの場合,ローカルの管理ログを調べることで,システムに接続されているディスク・デバイスおよび割り当てられているパーティションが分かります。 ただし,管理するシステムの状態が不明の場合もあります。 つまり,デバイスが取り外されたり,追加されたりした場合です。 次のコマンドとユーティリティを使用して,ターゲット・ディスクとパーティションを確認します。
/dev/disk
ディレクトリの内容を調べます。
検出されている各ディスク・デバイスには,パーティション・レイアウトに対応した一連のデバイス特殊ファイルがあります。
たとえば,/dev/disk/dsk1a
〜
/dev/disk/dsk1h
は,dsk1
という名前のデバイスが存在することを示します。
デバイスは使用可能な状態であっても,デバイス特殊ファイルがシステムに存在しないこともあります。
次のように
hwmgr
コマンドを使用して,物理的にシステムのバスに接続されているすべてのデバイスを調べます。
# hwmgr -view devices -category disk HWID: DSF Name Model Location ------------------------------------------------------- 15: /dev/disk/floppy0c 3.5in fdi0-unit-0 17: /dev/disk/dsk0c RZ1DF-CB bus-0-targ-0-lun-0 19: RZ1DF-CB bus-0-targ-1-lun-0 19: /dev/disk/cdrom0c RRD47 bus-0-targ-4-lun-0
デバイス特殊ファイルがないデバイスが見つかった場合は,dsfmgr
ユーティリティを使用して,デバイス特殊ファイルを作成することができます。
注意
通常,デバイス特殊ファイルは,新しいディスク・デバイスがシステムに追加されたときに自動的に作成されます。 デバイス特殊ファイルを手動で作成しなければならないのは,『ハードウェア管理ガイド』で説明している状況の場合だけです。
デバイスの確認ができたら,次のように
disklabel
コマンド使用して,使用されているパーティションを調べます。
# disklabel -r /dev/rdisk/dsk0a
8 partitions: # size offset fstype [fsize bsize cpg] #NOTE: values not exact a: 262144 0 4.2BSD 1024 8192 16 #(Cyl. 0 -78*) b: 1048576 262144 swap #(Cyl. 78*-390*) c: 17773524 0 unused 0 0 #(Cyl. 0 -5289*) d: 1048576 1310720 swap #(Cyl. 390*-702*) e: 9664482 2359296 AdvFS #(Cyl. 702*-3578*) f: 5749746 12023778 unused 0 0 #(Cyl.3578*-5289*) g: 1433600 524288 unused 0 0 #(Cyl. 156*-582*) h: 15815636 1957888 unused 0 0 #(Cyl. 582*-5289*)
disklabel
コマンドの出力で,使用されていないパーティションがいくつかあることが分かります。
ただし,パーティション
c
は他のパーティションと重なっているため,使用することはできません。
ディスクにカスタム・ディスク・ラベルが作成されていない限り,使用可能な標準パーティションのテーブルは,表 6-1
に示す 3 種類だけです。
表 6-1: ディスク・パーティション・テーブル
パーティション・テーブル | 説明 |
c |
ディスク全体が,シングル・パーティションとしてラベル付けされます。
他のパーティションは
c
と重なり合うため,使用することはできません。 |
a b g h |
ディスクは 4 つのパーティションに分割されます。
パーティション
a
は,ブート・パーティションとして使用できます。
パーティション
c ,d ,e ,および
f
は重なり合うため使用できません。 |
a b d e f |
ディスクは 5 つのパーティションに分割されます。
パーティション
a
は,ブート・パーティションとして使用できます。
パーティション
c ,g ,および
h
は重なり合うため使用できません。 |
ステップ 1.c の
disklabel
コマンドの出力にリストされているディスクでは,すでにパーティション
a
,b
,d
,および
e
が使用されています。
このため,このディスクには 5 つのパーティションが定義されています。
パーティション
f
は,未使用のため,新しいファイル・システム用に使用することができます。
注意
カスタム・ディスク・ラベルがディスクに書き込まれ,パーティションが拡張されている場合は,パーティションが未使用でも使用することはできません。 この場合には,
newfs
コマンドはファイル・システムを作成できず,エラー・メッセージを表示します。
次のように
newfs
コマンドを使用して,ターゲット・パーティションにファイル・システムを作成します。
# newfs /dev/rdisk/dsk0f Warning: 2574 sector(s) in last cylinder unallocated /dev/rdisk/dsk0f: 5749746 sectors in 1712 cylinders of \ 20 tracks, 168 sectors 2807.5MB in 107 cyl groups (16 c/g, 26.25MB/g, 6336 i/g) super-block backups (for fsck -b #) at: 32, 53968, 107904, 161840, 215776, 269712, 323648, 377584, 431520, 485456, 539392, 593328, 647264, 701200, 755136, 809072, 863008, 916944, 970880, 1024816, 1078752, 1132688, 1186624, 1240560, . . .
コマンドの出力には,新しいファイル・システムのサイズが表示され,ファイル・システムのチェック・ユーティリティ
fsck
が使用するスーパブロック・バックアップがリストされます。
詳細については,リファレンス・ページの
fsck
(8)
以降の項で説明するように,ファイル・システムをマウントします。
6.3.2 ファイル・システムをユーザからアクセス可能とする
mount
コマンドを使用してファイル・システムをファイル・システム階層構造に接続すると,ファイル・システムが使用できるようになります。
mount
コマンドは,ファイル・システムをそのマウント・ポイントとなる既存のディレクトリに接続します。
注意
このオペレーティング・システムでは,4 K バイト・ブロック・サイズのファイル・システムはサポートしていません。 ファイル・システムの省略時のブロック・サイズは,8 K バイトです。 4 K バイト・ブロック・サイズのファイル・システムを含むディスク上のデータにアクセスするには,テープまたは 8 K バイト・ブロック・サイズのファイル・システムを持つディスクにデータのバックアップをとる必要があります。
システムのブート時には,/etc/fstab
ファイルで定義されたファイル・システムがマウントされます。
/etc/fstab
ファイルには,ファイル・システムが存在するデバイスとパーティション,マウント・ポイント,ファイル・システム・タイプなどファイル・システムに関する情報を指定するエントリが記述されています。
シングルユーザ・モードで使用している場合,ルート・ファイル・システムは読み取り専用モードでマウントされます。
ファイル・システムのマウント時に "dirty file system" エラーが表示された場合,そのファイル・システムに対して
fsck
コマンドを実行する必要があります。
ファイル・システムのマウント状態を変更するには,-u
オプションを指定して
mount
コマンドを実行してください。
このオプションは,リブートするときに
/etc/fstab
ファイルが利用できない場合に役立ちます。
リブートしようとして
/etc/fstab
ファイルが壊れている場合は,次のコマンドを使用します。
# mount -u /dev/disk/dsk0a /
/dev/disk/dsk0a
デバイスはルート・ファイル・システムです。
6.3.3 /etc/fstab ファイルの使用
ルート・ファイル・システムには,AdvFS と UFS のどちらも使用できます。
ただし,インストレーションの際に UFS を指定しないと,省略時のファイル・システムとして AdvFS が使用されます。
出荷時にオペレーティング・システムがインストール済みのシステムでは,ルート・ファイル・システムは AdvFS です。
オペレーティング・システムは,ルート・ファイル・システムを 1 つだけサポートし,そこから実行可能カーネル (/vmunix
) と,ブートや初期化に必要なその他のバイナリやファイルにアクセスします。
ルート・ファイル・システムは,ブート時にマウントされ,アンマウントすることはできません。
他のファイル・システムは,マウントしなければならず,/etc/fstab
ファイルで,ブート・システムに対してどのファイル・システムをどこにマウントするかを指示します。
/etc/fstab
ファイルにはファイル・システムについての情報が記述されており,mount
コマンドなどのコマンドによって読み取られます。
システムをブートすると
/etc/fstab
ファイルが読み取られ,そのファイルに記述されているファイル・システムがファイルに記述されている順番にマウントされます。
各ファイル・システムの情報は 1 行で記述されており,各行の情報はタブまたはスペースで区切られています。
mount
コマンドと
umount
コマンドは,/etc/fstab
ファイルに記述されている順にファイル・エントリを読み取り実行するため,ファイル内のエントリの順番は重要です。
/etc/fstab
ファイルを編集するには,root ユーザ特権が必要です。
ファイルの変更後,すぐに変更を有効にしたい場合は,mount
-a
コマンドを実行します。
このコマンドを実行しなかった場合,ファイルに対するすべての変更内容は,システムのリブート時に有効となります。
次に
/etc/fstab
ファイルの例を示します。
/dev/disk/dsk2a / ufs rw 1 1 /dev/disk/dsk0g /usr ufs rw 1 2 /dev/disk/dsk2g /var ufs rw 1 2 /usr/man@tuscon /usr/man nfs rw,bg 0 0 proj_dmn#testing /projects/testing advfs rw 0 0 | | | | | [6] | | | | [5] | | | [4] | | [3] | [2] [1]
各行にはエントリが 1 つ含まれており,情報はタブまたはスペースで区切られています。
/etc/fstab
ファイルの各エントリは次の情報を表します。
マウントするブロック型特殊デバイスまたはリモート・ファイル・システム。 UFS の場合は,特殊ファイル名として文字型特殊ファイル名ではなく,ブロック型特殊ファイル名を指定します。 AdvFS の場合には,特殊ファイル名はファイル・ドメインの名前,番号記号 (#) およびファイルセット名の組み合わせです。 [例に戻る]
ファイル・システムまたはリモート・ディレクトリのマウント・ポイント (たとえば
/usr/man
),あるいは
/projects/testing
[例に戻る]
cdfs |
ISO 9660 または HS 形式の CD-ROM ファイル・システム |
nfs |
NFS |
procfs |
デバッグに使用する
/proc
ファイル・システム |
ufs |
UFS ファイル・システムまたはスワップ・パーティション |
advfs |
AdvFS ファイル・システム |
そのパーティションに対するマウント・オプションを指定します。 オプションは,コンマで区切って複数指定できます。 通常,次のように,ファイル・システム・タイプに適したマウント・タイプおよび追加オプションを指定します。
ro
ファイル・システムを読み取り専用アクセスでマウントします。
rw
ファイル・システムを読み取り書き込みアクセスでマウントします。
userquota
groupquota
ファイル・システムが
quotacheck
コマンドにより自動的に処理され,quotaon
コマンドでファイル・システム・クォータが有効になるように指定します。
省略時の設定では,ファイル・システムのユーザおよびグループのクォータは
quota.user
ファイルと
quota.group
ファイルに含まれていますが,これらのファイルは,マウント・ポイントによって指定されたディレクトリにあります。
たとえば,/usr
にマウントされているファイル・システムのクォータ定義ファイルは
/usr
ディレクトリに置かれています。
また,次に示す形式で別のファイル名と位置を指定することもできます。
userquota=/var/quotas/tmp.user
xx
ファイル・システムのエントリを無視します。
バックアップする UFS ファイル・システムを決定するために
dump
コマンドが使用する値。
値 1 を指定すると,ファイル・システムはバックアップされます。
値を指定しないか,または 0 (ゼロ) を指定すると,ファイル・システムはバックアップされません。
[例に戻る]
これはパス番号で,/etc/fstab
ファイル内のすべてのエントリを処理するときに,fsck
(UFS) および
quotacheck
(UFS と AdvFS) ユーティリティの並列処理を制御するために使用します。
このフィールドを使用して,スタートアップ時のファイル・システムの検査の順番を制御することで,同じ I/O サブシステムへ過度の I/O が集中してシステムが過負荷になるのを防ぎます。
パス番号を指定しないか,0 (ゼロ) を指定した場合は,ファイル・システムは検査されません。 パス番号が 1 のエントリはすべて,一度に 1 つずつ処理されます (並列処理は行われません)。 ルート・ファイル・システムには,必ず 1 を指定してください。 パス番号が 2 以上のエントリは,割り当てられたパス番号に従って並列処理されます (例外もあります)。 パス番号が 2 のエントリがすべて処理された後にパス番号 3 のエントリが処理され,パス番号 3 のエントリがすべて処理された後にパス番号 4 のエントリが処理されます。 以降,同様に処理が続きます。 例外は,同じディスク上の異なるパーティションに複数の UFS ファイル・システムがある場合や,同じドメイン内に複数の AdvFS ファイルセットがある場合です。 これらのファイル・システムのパス番号がすべて同じ場合には,1 つずつ処理されます。 同じパス番号を持つ他のファイル・システムは,すべて並列処理されます。 [例に戻る]
フィールドおよびオプションについての詳細は,
fstab
(4)
スワップ・パーティションは,次の例のように,/etc/sysconfigtab
ファイルで構成されます。
swapdevice=/dev/disk/dsk0b,/dev/disk/dsk0d vm-swap-eager=1
スワッピングとスワップ・パーティションの詳細については,『ハードウェア管理ガイド』,第 12 章,および
swapon
(8)6.3.4 手動による UFS ファイル・システムのマウント
mount
コマンドを使用してファイル・システムを使用できる状態に設定します。
ファイル・システムを
/etc/fstab
ファイルに追加しない限り,マウントは一時的なものとなり,システムをリブートするとマウントが外されます。
mount
コマンドは,UFS,AdvFS,NFS,CDFS,および
/proc
ファイル・システムをサポートしています。
すべてのファイル・システムに対して次の構文で
mount
コマンドを使用します。
mount
[- adflruv
]
[-o option
]
[-t type
]
[file_system
]
[ mount_point
]
AdvFS では,ファイル・システム引数は domain#fileset の形式になります。 引数として,ファイル・システムおよびマウント・ポイントを指定してください。 マウント・ポイントとは,ファイル・システムをマウントしたいディレクトリです。 このディレクトリは,すでにシステムに存在するものでなければなりません。 リモート・ファイル・システムをマウントする場合は,ファイル・システムの指定には次のいずれかの構文を使用します。
host:remote_directory remote_directory@host
次のコマンドは,現在マウントされているファイル・システムとそのファイル・システム・オプションをリストします。
# mount -l /dev/disk/dsk2a on / type ufs (rw,exec,suid,dev,nosync,noquota) /dev/disk/dsk0g on /usr type ufs (rw,exec,suid,dev,nosync,noquota) /dev/disk/dsk2g on /var type ufs (rw,exec,suid,dev,nosync,noquota) /dev/disk/dsk3c on /usr/users type ufs (rw,exec,suid,dev,nosync,noquota) /usr/share/man@tuscon on /usr/share/man type nfs (rw,exec,suid,dev, nosync,noquota,hard,intr,ac,cto,noconn,wsize=8192,rsize=8192, timeo=10,retrans=10,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60) proj_dmn#testing on /alpha_src type advfs (rw,exec,suid,dev,nosync,noquota)
次のコマンドは,ホスト acton の
/usr/homer
ファイル・システムを,ローカルのマウント・ポイント
/homer
に読み取り/書き込みモードでマウントします。
# mount -t nfs -o rw acton:/usr/homer /homer
一般的なオプションおよびファイル・システム・タイプに固有のオプションについての詳細は,
mount
(8)6.3.5 手動による UFS ファイル・システムのアンマウント
ファイル・システムをアンマウントするには,umount
コマンドを使用します。
以下の状況では,ファイル・システムをアンマウントしなければなりません。
fsck
コマンドでファイル・システムをチェックする場合。
disklabel
コマンドでパーティションを変更する場合。
ただし,パーティションを変更するとディスク上のファイル・システムを破壊する危険性があるので注意してください。
umount
コマンドの構文は次のとおりです。
umount
[- afv
]
[- h host
]
[- t type
]
[ mount_point
]
cd
コマンドを含めて,なんらかのユーザ・プロセスがファイル・システムを使用している場合には,ファイル・システムをアンマウントすることはできません。
このコマンドを起動したときにファイル・システムが使用中の場合は,次のエラー・メッセージが表示されます。
mount device busy
umount
コマンドでルート・ファイル・システムをアンマウントすることはできません。
6.3.6 UFS ファイル・システムの拡張
UFS ファイル・システムの容量は,1 つのディスクまたは Logical Storage Manager (LSM) ボリュームで利用可能なストレージの量まで増やすことができます。 UFS ファイル・システムの容量 (サイズ) を増やす処理のことを,ファイル・システムの拡張といいます。
ファイル・システムがオンライン (マウント状態) の場合は,mount
のオプションで拡張できます。
この操作は,ファイル・システムがオフライン (ディスマウント状態) の場合に
extendfs
コマンドを使用して行うこともできます。
ファイル・システムが満杯であることをシステムが通知した場合,この手順を一時的ソリューションとして使用することも,恒久的なソリューションとして使用することもできます。
ファイル・システムは,ストレージ・デバイスの物理的な限界に達するまで,必要に応じて何度でも拡張できます。
この操作を元に戻すことはできません。
ファイル・システムを元のボリュームに戻すためには,dump
またはバックアップ・ユーティリティを使用してファイル・システムをバックアップしてから,ファイル・システムを適切なサイズのディスク・パーティションへリストアする必要があります。
ファイル・システムを拡張するのに必要な条件は,次のとおりです。
次のように
more
コマンドを使用して
/etc/fstab
ファイルを表示し,ファイル・システムと,ファイル・システムが存在するパーティションを確認します。
# /usr/bin/more /etc/fstab /dev/disk/dsk0a on / type ufs (rw) /proc on /proc type procfs (rw) . . . /dev/disk/dsk15e on /databases type ufs (rw) /dev/disk/dsk4g on /projects type ufs (rw)
この手順はファイル・システムを変更せず,必要な場合に素早く実行できるように設計されています。 ただし,重要なデータ・ファイルはバックアップしてください。
UFS ファイル・システムは,1 つのディスク・パーティションまたは LSM ボリューム上に存在します。 ファイル・システムを拡張するには,次の方法でディスク・スペースを大きくします。
LSM を使用していない場合,未使用の隣接パーティションのサイズを小さくして,ディスク・パーティションのサイズを大きくします。
LSM を使用している場合,LSM コマンドを使用してボリュームを拡張します。 詳細は,『Logical Storage Manager』を参照してください。 この項の例では,LSM を使用していない UFS ファイル・システムについて説明します。
たとえば,現在使用中の次のようなディスクがあるとします。
a
パーティションが,500 MB の 3 次スワップ・パーティションとして使用されている。
b
パーティションが,ユーザ・ファイル専用の 2 GB の UFS ファイル・システムとして使用されている。
g
パーティションと
h
パーティションが未使用で,合計 6 GB のストレージ容量がある。
前述の例では,b
パーティション上の UFS ファイル・システムは,未使用の 6 GB を使用して拡張することができます。
1 回の拡張で 6 GB 全部を使用する必要はありません。
拡張を段階的に行って,ディスク・スペースを節約することができます。
ファイル・システムを拡張するためのディスク容量が不足している場合は,ファイル・システムをバックアップし,新しいディスク・ボリュームとしてリストアします (第 9 章を参照)。
disklabel
コマンドを使用して,ファイル・システムが置かれているパーティションのサイズを再設定します。
次の手順は,disklabel
コマンドの使用方法です。
注意
グラフィック・ディスク構成ユーティリティ
diskconfig
を使用して,この操作を実行することはできません。diskconfig
ユーティリティはパーティションの検査を省略しないので,使用中のパーティションの再構成ができないためです。
パーティションを編集できるように,現在のディスク・ラベルをファイルに保存します。 たとえば,次のコマンドを入力します。
# /sbin/disklabel -r /dev/disk/dsk4 > d4label
保存したラベルを編集して,使用中のパーティションの容量を大きくし,未使用のパーティションの容量を同じだけ小さくします。
.
.
.
b: 10192000 1048576 4.2BSD 1024 8192 16 # (Cyl. 312*- 2750*) g: 7104147 8669377 unused 1024 8192 # (Cyl. 2580*- 5289*)
たとえば,パーティション
b
のサイズを 3,000,000 ブロック大きくするには,ラベルを次のように変更します。
.
.
.
b: 13192000 1048576 4.2BSD 1024 8192 16 # (Cyl. 312*- 2750*) g: 4104147 8669377 unused 1024 8192 # (Cyl. 2580*- 5289*)
ディスク・ラベルをファイルに保存して,エディタを終了します。
編集したファイルを次のように指定して,raw ディスクにラベルを書き込みます。
# /sbin/disklabel -R /dev/rdisk/dsk4 d4label
詳細は,
disklabel
(8)
ディスク・スペースを追加すると,以降の項で説明している方法のいずれかでファイル・システムを拡張できます。
6.3.6.1 ディスマウント状態のファイル・システムの拡張
オフライン状態で使用中のファイル・システムを拡張するには,extendfs
コマンドを使用します。
1 回の操作でパーティション全体に拡張することも,段階的にファイル・システムを拡張することもできます。
extendfs
コマンドを,次のいずれかの方法で使用します。
これらの手順は,ディスク・パーティション・サイズを大きくする準備作業 (6.3.6 項を参照) が完了していることを前提としています。
ファイル・システムをパーティション全体に拡張するには,次のようなコマンドを使用します。
# /sbin/extendfs dsk4 Warning: 1324 sector(s) in last cylinder unallocated /dev/rdisk/dsk4h: 9057236 sectors in 2696 cylinders of 20 tracks, 168 sectors 4422.5MB in 169 cyl groups (16 c/g, 26.25MB/g, 6336 i/g) super-block backups (for fsck -b #) at: 32, 53968, 107904, 161840, 215776, 269712, 323648, 377584,
.
.
.
このコマンドの出力は,新しい UFS ファイル・システムの作成に使用される,/sbin/newfs
コマンドの出力に似ています。
詳細は,
newfs
(8)
利用できるパーティション・スペースの一部だけを使用してファイル・システムを拡張するには,次のように -s オプションを使用します。
# /sbin/extendfs -s 500000
この例では,利用可能なパーティション・スペースのうちの 500,000 ブロックだけを使用し,残りは将来の拡張用に取っておきます。
前述の例のように,/sbin/extendfs
コマンドの出力は,/sbin/newfs
コマンドの出力に似ています。
オンライン (マウント状態) で使用中のファイル・システムを拡張するには,mount
コマンドを使用します。
この手順は,マウント状態のパーティションを確認し,ディスク・パーティション・サイズを大きくする準備作業 (6.3.6 項を参照) が完了していることを前提としています。
mount コマンドの構文は,6.3.4 項で説明されています。
ファイル・システムを拡張するには,-o
オプションとともに
extend
オプションを使用し,マウント・ポイントを次のように指定します。
# /sbin/mount -u -o extend /projects extending file system, please wait.
mount
コマンドは,この操作の完了やエラーは出力しません。
完了するまでの時間はパーティションのサイズによって異なり,場合によっては数分かかります。
このため,df
コマンドを次のように使用して,操作の結果を確認しなければなりません。
# /usr/bin/df /projects
このコマンドの出力により,操作が成功したかどうかを確認できます。
操作が成功しなかった場合は,ディスク・パーティションが正しいかどうかや,マウント・ポイントが存在しているかを確認します。
6.4 SysMan Menu による UFS ファイル・システムの管理
このオペレーティング・システムには,手動によるファイル・システムの作成と管理の他に,グラフィカル・ツールや,さまざまなユーザ環境で使用できる SysMan Menu タスクが用意されています。 SysMan の起動と使用については,第 1 章を参照してください。 共通デスクトップ環境 (CDE) を使用している場合は,他のグラフィカル・ユーティリティが使用できます。 これらのユーティリティは,CDE アプリケーション・マネージャのメイン・フォルダから次のようにしてアクセスします。
CDE フロント・パネルでアプリケーション・マネージャのアイコンを選択します。
「アプリケーション・マネージャ」フォルダ・ウィンドウで「システム管理」アイコンを選択します。
「アプリケーション・マネージャ - システム管理」フォルダ・ウィンドウで「ストレージ管理」アイコンを選択します。
システムにインストールされライセンスされているオプションに従って,このウィンドウでは以下のアイコンが使用できます。
AdvFS グラフィカル・ユーザ・インタフェースを起動するには,このアイコンを選択します。 詳細については,『AdvFS 管理ガイド』を参照してください。
コマンド行で AdvFS
グラフィカル・インタフェースを起動する方法については,
dtadvfs
(8)
SysMan Menu のブート可能テープ作成インタフェースを起動するには,このアイコンを選択します。
このインタフェースを使用して,ブート可能システム・イメージをテープ上に作成します。
このイメージには,スタンドアロン・カーネルと,作成時に選択したファイル・システムのコピーが含められます。
btextract
ユーティリティを使用すると,このイメージを復元することができます。
ブート可能テープ・インタフェースの使用については,第 9 章を参照してください。
詳細は,
btcreate
(8)btextract
(8)bttape
(8)bttape
コマンドを使用すると,コマンド行またはスクリプトからブート可能テープ・グラフィカル・ユーザ・インタフェースを起動できます。
この項で説明している SysMan Storage ユーティリティを起動するには,このアイコンを選択します。
LSM グラフィカル・ユーザ・インタフェースを起動するには,このアイコンを選択します。
LSM を使用すると,システムやアプリケーションから単一のデバイスとして見える仮想ディスク・ボリュームを作成することができます。
詳細については,『Logical Storage Manager』を参照してください。
LSM
コマンドの一覧については,
lsm
(8)
コマンド行からこのインタフェースを起動するには,lsmsa
コマンドまたは
dxlsm
コマンドを使用します。
詳細については,
lsmsa
(8)dxlsm
は,オペレーティング・システムの今後のリリースでは,削除される予定です。
Prestoserve グラフィカル・インタフェースを起動するには,このアイコンを選択します。
Prestoserve は,ディスクへの同期書き込みをディスクではなく,不揮発性メモリに書き込みます。
格納されたデータは,必要に応じて非同期にディスクに書き込まれるか,マシンが停止するときディスクに書き込まれます。
詳細については,『Guide to Prestoserve』を参照してください。
コマンド行インタフェースについては,
presto
(8)
コマンド行からこのインタフェースを起動するには,dxpresto
コマンドを使用します。
詳細については,
dxpresto
(8)
以降の項では,SysMan Menu にある UFS ファイル・システム・ユーティリティについて説明します。
6.4.1 SysMan Menu でのファイル・システムの作業
SysMan Menu には,[ストレージ] という名前のメイン・メニュー・オプションがあります。 このオプションは,次のとおりです。
- ストレージ [storage] - ファイルシステム管理ユーティリティ [filesystems] - 一般的なファイルシステム・ユーティリティ [generalfs] | ファイルシステムのアンマウント [dismount] | 現在マウントされているファイルシステムの表示 [df] | ファイルシステムのマウント [mount] | ローカル・ディレクトリ(/etc/exports)の共有 [export] | ネットワーク・ディレクトリ(/etc/fstab)のマウント [net_mount] - Advanced File System (AdvFS) ユーティリティ [advfs] | AdvFS ドメインの管理 [domain_manager] | AdvFS ファイルの管理 [file_manager] | AdvFS ドメインのデフラグメント [defrag] | 新しい AdvFS ドメインの作成 [mkfdmn] | 新しい AdvFS ファイル・セットの作成 [mkfset] | AdvFS ドメインのファイルの修復 [salvage] | AdvFS ドメインの修復 [verify] - UNIX File System (UFS) ユーティリティ [ufs] | 新しい UFS ファイルシステムの作成 [newfs] - Logical Storage Manager (LSM) の管理 [lsm] | Logical Storage Manager (LSM) の初期化 [volsetup] | Logical Storage Manager (LSM) 管理 [lsmmgr]
各オプションには,基本的なファイル・システムの管理作業を 1 ステップずつ実行するインタフェースがあります。 SysMan Menu の起動と使用方法については,第 1 章を参照してください。 SysMan Station からファイル・システム・ユーティリティを起動することもできます。 たとえば,SysMan Station を使用して「Mounted_Filesystems」ビューを表示している場合は,MB3 を押して次の作業を行うことができます。
マウントされているファイル・システムをアンマウントする「Dismount」などの,利用可能な [Storage] オプションを実行します。
マウント・ポイントや使用されているスペースなど,ファイル・システムのプロパティを表示します。
SysMan Station の「Physical_Filesystems」ビューでは,物理デバイスにマップされているファイル・システムのグラフィカル・ビューを表示し,既存のドメインで AdvFS ファイルセットの作成などの作業を行うことができます。 SysMan Station の起動と使用方法については,第 1 章を参照してください。 ファイル・システム・オプションの使用については,オンライン・ヘルプを参照してください。
次の SysMan Menu の [ストレージ] オプションについては,他のマニュアルで説明します。
『AdvFS 管理ガイド』を参照してください。
『Logical Storage Manager』を参照してください。
以降の項では,SysMan Menu から使用できる [一般的なファイルシステム・ユーティリティ] と [UNIX File System (UFS) ユーティリティ] のファイル・システム作業について説明します。
SysMan Menu のタスクの構成は同じ順序にはなっていませんが,ファイル・システムの一般的な作成手順は,6.3 節に説明されている手順とまったく同じです。
これらのタスクは,ファイル・システムの作成と管理を行うためにいつでも使用できる,汎用のユーティリティです。
6.4.2 SysMan によるファイル・システムのディスマウント
ファイル・システムをディスマウントするには,そのマウント・ポイント,デバイス特殊ファイル名,または AdvFS ドメイン名を指定しなければなりません。
これらの情報は,more
コマンドを使用して
/etc/fstab
ファイルの内容を表示したり,6.4.3 項
に説明されている SysMan Menu の [ストレージ] オプションの [現在マウントされているファイルシステムの表示] を使用して取得することができます。
コマンド行のオプションについては,
mount
(8)umount
(8)
[ファイルシステムのアンマウント] オプションは,SysMan Menu の [ストレージ] オプションから使用できます。 このオプションが表示されていない場合は,メニューを展開して [一般的なファイルシステム・ユーティリティ] を選択します。 [ファイルシステムのアンマウント] オプションを選択すると「ファイルシステムのアンマウント」ウィンドウが表示され,次のフィールドのどちらかを入力するように求められます。 両方のフィールドを入力する必要はありません。
マウント・ポイント
/mnt
など,ファイル・システムが現在マウントされているマウント・ポイントを入力します。
ファイル・システム名
マウントされたパーティションのデバイス特殊ファイル名 (たとえば,/dev/disk/dsk0f
) か,AdvFS ドメイン名 (たとえば,accounting_domain#act
) を入力します。
[適用] ボタンを選択してファイル・システムをディスマウントした後,他のファイル・システムのディスマウント処理を続けるか,[了解] ボタンを選択してファイル・システムをディスマウントして終了します。
6.4.3 SysMan によるマウントされているファイル・システムの表示
マウントされているファイル・システムを表示するオプションが,SysMan Menu の [ストレージ] オプションで使用できます。 メニューを展開して,[一般的なファイルシステム・ユーティリティ - 現在マウントされているファイルシステムの表示] を選択してください。 このオプションを選択すると,次のようなファイル・システムのリストを含む,「現在マウントされているファイルシステムの表示」ウィンドウが表示されます。
/dev/disk/dsk0a / /proc /proc usr_domain#usr /usr usr_domain#var /var 19serv:/share/19serv/tools/tools /tmp_mnt/19serv/tools
このウィンドウに表示される情報は次のとおりです。
次のいずれかのファイル・システムです。
マウントされているデバイス・パーティションに対応する,/dev/*
ディレクトリのデバイス特殊ファイル名。
パス名
/dev/disk/dsk0a
は,ディスク
0
のパーティション
a
を示します。
デバイス名とデバイス特殊ファイルについては,『ハードウェア管理ガイド』を参照してください。
NFS (Network File System) マウントされたファイル・シェア。
このファイル・シェアは,automount
ユーティリティまたは
autofs
ユーティリティによってマウントされている可能性があります。
これらのユーティリティは,エクスポートされているネットワーク・ファイル・システムをローカル・ユーザがアクセス (インポート) したときに,自動的にマウントします。
NFS,automount
,および
autofs
については,『ネットワーク管理ガイド:サービス編』を参照してください。
NFS マウントは一般的に,エクスポートしているホスト・システム名とエクスポート・ディレクトリの順で,次のようにリストされます。
19serv:/share/19serv/tools/tools /tmp_mnt/19serv/tools
19serv:
は,ホスト名識別子とそれに続くコロン (:) です。
/share/19serv/tools/tools
は,エクスポートされているディレクトリのパス名です。
/tmp_mnt/19serv/tools
は,NFS によって自動的に作成される一時的なマウント・ポイントです。
usr_domain#var
などの,AdvFS ドメイン名。
ドメインについては,『AdvFS 管理ガイド』 または
advfs
(4)
file-on-file mount
などの分かりやすい名前。
この名前は,/usr/net/servers/lanman/.ctrlpipe
などのサービス・マウント・ポイントを示します。
/usr
や
/accounting_files
などの,ファイル・システムがマウントされているディレクトリ。
現在マウントされているファイル・システムの数によっては,大規模なリストになることがあります。
このリストでは,/etc/fstab
ファイルにリストされていない,現在の file-on-file マウント情報を知ることができます。
このリストでは,/etc/fstab
ファイルに指定されているファイル・システムでも,現在マウントされていないものは表示されません。
「現在マウントしているファイルシステム」ウィンドウでは,次のオプションが使用できます。
ファイル・システム・データの詳細 (ファイル・システムのプロパティ) を表示するには,このオプションを使用します。 このオプションで表示されるデータは次のとおりです。
File system name: /dev/disk/dsk0a Mount point: / File system size: 132 MBytes Space used: 82 MBytes Space available: 35 MBytes Space used %: 70%
選択したファイル・システムをディスマウントするには,このオプションを使用します。
ディスマウント要求を確認するプロンプトが表示されます。
ファイル・システムが現在使用中の場合や,ユーザが
cd
コマンドを使用して,ディスマウントするファイル・システムへディレクトリを変更している場合でも,そのファイル・システムをディスマウントすることはできません。
ユーザにファイル・システムの使用をやめるように連絡するには,wall
コマンドを使用します。
「現在マウントしているファイルシステム」リストを再表示して,ディスマウントされたファイル・システムを反映するには,このオプションを使用します。
コマンド行でファイル・システムをマウントした場合や,NFS マウントした場合には,ユーティリティを一度終了してから再度起動するまで,新たにマウントされたファイル・システムは表示されません。
「現在マウントしているファイルシステム」ウィンドウを終了して SysMan Menu に戻るには,このボタンを押します。
6.4.4 SysMan によるファイル・システムのマウント
ファイル・システムのマウント操作には,次の前提条件があります。
ファイル・システムは,/etc/fstab
ファイルにリストされていなければなりません。
マウント・ポイントが存在しなければなりません。
存在しない場合は,mkdir
コマンドを使用してマウント・ポイントを作成します。
詳細は,
mkdir
(1)
ファイル・システムがディスク・パーティション上に作成され,そのディスクがオンラインでなければなりません。
SysMan Menu による UNIX ファイル・システム (UFS) の作成については,6.4.7 項を参照してください。
newfs
コマンドによるファイル・システムの手動作成については,6.3.1 項を参照してください。
詳細は,
newfs
(8)
diskconfig
グラフィカル・ユーティリティを使用すると,ディスク・パーティションのカスタマイズとパーティション上のファイル・システムへの書き込みを一度に行うことができます。
diskconfig
コマンドについては,『ハードウェア管理ガイド』を参照してください。
このユーティリティの起動については,
diskconfig
(8)
デバイスがシステムによって認識されている必要があります。
通常,ディスク・デバイスが使用可能どうかはシステムによって自動的に管理されます。 ただし,システムの実行中にデバイスを動的に追加した直後は,システムはそのデバイスをまだ認識していないことがあります。 この場合は,そのデバイスを見つけてオンラインにするように,システムに要求しなければなりません。
この処理を行い,必要に応じて既存のディスクのディスク・デバイスとパーティションの状態をチェックするには,hwmgr
コマンドを使用します。
詳細は,
hwmgr
(8)
通常,ディスク・パーティションのデバイス特殊ファイル (たとえば,/dev/disk/dsk5g
) は,システムが自動的に作成し管理します。
ただし,デバイス特殊ファイルがない場合は,作成する必要があります。
dsfmgr
コマンドについては,『ハードウェア管理ガイド』を参照してください。
各デバイス (Dev ノード) のデバイス特殊ファイルをリストする
dsfmgr
-s
などのコマンド・オプションについては,
dsfmgr
(8)
ファイル・システムをマウントするオプションは,SysMan Menu の [ストレージ] オプションで使用できます。
メニューを展開して [一般的なファイルシステム・ユーティリティ - ファイルシステムのマウント] を選択し,「マウント操作」ウィンドウを表示します。
このインタフェースは,
mount
(8)mount
コマンドの代わりになるものです。
このユーティリティの操作対象は,/etc/fstab
ファイルに現在リストされているファイル・システムだけです。
マウントされているファイル・システムについての情報は,6.4.3 項に説明されている [現在マウントされているファイルシステムの表示] SysMan Menu オプションを使用して取得できます。
「マウント操作」ウィンドウには,次の 4 つの排他的な選択可能オプションがあります。
指定したファイル・システムのマウント
特定のファイル・システムを 1 つマウントするには,このオプションを選択します。 「ファイル・システム名とマウント・ポイント」ウィンドウが表示され,次のどちらかのフィールドへ入力を行うように要求されます。
/etc/fstab
ファイルに指定されているマウント・ポイント・ディレクトリ (たとえば,/cdrom
) を入力します。
/dev/disk/cdrom0c
などのデバイス特殊ファイル名を入力します。
または,usr_domain#usr
などの,AdvFS ドメイン名を入力します。
次に,「ファイル・システムのマウント・オプション」ウィンドウが表示されます。 このウィンドウはさまざまなマウント操作に共通なので,このリストの最後で説明します。
/etc/fstab
にリストされているすべてのファイル・システムのマウント
/etc/fstab
ファイルに現在リストされているすべてのファイル・システムをマウントするには,このオプションを使用します。
このオプションでは,指定されたすべてのパーティションまたはドメインがオンラインで,すべてのマウント・ポイントが作成されていることを前提としています。
次に,「ファイル・システムのマウント・オプション」ウィンドウが表示されます。 このウィンドウはさまざまなマウント操作に共通なので,このリストの最後で説明します。
指定したタイプのファイル・システムだけのマウント
/etc/fstab
ファイルにリストされているファイル・システムのうち,指定したタイプをすべてマウントするには,このオプションを使用します。
このオプションでは,指定されたすべてのパーティションまたはドメインがオンラインで,すべてのマウント・ポイントが作成されていることを前提としています。
次に表示される「ファイル・システムのマウント・オプション」ウィンドウで,ファイル・システムのタイプを指定します。 このウィンドウはさまざまなマウント操作に共通なので,このリストの最後で説明します。 たとえば,AdvFS ファイル・システムだけを選択することができます。
選択したタイプ以外のすべてのファイル・システムのマウント
/etc/fstab
ファイルにリストされているファイル・システムのうち,指定したタイプを除いてマウントするには,このオプションを使用します。
このオプションでは,指定されたすべてのパーティションまたはドメインがオンラインで,すべてのマウント・ポイントが作成されていることを前提としています。
次に表示される「ファイル・システムのマウント・オプション」ウィンドウで,除外するファイル・システム・タイプを指定します。 このウィンドウはさまざまなマウント操作に共通なので,このリストの最後で説明します。 たとえば,UFS ファイル・システムだけを除外するように選択することができます。
「ファイル・システムのマウント・オプション」ウィンドウは,前述したさまざまなマウント操作に共通で,マウント操作の操作特性を追加指定することができます。 実行するマウント操作のタイプによっては,使用できないオプションもあります。 このウィンドウで使用できるオプションは,次のとおりです。
使用可能にしたいアクセス・タイプを選択します。
権限のあるユーザがファイル・システム内のファイルから読み取ったり,ファイルを書き込んだりできるようにするには,このオプションを選択します。
権限のあるユーザがファイル・システムからファイルの読み取りだけを行えるようにしたり,CD-ROM ボリュームなどの読み取り専用メディアをマウントするには,このオプションを選択します。
メニューから,次のいずれかのオプションを選択します。
すべてのファイル・システムを指定するには,このオプションを選択します。
Advanced File System タイプを指定するには,このオプションを選択します。
詳細については,『AdvFS 管理ガイド』または
advfs
(4)
UNIX ファイル・システム・タイプを指定するには,このオプションを選択します。 このファイル・システムの説明については,6.1.4 項を参照してください。
ネットワーク・ファイル・システムを指定するには,このオプションを選択します。
詳細については,『ネットワーク管理ガイド:サービス編
』と,
nfs
(4)
コンパクト・ディスク読み取り専用ファイル・システムを指定するには,このオプションを選択します。
詳細については,
cdfs
(4)
次に説明する「その他のファイル・システム・タイプ:」フィールドに独自のファイル・システムを入力するには,このオプションを選択します。
メモリ・ファイル・システム (RAM ディスク) の
mfs
など,指定するファイル・システムを入力します。
サポートされているファイル・システムについての詳細は,
mount
(8)newfs
(8)
ファイル・システムに対する拡張マウント・オプションを入力します。
たとえば,システム・クラッシュなどでファイル・システムが正常にディスマウントされなかった場合でもそのファイル・システムをマウントできるようにする,dirty
オプションを入力できます。
各種のオプションについての詳細は,
mount
(8)
オプションを指定したら [完了] ボタンを選択して,マウント操作を行い SysMan Menu オプションに戻ります。 「マウント操作」ウィンドウに戻って新しいマウント操作を行うには,[戻る] ボタンを使用します。 マウント操作を打ち切るには,[終了] ボタンを使用します。
フィールドのデータが不完全か誤っている場合は,マウント操作の開始前に,データを修正するように求められます。
6.4.5 SysMan によるローカル・ディレクトリの共用
ファイルの共用を行う場合は,ファイル・システムを
/etc/exports
ファイルに追加します。
この追加により,他のホスト・システムのユーザは,NFS (ネットワーク・ファイル・システム) を介して共用ディレクトリをマウントすることができます。
ASU (Advanced Server for UNIX) をインストールして実行している場合は,PC クライアントとファイル・システムを共用することもできます。
『Advanced Server for UNIX コンセプトとプランニング・ガイド』を参照してください。
また,リモート・ホストが共用ディレクトリをマウントできるように,ご使用のシステムへのネットワーク・アクセスを使用可能にしなければならないこともあります。
たとえば,ホストを
/etc/hosts
ファイルに追加して,NFS を設定し,dxhosts
を実行します。
共用ファイル・システムへの接続を許可するようにシステムを構成する方法については,『ネットワーク管理ガイド:サービス編』を参照してください。
dxfileshare
グラフィカル・ユーザ・インタフェースを使用して,共用ファイル・システムを管理することもできます。
このインタフェースは,コマンド行または CDE の「アプリケーション・マネージャ - 日常管理」フォルダから起動できます。
このフォルダ内の「ファイル共有」オプションを参照してください。
このインタフェースには,オンライン・ヘルプがあります。
このインタフェースの起動についての詳細は,
dxfileshare
(8)
共用ファイル・システムの唯一の前提条件は,共用に適したディスク・ファイル・システムがすでに作成されていることです。
作成方法は,6.3.1 項
(手動) または
6.4.7 項
(SysMan Menu オプションの使用) のとおりです。
共用ファイル・システムは,ディレクトリのパス名 (たとえば,/usr/users/share
) で指定します。
ファイル・システム共用オプションは,次の SysMan Menu [ストレージ] ブランチで使用できます。
- ストレージ [storage] - ファイルシステム管理ユーティリティ [filesystems] - 一般的なファイルシステム・ユーティリティ [generalfs] | ローカル・ディレクトリ(/etc/exports)の共有 [export]
既存のファイル・システムを共用するには,次の手順に従います。
「ローカル・ディレクトリの共有: hostname.xxx.yyy.xxx」ウィンドウの最初のボックスに,既存の共用がディレクトリ・パス名で表示されます。
[追加...] ボタンを押して,ディレクトリをリストに追加します。 「ローカル・ディレクトリの共有: ローカル・ディレクトリの追加」ウィンドウが開きます。
「共有するディレクトリ:」フィールドに,/usr/users/share/tools
などのディレクトリ・パス名を入力します。
ディレクトリを読み取り/書き込みアクセスで共用するか,読み取り専用アクセスで共用するかを選択します。 省略時には,「読み書き両用」が選択されます。
適切なすべてのホスト (リモート・システム) についてディレクトリを共用するか,次のように指定されたホストについてだけディレクトリを共用するかを選択します。
すべてのホストの場合には,これを選択します。
選択したホストだけの場合には,これを選択します。
前の手順で [選択] を選択した場合は,ホスト名とアドレス (たとえば,dplhst.xxx.yyy.com
) を入力します。
このホストは,/etc/hosts
ファイルまたはドメイン・ネーム・サーバ (DNS) によってローカル・ホストが認識できなければなりません。
詳細については,『ネットワーク管理ガイド:サービス編』を参照してください。
[了解] を選択して,データを有効にしダイアログ・ボックスをクローズします。 そして,「ローカル・ディレクトリの共有: host name」ウィンドウに戻ります。
すべての変更は,このウィンドウで [了解] を選択しない限り適用されません。
[了解] を選択すると,そのディレクトリの共用が可能になります。
アクセス・リストからホストを削除します。
読み取り/書き込み許可を変更して共用ファイル・システムへのアクセスを変更するか,選択したホストをアクセス・リストから削除します。
すべてのアクセスを防止するには,共用リストから共用ファイル・システムを削除します。
6.4.6 SysMan によるネットワーク・ファイル・システムのマウント
ネットワーク・ファイル・システム (NFS) を使用すると,他のホストと共用 (エクスポート) される共用ファイル・システムをマウントすることができます。
リモート・ホストへのネットワーク・アクセスを設定するなど,ローカル・システム (ホスト) を構成して NFS 共用ファイル・システムをインポートしなければなりません。
リモート・システム (ホスト) を構成して,/etc/exports
ファイルに自分のシステムを指定しファイル・システムを共用またはエクスポートしなければなりません。
次のいくつかの方法で,NFS 共用ファイル・システムをマウントできます。
マウント・ポイントが作成され,現在のセッションの間だけファイル・システムが接続されます。 何らかの理由でシステムがシャットダウンされると,マウント・ポイントはそのまま残りますが,ファイル・システムの接続は失われます。 この接続は,システムのリブート時には再接続されません。
/etc/fstab
ファイルに共用 NFS ファイル・システムを指定することによる,永続的なマウント。たとえば,/etc/fstab
ファイルには,次のような NFS ファイル・システムのエントリがすでにいくつか定義されている場合があります。
/usr/lib/toolbox@ntsv /usr/lib/toolbox nfs rw,bg,soft,nosuid 0 0
/etc/fstab
ファイルの構造については,6.3.3 項を参照してください。
automount
ユーティリティによる,ユーザの要求に応じた自動マウント。このオプションの使用については,『ネットワーク管理ガイド:サービス編
』と,
automount
(8)automount
を使用すると,ローカル・ユーザはローカル・システムにエクスポートされ共用されるファイル・システムを,透過的にマウントすることができます。
ユーザからのマウント要求に対して絶えず応答する必要はありません。
この項では,NFS 共用を
/etc/fstab
ファイルに永続的に追加したり,共用ファイル・システムを一時的にインポートする方法を説明します。
SysMan Menu オプションを使用した,ファイル・システムの共用 (エクスポート) の処理については,6.4.5 項を参照してください。
「ファイル共用」グラフィカル・ユーザ・インタフェース (GUI) を使用して,共用ファイル・システムを管理することができます。
このインタフェースは,コマンド行,または CDE の「アプリケーション・マネージャ - 日常管理」フォルダから起動することができます。
このフォルダ内の「ファイル共有」オプションを参照してください。
このインタフェースには,オンライン・ヘルプがあります。
このインタフェースの起動については,
dxfileshare
(8)6.4.6.1 共用ネットワーク・ファイル・システムのマウント
NFS ファイル・システムのマウント・オプションが SysMan Menu [ストレージ] オプションで使用できます。
メニューを展開して,[一般的なファイルシステム・ユーティリティ - ネットワーク・ディレクトリ(/etc/fstab
)のマウント] を選択します。
共用ファイル・システムをマウントするには,次の手順に従ってください。
「ネットワーク・ディレクトリのマウント:
hostname」ウィンドウに,/etc/fstab
ファイルにリストされている使用可能な既存の NFS 共用ファイル・システムが表示されます。
このリストには次の情報があります。
ホストの名前と,ローカル・システムにエクスポートされるディレクトリの名前。
共用ファイル・システムがマウントされるローカル・マウント・ポイント。
このマウント・ポイントは,/tools/bin/imaging
のような,ディレクトリのパス名です。
ディレクトリのアクセス・オプション。 アクセス・オプションには,次のものがあります。
共用ファイル・システム上のデータの読み書きをユーザに許可します。 ただし,共用ファイル・システムをエクスポートしているホストが設定したアクセス条件に依存します。
共用ファイル・システム上のデータの読み取りだけをユーザに許可します。
システムが何らかの理由でシャットダウンされた後に再度マウントが行われるかどうかを,次のように示します。
永続的なマウント。
エントリがローカル・システムの
/etc/fstab
ファイルに存在し,リブート後もマウントされます。
一時的なマウント。
ローカル・システムの
/etc/fstab
ファイルにエントリが存在せず,リブート後はマウントされません。
ファイル・システムを NFS 共用ディレクトリのリストに追加するには,[追加...] ボタンを選択します。 「ネットワーク・ディレクトリのマウント: ネットワーク・ディレクトリの追加」ウィンドウが表示されます。
このオプションを使用すると,ファイル・システムが,省略時のオプション
hard
(応答を受信するまでリトライ) と
bg
(バックグラウンドでのマウント) でマウントされます。
これらのオプションについての詳細は,
mount
(8)6.4.7 SysMan による UFS ファイル・システムの作成
newfs
コマンドによる UFS ファイル・システムの手動作成については,6.3.1 項で説明しています。
同じ前提条件とデータ・ソースが,SysMan Menu オプションによるファイル・システムの作成時にも適用されます。
ただし,SysMan Menu オプションでは,標準ディスク・パーティションのみに制限されます。
カスタム・パーティションを使用する場合は,『ハードウェア管理ガイド』に説明されている
diskconfig
ユーティリティを使用してください。
まず,次のデータ項目を取得します。
ファイル・システムが格納される場所について。 次のいずれかの方法で指定します。
ファイル・システムを作成するディスク・パーティションのデバイス特殊ファイル名。
たとえば,ディスク 13 のパーティション
h
の場合には,/dev/disk/dsk13h
です。
LSM アプリケーションを使用している場合は,LSM ボリューム名。 詳細については,『Logical Storage Manager』を参照してください。
RZ1DF-CB などの,ディスク・モデル。
この情報は,次のように
hwmgr
コマンドを使用して取得できます。
# hwmgr -view devices
または,SysMan Station Hardware View を使用します。
ディスクを選択し,MB3 を押して,ポップアップ・メニューで [Properties...] を選択すると,そのデバイスの詳細が表示されます。
ディスク・モデルの情報ソースは,/etc/disktab
ファイルです。
/etc/disktab
ファイルの構造については,
disktab
(4)
ファイル・システムに,ブロック・サイズや最適化などの特定のオプションが必要かどうか判断します。
オプションの完全なリストについては,
newfs
(8)
新しい UFS ファイル・システムを作成するオプションは,SysMan Menu の [ストレージ] オプションから使用できます。 メニューを開いて,[UNIX File System (UFS) ユーティリティ - 新しい UFS ファイルシステムの作成] を選択します。 次に,「新しい UFS ファイルシステムの作成」ウィンドウが表示されます。
ファイル・システムを作成するには,次の手順に従います。
「パーティションか LSM ボリューム」フィールドに,ファイル・システムを格納するディスク・パーティションまたは LSM ボリュームの名前を入力します。
「ディスク・タイプ」フィールドに,HB00931B93 などの,ディスク・モデルの名前を入力します。
「拡張 newfs オプション」フィールドに,64 K バイトのブロック・サイズを示す -b 64 など,オプション・フラグを入力します。
使用するオプションが不確かな場合は,すべてのフィールドをクリアしてから [適用] を選択してください。
これにより,フラグ・オプションのリストを含む,newfs
情報ウィンドウが表示されます。
[了解] を選択して,ファイル・システムを作成し SysMan Menu を終了するか,[適用] を選択して,ファイル・システムを作成し他のファイル・システムの作成を継続します。 操作を終了する場合は,[取消] を選択します。
新しく作成したファイル・システムをマウントするには,6.4.4 項で説明した SysMan Menu オプションの [ファイルシステムのマウント] を使用します。
6.5 クォータの管理
以降の項では,UFS のユーザ・クォータとグループ・クォータについて説明します。 また,AdvFS も,ファイルセットのスペース使用量を制限するクォータをサポートしています。 AdvFS ファイルセットのクォータについては,『AdvFS 管理ガイド』を参照してください。 このドキュメントには,ユーザ・クォータおよびグループ・クォータについての,AdvFS 固有の情報も説明されています。
システム管理者は,ファイル・システムに対してクォータを設定することにより,ユーザ・アカウントおよびグループの単位で使用量の制限を設けることができます。 このため,ユーザ・クォータおよびグループ・クォータは,ファイル・システム・クォータと呼ばれます。 また,ファイル・システム・クォータは,ユーザ・アカウントとユーザ・グループの単位で,使用するディスク・ブロック数を制限することから,ディスク・クォータと呼ばれます。
ユーザ・アカウントおよびグループへのクォータの設定は,ファイル・システムごとに行います。 たとえば,1 つのユーザ・アカウントがファイル・システム上の複数のグループのメンバになり,別のファイル・システム上の別のグループのメンバにもなることができます。 この場合,このユーザ・アカウントに対するファイル・システム制限は,そのファイル・システム上にある,このユーザ・アカウントのファイルに対する制限となります。 ユーザ・アカウントのクォータが超過するのは,そのファイル・システム上で使用しているブロック (または i ノード) 数が超過した場合です。
ユーザ・アカウントのクォータと同様,グループのクォータが超過するのは,特定のファイル・システム上で使用されているブロック (または i ノード) 数が超過した場合です。 ただし,グループのブロックまたは i ノードを使用して,グループのクォータとしてカウントされるのは,作成されたファイルにグループのID (GID) が割り当てられている場合だけです。 グループのメンバが書き込みを行っても,グループの GID が割り当てられていないファイルは,グループのクォータとしてはカウントされません。
注意
クォータ・コマンドでのブロック・サイズは,一般的な 512 バイトではなく,1024 バイトで表示されます。
ユーザ・アカウントまたはユーザ・グループに割り当て可能なブロック数および i ノード数 (またはファイル数) の上限を設定するために,ファイル・システムにクォータを適用することができます。
各ファイル・システム上で,ユーザまたはユーザ・グループごとに,異なるクォータ値を設定することができます。
/usr/users
などのホーム・ディレクトリを持つファイル・システムは他のファイル・システムと比較して使用量が増大する可能性が高いため,これらのファイル・システムにクォータを設定することが考えられます。
/tmp
ファイル・システムにクォータを設定することは避けてください。
6.5.1 物理クォータ制限と論理クォータ制限
ファイル・システム・クォータには,論理 (ソフト) クォータ制限と物理 (ハード) クォータ制限を設定することができます。 物理制限に達した場合,制限を超えるようなディスク・スペースの割り当てまたはファイルの作成は許可されません。 物理制限とは,クォータ制限が有効な場合に許可される値を 1 単位 (ブロック,ファイル,i ノードなど) 超えた値です。
クォータは,上限値まで (上限値は含まない) を指します。 たとえば,ファイル・システムの各ユーザ・アカウントに対して 10,000 ディスク・ブロックの物理制限を設定した場合,9,999 ディスク・ブロックが割り当てられると,アカウントは物理制限に達します。 ユーザ・アカウントに対して最大 10,000 ブロックを完全に割り当てたい場合は,物理制限として 10,001 を設定しなければなりません。
論理制限ではある一定の間 (猶予期間) 上限を超えることができます。 猶予期間を過ぎても論理制限を越えている場合,十分なディスク・スペースを解放するかまたはファイルを削除して,論理制限に設定されたディスク・スペース使用量またはファイル数を下回るまで,ディスク・スペースの割り当てまたはファイルの作成は許可されません。
システム管理者は,ユーザが現在の作業を終了し,ファイルを削除して設定されている制限をクォータが下回るようにするための十分な猶予期間を設定しなければなりません。
注意
ファイルの書き込み中に,物理制限および論理制限の両方のクォータ制限に到達した場合は,ファイルが部分的に書き込まれることがあります。 この結果,ファイルを別の場所に保存するか,処理を停止しない限り,データが失われます。
たとえば,ファイルの編集中にクォータ制限を超えた場合は,データが失われる可能性があるため,エディタを打ち切ったり,ファイルへの書き込みを行ったりしないでください。 この場合,使用中のエディタから一度抜け出し,ファイルを削除してからエディタに戻ります。 または別のファイル・システムにファイルを書き込んだ後,クォータに達したファイル・システムから不要なファイルを削除し,ファイルをもとのファイル・システムに移動して戻すことができます。
UFS にファイル・システム・クォータを設定するには,次の手順を実行します。
システム構成にファイル・システム・クォータ・サブシステムが組み込まれるようにシステム構成ファイルを編集します。
/sys/conf/NAME
システム構成ファイルに次の行を追加します。
options QUOTA
/etc/fstab
ファイルを編集してファイル・システムのエントリの 4 番目のフィールドを変更し,rw
および
userquota
か
groupquota
を設定します。
詳細については,
fstab
(4)
quotacheck
コマンドを使用して,クォータ・ファイルを作成します。
クォータ・サブシステムは,現在の割り当てとクォータの上限値をクォータ・ファイルに格納します。
quotacheck
コマンドについての詳細は,
quotacheck
(8)
edquota
コマンドを使用してクォータ・エディタを起動し,各ユーザに対するクォータ・エントリを作成します。
edquota
は,指定した各ユーザまたは各グループごとにテキスト・エディタで編集できる一時的な ASCII ファイルを作成します。
このファイルを編集して,クォータを設定する各ファイル・システムのエントリ,および論理制限,物理制限,および猶予期間を記述します。
2 つ以上のユーザ名またはグループ名を
edquota
コマンド行に指定した場合,編集内容は各ユーザまたはグループに対して反映されます。
またプロトタイプを使用すると,6.5.3 項に説明されているように,ユーザ・グループに対するクォータを迅速に設定することもできます。
quotaon
コマンドを使用して,クォータ・システムを起動します。
設定したクォータの有効化についての詳細は,
quotaon
(8)
システム・スタートアップ時にファイル・システム・クォータを確認して有効にするには,次のコマンド使用して
/etc/rc.config
ファイルのファイル・システム・クォータ構成変数を設定します。
# /usr/sbin/rcmgr set QUOTA_CONFIG yes
注意
QUOTQ_CONFIG
に yes を設定すると,スタートアップ時にquotacheck
コマンドが UFS ファイル・システムに対して実行されます。 AdvFS では,このサービスは必要ありません。 次のコマンドを使用すると,スタートアップ時にquotacheck
コマンドを,UFS と AdvFS ファイル・システムの両方に対して強制的に実行することができます。 ただし,この使用方法はお勧めしません。# /usr/sbin/rcmgr set QUOTACHECK_CONFIG -a
省略時の,UFS だけの
quotacheck
動作に戻すには,次のコマンドを使用します。# /usr/sbin/rcmgr set QUOTACHECK_CONFIG ""
クォータ制限を解除する場合は,quotaoff
コマンドを使用します。
また,umount
コマンドは,クォータ制限を解除してからファイル・システムをアンマウントします。
詳しい説明については,
quotaoff
(8)6.5.3 ユーザ・アカウントへのファイル・システム・クォータの設定
ファイル・システム・クォータをユーザに設定するには,クォータ・プロトタイプを作成するか,既存のクォータ・プロトタイプをそのユーザ用にコピーします。
クォータ・プロトタイプは,既存のユーザ・クォータをプロトタイプ・ファイルにしたもので,他のユーザに対して同一のユーザ・クォータを生成する場合に使用できます。
プロトタイプの作成には,edquota
コマンドを使用します。
クォータ・プロトタイプがない場合は,次の手順で作成してください。
root でログインし,次の構文で
edquota
コマンドを使用します。
edquota
proto-user users
たとえば,ユーザ
eddie
に対して
large
という名前のクォータ・プロトタイプを設定するには,次のコマンドを入力します。
# edquota large eddie
これによって,ユーザ
eddie
に対して
large
クォータ・プロトタイプが作成されます。
users
引数には,実際のログイン名を使用しなければなりません。
edquota
プログラムでオープンされたクォータ・ファイルを編集して,ユーザ
eddie
からアクセスできる各ファイル・システムにクォータを設定します。
既存のクォータ・プロトタイプをユーザ用に使用するには,次の手順に従います。
edquota
コマンドを次の構文で入力します。
edquota -p
proto-userusers
たとえば,large
プロトタイプを使用してユーザ
marcy
に対するファイル・システム・クォータを設定するには,次のコマンドを入力します。
# edquota -p large marcy
ユーザ
marcy
に対して,期待したとおりにクォータが設定されているか確認します。
期待したとおりでない場合は,クォータ・ファイルを編集して,ユーザ
marcy
からアクセスできる各ファイル・システムに新しいクォータを設定します。
ユーザ・ファイル・システム・クォータを設定している場合,クォータ・システムを定期的に確認する必要があります。
quotacheck
,quota
,および
repquota
コマンドを使用して,設定された上限を実際の使用量と比較することができます。
quotacheck
コマンドは,実際のブロック使用量が,設定された制限に合っているかどうかを確認します。
quotacheck
コマンドは,ファイル・システムでクォータが最初に有効になったとき (UFS と AdvFS) と,各リブート後 (UFS のみ) の 2 回実行してください。
このコマンドは,システムが処理をまったく行っていない場合に,より正確な情報を示します。
quota
コマンドは,ファイル・システムの各ユーザごとに,実際のブロック使用量を表示します。
quota
コマンドは,root ユーザのみが実行できます。
repquota
コマンドは,指定されたファイル・システムに関する実際のディスク使用量とクォータを表示します。
ユーザごとに,現在のファイル数とディスク使用量 (K バイト単位) をクォータとともに表示します。
設定済みのクォータを変更する場合は,edquota
コマンドを使用します。
このコマンドは各ユーザの上限の設定や変更を行うものです。
ファイル・システム・クォータについての詳細は,
quotacheck
(8)quota
(1)repquota
(8)6.6 ファイル・システムのバックアップとリストア
AdvFS および UFS の両方のファイル・システム用の主なバックアップおよびリストア・ユーティリティは,vdump
ユーティリティと
vrestore
ユーティリティです。
これらのユーティリティは,AdvFS ファイル・システムと UFS ファイル・システムのローカル操作で使用されます。
これらのユーティリティについては,
vdump
(8)vrestore
(8)rvdump
と
rvrestore
です。
UFS
ファイル・システムだけをバックアップする管理者は,
dump
(8)restore
(8)
AdvFS のバックアップおよびリストア操作の例は,『AdvFS 管理ガイド』で説明しています。 UFS のバックアップおよびリストア操作の例は,第 9 章で説明しています。 この章では,ブート可能テープの作成処理についても説明しています。 このテープは,厳密な意味ではバックアップではありませんが,ルート・ファイル・システムと重要なシステム・ファイルのブート可能テープのコピーを作成することができます。 ルート・ディスクの破壊などの障害時に,このテープからシステムをブートして,システムを回復することができます。
この他にも,第 9 章で説明されている Networker Save and Restore というアーカイブ・サービスがあります。
6.7 ファイル・システムのモニタリングとチューニング
以降の項では,UFS ファイル・システムの情報表示および検査に使用するコマンドについて説明します。
また,ファイル・システムのチューニングの基本的な情報についても説明します。
チューニングについての詳細は,『システムの構成とチューニング』を参照してください。
6.7.1 UFS の一貫性の検査
fsck
プログラムは,UFS ファイル・システムを検査して,ディスクへのファイルの保存が確実に行えるように修復を行います。
fsck
プログラムは,参照されていない i ノード,空きリスト内の存在しないブロック,スーパブロック内のカウントの誤りなどの,ファイル・システムの矛盾を修復できます。
ファイル・システムは,不適切なシャットダウン手順,ハードウェア障害,停電,電源のサージなど,いろいろな状況で壊れることがあります。
また,マウントされているファイル・システムに物理的に書き込み保護をかけたり,マウントされているファイル・システムをオフラインにしたり,システムをシャットダウンする前に
sync
コマンドを使用しなかった場合にも,ファイル・システムが壊れることがあります。
システムはブート時に
fsck
を非対話形式で実行し,安全に行える修復については自動的に実行します。
システムが予期していなかった矛盾を発見すると
fsck
プログラムは終了し,システムはシングルユーザ・モードになります。
この際,fsck
プログラムを手動で実行するよう警告メッセージが表示されます。
手動で実行すると,fsck
はプロンプトを表示するため,ユーザは yes または no で応えることができます。
fsck
プログラムを呼び出すコマンドの構文は,次のとおりです。
/usr/sbin/fsck
[options ...
]
[file_system ...
]
ファイル・システムの指定を省略すると,/etc/fstab
ファイル内の全ファイル・システムが検査されます。
ファイル・システムを指定する場合は,必ず raw デバイスを使用します。
コマンド・オプションについての説明は,
fsck
(8)
注意
ルート・ファイル・システムを検査するには,シングルユーザ・モードでなければなりません。 また,ファイル・システムは読み取り専用でマウントされていなければなりません。 システムをシャットダウンしてシングルユーザ・モードにするには,第 2 章に説明されている
shutdown
コマンドを使用します。
6.7.2 ファイル・システムのディスク使用量のモニタリング
適切な量のディスクの空きスペースを確保するには,次のいずれかの方法で,構成されているファイル・システムのディスク使用量を定期的にモニタリングする必要があります。
df
コマンドを使用して,使用可能な空きスペースを確認する。
du
コマンドまたは
quot
コマンドを使用して,ディスクの使用量を確認する。
ファイル・システム・クォータを設定している場合は,quota
コマンドを使用してファイル・システム・クォータを確認する。
quota
コマンドは,root ユーザのみ使用できます。
6.7.2.1 使用可能な空きスペースの確認
構成されているファイル・システムに十分なスペースを確保するには,df
コマンドを定期的に使用して,マウントされているすべてのファイル・システムのディスクの空きスペースの容量を確認しなければなりません。
df
コマンドは,指定されたファイル・システムの空きディスク・スペース,または指定されたファイルを含むファイル・システムの空きディスク・スペースについての統計値を表示します。
df
コマンドの構文は次のとおりです。
df
[- eiknPt
]
[-F fstype
]
[file
]
[ file_system
...]
df
コマンドの引数やオプションを省略すると,マウントされているすべてのファイル・システムの空きディスク・スペースが表示されます。
df
コマンドは,各ファイル・システムのサイズを 512 バイトのブロック単位で表示します。
ただし,-k
オプションを指定すると,サイズは K バイトのブロック単位で表示されます。
このコマンドは,スペースの総容量,現在使用中の容量,現在使用可能な (未使用の) 容量,使用率,およびファイル・システムがマウントされているディレクトリを表示します。
AdvFS ファイル・ドメインに対しては,df
は各ファイルセットのディスク使用量を表示します。
ファイル・システムがまったくマウントされていないデバイスを指定した場合,df
はルート・ファイル・システムの情報を表示します。
ファイル・パス名を指定すると,そのファイルが含まれるファイル・システムの使用可能なディスク・スペース量を表示することができます。
df
コマンドにブロック型特殊デバイス名または文字型特殊デバイス名を指定して,アンマウントされたファイル・システムの空きスペースを表示することはできません。
この場合には,dumpfs
コマンドを使用してください。
詳細については,
df
(1)
次の例では,マウントされているすべてのファイル・システムに関するディスク・スペース情報を表示しています。
# /sbin/df Filesystem 512-blks used avail capacity Mounted on /dev/disk/dsk2a 30686 21438 6178 77% / /dev/disk/dsk0g 549328 378778 115616 76% /usr /dev/disk/dsk2 101372 5376 85858 5% /var /dev/disk/dsk3 394796 12 355304 0% /usr/users /usr/share/man@tsts 557614 449234 52620 89% /usr/share/man domain#usr 838432 680320 158112 81% /usr
注意
newfs
コマンドは,割り当てやブロック・レイアウト用に,一定の割合のファイル・システム・ディスク・スペースを予約します。 このためdf
コマンドでは,ファイル・システムの使用量が容量の 100 % を超えた値で報告されることがあります。tunefs
コマンドで -minfree フラグを指定することにより,この割合を変更することができます。
ファイル・システムに使用可能スペースが十分にない場合は,du
コマンドまたは
quot
コマンドを使用して,スペースがどのように使用されているかを確認します。
du
コマンドは,ディスク・スペース割り当てを,ディレクトリごとに正確に表示します。
この情報によって,ディスク・スペースを最も多く使用しているユーザや,ディスク・スペースを解放すべきユーザを判断することができます。
du
コマンドの構文は次のとおりです。
/usr/bin/du
[- aklrsx
]
[ directory
... filename
...]
du
コマンドは,指定されたディレクトリ,指定されたファイル名,または現在の作業ディレクトリ (何も指定されたなかった場合) 内の全ディレクトリに含まれるブロックの数を再帰的にリストして表示します。
システムが使用するクラスタ・サイズにかかわらず,ブロックは,各ファイルの間接ブロックを 1 K バイト単位でカウントします。
オプションを省略すると,各ディレクトリに対するエントリのみが生成されます。
コマンド・オプションについての詳細は,リファレンス・ページの
du
(1)
次の例では,/usr/users
ディレクトリの各サブディレクトリで使用しているブロック数を表示しています。
# /usr/bin/du -s /usr/users/* 440 /usr/users/barnam 43 /usr/users/broland 747 /usr/users/frome 6804 /usr/users/norse 11183 /usr/users/rubin 2274 /usr/users/somer
この情報から,ユーザ rubin が最も多くのディスク・スペースを使用していることが分かります。
次の例では,/usr/users/rubin/online
ディレクトリ内の各ファイルおよびサブディレクトリで使用しているスペースを表示しています。
# /usr/bin/du -a /usr/users/rubin/online 1 /usr/users/rubin/online/inof/license 2 /usr/users/rubin/online/inof 7 /usr/users/rubin/online/TOC_ft1 16 /usr/users/rubin/online/build . . . 251 /usr/users/rubin/online
du
コマンドの代わりに,ls
-s
コマンドを使用してファイルのサイズと使用量を取得することもできます。
使用量を取得する際には,ls
-l
コマンドは使用しないでください。
ls
-l
コマンドでは,ファイル・サイズだけが表示されます。
quot
コマンドを使用すると,指定したファイル・システム内で現在各ユーザが所有しているブロック数をリストすることができます。
quot
コマンドの実行には,root ユーザ特権が必要です。
quot
コマンドの構文は次のとおりです。
/usr/sbin/quot
[-c
]
[-f
]
[-n
]
[file_system
]
次の例では,/dev/disk/dsk0h
ファイル・システム内で各ユーザが使用しているブロック数と,各ユーザが所有しているファイル数を表示します。
# /usr/sbin/quot -f /dev/disk/dsk0h
デバイスをマウントするとブロック型デバイス特殊ファイルはビジーになるため,UFS ファイルの情報を表示するためには文字型デバイス特殊ファイルを使用しなければなりません。
詳細は,
quot
(8)6.7.3 UFS 読み取り効率の改善
UFS の読み取り効率を向上するには,tunefs
コマンドを使用して,レイアウト・ポリシに影響する,ファイル・システムの動的パラメータを変更します。
tunefs
コマンドの構文は次のとおりです。
tunefs
[- a maxc
]
[- d rotd
]
[- e maxb
]
[- m minf
]
[- o op t
]
[ file_s
]
tunefs
コマンドは,マウントされたファイル・システムとアンマウントされたファイル・システムの両方に使用できます。
ただし,変更は,アンマウントされたファイル・システムに対してコマンドを使用した場合のみ可能です。
ルート・ファイル・システムを指定した場合は,変更内容を有効にするにはリブートしなければなりません。
コマンド・オプションを使用すると,ディスク・パーティション・レイアウト・ポリシに影響する動的パラメータを指定することができます。
コマンド・オプションについての詳細は,
tunefs
(8)sys_attrs_ufs
(5)6.8 ファイル・システムのトラブルシューティング
次のツールを使用すると,UFS ファイル・システムに関連する問題の解決に役立ちます。
UNIX シェル・オプションの使用
UNIX シェル・オプションは,経験豊かな管理者のためのインストレーション・オプションです。 このオプションは,オペレーティング・システムのテキスト・インストレーションまたはグラフィカル・インストレーションのどちらかでも使用できます。 たとえば,このオプションを使用すると,壊れたルート・ファイル・システムの回復を行うことができます。
このインストレーション・オプションの概要については,『インストレーション・ガイド』を参照してください。 このオプションで実行できる,ファイル・システム関連の管理については,『インストレーション・ガイド -- 上級ユーザ編』を参照してください。 このインストレーション・オプションは,AdvFS と UFS の両ファイル・システムの問題に使用できます。
/usr/field
ディレクトリと
fsx
コマンドの使用
/usr/field
ディレクトリには,オペレーティング・システムのフィールド管理に関連するプログラムが置かれています。
このディレクトリ内のプログラムを使用して,オペレーティング・システムの構成要素およびシステム・ハードウェアをモニタしたり操作することができます。
fsx
ユーティリティはファイル・システムを操作します。
このユーティリティについては,
fsx
(8)tapex
) およびディスク・エクササイザ (diskx
) などの,このディレクトリ内の他のプログラムは,ファイル・システムの問題を調査するときに役立ちます。
UFS ファイル・システムの情報を表示するには,dumpfs
ユーティリティを使用します。
詳細については,
dumpfs
(8)
ファイル・システムの問題に関連したイベントをフィルタ処理して表示するには,EVM (イベント・マネージャ) を使用します。 このユーティリティは,ファイル・システムおよびストレージ・デバイスの予防保守の設定とモニタに役立ちます。 詳細については,第 13 章を参照してください。
ファイル・システムのグラフィカル・ビューを表示し,ディスク・スペース不足などのファイル・システムの問題をモニタリングしたり,トラブルシューティングを行うには,SysMan Station と Insight Manager を使用します。 詳細については,第 1 章を参照してください。