~ VSAN 6.2 パート3 – ソフトウェアチェックサム ~
本 blog は VMware Storage Business Unit の Cormac Hogan Blog の翻訳になります。 VSAN をより深く知っていただき活用していただく為、本記事の翻訳がお役に立てば幸いです。
次のVSAN 6.2に関する記事として、沢山のお客様がリクエストされていた重要な機能の一つである、”end-to-end software checksum”についてご紹介します。この機能は、基盤となる物理ストレージのメディア上で起こるエラーのために、整合性問題が発生することを回避することが出来ます。VSAN 6.2ではチェックサム機能がデフォルトで有効な設定になっています。また、VMストレージポリシーから、仮想マシン/オブジェクト単位で有効化、無効化することが可能です。お客様は常にこの素晴らしい新しい機能を活用したいと思われていると、我々は考えているので、チェックサム機能をデフォルトで有効にしています。ただし、アプリケーション側で同等の機能が実装されている場合は、この機能を無効化することがあります。
このチェックサム機能に関するポリシールールは、”Disable object checksum”と呼ばれています。以下に示す様に、VMストレージポリシーを作成する際に選択され、無効になります。それ以外の場合は常に有効になっております。
VSAN上のチェックサムの概要について
VSAN上のチェックサムは、Intelプロセッサ上で特殊なCPU命令を利用して、最高のパフォーマンスを得る為に、とても一般的な巡回冗長性チェックCRC−32C(Castagnoli)を使用して実装されています。全ての4KBブロックは、それに関連付けられたチェックサムを持ちます。そのチェックサムは5バイトです。データが書かれた時にチェックサムは、万が一データがネットワーク通信中に任意の破損がある場合に、データを同じホスト上で検知することを保証します。チェックサムはデータで保持されます。
データの後続読み取りがされる過程で、もしチェックサムが有効な設定であれば、チェックサムデータもリクエストされます。もしたった今読まれたデータブロックが破損していることをチェックサムが検知した場合、RAID−1オブジェクトのケースにおいては、正しいデータを他のレプリカ/ミラーデータから読み込まれます。RAID−5, RAID−6のオブジェクトのケースでは、データブロックは、RAIDストライプの他のコンポーネントから再構成されます。エラーは、VMが稼働するホストだけでなく、コンポーネントがエラーを出力した機器を含んでいるホスト上のvmkernel.log ファイルにログされます。以下の例では、ランダムパターンのデータ上に、意図的にゼロデータを上書きして、ゲストOSからデータを読み込んでいます。
2016-02-16T07:31:44.082Z cpu0:33075)LSOM: RCDomCompletion:6706: \ Throttled: Checksum error detected on component \ a3fbc156-3573-4f2c-f257-0050560217f4 \ (computed CRC 0x6e4179d7 != saved CRC 0x0) 2016-02-16T07:31:44.086Z cpu0:33223)LSOM: LSOMScrubReadComplete:1958: \ Throttled: Checksum error detected on component \ a3fbc156-3573-4f2c-f257-0050560217f4, data offset 524288 \ (computed CRC 0x6e4179d7 != saved CRC 0x0) 2016-02-16T07:31:44.096Z cpu1:82528)WARNING: DOM: \ DOMScrubberAddCompErrorFixedVob:327: Virtual SAN detected and fixed a \ medium or checksum error for component \ a3fbc156-3573-4f2c-f257-0050560217f4 \ on disk group 521f5f1b-c59a-0fe2-bdc0-d1236798437c
スクラバーメカニズム
リード処理上でのチェックサム検証と並行して、VSANは、ディスク上のデータが如何なるサイレントコラプションも発生していないということをチェックする為のスクラバー機能を実装しています。このスクラバー機能は、年に一度全てのデータをチェックするように設計されています。しかしより頻繁に実行する為には、アドバンスドセッティングのVSAN.ObjectScrubsPerYear設定にて変更することが出来ます。もし全てのデータを毎週チェックしたい場合は、このパラメータを”52”に設定することで実現できます。しかしこの設定を行うことにより、いくつかのパフォーマンスのオーバーヘッドが発生することに気にしておく必要があります。
まとめ
チェックサムは、RAID−5/RAID−6, 重複排除、圧縮、ストレッチクラスタ構成といった、VSANの新しい機能すべてをフルサポートしています。上記の通り、それはデフォルトで有効設定になるので、お客様は設定を追加することなく、簡単にそのメリットを得られます。そして、もし何らかの理由により、チェックサム機能を利用したくない場合には、上記の通りVMストレージポリシーで簡単に無効化することが出来ます。この機能はVSANを利用するお客様に対して、一般的な物理ディスク障害による潜在的なセクターエラーや、その他サイレントデータコラプションによるデータ破損を検出することが出来ます。
原文:VSAN 6.2 Part 3 – Software Checksum
VMware Storage and Availability Business Unitの シニアスタッフエンジニアCormac Horganの個人ブログを翻訳したものになります。VSANの詳細に関しては弊社マニュアル 、KBをご確認ください。また本記事は VSAN 6.2ベースに記載しております。予めご了承ください。