経験豊富なシステム管理者であろうと、通常のユーザーであろうと、おそらくすでにLinuxにドライブをマウントしています。
ドライブはマシンにローカルにすることも、たとえばNFSプロトコルを使用してネットワーク経由でアクセスすることもできます。
ドライブを永続的にマウントすることを選択した場合は、おそらくfstabファイルに追加されています。
幸いにも、AutoFSユーティリティを使用することにより、ドライブをマウントするより良い、より費用対効果の高い方法があります。
AutoFSは、ローカルドライブまたはリモートドライブがアクセスされたときにのみマウントするユーティリティです。このチュートリアルでは、LinuxシステムにAutoFSをインストールして構成する方法を学びます。
目次
前提条件
起動する前に、ホスト上でsudo権限を持っていることが重要です。それを確認するには、単に”-v”オプションを付けて”sudo”コマンドを実行します:オプションが表示されない場合は、行ってもいいです。
$ sudo -v
sudo権限を持っていない場合は、Debianベースのホストの場合はthis tutorial、CentOSベースのシステムの場合はthis tutorialに従うことができます。
LinuxへのAutoFSのインストール
AutoFSユーティリティをインストールする前に、パッケージがリポジトリで最新であることを確認する必要があります。システムが更新されたので、”autofs”引数を指定して”apt-get install”コマンドを実行することでAutoFSをインストールできます。
$ sudo apt-get install autofs
AutoFSパッケージをインストールすると、インストールプロセスは次のようになります :
- /etcディレクトリにautoのような複数の設定ファイルを作成します。ご主人様、auto.net、オートsystemdにAutoFSサービスを作成します。
- “automount”エントリを”nsswitch”に追加します。インストール直後に、AutoFSサービスが”systemctl status”コマンドで実行されていることを確認してください
$ sudo systemctl status autofs
$ sudo systemctl status autofs
autofsサービスを起動時に実行できるようにすることもできます
$ sudo systemctl enable autofs
autofsがシステムに正しくインストールされたので、最初のマLinuxでAutoFSがどのように動作するか
AutoFSに関しては、”Maps”が重要な概念です。
AutoFSでは、マウントポイントをファイル(間接マップと呼ばれる)でマッピングするか、マウントポイントを場所またはデバイスでマッピングします。デフォルトの設定では、AutoFSはautofsで定義されたマップを読み込むことから始まります。/etcディレクトリ内のマスターファイル。
そこから、マスターファイルで定義されたマップファイルで定義されたすべてのマウントポイントのスレッドを開始します。
スレッドを開始することは、AutoFSを最初に起動したときにマウ
デフォルトでは、五分の非アクティブの後、AutoFSはもはや使用されていないマウントポイントをマウント解除(またはアンマウント)します。注:AutoFSの設定パラメータは/etc/autofsで使用できます。conf
最初の自動マップファイルの作成
AutoFSがどのように機能するかについてのアイデアが得られたので、最初のAutoFSマッ
/etcディレクトリに、”auto”という名前の新しいマップファイルを作成します。例”。
$ sudo touch /etc/auto.example
このマップファイルの目的は、ネットワーク上のあるコンピュータにあるNFS共有をマウントすることです。NFS共有は、ローカルネットワーク上のIP192.168.178.29/24にあり、/var/shareにあるドライブをエクスポートします。
NFS共有を自動マウントする前に、手動でマウントし、リモートサーバーに接続できることを確認することをお勧めします。
$ ping 192.168.178.29
直接マップの作成
AutoFSを使用して作成できる最も簡単なマッピングは、直接マップまたは直接マッピングと呼ばれます。
直接マップは、あるマウントポイントを場所(NFSの場所など)に直接関連付けます
例として、ブート時にNFS共有を/tmpディレクトリにマウントしたいとしましょう。…..
直接マップを作成するには、”auto”を編集します。例”ファイルを作成し、その中に次の内容を追加します。
# Creating a direct map with AutoFS# <mountpoint> <options> <remote_ip>:<location> /tmp -fstype=nfs 192.168.178.29:/var/share
今、あなたはあなたの”auto”に直接マップを追加する必要があります。マスター”ファイル。
直接マップを参照していることを指定するには、”-“表記を使用する必要があります
# Content of the auto.master file/- auto.example
マスターファイルが変更された場合は、変更を有効にするためにautofsサービスを再起動できます。
$ sudo systemctl restart autofs$ cd /tmp
おめでとう、直接マッピングを介してNFS経由でファイルにアクセスできるようになりました。
間接マッピングの作成
直接マッピングを発見したので、間接マッピングを使用してファイルシステム上のリモートロケーションをマウントする方法を見てみましょう。
間接マッピングは、直接マッピングと同じ構文を使用しますが、わずかな違いがあります。それを理解するには、”auto”という名前のファイルを作成します。p>
nfs -fstype=nfs 192.168.178.29:/var/share
ご覧のように、最初の列が変更されました:直接マップでは、マウントポイントへのパス(たとえば/tmp)を使用していますが、間接マッ
キーは、マウントポイントのディレクトリにあるディレクトリ名を表します。”自動”を編集します。
“自動”を編集します。
p>
/tmp /etc/auto.nfs
AutoFSサービスを再起動し、”tmp”ディレクトリに向かいます
AutoFSサービスを再起動し、”tmp”ディレクトリに向かいます
AutoFSサービスを再起動し、”tmp”ディレクトリに向かいますp>
$ sudo systemctl restart autofs$ cd /tmp
デフォルトでは、このディレクトリの内容を一覧表示すると何も表示されません。autofsはアクセスされたときにのみディレクトリをマ
AutoFSがディレクトリをマウントするには、”auto”で指定したキーにちなんで名前が付けられたディレクトリに移動します。nfs”ファイル(この場合は”nfs”と呼ばれます)
$ cd nfs
素晴らしい!
マウントポイントがアクティブになり、ディレクトリの参照を開始できます。
遠いホームディレクトリのマッピング
直接マッピングと間接マッピングについてもう少し理解したので、一つの質問をするかもしれません。
有用であるために、間接マップはワイルドカード文字で使用されることを意図しています。
AutoFSユーティリティの主なユースケースの一つは、ホームディレクトリをリモートでマウントできることです。
ただし、ユーザー名があるユーザーから別のユーザーに変更されると、きれいで見栄えの良いマップファイルを持つことができなくなり、すべてのユーザーを非常に冗長な方法でマップする必要があります。
# Without wildcards, you have very redundant map files/home/antoine <ip>:/home/antoine/home/schkn <ip>:/home/schkn/home/devconnected <ip>:/home/devconnected
幸いなことに、サーバー上で利用可能なものに応じて動的にディレクトリを作成できる構文があります。これを説明するために、”auto”という名前の新しいファイルを作成します。あなたの/etcディレクトリに”ホーム”とそれを編集を開始します。
# Content of auto.home* <ip>:/home/&
この場合、wilcardsが二つあり、サーバー上の/homeディレクトリにあるすべてのディレクトリがクライアント上の同じ名前のディレクトリにマッ
これを説明するために、192.168.178.29IPアドレスで実行されているNFSサーバーがあり、ユーザーのすべてのホームディレクトリが含まれているふりをしましょう。p>
# Content of auto.home* 192.168.178.29:/home/&
ファイルを保存して、自動の編集を開始します。間接マッピングを作成するためのマスターファイル
$ sudo nano /etc/auto.master# Content of auto.master/home /etc/auto.home
マスターファイルを保存し、変更を適用するためにAutoFSサービスを再起動します。p>
$ sudo systemctl restart autofs
今、あなたは/homeディレクトリに向かうことができ、あなたは正しくユーザーのためにマウントされたディレクトリを見ることがで/p>
注意 : ディレクトリに何も表示されない場合は、AutoFSによってマウントされるために一度ディレクトリにアクセスする必要があるかもしれないことを覚えておいてください
マッピングと検出あなたのネットワーク上のホスト
あなたは自動に注意を払った場合。マスターファイルでは、おそらく値”-hosts”を持つ/netディレクトリのエントリがあることに気づいたでしょう。
“-hosts”パラメータは、/etc/hostsファイルで定義されているすべてのエントリを表すためのものです。
念のために、”hosts”ファイルは、Ipのセットをホスト名に関連付ける単純でローカルなDNSリゾルバと見なすことができます。例として、マシンのIPとホスト名を入力して、NFSサーバーのエントリを/etc/hostsファイルに定義しましょう。
まず、クライアントで”showmount”コマンドを実行して、いくつかのディレクp>
$ sudo showmount -e <server>
いくつかのディレクトリがエクスポートされていることを確認したので、”auto。master”ファイルを/etcに追加し、次の行を追加します。p>
ファイルを保存し、変更を適用するためにAutoFSサービスを再起動します。p>
$ sudo systemctl restart autofs
これで終わりです!
これで、NFS共有にアクセスできるようになりました。/netディレクトリは、サーバーのホスト名にちなんで命名されました。
$ cd /net/<server_name>$ cd /net/<server_ip>
注意:マウントするにはディレクトリ内を直接移動する必要があることに注意してください。 最初のマウントに/netディレクトリをリストするだけでは表示されません。
トラブルシューティング
AutoFSの設定中に、デバイスがビジー状態のときやリモートホストに接続できないときなど、いくつかの
- マウント/umount : target is busy
Linuxはマルチユーザーシステムなので、マウントまたはアンマウントしようとしている場所を閲覧するユーザーがいるかもしれません(AutoFSを使用するかどうか)
誰がフォルダをナビゲートしているのか、誰がファイルを使用しているのかを知りたい場合は、”lsof”コマンドを使用する必要があります。P>
$ lsof +D <directory>$ lsof <file>
注:”+D”オプションは、リソースを再帰的に使用しているユーザーを一覧表示する順序。
- ホスト検出の設定時にshowmountがハングしています
“-hosts”パラメータを使用してホスト検出を設定しようとした場合、”showmount”コマンドを使用
しかし、場合によっては、”showmount”コマンドは、リモートサーバーに接続できないため、単にハングします。
ほとんどの場合、サーバーファイアウォールはクライアントによる要求をブロックしています。
サーバーにアクセスできる場合は、ファイアウォール(UFWなど)が要求をブロックしているかどうかを確認するためにログを検査しようとします。
- automountユーティリティを使用したデバッグ
最近のディストリビューションでは、autofsユーティリテ結果として、”journalctl”コマンドを使用してautofsログを検査できます。
$ sudo journalctl -u autofs.service
サービスによって行われる自動マウントをデバッグするために、”automount”ユーティリティを使用することもできます。
$ sudo systemctl stop autofs$ sudo automount -f -v
結論
このチュートリアルでは、AutoFSユーティリティについて学びました:それがどのように動作し、直接マップと間接マッまた、host discoveryを設定するために設定できることも学びました。
最後に、ホームディレクトリをその場で自動的に作成するために間接マップを作成する方法を見てきました。あなたがLinuxシステム管理に興味があるなら、私たちはそれ専用の完全なセクションを持っているので、見ていることを確認してください!
p>