(Linux) NFS サーバのマウント方法【fstabとexports使用】

(Linux) NFS サーバのマウント方法【fstabとexports使用】

 

 

この記事では、あるサーバAから、他のサーバBNFSでマウントする方法を紹介する。
特に、fstabexportsという設定ファイルを使用したマウント方法について紹介する。

 

マウントとは(IT)

ITにおけるマウントとは、
他のデバイス(サーバなど)を自身につなげて、操作できるようにすること
を指す。

下記記事にて、ITにおけるマウントは詳しく説明しているので、ITにおけるマウントにおいて詳しく理解しておきたい人は参考にして欲しい(飛ばしOK)。本記事で取り扱うNFSというプロトコルについても紹介している。

 

NFSでマウントする例(fstabとexports使用

本記事ではNFSを用いてマウントする方法(fstabとexports)を紹介する。
その例として、サーバA/var/www/dirAを、サーバB/dirBにマウントするケースを例に詳細な方法を紹介していく。

マウントすると、サーバAからサーバBの/dirBの内容に対して、読み込んだり書き込んだり(※設定するオプションで異なってくる)ができるようになる

NFSを用いてサーバをマウントする画像

 

NFSを用いたマウントを実現するためには、下記の両設定ファイルを編集する必要がある

マウントするために修正するファイル
  • マウントする側のサーバ → /etc/fstab
  • マウントされる側のサーバ → /etc/exports




NFSでのサーバーマウント手順

では具体的にNFSを用いたサーバー同士のマウント手順を説明していく。

 

①始めに、nfsdが起動していることを確認

まずは両サーバーで、
nfsd(NFSデーモン)が起動していることを確認する。以下のコマンドを実行する。

#nfsdが起動していることを確認する

service nfs status

nfsdが起動していない場合は、以下のコマンドでnfsdを起動する。

# nfsdを起動する

service nfs on

 

 

②サーバA(マウントする側)の作業

/etc/fstab の編集

/etc/fstabは、マウントする側のサーバが、マウントするための情報を記載するファイル。
このファイルを編集することで、マウントの設定を変更することができる。

mount-from-etc-fstab

 

viエディタかなんかでfstabを編集する。

今回マウント先サーバBのIPアドレスが192.168.1.2なら、例えば下記のように記述をすることができる(/etc/fstabに追記していく。一行毎に一つのマウント設定)。

##サーバAの/etc/fstabに下記一行を追記

※
※ デフォルトの記述が数行
※
192.168.1.2:/dirB /var/www/dirA nfs rw,auto 0 0    #この行を追記

 

/etc/fstabにはデフォルトで数行記述がしてあるかもしれないが、デフォルトの行なので無視してOKだ。それより下の行に、「#この行を追記」と記載した行を追記すれば良い。

上記/etc/fstabの書式は下記、各項目はスペースで区切る。

192.168.1.2:/dirB /var/www/dirA nfs rw,auto 0 0
 マウント先ポイント マウント元ポイント ファイルシステムの種類(nfs) マウントオプション dumpフラグ ブート時にfsckがチェックする順序

 

見方として大事なのは①と②と③

/etc/fstab書式の見方で重要な部分
  1. マウント先のポイント(ディレクトリ)を指定する。今回のように外部のサーバをマウントポイントにする場合は、「IPアドレス:」を先頭に付与する。マウント先が自身の場合はIPアドレスは省略する。
  2. マウント元となる自身のポイント(dirA)を指定する
  3. には今回nfsでマウントしたいので、nfsと指定する

 

④以降まで書くと、長いので書式は別にまとめた、参考に




③サーバB(マウントされる側)の作業

/etc/exports の編集

/etc/exportsは、マウントされる側のサーバが、マウントされるための情報を記載するファイル。ここに、マウントを許可するデバイスのIPなど、マウントされる側に必要な設定情報を書き込んでいく。

mount-to-etc-exports

 

同じくviエディタかなんかで/etc/exportsを編集していく。

サーバAのIPアドレスが192.168.1.1の場合、例えば下記のように/etc/exportsに記述することができる(/etc/fstab同様、最後尾の一行として追記)。

##サーバBの/etc/exportsに下記一行を追記

/dirB 192.168.1.1(rw,no_root_squash)

 

上記/etc/exportsの書式は下記

/dirB 192.168.1.1 (rw,no_root_squash)
マウント許可ポイント マウントを許可するデバイス
※③との間をスペースで区切らない
オプション
※②との間をスペースで区切らない

 

見方として大事なのは①と②

 

exports書式の見方
  1. マウントを許可するディレクトリ(自身)を指定する
  2. ①に対しマウントしてくるサーバをIPなどで指定する

 

exportsときたら、「②からのマウントを①に許すよ」と覚えよう。

③のオプションは別記事でまとめるほどではないと思ったのでまとめないが、今回は、「マウントされて読み書きされてもok」なオプションが書いてある。

 

④マウントの設定を反映させる、mount -a

最後にサーバA(マウントする側)にて、下記コマンドを実行して、マウントする
※④マウントオプションにautoを指定していること(mount -aの許可オプション)。

#サーバA(マウントする側)にて、実行。fstabの記述のマウント情報を全て反映させる。

mount -a

 

上記は、/etc/fstabに書いたマウント情報を全て反映するコマンドだ。
これで上記サーバBへのマウント情報の記述が反映される。

 

参考までに、mount -aでfstabを使用して一括でマウントするのではなく、fstabをせずに個別のマウントポイントのみマウントしたいよという場合は以下のmount -tが使用できる。

##個別のマウント(fstabを使用しなくても良い)

mount -t nfs [IPアドレス]:[マウント先のパス] [マウント元のパス]

 

 

⑤マウントできているか確認する

最後に、④の手順にて、マウントが正しく実行されたかを確認する。
現在のマウント状態は、下記のコマンドで確認できるので、実行する

#サーバA(マウントする側)にて、実行。マウント状態を確認する。

mount

 

以下は筆者のmacでmountコマンドを打った結果

linux-mount-command-result

一行一行「〇〇 on △△」と言う書式になっている。

これは、〇〇(今回ならサーバB)のマウントポイントは、△△(今回ならサーバAのマウントポイント)からマウントしていますよ」ということを表している。

今回のように他のサーバにマウントしている状態なら、先頭にマウント先のデバイスのIPなどが表示される。なので、今回サーバAでmountを打った場合

192.168.1.2:/dirB on /var/www/dirA(オプション)

 

という行が表示されているはず

 

マウントを解除(umount)する方法

ちなみにマウントを解除するumountコマンドも合わせて紹介する。

書式は以下

umount  マウントポイント

 

今回なら/var/www/dirAがマウントポイントになっているので次のようになる

umount /var/www/dirA

マウントポイントだけ指定してやればいいので簡単

 

nfsを使用したマウントまとめ

最後に、本記事でのまとめをして終わりにしようかと思う。

mountコマンドについて

mountコマンドは、fstabに記述したmountの設定を読み取って表示する
そのうち有効な(書式が正しくてマウントがちゃんと反映されている)ものを表示する。

 

マウントされる側のデバイスを急に死なせない

マウントされている側のデバイスが急に死ぬ(電源が落ちるなど)と、マウントしている側がマウント先を見つけれずループになってエラーになる。

なので必ずアンマウントしてから電源を落とす。

 

 

参考

https://e-words.jp/w/%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88.html

https://linuc.org/study/knowledge/505/

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。