ローカルでない場合でも、ネットワークを介してアクセスされます。スケジュールしたい場所のリストを報告します。プラグインはその設定に従ってボリュームのプロビジョニングを試みます。すべての設定が試行されたが、正常に割り当てられたボリュームがない場合、ボリュームの作成は失敗します。残りのボリュームに動作が適用されます。アクセスできないと見なします。設定した場合と同じになります。名前で、新規に作成されたボリュームにストレージを供給するときに使用されます。構成している必要があります。ディスクレス、すなわちクライアントとして割り当てられるようにするときに使用します。カスタムディスクレスストレージプールが定義されている場合は、ここで指定します。オプションで、ボリュームを暗号化するかどうかを指定します。これが正しく動作するように適切に設定されている必要があります。下位のブロックボリュームのファイルシステムを指定するためのオプションパラメータです。オプションで、作成時にボリュームのファイルシステムに渡すオプションを指定します。オプションで、マウント時にボリュームのファイルシステムに渡すオプションを指定します。VEでのDRBDについて説明します。KVM、Linuxコンテナ、HAとともに使われる簡単で、完全なサーバ仮想化環境を提供します。VEの複数のノードでVMディスクの複製にLINSTORとともに使われます。これにより実行中のVMのライブマイグレーションが無停止でかつ中央にSANディスクを用意せずに数秒で完了します。これはデータがすでに複数のノードに複製をされているからです。VEユーザのために専用のレポジトリを公開しています。SDSスタックが含まれます。パッケージをインストールします。これに従うことでカーネルモジュールがこの環境用に構築されることが保証されます。)カーネルヘッダーをインストールする必要があります。LINBITのレポジトリは以下の操作で有効にできます。VEのメジャーバージョンを指定します(例、"5")。クラスタが構成されていると仮定します。リソースグループと単一のボリュームグループを使用することです。構成(冗長カウントなど)をリソースグループに設定する必要があります。最後の手順ではProxmox自身を設定します。以下のような設定を加えることで行います。固定で変更できません。これによりProxmoxにストレージとしてDRBDを使用することを宣言します。GUI上で表示されるDRBDストレージの場所を示する名前です。固定で変更できません。クラスタ内に保つ複製数を指定します。5ノードをもつクラスタの場合、すべのノードがデータの3つの複製にアクセスできます。LINSTORコントローラが動作するノードのIPアドレスを指定します。同時に1つのノードだけがLINSTORコントローラとして設定できます。このノードは現在動作していなければならず、すでに動作していない場合は、他のノードでLINSTORコントローラを動作させ、IPアドレスを変更しなければなりません。この問題を扱うより適切な方法があります。詳細はこの章の後半の「コントローラの高可用性」を参照ください。最新のバージョンのプラグインは複数の異なるストレージプールをサポートします。この構成は以下のようになります。他の定義されているプールを選択することでDRBDボリュームを使用できます。ディスクフォーマットのみをサポートします。この時点で、VMのライブマイグレーションができます。すべてのノード(ディスクレスノードでも)ですべてのデータにアクセスできるため、わずか数秒で完了します。VMに負荷がかかっていて、ダーティメモリが常に多い場合は、全体的な処理に少し時間がかかることがあります。いずれの場合でも、ダウンタイムは最小限で、中断は全く見られません。基づいてLINSTORとProxmoxプラグインがすでにインストールされていると仮定します。基本的な考え方は、ProxmoxとそのHA機能によって管理されるVM内でLINSTORコントローラを起動するということです。このVMのストレージはLINSTORによって管理されるDRBDに存在します。最初の手順はVMのストレージを割り当てることです。通常の方法でVMを作成し、OSの選択時にどのメディアも選択しません。ディスクスペースは2GBで十分でメモリは1GBを選択します。これらはLINBITがカスタマーに供給するアプライアンスの最小の構成要件です。独自のコントローラVMを設定し、リソースに成約がない場合はこれらの最小値を増やしてください。以下の例ではコントローラVMはID100で作成されたと仮定しますが、他のVMを作成した後にこのVMを作成する場合でも問題はありません。LINBITは作成したストレージを実装するために使うことができるアプライアンスをカスタマーに供給しています。アプライアンスを動作させるためには、最初にシリアルポートを作成する必要があります。ハードウェアをクリックし、追加で、シリアルポートを選択してください。シリアルポートの追加すべてがうまくいくと、VMの定義は以下のようになります。シリアルポート付きのVM次の手順ではVMアプライアンスをVMディスクストレージにコピーします。IDを適切なものに変更するようにしてください。VNCビューワ経由でVMに接続することができます。デフォルトのssh設定を維持しているので、これらのユーザ名とパスワードでsshログインできません。これらを有効にしsshサービスを再起動してください。ネットワークの設定(スタティックIPなど)が変更できます。その後、VMにsshできるようになります。LINSTORコントローラアプライアンス次の手順で、コントローラVMを既存のクラスタに追加します。HAがVMを開始する前に、すべてのホストがそのVMのストレージにアクセスできるようにします。ないとVMを開始できません。詳細は以下を参照ください。他のノードにもリソースを追加しました。4つのノードで構成されているラボでは、すべてのノードにリソース割り当てを行いましたが、ディスクレスでの割り当てでも問題ありません。(それ以上はあまり使われない)に保ち、残りはディスクレスに割り当てます。実行し有効にします(この段階ではLINSTORによって制御されていない)。削除し、再度それらを作成します。スタートすることで対応できます。通してサービスファイルを編集してください(ファイルを直接編集しないでください)。変数でコントローラーVMの名前を指定します。指定された値は正規表現として解釈されるため、正確な名前を指定する必要はありません。再起動することを忘れないでください。最後の手順として、既存のコントローラから新しいコントローラに切り替えます。既存のコントローラを止めて、LINSTORコントローラデータベースをVMホストにコピーします。root@10.43.7.254:/var/lib/linstor/最後にコントローラVMのコントローラを有効にします。コントローラのVMに対してクラスタノードを問い合わせることです。表示されることは問題ありません。この表示方法は将来より適切なものに変更される可能性があります。IPアドレスをVMのIPアドレスに変更する必要があります。追加設定に注意してください。この設定は、DRBDストレージの他のVMと異なる方法でコントローラVMを処理するようPVEに指示することで、とても重要です。具体的には、コントローラVMの処理にLINSTORストレージプラグインを使用せず、代わりに他の方法を使用するようPVEに指示します。この理由は、単にLINSTORがこの段階では利用できないからです。コントローラVMが起動して実行されると、PVEホストはLINSTORストレージプラグインを使用してDRBDストレージに格納されている残りの仮想マシンを起動することができます。IDを設定してください。コントローラVMが常に動作していて、定期的に(通常はLINSTORクラスタに変更を加えたときに)バックアップを取っていることを確認することはとても重要です。VMがなくなってバックアップがない場合は、LINSTORクラスタをゼロから再作成する必要があります。仮にVMを誤って削除してしまった場合でも、そのような要求はストレージプラグインによって無視されるため、VMディスクはLINSTORクラスタから削除されません。したがって、以前と同じIDでVMを再作成することができます(PVEでVM構成ファイルを再作成し、古いVMで使用されているものと同じDRBDストレージデバイスを割り当てるだけです)。返し、古いデータの古いVMを再び使用できます。コントローラVMを削除しないようにし、必要に応じたプロテクトをするようにしてください。VMによって実行されるコントローラを設定しましたので、VMの1つのインスタンスが常に実行されているようにします。これにはProxmoxのHA機能を使用します。以下のパラメータをコントローラVM用に設定します。HAは他のノードでコントローラVMが起動されるのを保証します。コントローラVMのIPアドレスはもちろん変更されてはなりません。このような場合がないよう、管理者の責任として正しく設定しておきます(例えば、静的IPアドレスの設定、ブリッジインターフェースのDHCPを介して同じIPアドレスを割り振るなど)。LINSTORクラスタの専用ネットワークを使用している場合、PVEホストで構成されたネットワークインターフェイスがブリッジとして構成されているか確認する必要があります。vNICを設定することはできません。ブリッジインターフェイスだけが設定できます。この設定で完全には扱えない1つの制限に、すべてのクラスタノードが再起動する、クラスタ全体の停止(例えば、共通電源障害)があります。Proxmoxはその点でかなり制限されています。制約を定義することはできます。両者は完全に分離されています。従って、コントローラVMを起動してから、他のすべてのVMを起動することを保証するのは困難です。コントローラVMが起動するまでProxmoxプラグイン自身でVMの起動を遅らせる回避策というのは可能かもしれません。プラグインがコントローラVMを起動するように要求された場合はそのようにする、そうでなければ、待機し、コントローラにpingを送るという方法です。良いアイデアのようですが、シリアライズされた並列でないVM起動環境では動作しません。コントローラVMが起動するようスケジュールされる前にあるVMが起動されなければならないような環境です。これは明らかにデッドロックを引き起こします。Proxmox側といろいろなオプションを話し合っていますが、今回示した方法は通常の使用法では価値があり、特にpacemakerの設定の複雑さと比較して価値があると考えます。HAサービスがコントローラVMを起動するまで待つだけでよく、その後、すべてのVMが自動的に起動されます。VMはコマンドラインで手動またはスクリプトで起動することができます。