Google 为什么要在 Ubuntu 18.04 LTS 最小映像中的 / 上挂载 /dev/root 和 /dev/sda1?

Google 为什么要在 Ubuntu 18.04 LTS 最小映像中的 / 上挂载 /dev/root 和 /dev/sda1?

Google 在 Ubuntu 18.04 LTS Minimal 映像上/中安装了两个不同的磁盘。这会使虚拟机监控变得很​​丑陋,因为根据使用的 Ubuntu 映像类型,不同机器的磁盘标签不一致。

普通的 Ubuntu 18.04 LTS 映像不存在此问题。/dev/sda1 正确显示为唯一安装在 / 上的磁盘

但是,在最小映像 Ubuntu 18.04 LTS 上,Google 对磁盘做了一些错误操作。它在同一安装路径上安装了两个不同的磁盘。/dev/root 和 /dev/sda1 都安装在 /

df 显示 /dev/root 安装在 /

Filesystem     1K-blocks   Used Available Use% Mounted on  
/dev/root        9983232 829708   9137140   9% /  
devtmpfs         1888736      0   1888736   0% /dev  
tmpfs            1890960      0   1890960   0% /dev/shm  
tmpfs            1890960    856   1890104   1% /run  
tmpfs               5120      0      5120   0% /run/lock  
tmpfs            1890960      0   1890960   0% /sys/fs/cgroup  
/dev/sda15        106858   3682    103177   4% /boot/efi  
/dev/loop0         90880  90880         0 100% /snap/core/7396  
/dev/loop1         67200  67200         0 100% /snap/google-cloud-sdk/99  
tmpfs             378192      0    378192   0% /run/user/1001  

lsblk 显示 sda1 也安装在 /

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT  
loop0     7:0    0 88.7M  1 loop /snap/core/7396  
loop1     7:1    0 65.6M  1 loop /snap/google-cloud-sdk/99  
sda       8:0    0   10G  0 disk   
├─sda1    8:1    0  9.9G  0 part  /  
├─sda14   8:14   0    4M  0 part   
└─sda15   8:15   0  106M  0 part /boot/efi    

更多信息: df /dev/sda1 给出错误结果:

Filesystem     1K-blocks  Used Available Use% Mounted on  
devtmpfs         1888736     0   1888736   0% /dev  

我想使用 /dev/sda1 作为磁盘,因为这是 GCP 上所有其他 Ubuntu 映像所做的。最小 Ubuntu 映像启动速度非常快,因此没有必要返回到完整的 Ubuntu 映像。

答案1

/dev/root不是设备。它是指向以 root 身份挂载的设备的符号链接。

您的系统将两个磁盘安装为 / 没有任何问题。

readlink -f /dev/root将显示实际挂载为 / 的设备,通常为/dev/sda1

答案2

但是,在最小映像 Ubuntu 18.04 LTS 上,Google 对磁盘做了一些错误操作。它在同一安装路径上安装了两个不同的磁盘。/dev/root 和 /dev/sda1 都安装在 /

完全可以在 rootfs 上挂载真实文件系统。尽管我不清楚具体的 initramfs 实现使用了什么/dev/root以及没有使用什么。

此映像不是按分区挂载,而是按标签挂载。无论如何,这是一个好主意,因为它独立于任何块设备方案。

root@sf985060:~# cat /etc/fstab
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
LABEL=UEFI      /boot/efi       vfat    defaults        0 0

不幸的是,/dev/sda1指向它的符号链接 和 被愚弄了df。但是,实际挂载点//dev/root是正确的。想必您无论如何都想监视挂载点/,因为这是一个常量。

root@sf985060:~# df / /dev/root /dev/disk/by-label/cloudimg-rootfs /dev/sda1
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        9983232 1026876   8939972  11% /
/dev/root        9983232 1026876   8939972  11% /
devtmpfs          295604       0    295604   0% /dev
devtmpfs          295604       0    295604   0% /dev

相关内容