はじめに
Drbd Linuxプラットフォーム用の分散複製ストレージシステムです。これは、カーネルドライバー、いくつかのユーザースペース管理アプリケーション、およびいくつかのシェルスクリプトとして実装されます。これは、従来、高可用性(HA)コンピュータークラスターで使用されていました。それでも、DRBDバージョン9以降では、DRBDを使用して、クラウド統合に焦点を当てた、より大きなソフトウェアディファインドストレージプールを作成することもできます。
仮想カーネルを使用している場合 仮想マシンの一部として、drbdモジュールを手動でコンパイルする必要があります。 Linuxサーバーパッケージを仮想マシン内にインストールする方が簡単な場合があります。 drbdユーザーガイドとMySQLを確認してください。
すべての要件をインストールするためのプレイブックを作成する
提供されているプレイブックは、クラスターを設定するためのシーケンスを提供するためのサンプルタスクにすぎません。
# cat > drbd.setupcentos8.yml
---
- hosts: all
gather_facts: no
become: true
tasks:
- hostname:
name: "{{ ansible_hostname }}"
- get_url:
url: https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
dest: /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
- name: install repo
command: rpm -ivh /tmp/elrepo-release-8.el8.elrepo.noarch.rpm
ignore_errors: yes
- command: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
ignore_errors: yes
- shell: echo drbd > /etc/modules-load.d/drbd.conf
- yum:
name: "{{ item }}"
state: present
loop:
- drbd90-utils
- kmod-drbd90
- lvm2
- policycoreutils-python-utils
- systemd:
name: firewalld
state: stopped
enabled: no
- selinux_permissive:
name: drbd_t
no_reload: false
permissive: true
- lvg:
vg: drbdvg
pvs: /dev/sdb
- lvol:
vg: drbdvg
lv: drbdlv
size: +100%FREE
インストールからグローバルデフォルト設定を削除します。
ファイルを移動して、新しい構成ファイルを作成します。
# mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.back
必要な新しい構成を作成します
このチュートリアルの構成ファイル。
# cat > /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
net {
protocol C;
}
}
リソース構成ファイルを作成する
標準的な方法として、リソースはファイルの名前である必要があることに注意してください。このチュートリアルでは、drbd0を使用します。
#cat > /etc/drbd.d/drbd0.res
resource drbd0 {
protocol C;
net {
verify-alg sha256;
}
on node1 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 0;
address 192.168.55.61:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/drbdv/lvdrdb;
node-id 1;
address 192.168.55.62:7788;
meta-disk internal;
}
on node3 {
device /dev/drbd0;
node-id 2;
disk /dev/drbdv/lvdrdb;
address 192.168.55.63:7788;
meta-disk internal;
}
connection-mesh {
hosts node1 node2 node3;
}
}
クラスター化されたセットアップのためのリソースの単純な要件パラメーター
セットアップの選択に必要なパラメータを確認してください
- ホスト名[uname-n]
- node-id[一意のノード識別子。範囲0〜16]
- ディスク{[ディスク]|なし}
- address [address-family] address:port
drbdブロックデバイスを作成する
このコマンドは、必要なブロックデバイスを作成します。
すべてのノードでdrbdデバイスを有効にする
下記のコマンドを実行してデバイスを有効にします。
drbdステータスの確認
これにより、すべてのノードのデバイスのステータスが出力されます。
プライマリノードになるユーザーを構成します。
これにより、同期のコピー元が構成されます。
クラスターのステータスを確認する
これでデバイスが同期されます。
プライマリ上のdrbdデバイスからファイルシステムを作成します
これは、クラスタリングに使用されるものになります。クラスターから誰でも選択できることに注意してください。
ここで、mysqlディレクトリをdrbdデバイスにマウントします
データはすべてのノードで共有されます。
リソースをノード1からノード2に移動します
リソースを移行する前に、まずMySQLサービスを停止する必要があることに注意してください。