Pleskバックアップが小さなエラーで止まる。。。なんじゃこりゃ??


非常に便利な管理ツールPlesk。
Onyx(Ver.17以降はこの呼称に)になってから、その使い勝手は飛躍的に向上し、やりたいことのほとんどはPleskコントロールパネル上から操作可能になったという感じがします。

Pleskで容易に使えるすごい機能(WEB系・メンテナンス系)

ヘッドライン

PHPのバージョンをホスト毎に選択できる機能

何が一番すごいかというと、PHPのバージョン5~7の詳細バージョンまでを、ホスティングしたホスト(サブドメイン)単位で選択できます。
はっきり言って、革命的な機能です。
ホスティングサービス事業者の一つの悩みは、PHPのバージョンに関する問題です。
細心のバージョンを入れてほしいというお客様と、今動いているソフトがあるので同じバージョン(古いバージョン)からアップデートしてほしくないというお客様がいることです。
管理者としてはより新しいものを導入することでセキュリティを強化しておきたいという意図がある反面、従来動かしていたPHPのバージョンをあげることで、お客様からソフトが動かなくなったというクレームを受け付ける可能性があり、バージョンのアップデートをなかなかやりにくいという面もあります。
Pleskでは、お客様毎、サブドメインレベルでPHPのバージョンを選択できるよう設計され、本気で便利になりました。

おまけにFastCGI、PHP-FPMなどもホスト単位で選択できるように!

PHPの動作モードは何種類かあります。
ほとんどのソフトはあまり関係はないのですが、例えば、WordPressで、アップデートをする際に、FTPユーザ・パスワードを求めてくるのは、Apacheモジュールのmod_phpで動作している場合です。
このパスワード設定が煩わしい。。。という際にはFastCGIモードに設定すると、FTPパスワードを求められなくなります!(WEB経由でダウンロードや更新処理を行えるようになります。)
これらもソフトによってはFastCGIで動作しないソフトや、逆にmod_phpではダメなものなどあります。ホスト単位で選択できるのはありがたいです。

※mod_phpは、CentOS7からは非推奨となりました。Pleskでは特別な設定を行えば利用は可能ですが、お勧めしません。

php.iniの設定はホスト毎!

php.iniの設定もホスト毎に編集可能です。
少し前ならサーバー管理者のみに編集が許された部分ですが、ドメイン管理者レベルで該当ドメインの設定のみの編集が可能になりました。

WEBサーバーはApacheとNginx、選択可能に!

PHP同様、ホスト毎に、WEBサーバーをどれにするか選択ができます。
従来のApacheももちろん利用できますが、PHPと相性が良いとされているNginxが新たに導入され、このどちらかをホスト毎に選択できます。

.htaccessが使えないNginxは敷居が高い?

WordPressとの相性がいいNginxですから、できれば使いたいのですが、パーマリンク設定で使う.htaccessがnginxでは無効です。なので、敷居が高く感じますがPleskにはコンバーターツールが実装されており、吐き出した.htaccessをNginx向けにconvertしてくれます。

ApacheもNginxもディレクティブ設定をPlesk上からドメインごとに設定できます。

先述の通り、convertしたディレクティブ設定を各ドメインごとにconfファイルをPlesk上から編集できます。これにより、ドメインごとに動作の違うWEBサーバーを構築できます。
もはや共用といえど、共用しているのはリソースだけで、サーバーの設定も個別に編集できる世界になりました。

SSL導入でSNIは当然!無料でSSL証明書が??

LetsEncryptという、無償で利用が可能なSSL証明書があります。
ただ、取得するためには英語文献を読まなければいけなかったり、こちらで公開鍵を発行したり、いろいろ大変です。。。
しかし、Pleskには、各ドメイン(サブドメイン)毎に、ワンクリック!でインストール!
サイトのフルSSL化は、あっという間です。
これだけでも、Pleskライセンス利用代金は元取り可能だと私は思います。。

WEBの機能以外にも充実した機能!バックアップ!

サーバー運用で最も不安なのは故障やトラブル時にメールやWEBのデータが飛んでしまうことです。
外部のマシンやHDDにバックアップが取得できていれば最悪の場合、バックアップから復元はできるのですが。。。

