ネットワーク素人が、さくらクラウドで負荷分散構築した時のメモ4【Fileサーバー編】
前回のネットワーク素人が、さくらクラウドで負荷分散構築した時のメモ3【DBサーバー編】 - なりせなるてずからひき続きです。
今回で最終回です。
前回までの構成で以下のようになりました。
今回はファイルサーバを構築します。
NFSとは
NFSとはWindowsで言うところの共有フォルダです。
Sambaとか、あとはデフォルトのグループ機能とかみたいなもんですね。
元々1台のサーバで運営してた頃はwebもDBもファイルも全部1台だったので気にしなくてよかったのですが、Webサーバーを複数にしたので例えば画像をアップロードするとロードバランサで振り分けられた方のWebサーバのみにしか画像は存在しない事になります。
それでは画像がある方のWebサーバに接続された時しか画像が表示されてないのでNFSの出番です。
NFSサーバに複数のwebサーバからアクセスすれば問題ありません。
rsyncで同期すればいいんじゃね?とか思ってたんですが、お互いがMasterになるのでちゃんと同期出来ないみたいです。
Nix::WebLab : lsyncd の双方向同期はヤメておけ!
実はNFSを導入前に試そうと思ったんですが、上記の記事見てガクブルしたので辞めました。
Fileサーバーの設定
接続先の変更
もうyumを使わないので、ローカルネットワークに接続先を変更します。
当該サーバの電源操作からシャットダウンし、NICの接続先をローカル用のスイッチに変更します。
前回同様なのではしょります。
共有するディレクトリを作る
# mkdir -p /export/kyoyu
/exportディレクトリはNFSの共有用のディレクトリらしいです。
Windowsユーザーに教えるLinuxの常識(2):各ディレクトリの役割を知ろう(ルートディレクトリ編) (1/2) - @IT
「kyoyu」の部分は好きな名前にしてください
オーナーとグループの変更
# chown -R nfsnobody:nfsnobody /export
クライアント側の設定
今回はWebからのみFileサーバーにアクセスするので以下の設定をwebサーバに行います
rpcbindのインストール
# yum install rpcbind
iptablesの設定
# vim /etc/sysconfig/iptables
以下を貼り付け
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32765:32768 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 747 -j ACCEPT
rpcbindの起動
# /etc/init.d/rpcbind start
rpcbindの自動起動設定
# chkconfig rpcbind on
マウント用ディレクトリの作成
# mkdir /home/mount
ディレクトリの場所は任意です
マウントする
# mount -t nfs 192.168.0.10:/export/kyoyu /home/mount
IPアドレスはFileサーバーのIPアドレスにしてください。
確認
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda3 97G 20G 72G 22% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/vda1 98M 52M 41M 57% /boot 192.168.0.10:/export/kyoyu 97G 4.5G 88G 5% /home/mount
マウントされた!(∩´∀`)∩ワーイ
あとは画像とかWebサーバー間で共有が必要なファイルのパスをマウント先にしてやることで読み書きが出来ます!
参考にしたサイト
はじめての自宅サーバ構築 - Fedora/CentOS - ファイルサーバの構築(nfs)
[CentOS6] NFSサーバ構築 - OSSでLinuxサーバ構築