質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
NFS

NFS (Network File System) とは、ネットワークを介して外部ストレージにアクセスするための分散ファイルシステムです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

解決済

[CentOS7] rpcbindとnfs-serverが自動起動しない

Reiku
Reiku

総合スコア40

NFS

NFS (Network File System) とは、ネットワークを介して外部ストレージにアクセスするための分散ファイルシステムです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

1回答

1グッド

0クリップ

38546閲覧

投稿2017/02/05 06:22

実現したいこと

CentOS7にて、他サーバーからNFSでマウント可能な、NFSサーバーを構築したい。

直面した問題

手順に沿ってパッケージの導入/各種サービスの起動/Firewallの調整を行ったところ、
問題なくNFSクライアントサーバーからのマウントが可能となった。
行った手順を箇条書きすると下記のとおり。

・nfs-utilsを導入
・NFSマウント関連のポートを解放
・nfs-server,rpcbindの自動起動設定

しかし、NFSサーバーを再起動(reboot)して、再度NFSクライアントから
マウントをしようとすると、マウントに失敗。(というか、NFSサーバーから応答がない)

不思議に思い、NFSサーバー側のサービスの稼働状況を確信したところ、
rpcbindとnfs-serverが起動していなかった。

# systemctl status rpcbind nfs-server ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled) Active: inactive (dead) ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled) Active: activating (start) since 日 2017-02-05 14:45:23 JST; 3min 5s ago Process: 875 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 876 (rpc.nfsd) CGroup: /system.slice/nfs-server.service └─876 /usr/sbin/rpc.nfsd 8

rpcbindを起動しようと試みるも、
起動に失敗。journalctlでログを確認したところ、下記のエラーが発生していた。

# systemctl start rpcbind A dependency job for rpcbind.service failed. See 'journalctl -xe' for details. systemd[1]: Dependency failed for RPC bind service. systemd[1]: Job rpcbind.service/start failed with result 'dependency'.

よくよく見てみると、rpcbindの自動起動設定が、
何故かenbaledではなく、indirectになっていたため、
設定し忘れたのかと思い、再度enabledに設定。
再度起動を試みると何故か起動可能。

# systemctl list-unit-files -t service | grep "rpcbind" rpcbind.service indirect # systemctl enable rpcbind # systemctl start rpcbind # systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled) Active: active (running) since 日 2017-02-05 14:52:40 JST; 7s ago Process: 1168 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS) Main PID: 1169 (rpcbind) CGroup: /system.slice/rpcbind.service └─1169 /sbin/rpcbind -w

しかし、この時点でもまだ、rpcbindの自動起動はindirectになっている模様。
とりあえず、nfs-serverも起動してみると、問題なく起動。

# systemctl start nfs-server # systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled) Active: active (exited) since 日 2017-02-05 14:56:46 JST; 50s ago Main PID: 876 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service

この時点で再度NFSクライアントからマウントを試みると、問題なくマウント可能なことが確認できた。
だが、再度NFSサーバーを再起動したところ、同様の状況(rpcbindとnfs-serverが自動起動していない)に
陥り、再び同様の操作をしたところ、解消。

他にも試したこと

・nfs-utilとrpcbindを削除し、再度インストールして設定し直し。
→ 解消せず

質問したいこと

軽く見た感じ、rpcbindへの自動起動設定が効いていないように見えます。これはなぜでしょうか?
nfs-serverが起動していないのは、rpcbindが起動していないことが原因であると考えています。

また、可能ならば、サーバー起動時にNFSマウントが可能な状態にしたいです。
何か解決策などありましたら、ご教授いただければと思います。

そもそも、私の解釈自体が致命的に間違っている可能性があるため、
その場合は、その点をご指摘いただければと思います。

mit0223👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

rpcbind.servicerpcbind.socket が必要です。

systemctl enable rpcbind.socket

また、rpcbind.servicenfs-server.service から自動起動されますので、indirect のままでいいはずです。

投稿2017/02/05 07:24

TaichiYanagiya

総合スコア11946

mit0223👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

Reiku

2017/02/05 08:09

回答ありがとうございます。 >> rpcbind.service は rpcbind.socket が必要です。 rpcbindのUnitファイルを確認したところ、理解しました。rpcbind.socketのstatusを確認したら、こっちがうまく起動出来ていなかったようです。rpcbind.socketのUnitファイル内に「BindIPv6Only=ipv6-only」の設定があるにも関わらず、カーネルパラメータ側でIPv6を無効にしていたことが原因だと思います。(よくよくjournalctlでログを確認したら、IPv6が利用できない旨のエラーが出ていました)とりあえず、「BindIPv6Only=both」とすることで、rpcbind.socketが問題なく起動、nfs-serverも起動しました。再起動後も問題なく動作しています。 ありがとうございました。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

NFS

NFS (Network File System) とは、ネットワークを介して外部ストレージにアクセスするための分散ファイルシステムです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。