VM サーバのオンラインアップデート手順


オンラインアップデート機能は、VMサーバプログラムをネットワーク経由で更新する機能です。
VMサーバをインストールしたマシン上で操作します。

アップデートプログラムを確認する

  1. 現在動作しているバージョンよりも新しいバージョンのプログラム(アップデートプログラム)が存在するか確認します。
    $ sudo docker exec sidfmd /update_manage status
    [アップデートプログラムが存在する場合の表示例]
     Current Version: 1.0.0
     Lastest Version: 1.0.1
     There is an applicatable update. 
    [アップデートプログラムが存在しない場合の表示例]
     Current Version: 1.0.0
     Lastest Version: 1.0.0
     No need to update. 

バックアップを取得する

アップデートを行う際には、念のため実行前にバックアップを取得することを推奨します。正常にアップデートが完了した後は、バックアップファイルは別途保管するか削除してください。

  1. データベースのバックアップを取得します。ユーザガイドに従ってデータベースのセットアップを行った場合は、以下の手順をご参照下さい。

    データベースバックアップ手順(Red Hat Enterprise Linux/CentOS)
    データベースバックアップ手順(Ubuntu)

    ユーザガイド以外の方法でデータベースのセットアップを行った場合(Amazon RDS等)は、それぞれのデータベースのバックアップ手順に従ってバックアップを取得してください。
  2. SIDfm VMサーバのdockerイメージのバックアップを取得します。数百M bytes~数G bytesになります(docker commitを実行した回数やログの記録量等によって変わります)ので、ストレージの残量にはご注意下さい。また、実行しているマシンのスペックによって、数分~数十分かかります。
    $ sudo docker commit sidfmd sidfmd
    $ sudo docker save sidfmd | gzip -9c > backup-sidfmd.tar.gz
    backup-sidfmd.tar.gzがバックアップファイルとなります。docker loadで読み込めるdockerイメージファイルをgzipで圧縮したものです。

アップデートを実行する

  1. 念のため、脆弱性同期処理を停止します。
    $ sudo docker exec sidfmd /vm_manage issue_update disable
    $ sudo docker stop sidfmd
    $ sudo docker start sidfmd ; sleep 5
  2. アップデートプログラムが存在する場合に、アップデートを行います。
    $ sudo docker exec sidfmd /update_manage update
    [アップデート実行時の表示例]
    $ sudo docker exec sidfmd /update_manage update 
     Issue Update already Disabled
     Server Desabled
     wait 5 sec.
     (中略)
     Server Enabled
     Issue Update Enabled 
  3. SIDfm VMのdockerコンテナを再起動します。
    $ sudo docker stop sidfmd
    $ sudo docker start sidfmd