GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /Rhel7でautofsデーモンを構成する方法

目的

autofsデーモンを利用してデバイスとリモート共有を自動マウントする方法を学びます。

要件

  • autofsパッケージをインストールして構成ファイルを編集するためのroot権限

難易度

簡単

はじめに

外部USBドライブやリモートNFSなどのデバイスを手動でマウントおよびアンマウントします またはSamba 共有は、マシンを管理するときに実行する面倒​​なタスクになる可能性があります。 autofs デーモンは、必要に応じてファイルシステムを自動的にマウントし、指定された期間後にファイルシステムをアンマウントするのに役立ちます。このチュートリアルでは、オートマウンターに関連する基本的な概念と、それを構成する方法について説明します。

自動インストール

最初に行うことは、 autofsをインストールすることです パッケージ。公式のCentOS7およびRhel7リポジトリで利用できるため、 yumを使用するだけです。 それを取得するためのパッケージマネージャー:

$ sudo yum install autofs

次のステップは、 autofsを開始することです デーモンを起動し、起動時に有効にします:

$ sudo systemctl enable --now autofs

autofsデーモンの構成

autofsデーモンは、それぞれ独自の目的を持ついくつかのファイルを操作することによって構成されます。基本的に私たちがしなければならないことは、デーモンにいくつかの指示を提供して、デーモンがマウントポイントとデバイスをどのように管理するかを知らせることです(これは私たちが mapと呼ぶものです )、およびオプションで、その動作を変更するために使用できるオプションのセット。それらの構成ファイルとは何か、そしてそれがそれらの役割であるかを見てみましょう。

/ etc / sysconfig/autofsファイル

/ etc / sysconfig / autofs fileは、 autofsのメイン構成ファイルです。 デーモンであり、そのグローバル設定が含まれています。これは、CentOS7.5のデフォルトインストールのファイルコンテンツです:

#
# Init syatem options
#
# If the kernel supports using the autofs miscellanous device
# and you wish to use it you must set this configuration option
# to "yes" otherwise it will not be used.
#
USE_MISC_DEVICE="yes"
#
# Use OPTIONS to add automount(8) command line options that
# will be used when the daemon is started.
#
#OPTIONS=""
#

13行目のコメントを削除し、コマンドライン引数を文字列の形式で OPTIONS の値として渡すことで、デーモンの動作を変更できます。 変数。

例を見てみましょう。デーモンがファイルシステムを自動的にアンマウントするまでのデフォルトの時間間隔を変更するとします。デフォルト値は300です。 秒または5分。 autofsマニュアルを読むことにより( automount(8) )、このパラメータを変更するには、-timeoutを使用する必要があることがわかります。 オプション。パラメータとして、 secondsで表される時間間隔を取ります。 :

 -t , --timeout 
        Set the global minimum timeout, in  seconds,  until  directories
        are unmounted. The default is 10 minutes. Setting the timeout to
        zero disables umounts completely.  The internal program  default
        is 10 minutes, but the default installed configuration overrides
        this and sets the timeout to 5 minutes  to  be  consistent  with
        earlier autofs releases.

たとえば、デフォルトのアンマウントタイムアウトを10分に変更したいとします。これにより、 / etc / sysconfig / autofsを変更する必要があります。 ファイル:

OPTIONS="--timeout=600"

変更を保存した後、新しい構成を有効にするためにデーモンを再起動する必要があります。 systemctl でデーモンのステータスを確認することで、新しいタイムアウトオプションがどのように採用されたかを確認できます。 :

$ systemctl status autofs
autofs.service - Automounts filesystems on demand
   [...]
   CGroup: /system.slice/autofs.service
           └─6452 /usr/sbin/automount --timeout=600 --foreground --dont-check-daemon
   [...]

/etc/auto.masterファイル

auto.master ファイルにはオートマウンターのマスターマップが含まれているため、非常に重要です。 。各マップは、マウントポイントを、マウントするファイルシステムが記述されている構成ファイルに関連付けているため、基本的に別のマップを記述します。マップは次の構文を使用して作成されます:

