WordPressを冗長化した後の運用について


wordpressをActive/Standbyで冗長化したはよいが、実は運用で悩んでいる。単に文字列だけのエントリを投稿するだけであれば、サーバの肩寄せなどせず、単にDBへポンポン放り込んでくれるからである。一方で、以下のような場合は肩寄せ運用をしなくてはならない。

    • 画像つきエントリの投稿
    • プラグインやテーマの追加、削除、アップデート
    • テーマの編集

これらの作業はすべて、Apacheがファイルシステムに書き込みを加えるという共通項がある。対策としては、

    • 書き込みを加える対象以外のApacheを止めて、台数分作業を繰り返す
    • wp-adminなどの特定ディレクトリだけ片寄せする
    • POSTだけ片寄せして、裏でrsyncやlsyncdを使って同期する

くらいであろうか。2~3台程度のサーバであれば、手オペが少々面倒くさいだけで済むが、片寄せを自動化するとなると、WordPressのURLの構造をきちんと理解しないといけないし、もしURL構造の仕様変更があったらそれに追随しなければならない。さりとて、DocumentRootをNASやiSCSIなどで共有したら、単一障害点になってしまう。。。

さらにもう1点、一番重要なのは、エントリの書き手に余計な負担を与えてしまうこと。「画像つきエントリ投稿したけりゃバックエンドのApacheを片方止めてくださーい」なんて、言えないですよねー。なので、ブログの冗長化は自己満足ならいいけど、仕事でやるんだったらここまで考えたほうがいいです。大手のブログの中の人はどうしているのだろう。。。