Pleskバックアップ

Pleskでは、メールアカウント・メールデータを含むホスティングデータを丸々バックアップします。
復元も容易で別のサーバーなどにホスティングしたうえでバックアップデータから復元を行うと、アカウントなども含んで復元します。
バックアップは外部のマシンに取得させるために、FTP機能を使ってバックアップデータをアップロードすることができるように作られています。
お客様毎に別のサーバーにFTPを使ってアップロードすることも可能ということです。

拡張ツールでDropBoxにアップロード可能!

拡張ツールを使えば、DropBoxにバックアップデータを作ることもできます。
DropBoxの場合、普通の利用者は、Windowsマシンにソフトを入れており、同期をとる設定にしていることも多いため、要は、バックアップの二重化(DropBoxサーバーと、自前マシン)が容易に実現します。

そんな便利なPleskバックアップで軽微なエラーで止まってしまう。。。なんじゃこりゃ?

やっと表題の件にたどり着いたわけですが。。。w
DropBoxの拡張プラグインは、簡単に言えば、DropBoxアカウントに一定名のフォルダ(ディレクトリ)をつくり、そこに全ドメインのバックアップデータを保存します。
ようは、隣のドメインのバックアップデータを見ようと思ったら見れてしまう環境にあります。
当方は様々なお客様のデータを預かっているので共存されると困ってしまう。。。のです。
しかし、DropBoxにバックアップデータを保存することで、海外のサーバーにデータがあることになり、容易に簡単なディザスタリカバリ(遠隔地にバックアップ)環境が整えられるのです。
これもあきらめたくない。。。ということで、普段使っているWindowsマシンにFTPサーバーを導入し、一次バックアップとして事務所マシンに、そしてそのFTPサーバーのカレントディレクトリをDropBox内の特定のフォルダと同じ場所にし、さらにはその中にドメインごとにフォルダを振り分けることで隣のドメインのデータを見れないように設計しました。
これで、取得したバックアップは特に何もせずともDropBoxで同期をとるフォルダとなり、WindowsのDropBoxプログラムで自動的にサーバーと同期を取ります。

さらには社内のLanDiskにも自動同期化

三重目のバックアップは社内に戻って社内のネットワークドライブにしてあります。
こちらのLanDiskにはパッケージでDropBox同期ツールがありましたのでそれを使って同期を取ります。
これにより、私の使っているマシンが壊れた場合、バックアップはとれなくなるけど、過去のバックアップデータは事務所のネットワークドライブとドロップボックスに存在していますので最悪の場合それらを使って復元できます。

遠隔地のバックアップデータ

なぜこんな複雑かつ回りくどく三重かバックアップをしているのかというと、ポイントは2つです。

ディザスタリカバリのディザスタリカバリでより安全を

ほとんどのお客様のサーバーは国内のどこか(ゲリラやテロを懸念して業者も場所は公表しませんし、あまり必要がないので聞いていません)にあるわけです。
その場所とは決定的に違う場所でバックアップを取ることで、そのデータセンターにサーバー運営を継続しがたい重大な事由が突然訪れ接続不能、復旧不能となった場合にバックアップから復元するためにバックアップを取ります。
なので、物理的距離と、そのマシンを手に取って触ることができる責任者が違うことが問われるのがディザスタリカバリです。
ということで、最も簡単なお客様のデータのバックアップを引き受けている私が目の前で使っているマシンにバックアップがとられることが最もシンプルで解りやすいのです。
その後、私自身に事変が起きた場合を考慮し、会社で共有しているネットワークドライブと、事務所が地震や津波で壊滅した場合を考えてドロップボックス内に保存しているような経緯です。

復元が必要になった場合のダウンロードタイム

もう一つの理由は、もし、バックアップデータからデータの復元が余儀なくされるようなインシデントが発生した場合を想定した結果こうなったのです。
復元が必要な場合は、必ず現状では正常な運用が不可能であるとオーナーが判断した場合に発生するわけです。
サーバーが壊れて動かなくなったのか、業者がつぶれたのかわかりませんが、何せWEBがつながらなくなった、メールが送受信できないなど、致命的な問題が起きていることがそのほとんどです。
それらを解決するために、新しいマシンを導入しそちらにドメインを向けかえ、データを復旧するのが最も早いと判断されるときです。
想像してみてください。おそらくオーナーさんも管理者もそして私も焦っているのが容易に想像できますね。

