2016年04月07日 08時00分 公開
特集/連載

ストレージのI/Oパフォーマンスを低下させる「ミスアライメント」問題チェック方法から解消方法まで

仮想化の普及に伴い、ストレージは複数の段階で抽象化されるようになった。このとき、ファイルが「ミスアライメント」状態になると、I/O速度が低下し、さまざまな場面で不都合を生じさせることになる。

[Chris Evans,Computer Weekly]

 NANDフラッシュが広く普及するまで、永続性ストレージのベースとなっていたのは一般に機械式のデバイスだった。

 ストレージデバイスは、テープやカードに穿孔していた時代から、テープや回転型のディスクメディア(HDDや光学ドライブ)の時代へと変化してきた。これらのデバイスの物理特性は、全てデータの読み書き速度に影響を及ぼす。

 サーバ仮想化によって、基盤となる物理ストレージが仮想マシン(VM)の論理ディスクに抽象化されるようになると、入出力(I/O)のミスアライメントという問題が新たに登場した。I/Oのミスアライメントは、I/Oのパフォーマンス低下につながる。これは共有ストレージアレイ内のストレージを複数の段階を経て抽象化することで、論理ブロックのアライメントが失われることが原因だ。

 この問題の原因を突き止めるには、ストレージが外部アレイからVMゲストにマップされる仕組みを知る必要がある。一般に、ストレージエリアネットワーク(SAN)やネットワークファイルシステム(NFS)ベースのストレージの内部では、4KB以上の固定ブロック(チャンク)でデータの読み書きが行われる。

 この上に、VMwareの「VMFS」(Virtual Machine File System)やMicrosoftの「VHD」(Virtual Hard Disk)などがファイルレイアウトとして作成される。

 SANもNFSも、ファイルシステムの動作はわずかに異なる(「Hyper-V」は「NTFS」を使用)が、アライメントのメリットに関係する特性は変わらない。「VMFS-5」のアロケーションサイズは1MBで、I/Oのサイズはゲスト自体に基づく。

 これを土台に、VMゲストとOSのファイルシステムが重なる。例えば「Windows」とNTFSはクラスタサイズが固定であらかじめ定義されている。この関係を以下の図1に示す。各層がLBA(論理ブロックアドレス)の境界(「LBA=0」から始まる)に沿ってアライメントされる。VMゲストデータのいずれかのブロックに対して読み取りまたは書き込みI/Oが1回行われると、ストレージ層で1回だけI/Oが発生する。




続きを読むには、[続きを読む]ボタンを押して
会員登録あるいはログインしてください。






ITmedia マーケティング新着記事

Yahoo!広告がLINE広告と連携 「LINE NEWS」面への配信を開始
ヤフーとLINENが広告事業で初めての連携。

news019.jpg

人はなぜFacebookを離脱したくなるのか? プライバシー懸念を上回る理由
さまざまな懸念もよそに拡大する巨大SNS。一方でそこからログアウトする人々は何を思うの...

news117.jpg

化粧品の二次流通市場規模は推計1555億円――メルカリとアイスタイル調査
二次流通市場購入者の40.1%が、使ったことがない化粧品を試すための“トライアル消費”...