マルチライターフラグを使用して、VMFS が提供する同時書き込み保護を有効または無効にする
search cancel

マルチライターフラグを使用して、VMFS が提供する同時書き込み保護を有効または無効にする

book

Article ID: 322019

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事 Enabling or disabling simultaneous write protection provided by VMFS using the multi-writer flag の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


VMFS は、複数の仮想マシンが同じ仮想ディスク(.vmdk ファイル)を開いて書き込むことが(デフォルトで)無効にされているクラスタファイルシステムです。
これにより、複数の仮想マシンが同じ .vmdk ファイルに誤ってアクセスすることが回避されます。

マルチライターオプションを使用すると、VMFS でサポートされるディスクを複数の仮想マシンで共有できます。
このオプションを使用することで VMware Fault Tolerance がサポートされ、プライマリ仮想マシンとスタンバイ仮想マシンが .vmdk ファイルに同時にアクセスできるようになります。

複数の異なる仮想マシンから書き込み操作が実行されてもデータ損失が発生しないことがアプリケーションによって保証される、特定のクラスタ対応アプリケーションの保護をこのオプションを使用して無効にすることができます。
このドキュメントでは、仮想ディスクにマルチライターフラグを設定する方法について説明します。

警告:この保護を無効にする場合は注意してください。共有ディスクへの書き込みに関して、仮想マシン内のアプリケーションが一貫性を維持しない場合、この変更によってデータが破損することがあります。結果として、下のリストに示すように、一部の仮想マシン操作および vSphere の機能はサポートされません。

使用事例:

  • VMware FT は、VMware vLockstep テクノロジを使用して、プライマリ仮想マシンとの仮想ロックステップ方式で実行されるアクティブなセカンダリ仮想マシンを確立して維持します。セカンダリ仮想マシンは異なるホスト上に存在しますが、プライマリ仮想マシンとまったく同じ仮想(ゲスト)命令シーケンスを実行します。vSphere Client FT をオンにすると、マルチライターフラグが自動的に有効になります。
  • サードパーティ製のクラスタ対応アプリケーション。この場合、複数の異なる仮想マシンから書き込み操作が実行されてもデータ損失が発生しないことがアプリケーションによって保証されます(たとえば、Oracle RAC 仮想マシンでこれが使用されます)。この場合、この記事の手順を使用して、マルチライターフラグを手動で有効にします。仮想 RDM を使用する場合は、同じ手順に従います。
  • vSphere 7.0 Update 1より、 NVMe over Fibre Channel と NVMe over RDMA (RoCE v2) データストアは、分散書き込みの機能を提供するCluster-Aware ファイルシステムを利用するゲストシステム間のマルチライターオプションの有効化をサポートするようになりました。NVMe ストレージにマルチライター機能を用する共有ディスクを設定する前に、NVMe ストレージのガイドラインを参照ください。更なる情報に関しましては、VMware NVMe ストレージについて を確認ください。
  • vSphere 7.0 Update 3 より、FC や iSCSI プロトコルを使用した vVOL データストアにてマルチライターオプションがサポートされます。これにより、クラスタ機能を認識したファイルシステムを活用するゲスト内のシステムが書き込み容量を分散することが可能となります。詳細は Oracle workloads on VMware Virtual Volumes (vVOLS) using Pure Storage FlashArray X50 and Broadcom LPe36000 Fibre Channel Adapter – better performance [ SCSI-vVols v/s SCSI-FCP] を確認ください。
  • vSphere 8.0 Update 2 より、NVMe FC や NVMe TCP の vVOL データストアもマルチライターオプションがサポートされます。 
  • マルチライターフラグが有効な状態で Oracle RAC 仮想マシンが正しく機能するには、仮想マシンを実行している ESXi 5.5 ホストにパッチ 以降を適用する必要があります。
  • VMware vSAN を使用した構成については、Using Oracle RAC on a vSAN Datastore を参照してください。

サポート対象/対象外のアクションまたは機能

