DRBD Proxyプロセスは、 DRBDが設定されているマシン上に直接配置するか、個別の専用サーバに配置することができます。DRBD Proxyインスタンスは、複数のノードの複数のDRBDデバイスのプロキシとして機能することができます。
DRBD ProxyはDRBDに対して完全に透過的です。通常は大量のデータパケットがDRBD Proxyを含む転送経路に溜まるため、アクティビティログがかなり大きくなります。これは、プライマリノードのクラッシュ後の長い再同期の実行を引き起こす可能性があるので、それはDRBDのcsums-alg設定を有効にすることをお勧めします。
DRBD Proxyを入手するには、(日本では)株式会社サードウェアまたはその販売代理店に連絡してください。特別な理由がない限り、常に最新バージョンのDRBD Proxyを使用してください。
DebianとDebianベースのシステム上でDRBD Proxyをインストールするには、(DRBD Proxyのバージョンとアーキテクチャは、ターゲットのアーキテクチャに合わせてください)dpkgを次のように使用します。
dpkg -i drbd-proxy_1.0.16_i386.deb
RPMベースのシステム(SLESやRedhat) にDRBD Proxy をインストールする場合は、次のコマンドを使用します。(DRBD Proxyのバージョンとアーキテクチャは、ターゲットのアーキテクチャに合わせてください)
rpm -i drbd-proxy-1.0.16-1.i386.rpm
DRBD Proxyの設定には drbdadm が必要なので、これもインストールします。
DRBD Proxyバイナリだけでなく、 /etc/init.dに通常に入る起動スクリプトもインストールします。DRBD Proxy を起動/停止するには、通常はこの起動スクリプトを使ってください。このスクリプトは単に起動/停止するだけでなく、drbdadm を使って DRBD Proxy の動作も設定します。
DRBD Proxy の実行には、ライセンスファイルが必要です。DRBD Proxyを実行したいマシンにライセンスファイルを設定してください。このファイルは drbd-proxy.licenseと呼ばれ、DRBD Proxy を実行するすべてのマシンの/etcディレクトリにコピーしなければなりません。
cp drbd-proxy.license /etc
DRBD ProxyはDRBDのメイン設定ファイルで設定します。設定は、追加のオプションセクションproxyとホストセクション内のproxy onセクションで行います。
DRBDノードで直接実行されるプロキシのDRBD Proxy の設定例を次に示します。
resource r0 {
protocol A;
device minor 0;
disk /dev/sdb1;
flexible-meta-disk /dev/sdb2;
proxy {
compression on;
memlimit 100M;
}
on alice {
address 127.0.0.1:7789;
proxy on alice {
inside 127.0.0.1:7788;
outside 192.168.23.1:7788;
}
}
on bob {
address 127.0.0.1:7789;
proxy on bob {
inside 127.0.0.1:7788;
outside 192.168.23.2:7788;
}
}
}inside IPアドレスはDRBDとDRBD Proxyとの通信に使用し、 outside IPアドレスはプロキシ間の通信に使用します。
drbdadmには proxy-upおよびproxy-downサブコマンドがあり、名前付きDRBDリソースのローカルDRBD Proxyプロセスとの接続を設定したり削除したりできます。これらのコマンドは、/etc/init.d/drbdproxyが実装する startおよびstopアクションによって使用されます。
DRBD Proxyには、 drbd-proxy-ctlという下位レベル構成ツールがあります。このツールをオプションを指定せずに呼び出した場合は、対話型モードで動作します。helpコマンドで、使用可能なコマンドを表示できます。
Help for drbd-proxy. -------------------- add connection <name> <ip-listen1>:<port> <ip-connect1>:<port> <ip-listen2>:<port> <ip-connect2>:<port> Creates a communication path between two DRBD instances. set memlimit <name> <memlimit-in-bytes> Sets memlimit for connection <name> del connection <name> Deletes communication path named name. show Shows currently configured communication paths. show memusage Shows memory usage of each connection. list [h]subconnections Shows currently established individual connections together with some stats. With h outputs bytes in human readable format. list [h]connections Shows currently configured connections and their states With h outputs bytes in human readable format. list details Shows currently established individual connections with counters for each DRBD packet type. quit Exits the client program (closes control connection). shutdown Shuts down the drbd-proxy program. Attention: this unconditionally terminates any DRBD connections running.