DRBD 9環境を、DRBD Manageを使って構築していきます。
一号機にログインして、「drbdmanage init」コマンドで初期化します。途中で「yes」か「no」を問われますが、全て「yes」で大丈夫です。
# drbdmanage init 192.168.0.101 You are going to initialize a new drbdmanage cluster. CAUTION! Note that: * Any previous drbdmanage cluster information may be removed * Any remaining resources managed by a previous drbdmanage installation that still exist on this system will no longer be managed by drbdmanage Confirm: yes/no: yes Empty drbdmanage control volume initialized on '/dev/drbd0'. Empty drbdmanage control volume initialized on '/dev/drbd1'. Waiting for server: . Operation completed successfully #
「Operation completed successfully」と表示されることを確認してください。
続いて、ノードを追加します。一号機へ二号機と三号機を追加する作業です。
「drbdmanage add-node」コマンドを一号機で実行し、二号機を追加します。途中で「yes」か「no」を問われますが、全て「yes」で大丈夫です。
# drbdmanage add-node DRBD9-2 192.168.0.102 Operation completed successfully Operation completed successfully Host key verification failed. Join command for node DRBD9-2: drbdmanage join -p 6999 192.168.0.102 1 DRBD9-1 192.168.0.101 0 DnE/fZ5JeTkAttFDA8ZL #
「Operation completed successfully」と表示されることを確認してください。
もし「Join command for node <ホスト名>」と表示された場合には、最終行の「drbdmanage join -p 6999 192.168.0.102 1 DRBD9-1 192.168.0.101 0 DnE/fZ5JeTkAttFDA8ZL」をコピーして、対象とされるサーバでそのまま実行するようにします(なお、この文字列は環境によって変わります。実環境で表示された文字列を用いてください)。上記の例では「Join command for node DRBD9-2」とあるので、二号機で実行します。
続いて、三号機を追加します。同様に途中で「yes」か「no」を問われますが、全て「yes」で大丈夫です。
# drbdmanage add-node DRBD9-3 192.168.0.103 Operation completed successfully Operation completed successfully Host key verification failed. Join command for node DRBD9-3: drbdmanage join -p 6999 192.168.0.103 2 DRBD9-1 192.168.2.11 0 DnE/fZ5JeTkAttFDA8ZL #
同様に、「Join command for node <ホスト名>」と表示された場合には、最終行の「drbdmanage join〜」で始まる文字列をコピーして、この例では三号機で実行します。
ノードが追加されたことを確認します。一号機で「drbdmanage list-nodes」コマンドを実行します。
# drbdmanage list-nodes +------------------------------------------------------------------------------+ | Name | Pool Size | Pool Free | | State | |------------------------------------------------------------------------------| | DRBD9-1 | 20476 | 20468 | | ok | | DRBD9-2 | 20476 | 20468 | | ok | | DRBD9-3 | 20476 | 20468 | | ok | +------------------------------------------------------------------------------+
続いて、リソース「r0」「r1」を登録します。
# drbdmanage add-resource r0 # drbdmanage add-resource r1
リソースが正しく登録されたかどうかを確認します。
# drbdmanage list-volumes --groupby Size --show Port +------------------------------------------------------------------------------+ | Name | Vol ID | Size | Minor | Port | | State | |------------------------------------------------------------------------------| | r0 | * | * | * | 7000 | | * | | r1 | * | * | * | 7001 | | * | +------------------------------------------------------------------------------+
これにより、リソース「r0」と「r1」が登録され、それぞれ7000番と7001番のポートを使用する設定になっていることを確認できました。DRBD 9では、7000番から順番に使用ポートが自動的に割り当てられます。
続いて、「ボリューム」を登録します。今回の例では、リソース「r0」用、リソース「r1」用それぞれに10GBのボリュームを割り当てます。
# drbdmanage add-volume r0 10GB Operation completed successfully # drbdmanage add-volume r1 10GB Operation completed successfully
ボリュームが正しく登録されたかを確認します。
# drbdmanage list-volumes --groupby Size --show Port +------------------------------------------------------------------------------+ | Name | Vol ID | Size | Minor | Port | | State | |------------------------------------------------------------------------------| | r0 | 0 | 9.31 GiB | 100 | 7000 | | ok | | r1 | 0 | 9.31 GiB | 101 | 7001 | | ok | +------------------------------------------------------------------------------+
最後にデプロイもしくはアサインの作業を行うことで、登録ボリュームをDRBD領域として使えるようになります。どちらも「DRBD領域の使用を開始する」という作業ですが、デプロイは「指定した台数を自動的に割り当てる」、アサインは「使うサーバを明示的に指定する」という違いがあります。
デプロイは「drbdmanage deploy-resource」コマンドで行います。
# drbdmanage deploy-resource r0 3 Operation completed successfully # drbdmanage deploy-resource r1 3 Operation completed successfully
上記のコマンドによって、r0とr1のリソースが「3」台のサーバにデプロイされます。ちなみに、コマンドの末尾を「2」にすれば、2台にデプロイされます。その際は、本例では3台のサーバから最適なものが自動的に選ばれ、2台分だけデプロイされるという動きになります。
アサインは「drbdmanage assign」コマンドを使います。以下のように明示的に使用するサーバを指定します。
# drbdmanage assign r0 drbd9-1 # drbdmanage assign r0 drbd9-2 # drbdmanage assign r0 drbd9-3 # drbdmanage assign r1 drbd9-1 # drbdmanage assign r1 drbd9-2 # drbdmanage assign r1 drbd9-3
正しくデプロイあるいはアサインできたことを確認します。
# drbdmanage list-assignments +------------------------------------------------------------------+ | Node | Resource | Vol ID | | State | |------------------------------------------------------------------| | DRBD9-1 | r0 | * | | ok | | DRBD9-1 | r1 | * | | ok | | DRBD9-2 | r0 | * | | ok | | DRBD9-2 | r1 | * | | ok | | DRBD9-3 | r0 | * | | ok | | DRBD9-3 | r1 | * | | ok | +------------------------------------------------------------------+
各サーバにr0、r1のリソースが割り当てられていることを確認できました。
Copyright © ITmedia, Inc. All Rights Reserved.