オープンストレージオペレーティングシステムの選択
従来のプロプライエタリなストレージデバイス(NASとSANの両方)を避け、代わりに既製品のハードウェアを使用してストレージオペレーティングシステムをインストールする、いわゆる「DIY」ストレージサーバーがますます一般的になっています。もちろん、これは誤った表現です。Windows をインストールするだけで通常のファイルサーバーを「DIY」とは呼ばないからです。ストレージには多くの神話や伝説が渦巻いており、Windows をインストールしてそれをNASではなくファイルサーバーと呼ぶことを考えるとパニックになることがよくあります。そのため、気分が良くなるなら、NASやSANの代わりにファイルサーバーやストレージサーバーという用語を使用してください——問題は解決です。これは、ストレージシステムをプロプライエタリから標準へと移行する「オープンストレージ」運動の一部です。
ストレージサーバー用の適切なオペレーティングシステムを選択することは重要であり、常に簡単なわけではありません。私はこの分野で幅広く働いており、人々はよく私が何を勧めるかを尋ねます。推奨内容はシナリオによって異なり、しばしば混乱しているように見えます。しかし、選択肢と決断ツリーのパスを形成する制限を知っていれば、実際の要因は比較的容易です。
OSを選択する前に、私たちのニーズが何になるかを考える必要があります。考慮すべきいくつかの領域は、容量、パフォーマンス、管理の容易さ、予算、接続技術、コスト、クラスタリングです。また、標準オペレーティングシステムとストレージアプライアンスオペレーティングシステムの2つの主なカテゴリも考慮します。標準オペレーティングシステムは Windows、Linux、Solaris、FreeBSD です。ストレージアプライアンスオペレーティングシステムは FreeNAS、OpenFiler、NexentaStor です。どちらのカテゴリにも他にもありますが、これらが現在の主要なプレーヤーです。
最初の決定は、あなたまたはあなたの組織がストレージサーバーの役割で動作する通常のオペレーティングシステムをサポートすることに慣れているかどうかです。NASを検討しているなら、ファイルサーバーを管理できるかどうか自問してみてください。ブロックストレージサーバー(SAN)の管理は少し複雑、または少なくとも珍しいため、わずかな懸念を引き起こすかもしれませんが、実際には他の管理タスクと同じです。答えがはいで、通常のオペレーティングシステムのツールとインターフェイスを使用することが許容できるなら、「アプライアンス」カテゴリをすぐに除外してください。アプライアンスアプローチは複雑性を追加し、開発とサポートのサイクルを遅らせるため、必要でない限り望ましくありません。
ストレージアプライアンスオペレーティングシステムは、ストレージサーバーの実行にあらかじめパッケージ化された「使いやすい」ビューを提供するためだけに存在します。概念的にはこれは素晴らしいですが、この方法には実際の問題があります。最大の問題は、エンタープライズOSベンダー自身から1歩離れたパッケージングプロセスから来ており、システムをより脆弱にし、更新や機能が遅れ、従来のOSに比べてセキュリティが低くなります。また、何かが問題になったときに巨大なユーザーベースとコミュニティを持つ大規模なエンタープライズベンダーではなく、非常に小さな会社にOEMレベルのサポートを依存させます。アプライアンス化プロセスはまた、必要に迫られてシステムから機能とオプションを取り除きます。最終的には損をします。
アプライアンスは、「誰でも」ストレージを管理できる便利なWebインターフェイスを提供するため優れています。少なくとも理論上は。しかし実際には2つの懸念があります。1つ目は、常にオペレーティングシステム自体に入り込んで時々何かを修正する必要があるということです。アプライアンスのカスタムWebインターフェイスがあると、通常よりも劇的に難しくなるため、アプライアンスの性質を最も必要とする時にそれが役立たない状況になります。2つ目は、ストレージのような重要なものを「誰でも」作業できるようにすることは恐ろしい考えだということです。インフラのうちストレージほど多くの経験、計画、注意が必要なものはほとんどありません。システムを使いにくくすることが常に悪いことではありません。
アプライアンスシステムが必要な場合、主に FreeNAS と OpenFiler を検討することになります。NexentaStor は魅力的な製品を提供していますが、無料版は提供されておらず、コストが高くなる可能性があります。無料でダウンロードできるバージョンは18TBの生ストレージまで無料のように見えますが、ライセンスは別のことを述べており、これを人気のある選択肢にすることはほとんどありません。(NexentaStor のコストは、完全にサポートされた Solaris システムを購入する方がコストが低く、Nexenta が基本的に古いバージョンの Solaris とZFSを再パッケージ化しているため、元のベンダーではなくNexenta からのフルサポートが提供されるほど高いです。元のソースからより現代的なコードと更新がより安価で入手できます。)
FreeNAS は、クラスタリングを除いて、アプライアンスパッケージにおけるストレージプラットフォームの選択肢です。高く評価されているZFSファイルシステムを持ち、OpenFiler や他のLinuxベースの代替品に欠けている柔軟性と使いやすさを提供します。また、iSCSI の実装も機能しているため、FreeNAS を NAS または SAN として安全に使用できます。FreeNAS のサポートは定期的な新しい開発と機能の維持により増加しているようです。FreeNAS は幅広い機能とサポートされているプロトコルを提供しています。クラスタリングも将来的にFreeNASに追加されると考えられており、これが最近基盤となる FreeBSD オペレーティングシステムに追加されました。そうなれば、FreeNAS は市場での OpenFiler の必要性を完全に排除するでしょう。FreeNAS は完全に無料です。
OpenFiler には信頼できるiSCSI SAN実装がなく(機能するコンポーネントでその部分を置き換えるために多大なコストを支払わない限り)、競合他社よりもはるかに古く、完全なブロックレベルのリアルタイムレプリケーションを提供しており、信頼性のためにクラスタリングモードで動作できます。ここでの問題は、NASアプライアンスの便利なWebインターフェイスがこのシナリオに対応していないため、これを行う場合はコマンドラインで作業する必要があり、非常に複雑です。これはエキスパートレベルの作業であり、OpenFilerを信頼性の高いクラスタにする可能性さえ考えられる人は、選択したLinuxディストリビューションでクラスタ全体をゼロから構築するのと同様に、おそらくよりずっと快適です。OpenFiler は非常に不人気で現在完全に廃止された rPath Linux 上に構築されており、Conary パッケージングシステムを使用しています。どちらもLinuxの世界では言うまでもなくニッチなプレーヤーです。他の管理者からのrPathサポートはほとんど見つからず、アクセスしたい多くのパッケージと機能が利用できません。OpenFilerの唯一の重要な優位性はクラスタリングのためのDRBDの可用性ですが、上述のように意味をなしません。OpenFilerのサポートは、新機能が存在せず、実際にAFPのような主要機能が新機能を追加するのではなく削除されることで衰退しているようです。OpenFilerは無料ですが、信頼性の高いiSCSIのような主要機能はそうではありません。OpenFilerユーザーからの最近の報告では、最新のリリースではiSCSI以外のストレージも不安定になり、データの損失が定期的に発生しているとのことです。OpenFilerはこの業界セグメントのマインドシェアで非常に人気がありますが、完全に避けるべきです。
ストレージオペレーティングシステムをアプライアンス化する必要がない場合は、より多く、より良い選択肢がありますが、はるかに複雑な決断ツリーが残ります。落とし穴でいっぱいのアプライアンスOS市場(NexentaStor には予想外のコストがあり、OpenFilerはiSCSIをサポートするように見えますが、データの損失を引き起こし、新バージョンから機能が削除されます)とは異なり、ここで述べた4つのオペレーティングシステムはすべて非常に堅牢で機能が豊富です。そのうちの3つはOEMベンダーサポートがあり、これが主要な決定要因になる可能性があり、すべてアプライアンス市場で利用可能なものよりもはるかに広い優れたサードパーティサポートオプションを持っています。
最初の決定は、Windows のみの機能、特にNTFS ACL が必要かどうかです。新しいNASユーザーが、SMBプロトコルが Windows で使い慣れたすべての詳細なファイルシステム制御を提供しないことに驚くのは一般的です。これは、それらの制御が実際にはネットワークプロトコルではなくファイルシステムによって処理され、Windows のみがNTFS を介してこれらを提供するためです。したがって、詳細な Windows ファイル制御が必要な場合は、Windows のみがオプションです。
他の3つの候補、Linux、Solaris、FreeBSD はすべて、クラスタリングの注目すべき例外を除いて基本的な能力を共有しています。すべて優れたソフトウェアRAIDを持ち、すべて強力で堅牢なファイルシステムを持ち、すべて強力な論理ボリューム管理を持ち、すべてさまざまなNASとSAN接続オプションを提供しています。多くのバージョンの Linux と FreeBSD は完全に無料で利用できます。Solaris は、テスト用には無料ですが、本番使用には無料で利用できません。
これら3つのOSオプションの最大の差別化要因はクラスタリングです。Linux は長い間DRBDを持っており、これは堅牢なファイルシステムクラスタリング技術です。FreeBSD は最近(9.0以降)同じ目的のためのHASTを追加しました。したがって理論的には、FreeBSDはLinuxと同じクラスタリングオプションを持っていますが、これはずっと新しく、はるかにあまり知られていません。Solaris はベース OS でのファイルシステムクラスタリングが欠けており、現時点ではこれを処理するために商用のアドオンが必要です。
Solaris と FreeBSD は強力で実績のある ZFS ファイルシステムを共有しています。ZFS は非常に強力で柔軟であり、長い間これらのプラットフォームの主要なセールスポイントでした。Linux のファイルシステムサポートはより複雑です。ほぼすべての Linux ディストリビューション(主にRHEL/CentOS、Oracle Unbreakable Linux、Suse/OpenSuse、Ubuntu を気にします)は EXT4 をサポートしており、これは強力で高速ですが、本当に優れたZFS機能のいくつかを欠いています。しかし、Linux は ZFS と非常に競争力のある BtrFS を急速に採用しており、これは生まれたばかりで現在 Suse と Oracle Linux ディストリビューションでのみ利用可能です。まもなく他からも本番使用向けに利用可能になることが期待されていますが、現時点では実験的です。
クラスタリング以外では、おそらくこれら3つのOSの選択は主に経験と快適さに依存します。Solaris は一般的に最高のスループットを提供することで知られており、FreeBSD は最低です。しかし、3つはすべて非常に近いです。BtrFS が Linux で広く利用可能かつ安定したら、過去にそうであったように、Linux がデファクトの選択になる可能性が高いです。
外部の影響なしに、私のストレージプラットフォームへの推奨は FreeBSD 次いで Linux で、Solaris はほとんど誰も商用サポートを探していないため自動的に除外されます。これは、ほぼ完全にコピーオンライトファイルシステムの可用性に基づいており、一般的でないクラスタリングを想定していません。クラスタリングが必要な場合は、Linux が最初で次いで FreeBSD で、Solaris は再び除外されます。
Linux と FreeBSD は機能的に急速に互いに近づいています。Linux での BtrFS が成熟し、FreeBSD での HAST が成熟するにつれて、選択がほぼ互角になるように中間で出会っているようです。
唯一の単純な答えはありません。ストレージOSの選択は、パフォーマンス、リソース、機能、サポート、安定性などの無数の要因をバランスさせることがすべてです。多くの候補を除外するために使用できるいくつかの要因があり、これらの強固な区切りを知ることが重要です。システムをどのように使用する予定か、どの要因が重要かを正確に知ることが、利用可能なオプションを取捨選択する上で重要です。
プラットフォームを選択した後でさえ、多くの決定を行う必要があります。一部のプラットフォームには複数のファイルシステムが含まれています。SANとNASがあります。複数のSANとNASプロトコルがあります。ネットワークボンディング(またはWindowsの世界ではチーミング)があります。マルチパスがあります。スナップショット、ボリューム、RAIDがあります。リストは続きます。
