pacemaker
drbd
corosync

3. drbd8.9でサーバーリプレース対応

構築の情報はよく見かけるが、サーバーリプレース対応が見かけなかった。

通常Primaryをリプレースすることになった場合

  • proxmox55 : 通常Primary(リプレースしたい)
  • proxmox56 : 通常Secondary
  • 通常Primaryをリプレースすることになった場合。通常Primaryを電源OFFすると以下のようにproxmox56がPrimaryになる。

障害.png

新proxmox55にて以下実施

fdisk
fdisk /dev/vdb
n p enter enter enter
t 8e
w
drbd用にボリューム用意
pvcreate /dev/vdb1
vgcreate vg1 /dev/vdb1
lvcreate --name mysql-drbd --size 3.99g vg1
/etc/hosts
192.168.100.55 proxmox55
192.168.100.56 proxmox56
新proxmox55にて実施
apt update; 
apt-get install -y \
 drbd-utils pacemaker crmsh
新proxmox55にて実施
modprobe drbd

drbdadm create-md mysqldrbd

service drbd start

overview.png

設定を転送

proxmox56から新proxmox55に設定コピー(drbd)
scp /etc/drbd.d/mysqldrbd.res root@proxmox55:/etc/drbd.d/
proxmox56から新proxmox55に設定コピー(corosync)
scp /etc/corosync/authkey root@proxmox55:/etc/corosync/
scp /etc/corosync/corosync.conf root@proxmox55:/etc/corosync/

scp /etc/default/corosync root@proxmox55:/etc/default/
scp -r /etc/corosync/service.d/ root@proxmox55:/etc/corosync/
proxmox56から新proxmox55に設定コピー(mysql)
scp -r /etc/my.cnf root@proxmox55:/etc/
新proxmox55にてmysqldインストール
wget https://github.com/tukiyo/mysql4.0php5.2/releases/download/debian9/opt-mysql4_4.0.30-1_amd64.deb

dpkg -i opt-mysql4_4.0.30-1_amd64.deb
新proxmox55にてmysqlアカウント作成(uid,gidがproxmox56と一致すること)
addgroup --system mysql

adduser --system \
 --group \
 --no-create-home \
 --home /opt/mysql \
 --shell /sbin/nologin \
 --disabled-password \
 --disabled-login \
 mysql 
新proxmox55にてmysqlのディレクトリ作成
mkdir -p /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql/

mkdir -p /var/run/mysqld/
chown -R mysql:mysql /var/run/mysqld/
新proxmox55にてcorosyncの現状確認
crm_verify -L -V
crm configure show
crm status

55.png