日: 2018年8月1日

  • “transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused”: unknown

    “transport: dial unix /var/run/docker/containerd/docker-containerd.sock: connect: connection refused”: unknown

    TL;DR

    dockerが高不可に陥ると本エラーが発生することがある  

    This error may occur if docker falls into high

    原因 problem

    Dockerを動かしているサーバ(ホスト)と、Dockerコンテナの通信の不通

    Communication failure between the server (host) running Docker and the Docker container

    解消 deal

    いろいろ調べたけどdocker自体を再起動するしかなさそう。

    I checked a lot, but it seems that docker itself can only be restarted.

    systemctl restart docker

    恒久対策を検討中  

  • AWSでkusanagi (wordpress高速化マシン) を使う落とし穴

    AWSでkusanagi (wordpress高速化マシン) を使う落とし穴

    はじめに

    AWSで稼働しているwordpressのmysqlが突如down!
    原因を探っていくと、高負荷時にOutOfMemoruになりOOM Killerが発動したことがわかった

    原因

    AWSのkusanagi AMIはデフォルトでswap設定されていない。デフォルトでswapの設定がされてなく、memoryがフルになると、すぐにOOM killerが発動されてしまう

    対処

    swapの設定を適切にした

    cat /proc/swaps
    dd if=/dev/zero of=/swapfile bs=1M count=2048
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    free -m

    fstabにswapfileの設定を追加

    /swapfile   swap        swap    defaults        0   0

    加えてやったこと

    かなり簡易的な監視だけど、もし必要なミドルウェアが落ちてしまった場合、自動で立ち上げるようcronをいれた。

    * * * * * ps ax |grep -v grep | grep -q mysql || sudo systemctl start mysql
    * * * * * ps ax |grep -v grep | grep -q nginx || sudo systemctl start nginx

    その後安定稼働している