掲題の出来事の記録記事。
追加SSDを設けるまでの経緯
まぁまぁ紆余曲折しているので経緯も書いておく。
前提としてConoHaのVPSでWebサービスを動かしていて、RDB(実はMySQLでなくMariaDBだが……CentOS系なので)もVPS上で動かしている。
CoonHaのVPSは標準のストレージは50GB、任意で追加のSSDをアタッチできる。
- RDB運用とかしたくないし、マネージドDBを使おう
- ConoHaには DBサーバー|VPSならConoHa がある
- マネージドDB、スペックはともかく同時接続数が厳しくてリクエストを捌けない
- 仕方ないのでVPSでMariaDBを動かす
- 50GBのディスクなんて使い切るわけないじゃん!!
- Mackerel がDBサーバのファイルシステム容量消費90%超のクリティカルアラートを通知してくる
- 50GBのディスク使い切りそうじゃん……
- 仕方ないので追加SSDをアタッチしてRDBのデータをそちらに配置することにした
追加作業
ディスクの追加自体はConoHaのヘルプ( 追加SSDの設定方法|ConoHa VPSサポート )の通り(例は ext4
だがCentOS7系だったので xfs
にした程度)に、データディレクトリの移動は適当にググって出てきたページを雑多に参考にして処理した。
段取りの整理と、ミスした時のリカバリポイントを検討したかったので、スプレッドシートにやることを列挙してから作業した。
平時の運用でのバックアップ取得前にDBへのアクセスを打ち切ることで、作業が完全に失敗した場合でもまぁまぁ簡単に復旧したかった。それに頼ることはなかったけれど、使わないに越したことはない。
出来事
データディレクトリの設定を起動スクリプトスクリプト( /etc/init.d/mysql
)内の datadir
変数値書き換えで行った。
さしあたってそれでデータディレクトリは切り替わったのだけれど、DBをアップデートしたら起動スクリプトも更新されてデフォルトに戻ってしまった。
設定ファイル( /etc/my.cnf
でインクルードしていた /etc/my.cnf.d
に配置されていた server.cnf
)でデータディレクトリを指定するようにした。
これで大丈夫だろう。多分。
結果
4倍以上のディスク容量を得て色んな余裕が生まれた。
経過
追記。
ストレージを追加してから数日たったのでMackerelでメトリクスの変化を眺めた。
— 光電/7474 (@koudenpa) August 23, 2019
ディスクの負荷が元のディスクと追加ディスクに分散していた。
他のメトリクスはあんまり変化がなかったのでディスクI/Oの限界性能も上がって良かったねと言う感じ。 https://t.co/WIYbccujYI
色んな余裕にはピークIO性能もありそうでよかった。