チューンって程のことはないのですが、パフォーマンスが上がる確かめるためにNVMe SSDをキャッシュとして追加してみたのですが、安物のgen3 x2レーンではHDDと大差なかったので、dockerのバックエンドストレージとして分離しようと思います。
【プール分け】
- HDD コールドプール(Volume1) – 基本的にはユーザーホームなのでユーザーが使わなければアクセスされない
- SSD ホットプール(Volume2) – dockerなど常にアクセスするもののバックエンドとして利用。基本アプリはこちらに入れることにする
インストール済みのアプリや、dockerコンテナを移動するには基本入れ直しが必要です。写真アプリなんかはインデックスが消えそうで嫌だったのと、そもそも写真はHDDに入ってるので移動しませんでした。DockerとHome Assistant以下の通り。それ以外はアンインストールとインストールの繰り返しでOK。
【Dockerの移動】
- コンテナを全部止める
- docker内のファイルを全て適当な場所にへコピーする
- docker-composeの内容をメモっておく(まぁ、同じフォルダをしていると出てきますけど念のため)
- dockerアプリ削除(HomeAssistantアプリも同時に削除される)
- dockerフォルダーを削除する(これをしないとVolume1に再度作られてしまうようだ)
- Volume2を指定してdockerアプリインストール
- 退避したdockerディレクトリのファイルを新たに作成されたdockerフォルダ内にコピーする
- 管理 – データ移行(コンテナインスタンスは移行されない)
- HomeAssitantアプリをVolume2/docker/homeassistantのフォルダを指定してインストールする(これでHomeAssitantは元通りに動くはず)
- その他のコンテナもdocker-composeで再生成
余談ですが、dockerは共有フォルダーに出てくるdockerフォルダーと@dockerというシステムが勝手に作るdocker動作に必要なフォルダがあります。dockerをアンインストールすると、@dockerは削除されますが、特にコピーしておく必要はなさそうです。もしかしたらローカルリポジトリに自前のコンテナを置いてる場合はコピーしておいた方がいいかも。
結果
常時28W程度食っていたものがHDDがアイドル停止するようになって12Wまで下がりました。静かだし。 🙂
たった16W削減ですが、1か月に換算すると 11.5kWhも減るんですよね。今、kWhあたり35円程度なので、403円/月の削減ですね(^_^)
実はそれ以外にも、RTX810からRTX1210に変更したのを機に、SWX2200-8Gと2.5GのHUBの電源も普段落としています。私の用途では2.5Gbps必要なことなんて滅多にないので。その結果、常時稼働しているものが48W程度ほどに下がり、全体で25W減、月額にして630円/月の削減となりました。