ストレージの概要
ストレージの立ち位置
まず、コンピュータの構成要素について確認します。以下の記事で用いた図を再掲します。
ストレージは、I/O装置(ブロックデバイス)の部分にあたります。コンピュータシステムを作り、サービスを提供する上で、ストレージに保管されるデータは情報資産としての価値を持ち、サービスの中核となるため、適切な運用管理が必要になります。
どのような運用管理が必要か?
では、ストレージの運用管理にはどのようなことを考慮する必要があるでしょうか?例えば以下のようなことが挙げられるでしょう。
性能
DBの記事でも触れましたが、ハードディスク等の記憶装置は物理的な回転を行うので、システム全体の性能のボトルネックになり得ます。
そのため、I/O速度を意識してストレージ設計を行うことが必要になります。この時、ハードディスクのI/O速度の指標としてIOPSがあります。IOPSは1秒あたりに処理できるI/Oの回数を示しています。ストレージを選ぶ際はデータの容量が足りるかどうかだけでなく、IOPSが十分かどうかを確認する必要があります。
また、I/O速度を早める要素として、サーバとストレージを接続するインターフェースの規格も重要です。ハードディスクのインターフェースには以下2つの規格があります。
- SCSI:サーバ向けの規格。高コストだが高性能・高耐久
- ATA:コンシューマ向けの規格。SCSIより性能や耐久性は劣るが低コスト
私たちは、コストと性能のトレードオフを考慮してインターフェースの規格を選ぶことになりますが、企業向けに用いられるのはSCSIといえます。
I/O速度を早める別の要素に、キャッシュの利用があります。キャッシュの 書き込み時の(読み込みは関係ない)動作モードには、ライトスルーとライトバックがあり、前者がデータの完全性に特化・後者が性能に特化したモードとなります。
可用性
ストレージに保存されているデータは情報資産であるため、ストレージ破損によってデータが失われることは企業にとって重大な損失となります。そのため、ストレージの冗長化を行い、可用性を高める必要があります。ストレージの可用性を高める上で重要な技術となるのがRAIDです。主要なRAID構成には、RAID0(ストライピング)、RAID1(ミラーリング)、RAID5(パリティ)、RAID6(ダブルパリティ)があります。
ストレージだけでなく、ストレージに接続するまでのネットワークを冗長化することも重要です。このようなネットワークの冗長化のことをマルチパスと言います。マルチパスを構成する際は、サーバにマルチパスソフトウェアを導入する必要があります。
運用管理
データの運用管理性を向上させることで、不適切なデータ操作や誤ったデータ削除を防ぐことができます。運用管理性を向上させる要素として、論理ディスクとアクセスコントロールが挙げられます。
論理ディスクは、物理的なハードディスクの構成に寄らないディスク構成を再構成する技術です。言い換えると、サーバから見たときのディスクの物理的な構成を隠蔽する技術です。
上の図のように、まず複数の物理ディスクが1つのディスクグループにまとまり、そのディスグループから論理ディスクを作成します。このときの論理ディスクのことをLUNと言います。サーバからは物理構成は見えずに、LUNとして見えるようになります。これにより、物理ディスクの台数が変化したり、故障による構成変更があったりした場合にも、サーバ側では簡単な設定変更を行うだけで良くなることや、容量管理を柔軟にできることなど、運用管理性が向上します。
ストレージシステムのアクセス制限では、物理ディスクや論理ディスク(LUN)の単位で、どのサーバからの読み書き要求を許可/拒否するかを決めることができます。これにより、データ読み書きの誤操作を抑制することが可能です。特に、物理ディスクの単位でアクセス制限を行える技術にゾーニング、論理ディスクの単位でアクセス制限を行える技術にLUNマスキングがあります(より正確には、ゾーニングは物理ポート、物理経路の単位だといえます)。
コスト
最後に挙げられる要素として、コストがあります。情報資産であるデータを守るためにはコストをかける必要がありますが、過剰に多くのコストをかけてしまうのもよくありません。そのため、守るべき情報資産とコストのバランスを考えてストレージシステムの設計を行う必要があります。
ここまでのまとめ
以上までで、ストレージ運用管理で重要な要素をまとめました。以下にそれら要素の図を再掲します。
非機能要件全体に関わるストレージの接続形態
ここまで、ストレージの運用管理に関して、1つの非機能要件に関わる要素技術について確認していきました。ここからは、非機能要件全体に関わるストレージの接続形態であるDAS、NAS、SANについて見ていきます。
DAS
DASは、サーバとストレージシステムを直接接続する形態です。インターフェースはSCSI・ATAの双方を使うことができます。DASは運用管理の負荷が高いため、サービス提供で使われることはあまりないでしょう。
NAS
NASはネットワーク接続されたストレージのことです。以下のようなサーバみたいなディスクみたいなごつい機器を指します。
NASでは、googleドライブやOne Driveのような共有フォルダを提供します。感覚的には、自宅にクラウドストレージ(googleドライブやOne Driveのサーバ)があるみたいな感じでしょうか?そんな感じで考えると良いです!
SAN
SANはストレージ専用のネットワークのことです。LANとかWANとか、最後にNがつく3文字はネットワークを示す用語が多そうです(笑)。クライアントのPCとサーバが接続するLANとは別に、ストレージ読み書き専用のネットワークであるSANを作ることで、効率良いシステムを形成することができます。SANは用いるネットワーク技術によって、以下の2つに分けられます。
- FC-SAN:FC(ファイバチャネル)を用いて構築したSAN
- IP-SAN:iSCSIを用いて構築したSAN
はい、全然意味がわからないですね!もう少し平易に言うなら以下のようになります。
- FC-SAN:光ファイバケーブルでSCSIのプロトコルを用いたSAN
- IP-SAN:Ethernet(IP通信)でSCSIのプロトコルを用いたSAN
つまり、光通信を行なっているか、IP通信を行なっているかが異なるSCSIプロトコルの通信だと言うことです。
あれ、さっきSCSIはインターフェースって言ってなかったっけ?
どうやら、SCSIといってインターフェース規格(ケーブルとか)を指すことと、通信に用いるプロトコルを指すことの双方があるようです。昔の物理インターフェースであるSCSIからシリアル転送のSASやファイバチャネル、iSCSIへと派生する際に、物理インターフェースであるSCSIで行われてきた通信の取り決め(コマンド)を新たな技術でどう行なっていくか・運んでいくかを決めるプロトコルに変わっていったという経緯があるそうなので、注意が必要です。
大事なこと
大事なことは、FC-SANやIP-SANはATAのプロトコルでなく、SCSIのプロトコルを用いていると言うことです。つまり、相当大雑把にいえば、以下のように考えることができます。
どのように非機能要件に影響するのか
では、DAS、NAS、SANがストレージ運用管理の点でどのように影響するのか、非機能要件の観点で整理しましょう!以下がそのまとめの表になります。
| DAS | NAS | SAN | |
|---|---|---|---|
| 接続方式 | サーバに直接接続(SCSI, SATA, SAS) | IPネットワーク経由(TCP/IP, NFS, SMB) | 専用ネットワーク経由(FC, iSCSI) |
| 主な利用シーン | 単一サーバ用、ローカルストレージ | ファイル共有、バックアップ | 大規模・高信頼システム |
| 性能 | ◎ 高速(ローカル接続) ◯ 低遅延 |
△ ネットワーク経由で遅延あり | ◎ 非常に高速(ブロックレベル転送) |
| 可用性 | △ サーバ障害時に影響 | ◯ RAIDや冗長構成可 | ◎ RAID他、マルチパス構成など高信頼 |
| 拡張性 | △ サーバ単位で制約 | ◯ 容量追加容易 | ◎ 容量・接続ノード拡張が柔軟 |
| 運用管理性 | △ 各サーバごとに管理必要 | ◎ GUIで管理しやすい | ◯ 専用機器の管理が必要 |
| セキュリティ | ◯ OSレベルで制御 | ◯ ユーザ単位でアクセス制御 | ◎ FCスイッチでのゾーニング、サーバでのLUNマスキングなどによる制御 |
| コスト | ◎ 安価 | ◯ 中程度 | △ 高価 |
まとめ
今回は、ストレージ運用管理の重要性や非機能要件に関する考慮点についてまとめました。
次回の記事では、より駒愛技術要素について触れたいと思います。






