AMD(8)

名称
amd - 自動マウントファイルシステム

書式
amd -H amd [-F conf_file] amd [-nprvHS] [-a mount_point] [-c duration] [-d domain] [-k kernel-arch] [-l logfile] [-o op_sys_ver] [-t timeout.retransmit] [-w interval] [-x log-option] [-y YP-domain] [-C cluster-name] [-D option] [-F conf_file] [-O op_sys_name] [-T tag] [ directory mapname [-map-options]] ...

解説
amd は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを マウントするデーモンです。マウントされたファイルシステムは、アクセスがな ければ自動的にアンマウントされます。

amd は、自分自身を NFS サーバとして、指定された directory に結び付けます。 その指定ディレクトリ内でのファイルアクセスは amd によって処理されます。 amd は、 mapname で定義されたマップを使って、あるディレクトリ にどのファイルシステムを割り当てるかを決定します。 一般に mapname は、ホスト名やファイルシステムの情報、 マウントオプションから構成されます。

前述の最初の形式では、 amd は短いヘルプ文字列を表示します。 第 2 の形式では、オプションを指定しないか、 -F が使用されると、 amd は設定パラメータをファイル conf_file から読み込みます。設定ファイルのデフォルトは /etc/amd.conf です。 最後の形式についてはここから記述します。

オプション

-a temporary-directory
    実際にファイルシステムをマウントする位置を指定します。 デフォルトは /.amd_mnt です。

-c duration
    ディレクトリが使われないときに、探索に使われた名前をキャッシュ して保持する秒数を指定します。デフォルトは 5 分です。

-d domain
    ローカルドメイン名を指定します。もしこのオプションが与 えられなければ、ドメイン名はホスト名から決定されます。

-k kernel-arch
    カーネルアーキテクチャを指定します。これは単に ${karch} セレクタ を指定するだけです。

-l logfile
    マウントおよびアンマウントのイベントを記録するログファイル を指定します。 もし、 logfile が syslog という文字列なら、ログメッセージは syslog(3) によってシステムログデーモンに送られます。 デフォルトの syslog ファシリティは LOG_DAEMON です。 変更したい場合は、ログファイル名の後にコロンで区切って、 その名前を付けてください。 例えば、 logfile が文字列 “syslog:local7” である場合、 amd は、 syslog(3) の LOG_LOCAL7 ファシリティを使用してログを取ります (ただしシステムに本ファシリティが存在する場合)。

-n  ホスト名を正規化します。${rhost}で参照される名前は、使わ れる前にホストデータベースに関連づけて正規化されます。 これは、エイリアスを ``公式 (official)'' ホスト名に変換する効果があります。

-o op_sys_ver
    組み込まれているオペレーティングシステムバージョン番号を上書きします。 後方互換性のために、 組み込みのバージョン番号が望ましくない場合に有用です。 例えば、組み込みのバージョン番号が “2.5.1” の場合、 “5.5.1” で上書きして、後者を意識して書いた古いマップを使用することができます。

-p  プロセス ID を表示します。 amd のプロセス ID を標準出力に出力して、ファイルに保存することができます。

-r  存在するマウントをリスタートします。 amd はマウントファイルテーブルをスキャンして、 現在マウントされているファイルシステムを判断します。 ファイルシステムが自動マウントされたものであれば、 amd は、その情報を 継承 します。

-t timeout.retransmit
    NFS/RPC のリトライの間隔、すなわち NFS タイムアウト間隔を、 10 分の 1 秒単位で指定します (UDP のみ)。 デフォルト値は 0.8 秒です。2 番目の値は再送カウンタを変更します。 デフォルト値では 11 回の再送です。 カーネルは、両方の値を使用して amd と通信します。 どちらか一方か、両方の値が設定されていなければ、 適当なデフォルト値が設定されます。

    amd は、 カーネルの RPC 再送機構がマウントリトライの引き金となることに依存しています。 これらのパラメータ値は、総合的なリトライ間隔を変更します。 間隔が長くなり過ぎると、対話応答が劣化します。 間隔が短くなり過ぎると、リトライが増え過ぎます。

-v  バージョンを表示します。標準エラー出力に設定情報を表示します。

