NAS の virtual machine

NAS を使いはじめて何年も経ちますが、今日の今日まで NAS で virtual machine が動くことを知りませんでした。(2021年12月12日現在)

ubuntu を server として使っていますが、NAS にそういうことをやらせると、動作が遅くて実用には耐えないとこれまで思ってきましたが、それなりには使えるようです。
これまで NAS は単なる倉庫として使った方がいいと思ってきましたが、少しだけ考えが変わりました。

とは言っても、検査データのように 2 つのテーブルがあって、検査結果の行数は 500 万行を超えていて、その中からカルテ番号などで検索し、データを抽出してテーブルにベタベタ貼り付け、正常かどうかを判定して色分けするなどというめんどくさいことをやらせると、データが多い場合には表示まで 10 秒を超えることがあるので、そのままでは使えない気がします。

virtual macine に ubuntu 18.04 desktop をインストール

synology の DS 718+ という NAS をここ 3 年間ほど使っていてそれなり満足していましたが、そこの virtual machine に ubuntu 18.04 desktop をインストールしてみました。

DS 718+ のメモリは 8 GB に増設してあるので、そのうちの 4GB を使って設定しました。

いつもの ubuntu 画面から操作するのですが、操作に対する反応がとても鈍い感じがします。
マウスをクリックしてもすぐには反応せず、少し遅れて動く感じです。とても使えない感じがしました。

しかし、データベースそのものはそれなりに軽快に動きます。
500 万行もあると大変ですが、もっと行数の少ない単純な構造であれば素早く動いてくれます。

例えば、python で処理された dicom サーバーのデータベースはとても単純な構造していますが、それを読み込むのはほとんどストレスなく動きます。

virtual machine のエクスポートが遅い?

virtual machine の最大の魅力はエクスポート・インポートができてリカバリが簡単であることだと思いますが、5.6 GB 程度の ova ファイルをエクスポートするのに少し時間がかかりすぎる感じがします。

ただし、一旦エクスポートしてしまえばインポートはかなり簡単で、やはり virtual machine はとても便利と思います。

コマンドラインからエクスポートできると思いますが、その方法は今のところ不明です。毎日、深夜にバックアップして、いくつか貯まったら古いものから削除するということができればとても便利です。

ubuntu の設定は慣れればそう難しくはないのですが、現在設定してある様々な機能を一から作るのは、作った本人(つまり私)でないと無理かもしれません。

そういう意味で、ubuntu の ova ファイルのエクスポートは、それをインポートできればサーバー機能が簡単に復活できるので、NAS の virtual machine の ubuntu にすべてのサーバー機能を集約するのはとても意味があります。

DS 720+ を購入して ssd キャッシュを入れてみた

DS 718+ では virtual machine の動作がやや鈍いため、そしてネットには ssd キャシュを入れると速く動くようなことが書いてあったので、DS 720+ を購入してみました。

NAS は DS 718+ で最後になると思っていたのですが、メモリを増設する際にいろいろと破壊してしまったので、そろそろ買い換えようかということになりました。

で、DS 720+ と 500 GB の NVMe M.2 SSD を2つ購入して装着してみましたが、virtual machine の ubuntu 18 の動きはほとんど変化ありません。

デフォルトのメモリは 2 GB なので、8GB のメモリを購入してみたのですがメモリの認識はしますが、やはり遅いです。

Kingstone の KCP426SS8/8 (8GB)というものを購入して指してみましたがきちんと認識されています。純正品じゃないとダメな場合もあるようですが。

いずれにしても、やはり NAS の virtual machine は現実的には使えないと思います。
そんなことをするのであれば、linux mint の virtualbox に ubuntu をインストールした方が遥かにサクサク動きます。

もう少し粘ってみる

ubuntu じゃなくて linux mint をインストールしてみました。
やはり GUI はモッサリしており、データベースもあまり大きいものの動きは悪いです。

しかし、条件を変更すればかなり使えるかもしれません。

感動するほど便利なのは、ローカルで virtualbox で作成した ova ファイルを NAS にアップロードして virtual macine にインポートしてそのまま使うことができることです。ややこしい設定をローカルで全部やってしまえるのでとても便利です。

また以前から疑問だったのは、サーバーを起動してすぐにデータベース検索をすると時間がかかるのに、いくつかのプログラムを動かしているうちにどんどん速くなることです。この理由がわかりません。

現在、sqlite3 を使っていますが、やはり mysql の方が便利なことが多いので、どんどん変更していくつもりですがそれで動きが少し変わるかもしれません。

また、クエリに「limit 30」などの制限を付ければほとんど瞬時に検索されるのでそういう工夫も必要かと思います。

さらには、apache じゃなくて nginx の導入も考慮してみようかと思います。

いずれにしても、virtual machine によるサーバー環境はリカバリがとても簡単なので、いざという時のために virtual machine によるサーバーに変更した方が賢明だろうと思います。