この連載では、サーバOSとして十数年発展してきた「Solaris」をオープンソース化した「OpenSolaris」を紹介し、ブログサーバ「Roller」と組み合わせて運用していくうえで有用なさまざまな知識を紹介していきます。(編集部)
前回は、OpenSolarsの紹介およびOpenSolarisを取り巻く環境と代表的な機能について紹介しました。
皆さんはSolarisに対してどんなイメージを持っていますか? どちらかというと商用OSとしてのイメージが強く、個人で試すのには敷居が高いと思っている方もいるでしょう。
しかしながら、前回紹介したとおりSolarisは、OpenSolarisとしてオープンソフトウェアの仲間入りを果たし、個人で試すことも十分に可能になりました。その代表例が、CD1枚で実行可能なOpenSolarisのディストリビューション「Indiana」です。Indianaはまだ試用版として配布されていますが、2008年春ごろには正式なOpenSolarisディストリビューションが公開される予定です。
この連載では、SXDE(Solaris Express Developer Edition)9/07版を利用して、ブログサーバの構築方法について考えていきます。前回も触れましたが、オープンソースソフトウェアのブログサーバ構築サーバとしては、「Movable Type」や「Apache Roller」など、さまざまな種類が存在します。その中から、Sun Microsystemsのブログサイト(http://blogs.sun.com)でも採用しているApache Rollerを取り上げ、ブログサーバの構築指針や構築方法を考えていきましょう。
関連記事
▼ラベルベースのアクセス制御機能を備えた新Solaris 10
http://www.atmarkit.co.jp/news/200701/31/solaris.html
▼ノートPCでこそ使いたいZFS
http://www.atmarkit.co.jp/news/200706/29/zfs.html
エンタープライズ向けブログサーバを構築するに当たり、運用面から、少なくとも以下のような項目をまず考慮しましょう。
【資源管理】
【サーバの冗長化】
【サーバのセキュリティ対策】
【データのバックアップ】
まずは、ブログサーバ規模の把握やシステムのサイジングを行いましょう。指針としては例えば同時ユーザー数のほか、ブログサーバのページアクセスが発生するのかどうか、またその際のサービスレスポンスタイムの許容範囲などが挙げられます。
規模を把握するためにはテスト環境でブログサーバを立ち上げ、実際の環境を想定したサイジングベンチマークを実施し、サーバへの負荷を確認したり、必要なリソースの見積もりを判断する必要があります。
このような資源計画に有効なツールは、市販のツールであればTeamQuest(http://www.teamquest.com)、BMC(http://www.bmc.com)などのベンダの製品が挙げられます。Solaris、Linuxのみのサイジングであれば、フリーソフトウェア「DimSTAT」(http://blogs.sun.com/yappri/entry/dim_stat)もあります。このようなツールやソフトウェアを利用して、システムサイジングを行いましょう。
例えばblogs.sun.comのような大規模なサイトを構築する際は、水平方向に複数のサーバを並べて運用しています(第1回参照)。逆に、数十人規模が書き込みを行う程度であれば、大容量のSASディスク、146Gbytesでも十分運用可能でしょう(ただし、マルチメディアコンテンツを利用する場合は、さらにディスク追加が必要だと思われます)。百人規模であっても1人当たり1Gbyteは確保できます。最新のdual core PCサーバでも十分運用可能でしょう。
しかしながら、データの保護という観点から、ディスクのミラー化は必須と考えてください。
次はサーバの冗長化についてです。ブログサーバの規模やミッションクリティカルの度合いによっては、サーバの可用性を高めるために、クラスタリング構成などを取るのも1つの案となるでしょう。
エンタープライズレベルのクラスタリングでよく利用されるディスク構成として、SAN(Storage Area Network)があります。SANを組み合わせることによって、サーバ間で共有アクセス可能なストレージを構成することができますし、ストレージの拡張が容易であるというメリットもあります。その半面、高価であり、初期コストがかさむというデメリットもあります。コストと労力に合わせた選択基準に沿って構成を組む必要があるでしょう。
次に、サーバのセキュリティは、必ず考慮しなければなりません。エンタープライズ向けのブログサーバは、数多くのサーバスタックから成り立っています。ですから、サイトをたった1人で運営するということはなく、サーバごとに管理者がいるのが常です。そうした際に、各管理者に対するアクセスポリシーなどを決める必要があります。同時に、不要なサービスなどは提供しないようあらかじめ設定しておく必要もあります。
続いて、データのバックアップについても検討しなければなりません。この際、データの種類を考えてバックアップする必要があります。どのバックアップデバイスを選ぶか(テープなのか、それともディスクなのか)、バックアップ方法はどうするかなどのバックアップポリシーを選択する必要があります。
バックアップデバイスを選択する1つの基準としては、対象となるデータが長期間保存しなければならないものなのかどうかが挙げられます。またデータの種類にも、アクセスログに始まり、一方で、監査ログなどのように長期間保存しなければならないデータもあります。
一般に、後者の監査ログなどのデータは、テープなどにバックアップする方法が用いられています。一方、アプリケーションデータのように高速なバックアップ/リストアが必要な場合、ストレージの機能のスナップショットなどを利用してリストアすることがあります。また、Solarisならではのユニークな機能にZFSがありますが、このスナップショット機能を利用して、差分バックアップやフルバックアップを取得することも可能です。ZFSの詳細については、第4回で紹介する予定です。
このような設計指針が決まったら、次に、ブログサーバを構築するための準備について考えてみましょう。運用ポリシーやシステム設計次第で、変更する個所が生じたり、インストール不要なソフトウェアも出てきます。
基本的には、下記のような手順が考えられます。
今回は、1台のサーバで、テスト環境用のブログサーバを構築するための手順を想定します。エンタープライズ向けの構成を取る場合は、前述したとおり、クラスタリングやストレージ構成などの工夫が必要になってくるでしょう。
1は、前回紹介したとおりです。
2については、後ほど、OpenSolarisおよびSolarisにインストールされているソフトウェアについて紹介します。
続く3の初期設定では、前回お話ししたとおり、可用性やバックアップなどを考慮した設定であることが望ましいと考えます。一連の連載の中で、3の初期設定をうまく工夫して、4の設定に生かしていく方法を紹介したいと思っています。
さらに4のブログサーバの構築手順の中で、「Cool Stack」パッケージに含まれているサービス管理機能を取り上げ、詳細に説明します。
関連記事
▼SolarisのRBAC機能でsudoを置き換える
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/033rbac.html
Copyright © ITmedia, Inc. All Rights Reserved.