Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

30.4.2. VDO 書き込みモードの選択

書き込みモードは、syncasync、および auto の 3 つに対応しています。
  • VDO が sync モードの場合、その上の層は、書き込みコマンドがデータを永続ストレージに書き込むことを想定します。したがって、このモードは、ファイルシステムやアプリケーションには必要ありません。FLUSH リクエストまたは FUA (強制ユニットアクセス) リクエストを発行すると、データは、重要な点で持続します。
    VDO は、書き込みコマンドが完了したときに、基となるストレージが、データが永続ストレージに書き込まれることを保証する場合に限り、sync モードに設定する必要があります。つまり、ストレージには揮発性の書き込みキャッシュがないか、またはライトスルーキャッシュが存在する必要があります。
  • VDO が async モードの場合は、書き込みコマンドが承認されたときに、データが永続ストレージに書き込まれることを VDO が保証しません。ファイルシステムまたはアプリケーションは、各トランザクションの重要な点でデータの永続性を保証するために、FLUSH リクエストまたは FUA リクエストを発行する必要があります。
    書き込みコマンドが完了したときに、基となるストレージが永続ストレージに対するデータの書き込みを保証しない場合は、VDO を async モードに設定する必要があります。これは、ストレージに揮発性のあるライトバックキャッシュがある場合です。
    デバイスが揮発性キャッシュを使用するかどうかを確認する方法は、「揮発性キャッシュの確認」 を参照してください。
    警告
    VDO が async モードで稼働している場合は、Atomicity、Consistency、Isolation、Durability (ACID) に準拠しません。VDO ボリュームに関する ACID コンプライアンスを想定するアプリケーションまたはファイルシステムがある場合は、async モードにより予想外のデータ損失が生じる可能性があります。
  • auto モードは、各デバイスの性質に基づいて、sync または async を自動的に選択します。以下はデフォルトのオプションになります。
書き込みポリシーの動作方法のより詳細な理論的概要については、「VDO 書き込みポリシーの概要」 を参照してください。
書き込みポリシーを設定するには、--writePolicy を使用します。これは、「VDO ボリュームの作成」 で VDO ボリュームを作成する場合、または changeWritePolicy サブコマンドで既存の VDO ボリュームを変更する場合に指定できます。
# vdo changeWritePolicy --writePolicy=sync|async|auto --name=vdo_name
重要
誤った書き込みポリシーを使用すると、電源障害時にデータが失われる可能性があります。

揮発性キャッシュの確認

デバイスにライトバックキャッシュがあるかどうかを確認するには、/sys/block/block_device/device/scsi_disk/identifier/cache_type の sysfs ファイルを読み込みます。以下に例を示します。
  • デバイス sda には、ライトバックキャッシュがある ことが示されています。
    $ cat '/sys/block/sda/device/scsi_disk/7:0:0:0/cache_type'
    
    write back
    
  • デバイス sdb には、ライトバックキャッシュが ない ことが示されています。
    $ cat '/sys/block/sdb/device/scsi_disk/1:2:0:0/cache_type'
    
    None
    
また、カーネルブートログでは、上記のデバイスに書き込みキャッシュがあるかどうかを確認できます。
sd 7:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:2:0:0: [sdb] Write cache: disabled, read cache: disabled, supports DPO and FUA
システムログの読み取りに関する詳細は、『システム管理者のガイド』のViewing and Managing Log Filesの章を参照してください。
この例では、VDO に次の書き込みポリシーを使用します。
  • sdaデバイスの async モード
  • sdbデバイスの sync モード
注記
cache_type の値が none または write through の場合は、sync 書き込みポリシーを使用するように VDO を設定する必要があります。