この記事について
この記事では、私(新卒1年目)のように最近IT業界に参入された方が読んで、
「この単語はこんな感じの意味合い」ぐらいに理解を深めていただけれるよう書いています。
もちろんスキルアップのために詳しい勉強は必要になってきますが、「本格的な勉強の前に軽く理解したい」「ちょっと度忘れした」、
みたいな時に本記事を活用していただけたら幸いです。
理解しやすいようかなり砕けた言葉遣いで書いております。
第3回目ということで、ストレージ周りの通信技術についてフォーカスしていきます。今回は詳しいサイトをリファレンスして書いていきます。
通信の観点から見たストレージの種類
ファイルアクセスとブロックアクセス
ハードディスクを使用したストレージはデータを記録するための複数の磁気ディスクで構成されていて、当然ディスクなのでデータはディスク上に螺旋状に記録されていきます。記録されたデータにアクセスするのに、このような物理的な構造を隠蔽し、利用しやすく論理単位でアクセスする方法にブロックアクセスとファイルアクセスの2種類があります。
ブロックアクセス:ブロックアクセス型のストレージではディスクを論理ボリュームに分割し、更にそのボリュームをブロックごとに分割します。なのでデータの読み書きの為には、論理ボリューム番号とブロック番号を使って、保管場所の特定をします。特徴としては、大容量のデータ転送に適していますが、データの属性情報の保持はできません。なので、業務システムやデータベースなどの利用に適しています。
ファイルアクセス:ブロックアクセス型が固定長のブロック単位でデータを扱うのに対し、ファイルアクセス型では可変長のファイル単位でデータを読み書きしていきます。保管場所の特定も、論理ボリュームとブロック番号ではなく、論理ボリューム内のルートからのディレクトリとファイル名が含まれたパスで指定します。ファイルアクセス型でも論理ボリュームをブロックに分割しますが、ファイル単位で管理するため、ブロック:ファイルが1:1というわけではありません。通常1つのファイルに対して複数のブロックが割り当てわれます。その他の特徴としては、ファイルへのアクセス時にボリューム&ブロック&ファイルのマッピング処理が走るため、転送速度は落ちます。しかし、ファイルの属性情報(種類、サイズ、作成日)が保持可能なので、ファイルの編集履歴を気にする場合に適しています(Windowsのファイルエクスプローラーなどはファイルアクセス型)。
参考資料
ブロックアクセスとファイルアクセス
https://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/beginner/block/
DAS (Direct Attached Storage)
初期のITシステムのセットアップで、サーバとストレージを1対1の接続形態をした、ブロックストレージです。当然可用性もなければ、運用負荷も高いといった問題があります。銅線ケーブルを使用しているので転送速度も出ません。銅線を介する通信にはSCSI(スカジー)と呼ばれるインターフェースが使われています。8本あるいは16本の銅線を並行に束ねて転送するパラレル転送を使用しているため、線の間で電気信号が影響し合う「クロストーク」などいくつか課題があります。
参考資料
SASとは
https://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/interface/sas/
SAN (Storage Area Network)
DASにおけるサーバーとストレージの関係が1:1という問題点を解決すべく、専用のネットワークでn:1(ストレージが1、または小さい数字)にしたものがSANストレージです。ストレージの未使用の容量を減らせることや、管理しなければいけないストレージの台数が減らせるといった利点があります。SANもDAS同様ブロックストレージです。以下がSANで使われている通信方式(プロトコル)です。
FC (Fibre Channel)
SANに一般的に使われる通信方式のひとつです。光ファイバを使用しているので、高速転送/長距離伝送が可能です。
FCoE(Fibre Channel over Ethernet)
FCのプロトコルをイーサネット上でやり取りできるようにするANSI(アメリカ規格協会)で標準化が進められている新しいプロトコル。これによって、LAN(イーサネット)とSAN(ファイバチャネル)とで別々のインフラストラクチャーを構築する必要がなくなり、I/O 統合が実現されます。
参考資料
新プロトコルFCoEはなぜ注目されるのか
https://atmarkit.itmedia.co.jp/fserver/articles/fcoe/01/01.html
iSCSI
DASで使われているSCSI接続を、TCP/IPパケットの伝送フレームの中に包み込み、IPネットワーク経由で送受信するためのプロトコル規格です。
NAS (Network Attached Storage)
NetworkにAttachされているという名前通り、ネットワークに直接接続されるストレージを指します。LAN (Ethernet、FDDI、無線ルーター等)などを介してアクセスするため、SAN同様n:1でのアクセスが出来ます。しかしネットワークを介してのデータの供給形態なので、DAS(ストレージとサーバを直つなぎ)&SAN(ファイルアクセス対ブロックアクセス)と対をなす存在です。
NAS: パソコン→LAN→NAS
SAN: パソコン→サーバ→SAN→ストレージ
NASストレージはストレージ自体にOSも内蔵しているため、単体でデータサーバとして機能します(SANは別にサーバが必要)。しかし、ネットワークにアタッチするという事で、既存のネットワークに負荷を与えてしまうというデメリットもあります。以下がNASで使われている通信方式(プロトコル)です。
NFS (Network File System)
UNIX/Linux系OSで使用されるNASのファイル共有プロトコルです。
CIFS (Common Internet File System)
Windows OSで使用されるNASのファイル共有プロトコルです。IBMが前身を作り、拡張されたCIFSとしてSMB(Server Message Block)というプロトコルも登場し、よくCIFS/SMBとまとめて表現されます。
参考資料
【比較】NFSとCIFS/SMBの仕組みと違い,速度
https://milestone-of-se.nesuke.com/sv-advanced/file-server/nfs-cifs-smb-summary/
オブジェクトストレージ
データをファイルでもブロックでもなく「オブジェクト」という単位で扱うストレージです。ディレクトリの構造などの制約がないので、データのサイズや種類、ファイル数に制限などがありません。画像ファイルや音声ファイルといった大容量ファイルの保管に適しています。AWSのS3オブジェクトストレージの登場によって一気に認知度が広がりました。データのアクセスに使用するプロトコルはHTTP/HTTPSです。
参考資料
オブジェクトストレージとは
https://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/beginner/object-storage/
ユニファイドストレージ
ひとつのストレージでFC、iSCSI、NFS、CIFSといった複数のプロトコルをサポートし、管理、運用体系が統一されたストレージです。
NAS vs SAN vs オブジェクト比較まとめ
使い方
速度
所有に関するたとえ
※オブジェクトストレージは使い方によってNASっぽくもSANっぽくもなります
その他の通信技術に関するワード
ポート
各種装置に設けられたケーブルやコネクタの差込口のことで、要はネットワークからパソコンやサーバに入る時のドアにたいなものです。大体の機器には番号が付いたドア(ポート)が複数あって、行き来するデータの種類によって通るドアが決まっています。
ハブ
ネットワークの接続方式には色々ありますが、代表的なものにスター型というのがあります。
スター型のネットワークにおいて、すべてのコンピュータは元締めの様なポジション(赤丸)を通して通信を行います。これがケーブル中継装置のハブです。
ハブの中でも、デバイスAから全員に向けて発信し、「みんなに送るけど自分には関係ないものは無視してね」というのがリピーターハブといいます。逆に、特定の送り先にデータを送るのがスイッチングハブと言います。
参考資料
ネットワークトポロジーとは?スター型、バス型、リング型を図解
https://emb.macnica.co.jp/articles/7294/
スイッチ
スイッチングハブの上位互換です。データのかたまりを指定された宛先にだけ選択的に送る機能だったり、追加機能があります。
帯域
電波などの周波数の範囲のことで、「帯域幅(英語ではbandwidth)」とも言われます。データ通信の際は、通信に使用する電気信号の帯域(周波数の範囲)が広ければ広いほど、多くの情報を送ることができるため、高い転送速度を得られます。そのため、「帯域が広い」ニアリーイコール「通信速度が速い」ということから、「帯域」と「通信速度」は同義語として用いられることが多いです。
参考資料
周波数帯域
https://www.sophia-it.com/content/bandwidth
キャッシュサーバ
クライアントとサーバの間に位置し、サーバからクライアントに返信されるデータを一時的に保持します。こうすることで、頻繁にアクセスされるデータをより速くクライアントに返信し、ストレージとの間に必要な帯域を低減する装置です。