ubuntu - ls命令看不到挂载磁盘的文件
问题描述
我安装了一个从 VM ubuntu 实例的快照创建的磁盘,之后我在另一个实时 VM ubuntu 实例的根目录上停止了该磁盘(我通过
df -h
) 在我的 GCP 的同一个项目中,我假设我应该能够通过命令从快照中找到这些文件
ls
解决方案
您是否创建一个新的 VM 实例并附加从快照创建的磁盘?VM 实例有 2 个磁盘:根磁盘和附加磁盘。
对于附加磁盘,您必须将磁盘挂载到操作系统级别的挂载点。
你可以运行命令sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10G 0 disk
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
如果您的结果是这样,则 sdb(附加磁盘)没有挂载点。
您可以按照本文档跳过第 4 步(格式化磁盘。)来挂载磁盘: https ://cloud.google.com/compute/docs/disks/add-persistent-disk#formatting
挂载后可以看到mountpoint下的文件,例如:/mnt/disks/disk2
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 10G 0 disk /mnt/disks/disk2
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
如果要将磁盘用作根磁盘,可以在创建实例时指定启动磁盘选项。
更新 (以下描述:数据盘是指从快照创建的磁盘)
我尝试重现。脚步:
- 创建一个Ubuntu实例A,放一些文件。
- 从 Ubuntu 实例 A 的启动磁盘创建快照。
- 从快照创建数据磁盘。
- 创建一个Ubuntu实例B,附加数据盘。
登录Ubuntu实例B,执行命令df -h
看来数据盘是作为启动盘挂载的。
Filesystem Size Used Avail Use% Mounted on
udev 1.8G 0 1.8G 0% /dev
tmpfs 370M 920K 369M 1% /run
/dev/sdb1 9.6G 2.4G 7.2G 25% /
copymods 1.9G 29M 1.8G 2% /lib/modules
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/loop0 91M 91M 0 100% /snap/core/6405
/dev/loop1 91M 91M 0 100% /snap/core/6350
/dev/loop2 56M 56M 0 100% /snap/google-cloud-sdk/71
/dev/loop3 58M 58M 0 100% /snap/google-cloud-sdk/77
/dev/loop4 56M 56M 0 100% /snap/google-cloud-sdk/72
/dev/loop5 90M 90M 0 100% /snap/core/6673
/dev/sdb15 105M 3.6M 101M 4% /boot/efi
tmpfs 370M 0 370M 0% /run/user/1006
执行命令sudo cat /etc/fstab
:
LABEL=cloudimg-rootfs / ext4 defaults 0 0
LABEL=UEFI /boot/efi vfat defaults 0 0
执行命令sudo blkid /dev/sda1
和sudo blkid /dev/sdb1
:因为磁盘有相同的LABEL,数据盘被挂载为启动盘...
# sudo blkid /dev/sda1
/dev/sda1: LABEL="cloudimg-rootfs" UUID="2f3ad447-cc37-48da-a5e8-d7f16b7f0182" TYPE="ext4" PARTUUID="854cb5e1-01"
# sudo blkid /dev/sdb1
/dev/sdb1: LABEL="cloudimg-rootfs" UUID="6e0049f4-3ab4-4981-832b-729bc26fdcd5" TYPE="ext4" PARTUUID="5b693d52-63b9-
4fa1-b781-f1062aaa7995"
您应该在Ubuntu 实例 B中看到文件,就像在Ubuntu 实例 A中一样。
检查快照内容。
- 如果要将数据盘用作启动盘,可以使用快照创建实例。或者从快照创建图像,然后使用图像创建实例。(Ubuntu 实例 B 是 Ubuntu 实例 A 的副本。)
- 如果您想附加数据盘作为第二个磁盘,您可以创建一个实例。然后编辑实例以附加数据磁盘。使用
mount
命令挂载数据盘。(Ubuntu 实例 B 挂载 Ubuntu 实例 A 磁盘。)
推荐阅读
- azure - 适用于 Azure Service Fabric 的 Application Insights 的接收器配置
- sql-server - 缓存列中的值还是查询另一个表更好
- javascript - 在表单中使用变量
- r - if else: else 部分不返回输出
- json - 在 Clojure 中,如何从文本文件中读取分层数据结构?
- qt - QtQuick 2窗口调整大小不刷新元素
- javascript - 是否可以在 WKWebView 中关闭位置权限?
- pandas - Pandas 数据框的条件操作
- scala - scala中的->是什么意思
- mysql - SQL:如何更新表 1 的值并实现表 2 中的更改?