MGRディスク容量拡張の実践ガイド
概要
本記事では、MySQL Group Replication(MGR)環境でのディスク容量拡張手順を解説します。通常のLVM拡張ではデータベースやホストの再起動は不要ですが、本ケースでは新規ディスクが認識されないため、システム全体の再起動が必要となります。
作業手順
ステップ1:レプリケーションの停止
STOP GROUP_REPLICATION;
ステップ2:MySQLサービスの停止
mysqladmin -uadmin -p'Pass#1234' shutdown
ステップ3:システムの再起動
reboot
または
init 6
ステップ4:ディスク容量の拡張
- 新しいディスクを物理ボリューム(PV)として設定
- ボリュームグループ(VG)に新規PVを追加
- 論理ボリューム(LV)の拡張
- ファイルシステムサイズの調整
- 拡張結果の確認
- 新しいマスターノードのMEMBER_IDを取得
- 新しいマスターとして設定
pvcreate /dev/sdb
vgextend vg_mysql /dev/sdb
lvextend -l +100%FREE /dev/mapper/vg_mysql-lv_mysql /dev/sdb
xfs_growfs /dev/mapper/vg_mysql-lv_mysql
df -h
ステップ5:データベースとレプリケーションの再開
mysqld_safe --defaults-file=/etc/my.cnf &
START GROUP_REPLICATION;
ステップ6:レプリケーション状態の正常化を待機
MEMBER_STATEが'recovering'から'online'に変わるのを確認してから次のノードを操作してください。
SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+---------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+---------------+-------------+--------------+-------------+----------------+
| group_replication_applier | 2e341cba-6744-11ea-a14d-0xxxx | 10.xx.xxx.xx | 3306 | ONLINE | PRIMARY | 8.0.19 |
| group_replication_applier | 86bcf37c-1f74-11ec-8ae7-005xxx | 10.xxx.xx.xx | 3306 | ONLINE | SECONDARY | 8.0.19 |
| group_replication_applier | a25d2488-6748-11ea-832a-0xxxx | 10.xxx.xx.xx | 3306 | ONLINE | SECONDARY | 8.0.19 |
+---------------------------+--------------------------------------+---------------+-------------+--------------+-------------+----------------+
ステップ7:2番目のノードでの作業繰り返し
ステップ1からステップ6までの手順を2番目のノードで実行してください。
ステップ8:マスタースレーブの切り替え
SELECT * FROM performance_schema.replication_group_members;
SELECT group_replication_set_as_primary('2e341cba-6744-11ea-a14d-005056a744d7');
ステップ9:MGRグループレプリケーションの停止
STOP GROUP_REPLICATION;
ステップ10:ディスク追加操作の繰り返し
ステップ4の手順をすべてのノードで再度実行して、ディスク容量を拡張します。