SquashFS 파일 시스템을 LXC rootfs로 사용할 수 있습니까? filename을 설정하여 ext3 이미지를 rootfs로 마운트할 수 있지만 lxc.rootfs
, 다른 유형의 이미지인 경우 lxc-start
ext3 파일 시스템을 마운트할 수 없다는 메시지만 표시됩니다. 매뉴얼 lxc.conf
페이지에서는 파일 시스템 유형을 지정하는 방법을 제안하지 않습니다.
또한 이 단계를 통과하면 lxc.mount.entry
옵션 필드의 항목을 사용하여 컨테이너에 추가 루프백 파일 시스템을 마운트할 수 있습니까?'loop'
답변1
특히 보안상의 이유로 squashfs 컨테이너의 작업 설정이 있습니다.
시작하려면 추가하세요.
lxc.rootfs = loop:/var/lib/lxc/yourcontainer/rootfs.squashfs
구성 파일에.
흥미롭게도 다음과 같은 dmesg 메시지가 표시됩니다.
[218687.113742] EXT4-fs (loop0): VFS: Can't find ext4 filesystem
[218687.118615] FAT-fs (loop0): invalid media value (0x00)
[218687.120368] FAT-fs (loop0): Can't find a valid FAT filesystem
…다른 선택이 없었기 때문에 피할 수는 없었다 lxc.rootfs.type
. 그러나 이러한 메시지는 오류가 아닙니다. 모든 것이 예상대로 작동하고 있습니다.
나머지는 일반적인 읽기 전용 루트 문제입니다. 즉, 시스템이 기록하려는 파일(예: resolv.conf 및 로그)입니다. 이를 tmpfs 볼륨에 심볼릭 링크할 수 있습니다.
컨테이너의 하위 경로에 다른 squashfs를 마운트하려고 시도한 적이 없지만 호스트 디렉토리의 일반적인 바인드 마운트는 예상대로 작동합니다.
답변2
squashfs 이미지를 rootfs로 마운트할 수 있지만 읽기 전용입니다.
mount: warning: /var/lib/lxc/busy2/rootfs/ seems to be mounted read-only.
squashfs 위에 또 다른 레이어가 있어야 합니다.오브.
이 기술은 널리 사용됩니다.느슨한 바지.
이 작업을 수동으로 반복할 수 있습니다. 실제 lxc 구성을 수행한 다음 aufs 레이어를 통해 squashfs 이미지를 rootfs 디렉터리에 마운트합니다.
~에서남성페이지:
# sudo mount -t aufs -o br:/rw_branch:/ro_branch none /aufs
busybox에 대한 내 실험에서는 True가 반환되었습니다.
# mount -o loop -t squashfs /var/busy/busy_rootfs.squashfs /var/busy/squashfs-mnt/
mount: warning: /var/busy/squashfs-mnt/ seems to be mounted read-only.
# mount -t aufs -o br:/var/busy/aufs-root/:/var/busy/squashfs-mnt/ none /var/lib/lxc/busy2/rootfs
# lxc-start --name busy2
udhcpc (v1.20.2) started
Sending discover...
Sending select for 10.0.3.105...
Lease of 10.0.3.105 obtained, lease time 3600
Please press Enter to activate this console.
BusyBox v1.20.2 (Ubuntu 1:1.20.0-8ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ # ls
ls
bin etc lib mnt root selinux usr
dev home lib64 proc sbin tmp var
/ # touch root.file
touch root.file
/ # ls -latr root.file
ls -latr root.file
-rw-r--r-- 1 root root 0 Aug 23 12:38 root.file
호스트의 관점에서 보면:
# ls -latr /var/busy/aufs-root/
total 24
drwxr-xr-x 3 root root 4096 Aug 23 12:15 var
drwx------ 2 root root 4096 Aug 23 12:25 .wh..wh.plnk
drwx------ 2 root root 4096 Aug 23 12:25 .wh..wh.orph
-r--r--r-- 1 root root 0 Aug 23 12:25 .wh..wh.aufs
drwxr-xr-x 6 root root 4096 Aug 23 12:30 ..
drwxr-xr-x 2 root root 4096 Aug 23 12:38 dev
-rw-r--r-- 1 root root 0 Aug 23 12:38 root.file
drwxr-xr-x 6 root root 4096 Aug 23 12:39 .