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