Rancher Desktop虚拟机存储
我在检查 Rancher Desktop虚拟机 发现一个有趣的现象:
sudo df -h 输出Filesystem Size Used Available Use% Mounted on
devtmpfs 10.0M 0 10.0M 0% /dev
shm 1.9G 0 1.9G 0% /dev/shm
/dev/sr0 269.0M 269.0M 0 100% /media/sr0
tmpfs 1.9G 420.4M 1.5G 21% /
tmpfs 784.4M 1.1M 783.3M 0% /run
/dev/loop0 19.5M 19.5M 0 100% /.modloop
efivarfs 255.9K 22.8K 228.1K 9% /sys/firmware/efi/efivars
/dev/disk/by-label/cidata
45.9M 45.9M 0 100% /mnt/lima-cidata
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /mnt/data
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /etc
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /home
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /root
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /tmp
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /usr/local
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /var/lib
/dev/disk/by-label/data-volume
97.9G 1.2G 91.6G 1% /root
:/Users/admin 953.7G 543.1G 393.3G 58% /Users/admin
:/tmp/rancher-desktop
953.7G 543.1G 393.3G 58% /tmp/rancher-desktop
:/Volumes 953.7G 543.1G 393.3G 58% /Volumes
:/var/folders 953.7G 543.1G 393.3G 58% /var/folders
:/private/tmp 953.7G 543.1G 393.3G 58% /private/tmp
:/private/var/folders
953.7G 543.1G 393.3G 58% /private/var/folders
:/Applications/Rancher Desktop.app/Contents/Resources/resources
953.7G 543.1G 393.3G 58% /Applications/Rancher Desktop.app/Contents/Resources/resources
tmpfs 3.8G 12.0K 3.8G 0% /var/lib/kubelet/pods/61eb4e59-ecc9-4408-8b8f-89b6855ad3cb/volumes/kubernetes.io~projected/kube-api-access-zzqn2
tmpfs 3.8G 12.0K 3.8G 0% /var/lib/kubelet/pods/59fe63fc-c3f8-4792-8b25-18a68528b7e7/volumes/kubernetes.io~projected/kube-api-access-g9gb2
tmpfs 170.0M 12.0K 170.0M 0% /var/lib/kubelet/pods/ee84fa10-b916-4dbc-b635-2c96f28d1409/volumes/kubernetes.io~projected/kube-api-access-j2gvp
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/48fb64f01ada55a47b936f48fb8f3952a753cba8a29a888b01c17f0200e4bd6d/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/c5bcbffbadc26906d1abda05c68f20e6f09c738a42c516351e6972f9f52f9839/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/add1064b9928db372cd5d5e555bf03965baed3e03140859d4a82e8df6209aa36/merged
shm 64.0M 0 64.0M 0% /var/lib/docker/containers/78ac34ee2254be0165d59583de42cbef1a10f2063c22a8822656da776e405d77/mounts/shm
shm 64.0M 0 64.0M 0% /var/lib/docker/containers/487feab7ab33edfd3b0e402806c4c4da851b3b36264c099086ddb19ef5a82321/mounts/shm
shm 64.0M 0 64.0M 0% /var/lib/docker/containers/a5d2a7091b1c07520ff25621e9360e4c335d393de2a3b9ad28cbcfb5785972fc/mounts/shm
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/e9b9a4033ba37a1d779678ae5c22da88670bed07a21c1c69e35bc4c2d76940ec/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/537a3309d87ac3045e05b29e02a9b863bdc5fd6d30be4636db7136ed4ae618a6/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/655f2a74f43e50d012d6872d8b6b2760f4fa254415cbceb6e90f1efef4ca0ada/merged
tmpfs 3.8G 12.0K 3.8G 0% /var/lib/kubelet/pods/86670587-6719-4fe5-ab4e-81e5f27aedcf/volumes/kubernetes.io~projected/kube-api-access-c5w69
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/25156db0fb96edac43438b60dce241725df3b3468493ac4279954b65cd2eb531/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/2f0e4b8aa5f849be23a2e199cb009beafe101c242c5484fb4d8d8fb9468637d2/merged
shm 64.0M 0 64.0M 0% /var/lib/docker/containers/767da741e7843938551fd2c5c6953f3597f323a116dde9d2e5ac7e45837f813d/mounts/shm
shm 64.0M 0 64.0M 0% /var/lib/docker/containers/1ebe2a10abc8769084ca3d69ae9ca64379b491630a84fa62937eb2261762e34c/mounts/shm
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/1ea1fbc2929b2f98dee78bd2930c9b41bf0ee707a251b5a3a26300c1605f7e2c/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/a4df0740a838ce9453810fb9a94f58eddabcbcc109b626080f02826a34b54b12/merged
overlay 97.9G 1.2G 91.6G 1% /var/lib/docker/overlay2/f73f89d929b4b33733b8532f3de1099b51f966f1fcfa6cb0236ed18dd5198be6/merged
根目录
/是一个tmpfs/dev/disk/by-label/data-volume磁盘分区被挂载成多个目录,并且分配了大约98G空间macOS的
/Users/admin(我的物理主机用户是admin)目录被映射到虚拟机内部相同目录/Users/admin
上述存储分布是怎么实现的呢?明明虚拟机只有一个分区(100G), fdisk -l 显示:
fdisk -l 显示只有一个分区Disk /dev/vda: 100 GB, 107374182400 bytes, 209715200 sectors
208050 cylinders, 16 heads, 63 sectors/track
Units: sectors of 1 * 512 = 512 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/vda1 2,0,33 1023,15,63 2048 209715199 209713152 99.9G 83 Linux
为什么要将一个分区反复挂载到不同的目录?
检查 mount 输出可以看到,同一个分区挂载到不同目录:
检查
mount 输出sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=10240k,nr_inodes=500316,mode=755,inode64)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,inode64)
/dev/sr0 on /media/sr0 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
tmpfs on / type tmpfs (rw,relatime,mode=755,inode64)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=803200k,nr_inodes=819200,mode=755,inode64)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
/dev/loop0 on /.modloop type squashfs (ro,relatime,errors=continue)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/disk/by-label/cidata on /mnt/lima-cidata type iso9660 (ro,relatime,nojoliet,overriderockperm,check=s,map=n,blocksize=2048,uid=0,dmode=700,fmode=700,iocharset=utf8)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
/dev/disk/by-label/data-volume on /mnt/data type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /etc type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /home type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /root type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /tmp type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /usr/local type ext4 (rw,relatime)
/dev/disk/by-label/data-volume on /var/lib type ext4 (rw,relatime)
none on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
/dev/disk/by-label/data-volume on /root type ext4 (rw,relatime)
bpffs on /sys/fs/bpf type bpf (rw,relatime)
:/Users/admin on /Users/admin type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/tmp/rancher-desktop on /tmp/rancher-desktop type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/Volumes on /Volumes type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/var/folders on /var/folders type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/private/tmp on /private/tmp type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/private/var/folders on /private/var/folders type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
:/Applications/Rancher Desktop.app/Contents/Resources/resources on /Applications/Rancher Desktop.app/Contents/Resources/resources type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=501,group_id=1000,allow_other)
...