筆者のホームオフィスはさほど大きくないが、ハードディスクやフラッシュドライブ、SSDといったさまざまな機器が設置されている。それらが使用しているファイルシステムは、FAT32やNTFS、exFAT、Btrfs、Ext3、Ext4であり、コンピュータからはインターネットやギガビットイーサネット経由で接続するようになっている。このため利用しているプロトコルはCIFSやNFS、HTTPS、ssh、ftpと多岐にわたっており、認証システムもLDAPや「Active Directory」に基づいたさまざまなものを使っている。これでもシンプルで小規模なビジネスネットワークでしかないという点に目を向けてほしい。
筆者の仕事場よりもずっと規模の大きな設備を持つ企業が、ソフトウェア定義ストレージ(SDS)を採用し、ストレージにまつわるこういった気苦労を減らしたいと考えていると聞いて、何かおかしさを感じるだろうか?筆者は何のおかしさも感じない!
サーバの仮想化がデータセンターに革命をもたらし、クラウドを可能にしたように、SDSはわれわれのストレージ管理方法に変革をもたらそうとしている。
SDSとは何か?
筆者自身の作業環境を一例として挙げた通り、現代におけるほとんどの企業のストレージは、さまざまなストレージプラットフォームを組み合わせた複数のサイトから出来上がっている。そして、これらのストレージプラットフォームがさまざまなファイル形式を採用し、ネットワークプロトコルを混在させて通信しあっているため、管理にまつわる問題はより複雑化している。さらに悪いことにストレージ分野では、ベンダーをまたがって使用できる共通APIはおろか、管理ツールや監視ツールすら存在していない。
ストレージの集合体を効率よく管理しようとした場合、ストレージ管理者を増やして定型作業を手入力で行っていくか、ストレージの仮想化を検討するかのいずれかになるはずだ。
SDSを用いれば、ストレージを仮想化できるとともに、実際にデータがどのように保管されるのかといった面倒な詳細からストレージの管理を分離できるようになる。ただしこれら2つの点は、あらゆるSDSソリューションに付いてくるものではないため、SDSの導入を検討する際には、必要な利点が得られるかどうかを吟味する必要がある。
SDSをうまく利用できれば、ユーザーのファイルやデータオブジェクトを最も適切な場所に保管できるようになる。それと同時に、リソース容量やパフォーマンス、レイテンシ、信頼性、コストをユーザーのワークロードにマッチさせたストレージデバイスが使用できるようにもなる。
このため、低価格のストレージで構わないという場合、ハードウェアの詳細に気を配ることなく、ワークロードとサービスレベル要求に基づいて決定したストレージにデータを移行できるようになる。それとは逆に、コストに制約を設けずスピードを最重視したいという場合、アプリの設定だけで簡単に最速のストレージリソースを使用できるようにもなる。適切なSDSを用いれば、ユーザーは「ストレージの自動階層化」機能によって管理者の手を借りる必要なしに、ユーザーニーズに合わせてファイルやデータを移行できるようになるというわけだ。
またSDSを使えば、複数のストレージデバイスをひとまとめにし、1つの巨大なストレージデバイスのように振る舞わせることもできる。例えば、「Amazon Simple Storage Service」(Amazon S3)は複数の施設と各施設内の複数のデバイスにデータを格納する。実際にはどのようなストレージ技術が使用されているのだろうか?それは分からないし、Amazonもユーザーがそういったことを知る必要はないと考えている。知る必要があるのは、Amazon S3のサービスレベルアグリーメント(SLA)が月間使用可能時間割合として99.9%を保証しているという点だけだ。