-w interval
    キャッシュする時間を超えたファイルシステムのマウントを解除する時間を 秒単位で指定します。デフォルト値は 2 分です。

-x options
    実行時に何をログに記録するかを指定します。 options には次のものをコンマで区切って使用できます: fatal, error, user, warn, info, map, stats, all。

-y domain
    NIS マップをとってくる際に用いる NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。 このオプションは、 NIS を動かしていないときには無視されます。

-C cluster-name
    代わりの HP-UX クラスタ名を指定します。

-D option
    デバッグオプションの種類を選択することができます。 option の頭に no をつけると、そのオプションの逆の影響を与えます。 オプションは並べて指定することができます。もっとも役に立つのは all です。

    -D はデバッグのときにだけ使うものであるため、ここでは他のオプションに ついては説明しません。サポートされているオプションは -v オプションで表示されますが、詳細はソースコードに記述されています。

-F conf_file
    使用する amd 設定ファイルを指定します。 ファイル形式については amd.conf(5) を参照してください。 この設定ファイルの用途は、 コマンドラインにて多くのオプションをタイプする代りに、 これらのオプションを指定することです。 amd.conf ファイルは、 amd が持つすべてのコマンドラインオプションに対するディレクティブと、 設定ファイルによってのみ利用可能な多くの設定を含みます。 本オプションで指定された設定ファイルは、 他のオプションすべてが処理された後で処理されます。 本オプションがコマンドラインのどこに置かれていたかは無関係です。

-H  ヘルプと使用方法の文字列を表示します。

-O op_sys_name
    組み込まれているオペレーティングシステム名を上書きします。 後方互換性のために、 組み込みの名前が望ましくない場合に有用です。 例えば、組み込みの名前が “sunos5” の場合、 “sos5” で上書きして、後者を意識して書いた古いマップを使用することができます。

-S  amd の実行中の実行可能ページをメモリにロックしません。 amd の性能向上のために、 plock(3) コールをサポートするシステムでは amd プロセスをメモリにロック可能です。 この場合、オペレーティングシステムが必要に応じて amd プロセスをスケジュールしたり、ページアウトしたり、スワップする 機会が減ります。 amd の性能は向上する傾向がありますが、 amd プロセスが使用するメモリを (他のプロセスが使えないようにして) 予約してしまうというコストとなります。 この動作が望ましくない場合、 -S を使用します。

-T tag
    amd.conf(5) で使用するタグを指定します。 タグが付いている全マップエントリが処理されます。 タグが付いていないマップエントリは常に処理されます。 tag 以外のタグが付いているマップエントリは処理されません。

関連ファイル

/.amd_mnt
    動的にファイルシステムがマウントされるディレクトリ

/etc/amd.conf
    デフォルトの設定ファイル

警告
マウントマップを作成する場合には注意が必要です。

NFS ファイルシステム上のシンボリックリンクは、信じられないほど 非効率的です。 NFS を実装した多くのシステムでは、 シンボリックリンクの展開結果はカーネルがキャッシュせずに、 lookuppn (パス名変換)時にシンボリックリンクに出会うたびに NFS サーバに対して RPC コールを行うようになっています。 キャッシュをどこかに加えることによって、かなり大きな性能の向上が 得られるはずです。 上手に実現したオートマウントシステムで symlink(2) を置き換えれば大きくスピードアップすることができますが、 同時に多くのコンテキストスイッチも起こします。

amd のすべての機能を駆使できれば非常に便利ですが、 それにはかなりの想像力が必要になります。

関連項目
domainname(1), hostname(1), syslog(3), amd.conf(5), mtab(5), amq(8), mount(8), umount(8) Amd - The 4.4 BSD Automounter..

http://www.cs.columbia.edu/~ezk/am-utils/

作者
Jan-Simon Pendry <jsp@doc.ic.ac.uk>, Department of Computing, Imperial College, London, UK.

Erez Zadok <ezk@cs.columbia.edu>, Department of Computer Science, Columbia University, New York, USA.

am-utils の、他の作者および貢献者は、 am-utils とともに配布されている AUTHORS ファイルに記述されています。

歴史
amd は 4.4BSD にはじめて導入されました。