« あなたのデータは既に壊れているかもしれない(Silent Data Corruption) | トップページ | Wiresharkによるパケットトレースの収集と解析 »

2009年7月27日

ZFS RAID-Zの動的ストライプ幅

ZFSの動的ストライプ幅(dynamic stripe width)について解説したサンマイクロシステムズ株式会社のスライドが、ちょっと誤解を招く表現になっているのではないかと思う。問題のスライドは、2009年3月6日に開催されたOpenSolaris Night Seminar配付資料の78~80ページである。その後のセミナーでも同じ図を使っている。

今注目の Solaris ZFS!! っていうかファイルシステムって何?
http://sdc.sun.co.jp/events/nightSeminar/PDF/OSNS-Solaris_ZFS-20090306.pdf

ディスク5本で構成したRAID-Zにおいて、大きな書き込みも小さな書き込みも5本のディスクにわたって行われ、それぞれのディスクに書くサイズを小さくすることで書き込みサイズを調節しているというような図になっている。しかしRAIDのストライプ幅というと、通常は使用するディスク本数のことを指すはずだ。この図は常に5本でストライプしているから、動的ストライプ幅に全然なっていない。

ZFS開発者のBill MooreとJeff Bonwickが2008年のSNIA Storage Developer Conferenceで行ったチュートリアルのスライドは別の図を使っている。PDFの18ページ、ビデオはPart2の3分35秒付近である。

ZFS  The Last Word In File Systems
http://www.snia.org/events/storage-developer2008/presentations/monday/JeffBonwick-BillMoore_ZFS.pdf

Video: The Ultimate ZFS Tutorial - Part 2
http://blogs.sun.com/storage/entry/video_the_utlimate_zfs_tutorial1

この図は、オレンジ色の書き込みは5ストライプ×2、黄色の書き込みは4ストライプ、緑は4ストライプ、赤は2ストライプというように、使用するディスク本数が書き込みごとに変わるということを示している。これが動的ストライプ幅である。

ディスク2本にストライプする場合はミラーリング相当になる。RAID-5の本来の意味合いは、ディスク1本の障害でもデータを失わないようにすることだ。2本ストライプの場合は、残った1本からデータを復旧できるのでRAID-5と同等の目的を達成できる。

これについての質疑がzfs-discussにもあった。関連するコードはvdev-raidz.cのvdev_raidz_map_alloc()である。

raidz and 512 byte files
http://www.opensolaris.org/jive/thread.jspa?messageID=47396

|

« あなたのデータは既に壊れているかもしれない(Silent Data Corruption) | トップページ | Wiresharkによるパケットトレースの収集と解析 »

コメント

この記事へのコメントは終了しました。