2023-08-30 /
@syui
docker
dockerの/var/lib/dockerを外付けhddに移動する
検索しても適切な方法が見つからなかったので手順を記録します。
これをそのままcp, rsync, mvしても、そのファイルは使えません。
failed: Operation not permitted
これはformat:ext4
が関係しているかもしれません。
しかし、基本的には、論理ボリュームを作成、mountした上でrsyncします。
$ sudo systemctl stop docker.service
# 論理ボリュームの作成
$ sudo vgcreate docker /dev/sdb1
$ sudo vgs
$ sudo lvcreate -L 600G -n docker docker
$ sudo vgs -o +lv_size,lv_name
$ sudo mkfs.ext4 /dev/docker/docker
# 論理ボリュームのmount
$ mkdir -p ~/mnt/tmp
$ sudo mount /dev/docker/docker ~/mnt/tmp/
# ファイルの移行
$ sudo rsync -avx /var/lib/docker/ ~/mnt/tmp
# backup
$ sudo mv /var/lib/docker /var/lib/docker.back
# /var/lib/docker
$ sudo mkdir /var/lib/docker
$ sudo chmod 710 /var/lib/docker
$ sudo mount /dev/docker/docker /var/lib/docker
# umount
$ sudo umount ~/mnt/tmp
$ sudo rm -rf ~/mnt/tmp
# auto-mount
$ sudo fdisk -l
$ sudo blkid | grep sdb1
UUID=$uuid
$ sudo vim /etc/fstab
/dev/docker/docker /var/lib/docker ext4 defaults 0 0
dockerは肥大化しやすいのに罠すぎる。