7回目の投稿となります。
NHNテコラスの遠藤と申します。よろしくお願いいたします┏○
前回の記事でKUSANAGIのバージョンアップについて触れました。
当社のKUSANAGI導入サービスを利用しているお客様からも手順に従って更新してみた、とかKUSANAGIの機能拡張があんなに行われているのは知らなかったのでやってみた等のお話しをいただく機会がありました。
しかし、何か分からないけど最新にしておけば良いものだと思い、KUSANAGI新着情報に書かれてるコマンドをそのまま入力して動作不良になってしまいました・・・との問い合わせも同時期に立て続けにいただいてしまいました。
共通したエラー(お問い合わせ内容)はDBに繋がらなくなってしまったことΣ(゜Д゜)
KUSANAGIはMroongaをサポートしました
Mroonga(ムルンガ)とは全文検索機能を良い感じ(ハイライトとかスコア順とか※カスタマイズにより色々あります)にしてくれるものです。しかも高速。
WordPressでも標準で全文検索は機能としてありますが、Mroongaや他の手段により検索機能は高速にしたり機能が加わったものに置き換えることも出来ます。
ただ、対象としては記事が数千~とかの規模サイトじゃないと通常の検索でも事足りるので、手間を考えるとあまり導入する必要は無いかもしれません。
MySQL(mariaDB)が削除される!?
MroongaがサポートされたKUSANAGIバージョン8.1.2-2の紹介記事にある手順で導入をしてみます。
(前提として古くにプロビジョニングした環境です)
# kusanagi upgrade mariadb Upgrade MariaDB. 読み込んだプラグイン:fastestmirror リポジトリーを清掃しています: base epel extras kusanagi updates zabbix 一部省略 削除しました: MariaDB-Galera-server.x86_64 0:10.0.27-1.el7.centos MariaDB-client.x86_64 0:10.0.27-1.el7.centos MariaDB-common.x86_64 0:10.0.27-1.el7.centos MariaDB-devel.x86_64 0:10.0.27-1.el7.centos MariaDB-shared.x86_64 0:10.0.27-1.el7.centos galera.x86_64 0:25.3.17-1.rhel7.el7.centos 依存性の削除をしました: net-snmp.x86_64 1:5.7.2-28.el7_4.1 postfix.x86_64 2:2.10.1-6.el7 完了しました!
MariaDB関連のパッケージが削除されてしまったのでWordPressなど、データベースを使うサイトはアクセスしてもDB接続エラーが表示されるようになってしまいました。
ここで自己復旧が難しいとされるお客様からは多数お問い合わせを頂戴しました。
復旧方法
KUSANAGI バージョンアップ情報 8.1.2-5に書かれている手法(MariaDBの入れ直し)で復旧可能です。
1./etc/yum.repos.d/MariaDB.repoのファイルを確認。
baseurl = http://yum.mariadb.org/10.0/centos7-amd64
となっていた場合は、下記のように10.1に変更
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
2./etc/yum.repos.d/MariaDB.repoファイルが無い場合はviなどで作成します。
作成したファイルには以下を記述します。
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
3.yumでMariaDBをインストールする
# yum clean all # yum install -y MariaDB-devel MariaDB-client MariaDB-server
4.インストールが終わったらmsqlを機動します
# systemctl restart mysql
KUSANAGIを採用しているプラットフォームでは仮想環境ごとバックアップやインスタンスイメージをスナップショットとして取得するものも多いので、”もしも”の起動しなかった場合を想定してアップデート前はそれらの実行も行うようにすると良さそうです(゜∇^*)