<mountpoint> <configuration file> <options>

構成は、指定された mountpointであることをデーモンに通知します 指定された構成ファイルに設定されたマップによって管理されます 、提供されたオプションを適用します。これにより、グローバルオプションをオーバーライドできます(これは、たとえば、マウントポイントごとに特定のアンマウントタイムアウトを提供する場合に役立ちます)。具体的な例を見てみましょう。ファイルの7行目を見ると、次のマップが表示されます。

/misc   /etc/auto.misc

この構成は、 / miscを指定します マウントポイントは、 /etc/auto.miscで説明されているマッピングに関心があります ファイル。それらのマップがどのように構成されているかを見てみましょう。

/etc/auto.miscファイル

/etc/auto.masterで見たように ファイル、 / misc マウントポイントは/etc/auto.miscに関連付けられています 構成ファイル。次に、デバイスのマップがどのように定義されているかを理解するために、それを調べます。これはファイルのデフォルトの内容です:

#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

[...]

構成に使用される構文は次のとおりです。

<key> <mount options> <filesystem>

最初に指定する必要があるのは、 keyです。 。 間接マップの場合、このパラメータの値が使用されます (マップの種類はすぐに異なります)メインマウントポイントの下に存在しない場合に作成されるサブディレクトリの名前(この場合は / misc ) 。 / dev / cdrom したがって、デバイスは / misc / cdに自動的にマウントされます ディレクトリ。

提供する2番目の要素は、適用する必要のあるマウントオプションのリストです。この例では、 -fstype オプションは、 roとともにファイルシステムタイプを指定するために使用されています 、 nosuid およびnodev

最後に、ファイルシステムの場所を指定する必要があります。この場合、これはローカルパスであるため、プレフィックスとしてを付ける必要があります。 (コロン)文字。

リモートのNFSの場合 共有するには、 192.168.1.39:/ srv / nfs_shareと記述します。 代わりに、 192.168.1.39 はリモートマシンのアドレス(ホスト名も使用できます)であり、 / srv / nfs_share はその上の共有ディレクトリのパスです。

samba共有を参照する場合は、代わりに -fstype =cifsを指定する必要があります。 オプションとして、リモートマシンのIPと共有ディレクトリのパスを次の形式で指定します。

://192.168.1.39/srv/samba_share

間接、直接、ホストマップ

間接マップについて言及しました 前に、さまざまなタイプのマップについて詳しく見ていきましょう。使用できるマップには、 directの3種類があります。 、間接 およびホストマップ:間接マップの例 / misc の/etc/auto.masterファイルで見たものです マウントポイント。

key があるため、マップは間接と呼ばれます 構成ファイルで指定されたパラメーター( /etc/auto.misc この場合)マウントポイント( / etc / misc )に関連付けられています )、ファイルシステム(:/ dev / cdrom )があるマウントポイントを基準にしたディレクトリの名前として使用されます この例では)がマウントされます。

ダイレクトマップ 、auto.masterファイルでは常に次の構文で指定されます:

/- /etc/auto.misc

/-の場合 マップのマウントポイントとして使用されます。つまり、直接マップを使用しています。この場合、 key マウントポイントに関連付けられた構成ファイルで使用される構文の要素は、絶対パスである必要があります。したがって、上記の例では、次のように記述します。

/cd -fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

最後に、ホストマップを見つけることができます /etc/auto.masterファイルの13行目の例:

/net	-hosts

このようなマップはデフォルトで定義されています。それはどのように機能しますか?ホストマップが指定されると、オートマウンターは指定されたマウントポイント( / net )の下にサブディレクトリを作成します この場合) / etc / hostsにリストされているマシンごとに NFSをエクスポートします シェア。これは、 /etc/auto.netのおかげで可能です。 スクリプト。これから検討します。各共有ディレクトリは、デフォルトで nosuidを使用してマウントされます。 およびnodev オプション。

