Ikeda->Weblog();

Ikedaの徒然雑記。

Preparing hard drives for the home network

[TIPS] GlusterFS Server兼Client でボリュームを自動マウントする

| 0件のコメント

[TIPS] Server兼Client でボリュームを自動マウントする9月だっちゅーのに相変わらず暑い日が続きますね~、こんにちは@ikedaです。

とあるサイトの新サーバを構築しているんですが、かなりPVのあるWordPressベースのサイトなので、よくあるWeb2台☓DB1台構成を取りました。当然、アップロードされたコンテンツは両方のWebサーバからアクセスできなければならないため、最近お気に入りのGlusterFSでファイルクラスタを構成しました。

ほぼセットアップも終わり、サーバの再起動テストを行ったところ「Webサーバが起動していない」トラブルが発生しました。
調べてみると、GlusterFSでクラスタ化したドキュメントルートを含むファイルシステムがマウントされていませんでしたヽ(´Д`;)ノ


チュートリアルに書いてあるように /etc/fstab に記述すると glusterd が立ち上がるより先にマウントしようとしてコケてしまう。

まさに同じ現象。

GlusterFSボリュームを起動時に自動マウントさせるには、通常のファイルシステムと同じく /etc/fstab に記述しておくというのがセオリーです。が、この時通常のタイミングだと

「glusterdが起動していないのにファイルをマウントしようとして固まる」
現象が発生してしまうことがあります。今回はこれでした。

前述のブログ主さんは専用のマウントスクリプトを作られたようですが、ふとGlusterFSドキュメントを見ていたところ

自動的にGlusterボリュームをマウントするには

  • デフォルトのポートでボリュームをマウントするには、/ etc / fstabファイルを編集し、次の行を追加します

HOSTNAME-OR-IPADDRESS:/VOLNAME MOUNTDIR glusterfs defaults,_netdev 0 0

For example:

server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0

という一文を発見しました。

よく見るとマウントオプションに「_netdev」なるものがあります。

RHELやCentOSでネットワーク経由のデバイスを起動時にマウントさせたい場合、オプションに _netdev をつけておくのを忘れないように。このオプションを指定されたレコードはネットワークが開始されるまで、マウントを待ってくれる。

NFSとかsshfsとかGlusterFSとかネットワークが有効でないとマウントできないものは必ず_netdevをつけること。

もー、そのものずばりなオプションですな( ̄ω ̄)

ということで、fstab のglusterfsボリュームのマウントオプションに “_netdev” を追加して完了!

おっと、

_netdev オプションを解釈して遅延マウントしてくれるのは /etc/init.d/netfs なので、必ず chkconfig –add で有効化しておきませう。

addを忘れて何度も再起動を繰り返させた私が通りますよー。

コメントを残す