そんな時、DropBoxサーバーであったり、ほか遠隔地にあるFTPサーバーでデータをダウンロードしてきてアップロードする。。。
このダウンロード時間にやきもきしている関係者が目の前にいるかの如く想像できますね。
自分の利用しているマシンを一時受けの母艦にしている理由はこれです。
バックアップのためだけにHDDをRAID1構成で別実装するくらい今のタワー型デスクトップマシンなら拡張エリアも基盤も配線も持っています。
OSは、Windows8ですが、ハードウェア自体はサーバー用のハードウェアを使っているので24h/365day通電しているほうが安定しているレベルのマシンです。
FTPサーバーを実装し夜中にバックアップを走らせるくらいなんてことはありません。
いざ復元となった場合、いちいちダウンロードする手間を省けるのは本当に大きいのです。経験者は語ります。

そんな一時受けマシンのFTPサーバーが軽微なエラーでPleskバックアップができない。。。

こんな問題が起きました。
今初めてやったことなら、何かの設定ミスなのですが、すでに運用を始めて1年以上、おまけに現状でもほかのサーバーのほかのドメインは何の問題もなくバックアップができているのにエラー。。。
これには本当に困りました。
いろいろテストを行ってみました。

エラーが起きるPleskサーバーで別のドメインのバックアップは問題がなくバックアップが取れる

当該問題が起きた同一サーバーの別ドメインのバックアップでは問題は起きないのに該当するドメインのみおかしいことがわかりました。
このドメインは別のPleskからマイグレーションしてきたドメインなのでもしかしたらそこに何か問題があるのかと最初は疑っていました。

別のFTPサーバーでは何の問題も起きない

そこで、とりあえず原因をつぶすために別のFTPサーバーでバックアップを開始してみました。
私の予想では同じようにエラーになるはず…だったのです何度バックアップを取得してもエラーは発生せずバックアップ取得に成功しました。
これでいったんゴールなき迷路に入った感じがしました。

解決の糸口がないまま時間ばかりがすぎ。。。。一筋の光明は、一瞬のファイル作成

まったく解決の糸口が見つかりません。なぜなら、ログをどれだけ漁ってもタイトルの軽微なエラーとしか記録が残っておらず、どんなエラーなのかわからない、原因は私のPCっぽいが、ほかのドメインはすべて問題が起きていない以上、FTPサーバーの相性とかでもなさそうだし。。。
と、エラーが出るのを覚悟のうえで何度かバックアップテストを行っていたとき、一瞬、Pleskが作ったであろうファイルを運よく見ることができました

.ftpaccessというクセモノ

一瞬ですが、.ftpaccessを作り一定時間後に削除しているものを見ることができました。
.ftpaccessというのは、.htaccessのFTP版で、FTPの設定をこのファイルで制御し要は設定を変更することができたり、アクセス制限を掛けたりすることができるファイルです。
中を見ると、タイムアウト設定を無効化する記述がありました。これが大きなヒントとなりました。

Pleskバックアップは、FTPのタイムアウトを無効化する

この動作で、バックアップ取得時はFTPサーバーのタイムアウト設定を無効化していることがわかりました。
そこで利用しているFTPサーバーのタイムアウトを大幅に伸ばし、バックアップを取得してみたところ、見事に成功しました。
要は軽微なエラーはタイムアウトで接続が切れることが原因だったとわかりました。

なぜこのFTPサーバーだけうまくいかなかったのか?

見えてしまえば簡単で細かく調査はしていませんがIIS内のFTPサーバーではおそらく.ftpaccessは無効なのではないかという推測です。
で今まで1年間はデフォルトのタイムアウト設定の範囲内ですべてのドメインがバックアップを取れていただけのことで、たまたま今ちょっとオーバーしてタイムアウトし始めたという単純な問題だったと推測されました。

解決してよかったよかった。。。


コメント

SNSでもご購読できます。

PR