>> はじめに ~オープンソース環境のバックアップ~ |
|
生活のいたるところで、インターネットがないと不便を感じるようになった昨今、その裏ではさまざまなシステムが稼動しています。特に、オンライン・コマース用のシステムは、多くの商品情報がデータベースとして登録され、日々変化しながら不特定多数のユーザーによって使用されています。こうした多くのシステムは、いわゆる商用UNIXやWindowsをベースに稼動していますが、2000年くらいからその稼動率を急激に増しているのが、オープンソースをベースにしたソリューションです。
オープンソースの意味は、もともと、ソフトウェアの設計図にあたるソースコードが、インターネット等を通じて無償で公開され、ソフトウェアの改良や再配布が行えるということでしたが、一時期は転じて無料だからコストが抑えられるという認識で普及してきました。現在ではコスト面もさることながら、オープンソースの豊富なリソースが活用できる、開発者コミュニティーを通じ一緒に機能を改善していける、ソースがあるので問題点の判別がしやすいなどの、より開発サイドにとってポジティブな内容により評価されています。
しかし、オープンソースの多くのメリットも、オープンであるが故に、オープンソース対応の商用製品をリリースするベンダーやSIに、安定したサポートが提供されないといった声が聞かれるのも事実です。バックボーン・ソフトウエアでは、日本法人の設立当初である1998年時点で既にオープンソースのOSであるLinuxに対応し、その後もオープンソース対応を拡充してきました。今回は、そうしたオープンソース環境の中でも、特にその強みが最も発揮できているWeb+DB環境に焦点をあて、様々なバックアップの方法をご紹介します。
>> LAMP/LAPPとは? |
|
Web+DBの中で特に人気の高いオープンソースを組み合せたメジャーなソリューションが2つあり、それがLAMPとLAPPです。それぞれ、使用されているコンポーネントの頭文字をとって名づけられています。
- Linux
Lは、OSであるLinuxを意味しています。オープンソースのOSということでは、FreeBSDも当てはまりますが、その場合にはBAMPやBAPPと呼ばれるそうです。 - Apache
WebサーバにはApacheが定番ですが、実質これに置き換わるWebサーバはないでしょう。英Netcraft社が定期的に行っているWeb Server Surveyでは、2006年3月の段階でインターネット用としては、68.7%のサーバでApacheが使用されています。 - MySQL / PostgreSQL
データベースは、MySQLとPostgreSQLが人気を二分しています。主にMySQLは参照系で強く、PostgreSQLはその高度な機能に注目が集まっています。MySQLを使用するとLAMPになり、PostgreSQLの場合にはLAPPソリューションと呼ばれます。 - PHP / Perl / Python
最後は、データベースからデータを読み取り、それを動的にWebページとして構成するためのプログラミング言語です。面白いことに、Web系で使用される代表的な言語はすべてPから始まっています。日本では、Rubyなども普及してきていますが、この場合にはLAMRやLAPRになるのでしょうか?
>> LAMPとLAPPのバックアップは難しくない! |
さて、LAMPとLAPPの定義が分かったところで、今度はそれぞれのコンポーネント毎にバックアップの考慮点を見ていきます。
- Linux
Linuxということでは、まず最低限、ファイルのバックアップ/リストアができるということが必要です。この講座を読んでいるみなさんは、NetVaultがLinux用として最も高いシェアをもったバックアップ・ソフトウェアであるということをご存知のはずです。ご存知ない方は、こちらを見てください。
もちろん、OS標準のコマンドを使用してバックアップが一切できないということはありませんが、データ量が多くなったり、サーバ台数が増えたり、また高度なテープ装置の管理機能を使用したりする場合など、バックアップ・ソフトウェアの使用は様々なメリットをもたらします。
NetVaultでは、主にFile System Pluginというプラグインによって、ファイル・システムに対するバックアップを行うことが可能です。 - Apache
Webサーバの場合、特別なオプションが必要だ!なんて事を思っている方はいませんか?Webサーバの仕組みを分かっている人なら当たり前の知識ですが、Webのコンテンツは基本的には参照されるファイルです。更新する場合にも、更新を担当する限られた人がアップロードしたり、変更があったとしても、ファイル・サーバの更新頻度よりもさらに低いものになります。
Apacheオプションをリリースしているバックアップ・ソフトウェアもありますが、これは設定ファイルからWeb公開対象のディレクトリを確認することで、ファイルとしてのバックアップを容易にしているだけです。 通常は、Webサーバの設定ファイルを確認すれば、すぐに対象のディレクトリが分かります。NetVaultではその場所をセットという形で保存し、すぐに読み出すことのできる機能が標準で備わっています。 - MySQL / PostgreSQL
データベースの場合、常にデータが更新されるファイルがあり、このオンライン・バックアップが必要な場合、データベースのバックアップ用オプションがあると便利です。オプションがあれば、直接バックアップ・デバイスにバックアップの実行ができますが、オプションがないと、一度バックアップ・ファイルとしてハード・ディスク上に書き出した後で、さらにバックアップ・デバイスに退避するといった二度手間が発生します。
NetVaultでは、MySQL APMとPostgreSQL APMというオプションをそれぞれ提供しています。特に、PostgreSQLに関しては、国内で販売されているバックアップ・ソフトで唯一NetVaultのみがオンライン・バックアップをサポートしています。 - PHP / Perl / Python
プログラミング言語の部分は特にバックアップに対しての影響はありませんので、何を使用していても無視できます。しかしながら、システム・ディスクの障害時に、特定のプログラミング言語のバージョンを入れた環境を再度構築するという作業は、大きな管理負荷になるかもしれません。OSおよびそこで稼動するプログラム全体の災害対策の方法を、別途紹介する予定です。
>> 次回は・・・ |
|
以上、LAMPとLAPPのバックアップを考えるにあたって必要となる基本的な知識について、おさらいしてきました。ここでの名前については、もう知っているよという人がほとんどかもしれませんが、次回以降の講座の前提となりますので、押さえておいてください。
次回は、最初にLAMP環境のバックアップに対応するため、その環境作りについて解説していきます。