急に利用できなくなる
Redmine 3.1.1.stableを利用していて急にInternal errorが表示されて利用できなくなりました。
このサーバはAWSで利用していて、Aamazon LInux AMI上で動作させてます。
原因調査
Redmineのログを調べます。
ファイルパスは/var/lib/redmine/log/production.log
tarted GET “/” for unknown at 2016-02-12 09:15:20 +0900 Mysql2::Error (Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)): |
MySQLに接続できないと表示されてる
MySQLの状態を調べます。
$ sudo service mysqld status mysqld dead but subsys locked |
死んでる?
MySQLのログを調べます。
ファイルパスは/var/log/mysqld.log
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
2016-02-12 09:20:56 20431 [Note] InnoDB: Initializing buffer pool, size = 128.0M |
赤文字のところが重要でした。
どうもパッファーが足らないと言ってるようです。
原因はAWSのt2.micro
t2.microのメモリー状態を確認します
$ free total used free shared buffers cached Mem: 1019456 1009988 9468 156 2836 440684 -/+ buffers/cache: 566468 452988 Swap: 0 0 0 |
なんと、Swapが0です。
どうもこれが原因だったようです。
swap領域を作成します
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 レコード入力 |
$ sudo mkswap /swapfile スワップ空間バージョン1を設定します、サイズ = 1048572 KiB ラベルはありません, UUID=5cd5b1db-d353-4301-b4a7-e28ad244fd3f |
$ sudo swapon /swapfile swapon: /swapfile: 安全でない権限 0644 を持ちます。 0600 がお勧めです。 |
$ free total used free shared buffers cached Mem: 1019456 1009988 9468 156 2836 440684 -/+ buffers/cache: 566468 452988 Swap: 1048572 0 1048572 |
スワップ領域が増加したので、MySQLを起動します。
正常に起動できました。
最後に、再起動してもswapが有効になる設定です。
/etc/fstabに以下の記述を追記します。
/swapfile swap swap defaults 0 0 |
以下のサイトの情報を参考にしました。
Amazon EC2 の t1.microインスタンスでMySQLがよく落ちる – blog.hereticsintheworld