アクションまたは機能 サポート対象 サポート対象外
仮想マシンのパワーオン、パワーオフ、再起動    
仮想マシンのサスペンド   ×  
仮想ディスクのホット アド   既存のアダプタに対してのみ
デバイスのホット リムーブ    
仮想ディスクのホット拡張   vVOL データストア内の共有ディスクについては vSphere 8.0 Update 2 以降
デバイスの接続と切断    
依存型ディスクの仮想マシンのスナップショット   × 仮想バックアップソリューションは、vStorage API を介してスナップショットを利用しますが(VMware Data Recovery、vSphere Data Protection など)、これらもサポート対象外です。
独立型通常ディスクの仮想マシンのスナップショット  

vSphere 5.1 Update2 以降でサポートされます。
スナップショットタスクは完了しますが、独立型ディスクについてはスナップショットは作成されません。
独立型ディスクを持つパワーオン状態の仮想マシンでは、メモリスナップショットはサポートされていません。

クローン作成   ×  
Storage vMotion   × ストレージの移行を開始するには仮想マシンの一時停止が必要となるため、共有ディスクも非共有ディスクも Storage vMotion を使用して移行することはできません。
変更ブロックのトラッキング (CBT)   ×  
vSphere Flash Read Cache (vFRC)   × 古い書き込みにより、データの損失や破損が生じる可能性があります。
vMotion   ORAC のみに対してサポートされ、8 つの ESX/ESXi ホストに限定されています。



制限:

  • マルチライターモードを使用する場合、仮想ディスクは eager zeroed のシックである必要があります。仮想ディスクを zeroed のシックまたはシンプロビジョニングにすることはできません。詳細については、Powering on the virtual machine fails with the error: Thin/TBZ disks cannot be opened in multiwriter mode を参照してください。
  • vVOL データストア内のディスクにてマルチライターモードを使用する場合、仮想マシンはシンまたはシックプロビジョニングの両方を指定可能です。
  • 仮想ディスクをホットアドすると、マルチライターフラグが削除されます。
  • マルチライター有効状態の同じ仮想ディスクを共有する仮想マシンが同じ ESXi ホスト上に複数存在する場合、対象仮想マシンはパワーオンできません。これは重複したディスク予約を防ぐための意図された挙動です。
  • vSphere 8.0 Update 2 以降より、仮想 NVMe コントローラもマルチライターモードの仮想ディスクをサポートするようになりました。
  • vSphere 6.7 Update 1 以降は、マルチライターの仮想ディスクの共有が、8 台以上の ESXi/ESX ホストへと機能拡張されました。VMFS5 / VMFS6 ともに適用されます。 本機能を有効化するためには、下記の通り/VMFS3/GBLAllowMW のアドバンス設定を有効にする必要があります。
1. ESXiホストへログインし、下記コマンドを実行します:
# esxcli system settings advanced set -i 1 -o /VMFS3/GBLAllowMW

:これにより、マルチライターロックが有効になります。GBLAllowMW コンフィグ設定はESXiホスト上においてデフォルトで無効化されています。
: vSphere 6.7 Update 1 では、1つの共有ディスクでサポートできるESXiホストの最大数は64です。
 
2. 設定状態を確認するため、下記コマンドを実行します:
 
     # esxcli system settings advanced list -o /VMFS3/GBLAllowMW
         Path: /VMFS3/GBLAllowMW
     Type: integer
      Int Value: 1             =========== > Value set to 1 from default 0
     Default Int Value: 0
     Min Value: 0
     Max Value: 1
     String Value:
     Default String Value:
     Valid Characters:
     Description: Allow multi-writer GBLs.

:設定を無効化するには、# esxcli system settings advanced set -i 0 -o /VMFS3/GBLAllowMW を実行します 。

3. 共有される環境内の全ESXiホストで上記設定を有効化します。



Environment

VMware vSphere ESXi 8.0
VMware vSphere ESXi 7.0
VMware vSphere ESXi 6.7
VMware vSphere ESXi 6.5

Resolution

仮想ディスクの共有を有効にする

マルチライターフラグを設定することで共有仮想ディスクを構成するには:


ESXi 6.X

仮想マシンを構成し、2 つ目のハードディスク(シック EZT ディスク タイプ)の共有方法をマルチライターとして追加します。
(仮想マシンの編集で [設定の編集] > [仮想ハードウェア] > [2 つ目のディスク] > [共有] > [マルチライター])


