それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

snap lxd のbtrfsストレージの中に入る

snap lxd の中に入りたい。

BTRFSの場合単純にマウントしてもいいんだけど。

lxc storage list | grep default
losetup -l | grep default.img
/dev/loop10         0      0         1  0 /var/snap/lxd/common/lxd/disks/default.img   1     512
mount /dev/loop10   /mnt

マウントもちょっと怖い。とかZFSの場合どうするんだろうか考えた。

本来lxd のストレージはそのままアクセスできるはずなんだけど、snap の場合はlxdはsnap内部に閉じ込められているんで外部からアクセスで規範い。

snap の中へ chroot してみる

snap の環境の中にlxd

root@#  chroot /var/snap/lxd/common/mntns  /bin/bash

これでsnapでもlxdで使ってるストレージを直接見ることができたわ

各種コマンドをPATH通す

sudo chroot /var/snap/lxd/common/mntns /bin/bash
export PATH=$PATH:/snap/lxd/current/bin
### インスタンスのなかを直接もみる。
cd /var/snap/lxd/common/lxd/containers/nginx/

btrfs を修正したり。

btrfs property set -ts /var/snap/lxd/common/mntns/var/snap/lxd/common/lxd/storage-pools/bt01/containers/nginx ro false

snap のlxdの問題

snap環境にセパレートされていて、管理も楽だし最新版が提供されるので便利だけど、トラブル時に通常LXD違うのでちょっとめんどくさかった。