ドラフトですが、ZFSの内部構造を解説した資料が公開されました(55ページ)
"ZFS On-Disk Specification", DFAFT: 12/9/2005
http://opensolaris.org/os/community/zfs/docs/ondiskformatfinal.pdf
アナウンス:
"ZFS On-Disk Format", December 09, 2005
http://blogs.sun.com/roller/page/tabriz#zfs_on_disk_format
こちらも blogエントリーの紹介ですが:
"ZFS End-to-End Data Integrity", December 09, 2005
http://blogs.sun.com/roller/page/bonwick#zfs_end_to_end_data
文字だけでは今一歩実感出来ないですが、既存のディスクセクターレベルでの
ブロックチェックサムや、ファイルシステムブロックサイズのチェックサムでは
"The fundamental problem with all of these schemes is that they don't
provide fault isolation between the data and the checksum that protects it."
という問題があるが、ZFSでは
"End-to-end data integrity requires that each data block be verified
against an independent checksum, after the data has arrived in the host's
memory. It's not enough to know that each block is merely consistent with
itself, or that it was correct at some earlier point in the I/O path.
Our goal is to detect every possible form of damage, including human
mistakes like swapping on a filesystem disk or mistyping the arguments
to dd(1)."
を目指しているそうです。後述するように NetApp WAFLではファイルシステムから
RAIDにデータが流れる時点でのチェックサムの付加となっています。
他の方の blogエントリーでは:
"ZFS saves the day(-ta)!", November 16, 2005
http://blogs.sun.com/roller/page/elowe#zfs_saves_the_day_ta
ZFSをインストールしたところ、1年近く UFSで使用していたディスクの
"silent data corruption"を発見したそうです。今まで UFSの不具合らしきことが
あったそうですが、UFSのチェック機能では発見出来なかったようです。
ファイルシステムの障害をチェックするだけでなく、修復まで可能にするには、
ZFSでのミラー化が必要となりますが、これについては:
"Demonstrating ZFS Self-Healing", November 17, 2005
http://blogs.sun.com/roller/page/timc#demonstrating_zfs_self_healing
で紹介されています。
ディスクセクターレベルでのブロックチェックサムの例:
"The EMC CLARiiON Data Integrity Difference", May 2001
"EMC CLARiXのデータ整合性の特色", 2001年 5月
http://japan.emc.com/local/ja/JP/pdf/products/clariion/jp/jp_clariion_data_integ.pdf
512+8バイト/セクターでフォーマット
8バイト:LRC(Longitudinal Redundancy Checking) コード
ファイルシステムブロックサイズのチェックサムの例:
"Block-appended checksums", United States Patent 6952797:NetAppの特許
http://www.freepatentsonline.com/6952797.html
520バイト/セクターでフォーマット
8セクターでグループ化
4KByte:WAFLファイルシステムブロックサイズ
64Byte:最後のセクターに収納されるチェックサム
"Introduction to Data ONTAP Release 7G", October 2005, TR-3356
http://www.ntap.com/library/tr/3356.pdf
によると、Vシリーズの DataONTAP 7Gでは、512バイト/セクターのディスクに
対応するために、特別なチェックサム機構(2種類)が用意されています。
NetApp WAFL(Write Anywhere File-system Layout) 特許:
"Write anywhere file-system layout", United States Patent 5963962
http://www.freepatentsonline.com/5963962.html
ちなみに、Storageでも良く出てくる Integrityという単語ですが
"辞書を引いた英単語、今年の一番は?米出版社調べ", 2005年12月21日
http://www.yomiuri.co.jp/world/news/20051221i215.htm
"米国の辞書出版社メリアム・ウェブスターによると、同社のオンライン辞書で
今年最も多く引かれた単語は「Integrity」だった。"
"Merriam-Webster Announces 2005 Words of the Year", December 2005
http://www.m-w.com/info/pr/2005-words-of-year.htm
"Merriam-Webster's Words of the Year 2005"
http://www.merriam-webster.com/info/05words.htm
参考エントリー
Solaris ZFSリンク (06/01/11~), 2006-01-11
"ZFS On-Disk Specification", DFAFT: 12/9/2005
http://opensolaris.org/os/community/zfs/docs/ondiskformatfinal.pdf
アナウンス:
"ZFS On-Disk Format", December 09, 2005
http://blogs.sun.com/roller/page/tabriz#zfs_on_disk_format
こちらも blogエントリーの紹介ですが:
"ZFS End-to-End Data Integrity", December 09, 2005
http://blogs.sun.com/roller/page/bonwick#zfs_end_to_end_data
文字だけでは今一歩実感出来ないですが、既存のディスクセクターレベルでの
ブロックチェックサムや、ファイルシステムブロックサイズのチェックサムでは
"The fundamental problem with all of these schemes is that they don't
provide fault isolation between the data and the checksum that protects it."
という問題があるが、ZFSでは
"End-to-end data integrity requires that each data block be verified
against an independent checksum, after the data has arrived in the host's
memory. It's not enough to know that each block is merely consistent with
itself, or that it was correct at some earlier point in the I/O path.
Our goal is to detect every possible form of damage, including human
mistakes like swapping on a filesystem disk or mistyping the arguments
to dd(1)."
を目指しているそうです。後述するように NetApp WAFLではファイルシステムから
RAIDにデータが流れる時点でのチェックサムの付加となっています。
他の方の blogエントリーでは:
"ZFS saves the day(-ta)!", November 16, 2005
http://blogs.sun.com/roller/page/elowe#zfs_saves_the_day_ta
ZFSをインストールしたところ、1年近く UFSで使用していたディスクの
"silent data corruption"を発見したそうです。今まで UFSの不具合らしきことが
あったそうですが、UFSのチェック機能では発見出来なかったようです。
ファイルシステムの障害をチェックするだけでなく、修復まで可能にするには、
ZFSでのミラー化が必要となりますが、これについては:
"Demonstrating ZFS Self-Healing", November 17, 2005
http://blogs.sun.com/roller/page/timc#demonstrating_zfs_self_healing
で紹介されています。
ディスクセクターレベルでのブロックチェックサムの例:
"The EMC CLARiiON Data Integrity Difference", May 2001
"EMC CLARiXのデータ整合性の特色", 2001年 5月
http://japan.emc.com/local/ja/JP/pdf/products/clariion/jp/jp_clariion_data_integ.pdf
512+8バイト/セクターでフォーマット
8バイト:LRC(Longitudinal Redundancy Checking) コード
ファイルシステムブロックサイズのチェックサムの例:
"Block-appended checksums", United States Patent 6952797:NetAppの特許
http://www.freepatentsonline.com/6952797.html
520バイト/セクターでフォーマット
8セクターでグループ化
4KByte:WAFLファイルシステムブロックサイズ
64Byte:最後のセクターに収納されるチェックサム
"Introduction to Data ONTAP Release 7G", October 2005, TR-3356
http://www.ntap.com/library/tr/3356.pdf
によると、Vシリーズの DataONTAP 7Gでは、512バイト/セクターのディスクに
対応するために、特別なチェックサム機構(2種類)が用意されています。
NetApp WAFL(Write Anywhere File-system Layout) 特許:
"Write anywhere file-system layout", United States Patent 5963962
http://www.freepatentsonline.com/5963962.html
ちなみに、Storageでも良く出てくる Integrityという単語ですが
"辞書を引いた英単語、今年の一番は?米出版社調べ", 2005年12月21日
http://www.yomiuri.co.jp/world/news/20051221i215.htm
"米国の辞書出版社メリアム・ウェブスターによると、同社のオンライン辞書で
今年最も多く引かれた単語は「Integrity」だった。"
"Merriam-Webster Announces 2005 Words of the Year", December 2005
http://www.m-w.com/info/pr/2005-words-of-year.htm
"Merriam-Webster's Words of the Year 2005"
http://www.merriam-webster.com/info/05words.htm
参考エントリー
Solaris ZFSリンク (06/01/11~), 2006-01-11