
私は SSH 接続でシステム化された Docker コンテナを実行しており、ホスト ファイルシステムをマウントしてアクセスしたいと考えています。(心配しないでください。これはデモンストレーション目的のみです)
私が行った場合
mount /dev/vda2 /mnt/dockerhost/
mount: /mnt/dockerhost: unknown filesystem type 'LVM2_member'.
/dev/vda1をマウントしてgrubファイルなどを見ることができます
私がこれまでに試したことは次のとおりです:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 30G 0 disk
├─vda1 252:1 1G 0 part
└─vda2 252:2 0 29G 0 part
fdisk -l
Disk /dev/vda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xda24a492
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 2099199 2097152 1G 83 Linux
/dev/vda2 2099200 62914559 60815360 29G 8e Linux LVM
Disk /dev/dm-0: 27 GiB, 28949086208 bytes, 56541184 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
df -h
Filesystem Size Used Avail Use% Mounted on
overlay 27G 2.6G 25G 10% /
tmpfs 64M 0 64M 0% /dev
shm 64M 0 64M 0% /dev/shm
/dev/mapper/almalinux-root 27G 2.6G 25G 10% /etc/hosts
tmpfs 882M 8.1M 874M 1% /run
この LVM パーティションをマウントする方法をご存知ですか? つまり、ホスト マシンは alma-linux を実行する仮想マシンです。
THX
答え1
LVM パーティションは、コンテナでもホストでも直接マウントできません。LVM パーティションには複数のネストされたボリュームが含まれている場合があり、最初に /dev/dm デバイスにマップする必要があります (ホスト OS はすでにこれを実行しています)。その後、それらの dm デバイスにマウント可能なファイルシステムが作成されます (これが LVM の重要な点です)。lvs
例として、コマンドを参照してください。
また、同じファイルシステムを 2 回マウントすることはできません。コンテナがホストにすでにマウントされているファイルシステムにアクセスする必要がある場合、コンテナから再度マウントしようとしても意味がありません。代わりに、フォルダーをバインド マウントとしてコンテナに渡す必要があります。