以前のバージョンの ESXi

  1. 許容される任意の方法を使用して、共有する仮想ディスクを作成します。たとえば、vSphere Client を使用します。
    1. VMFS データストアに仮想マシン用の新しいディスクを作成します。

    2. [ディスクの作成] ウィンドウで、バージョン 5.0 よりも前の ESX/ESXi の場合、[フォールトトレランスなどのクラスタリング機能をサポート] をクリックして、新しい仮想ディスクを必要なフォーマット、eager zeroed のシックで作成します。



      ESXi 5.x のバージョンでは、[ディスクの作成] ウィンドウの [ディスクプロビジョニング] には、[シックプロビジョニング (Lazy Zeroed)]、[シックプロビジョニング (Eager Zeroed)]、[シン プロビジョニング] のオプションが用意されています。必ず、シックプロビジョニング (Eager Zeroed) を選択してください。また、ドキュメントで、これをフラット事前初期化として参照している場合もあることに注意してください。

    3. [SCSI (1:0)] などの仮想デバイスノード設定を選択します。これは後で必要となるため、書き留めておきます。


       
  2. マルチライターフラグを追加して共有を構成します。

    :SCSI コントローラの SCSI バス共有オプションを変更しないでください。デフォルトの選択 (None) を保持します。

    特定のディスクを共有するためにマルチライターフラグを有効にするには、次のいずれかのオプションを適用します。
    1.  
      1. 仮想マシンをパワーオフします。
      2. 仮想マシンを定義する vmx ファイルに、次のようなエントリを追加します。
        scsiX:Y.sharing = "multi-writer"

        ここで、X はコントローラ ID で、Y はそのコントローラのディスク ID です。仮想マシンの設定画面に、次の値が表示されます。



        共有する各仮想ディスクにこの設定を追加します。たとえば、4 台のディスクを共有する場合、構成ファイルのエントリは次のようになります。
        scsi1:0.sharing = "multi-writer"
        scsi1:1.sharing = "multi-writer"
        scsi1:2.sharing = "multi-writer"
        scsi1:3.sharing = "multi-writer"

      3. .vmx ファイルを保存し、仮想マシンをパワーオンします。

        :vSphere 6.0 以降の GUI には、.vmx ファイルを編集せずにマルチライターフラグを設定する機能があります。
         
    2. vSphere Client で仮想マシンをパワーオフし、[設定の編集] > [オプション] > [詳細] > [全般] > [構成パラメータ] に移動します。共有ディスクごとに行を追加し、値を multi-writer に設定します。

       

  3. 別の仮想マシンにこのディスクを追加します。
     
    1. vSphere Client インベントリで、仮想マシンを右クリックし、[設定の編集] をクリックします。
    2. [ハードウェア] タブ、[追加] の順にクリックします。
    3. [ハードディスク][次へ] をクリックします。
    4. [既存の仮想ディスクを使用] を選択します。

      :ディスクはすでに作成されているため、ディスクを作成する必要はありません。
       
  4. 手順 2 に示したどちらかの方法を使用して、この仮想マシンでの共有を有効にします。



Host Client 経由でマルチライターフラグを構成するには:

  1. 必要な仮想マシンを右クリックし、[設定の編集] を選択します。

  2. [仮想マシンオプション] タブをクリックします。

  3. [詳細設定] を選択し、[構成パラメータ] の [構成の編集] をクリックします。

  4. 以下のように、共有する各仮想ディスクにこの設定を追加します。
scsi1:0.sharing = ""multi-writer""
scsi1:1.sharing = ""multi-writer""
scsi1:2.sharing = ""multi-writer""
scsi1:3.sharing = ""multi-writer""



: マルチライター仮想マシンを移行する際には、ディスクを切断し、移行後にディスクを再度接続してください。時々ディスク情報が重複する場合があります。同じ SCSI-id を使用してください。この記事に記載されている手順の詳細については、こちらを参照してください。Shared-Disk Clustering on vSphere: Getting Out of the “Multi-Writer Flag” Jam.