Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

LXDのコンテナ内のDiskFullの対応

さて、NextCloudが起動しなくなって困っていた原因が判明しました。

何かしようとしても

No space left on device

が発生した場合はDiskの容量を疑う訳ですが、物理ファイルシステム

余裕があるのでなんでだろうとわからずにいました。

そうこれはLXD内のコンテナの容量が一杯で発生していたのです。

#lxc storage show default --resources

とコマンドを叩いてみてください。
みごとに容量を食い尽くしていました。

なので、慌てず容量の拡張をして乗り切ります。

私の場合、ZFSです。
ZFSのDISK容量を拡張します。

以下英語情報より探し出しました。

 

  1. Stop all running containers.
  2. #truncate -s +20G /var/lib/lxd/disks/default.img
  3. #zpool set autoexpand=on default
  4. #zpool status -vg default
    4a. Note the device id value from the results (for me, it was a really long number). You’ll need it in the next step.
  5. #zpool online -e default device_id_from_step_4a
  6. #zpool set autoexpand=off default
  7. #service lxd restart
    7a. This is on Debian/Ubuntu. For CentOS, it’d be a “systemctl” command.

After service restart, if you do a “$lxc storage info default”, you should now see the expanded space. Restart containers.

 

これで無事容量が拡張されて、コンテナ再起動で元に戻ります。

困っている人(いないか?)お試しあれ。

 

私の場合NextCloudのファイルにクオータをつけていなかったのが敗因です。

クオータをつけてファイル容量の制限をしましょう。

 

ではでは。