/etc/auto.netおよび/etc/auto.smbスクリプト

autofsには2つの非常に便利なスクリプトが含まれています インストール: /etc/auto.net および/etc/auto.smb 。これらのスクリプトは基本的に、それぞれ showmountのラッパーです。 およびsmbclient 利用可能なNFSおよびSamba共有を検出するために使用されるプログラム。オートマウンターで使用できる形式で結果が生成されます。

/etc/auto.net スクリプトを使用して、概要を把握し、NFS共有を読み取ることができます。検索するサーバーのホスト名またはIPアドレスを引数として指定することで、スクリプトを呼び出すことができます。

$ sudo /etc/auto.net 192.168.1.39

ここで、共有が見つかったと想像してください。このコマンドは、次のような出力を返します。

/shared 192.168.1.39:/shared

これは、IP 192.168.1.39のマシンでは、 / sharedを意味します。 ディレクトリはNFSを介して共有されます。 hosts mapに基づく /etc/auto.masterファイルで、 /net/192.168.1.39/sharedの共有にアクセスできることがわかりました。 。これは、前に述べたように、hostsマップを使用する場合、NFS共有をエクスポートする/ etc / hostsファイル内の各マシンについて、/netの下に作成されたサブディレクトリであるためです。

/etc/auto.smb 同様の方法で動作します。 NFS共有の場合と同様に、ネットワーク内のsamba共有をオートマウンターによって自動的にマウントする場合、最初に行う必要があるのは、このマップを /etc/auto.master> ファイル:

/cifs /etc/auto.smb

マップを追加したら、デーモンを再起動する必要があります:

sudo systemctl restart autofs

この時点で、 /etc/auto.smbに感謝します スクリプト、ネットワーク内の1つ以上のsmb共有をエクスポートするマシンごとに、ディレクトリが / cifsの下に作成されます。 。たとえば、IPが192.168.122.32のマシンに、 / srv / sambaがあるとします。 sambaを介して共有されるディレクトリ。確認したい場合は、 /etc/auto.smbを実行できます。 そのマシンのIPに対するスクリプト。出力は次のとおりです:

$ /etc/auto.smb 192.168.122.32
-fstype=cifs,guest \
	 "/sambadir" "://192.168.122.32/sambadir"

前に述べたように、スクリプトは smbclientのラッパーです。 、およびオートマウンターが使用できる出力を生成します。共有ディレクトリは、ローカルファイルシステムで、自動的に作成された /cifs/192.168.122.32/内で利用できるようになります。 ディレクトリ:

$ ls /cifs/192.168.122.32
sambadir

レイジーマウントとアンマウント

作成されるマウントポイントの数を最適化するために、オートマウンターはレイジーマウントと呼ばれる手法を使用します 。デバイスが利用可能または検出されるとすぐにマウントする代わりに、ユーザーがファイルシステムにアクセスしようとするまで待機します。その後、マウント操作が実行されます。アンマウントプロセスでも同じことが起こります。指定されたタイムアウト後にデバイスが自動的にアンマウントされます。


Cent OS
  1. CentOS 7.0 / 7.1 / 7.2 / 7.3 / 7.4 / 7.5/7.6をCentOS7.7に更新する方法

  2. CentOS /RHEL7/6にHAProxyをインストールして設定する方法

  3. CentOS/RHEL 8 で firewalld ロギングを構成する方法

  1. CentOS / RHEL 7 :キャッシュのみのネームサーバーを構成する方法

  2. CentOS / RHEL 6,7 :hugepage の設定方法

  3. CentOS/RHEL/Fedora でプロキシを構成する方法

  1. CentOS 7.0 / 7.1 / 7.2 / 7.3 / 7.4/7.5をCentOS7.6にアップグレードまたは更新する方法

  2. RHEL 8 /CentOS8で仮想ネットワークインターフェイスを構成する方法

  3. RHEL 8 /CentOS8にsambaをインストールして設定する方法