適当にMroongaを入れようとしては駄目な話 乂(゚д゚`)

遠藤博樹(NHN JAPAN株式会社)

NHNテコラスの遠藤が、自社のKUSANAGI導入サービスを利用しているお客様からのフィードバックと問い合わせについて紹介しています。一部のユーザーからは、バージョンアップに伴う問題や新しい機能の登場について質問が寄せられたようで、特にDBへの接続エラーが多かったとのことです。KUSANAGIの最新バージョンは全文検索機能のMroongaをサポートしており、その導入手順や復旧方法なども詳しく解説しています。全文検索の高速化や機能追加に興味のある方や、アップデートによるトラブル対策を知りたい方におすすめの記事です。

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を採用しているプラットフォームでは仮想環境ごとバックアップやインスタンスイメージをスナップショットとして取得するものも多いので、”もしも”の起動しなかった場合を想定してアップデート前はそれらの実行も行うようにすると良さそうです(゜∇^*)

<< KUSANAGIの更新してる(*゜・゜)?SFTPユーザーを追加する S(・∀・)F人T(・∀・)P >>

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解