【问题标题】:Can't see the files of mounted disk by command 'ls'ls命令看不到挂载磁盘的文件
【发布时间】:2019-08-28 12:10:19
【问题描述】:

我安装了一个从 VM ubuntu 实例的快照创建的磁盘,之后我在另一个实时 VM ubuntu 实例的根目录上停止了该磁盘(我通过

进行了检查

df -h

) 在我的 GCP 的同一个项目中,我假设我应该能够通过命令从快照中找到这些文件

ls

但在那里没有看到。如果出现任何问题,请发表评论。 附上一张图片,显示 sdb1 磁盘的来源来自安装的快照。

【问题讨论】:

    标签: ubuntu google-compute-engine


    【解决方案1】:

    您是否创建新的 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 /
    

    如果您想将该磁盘用作根磁盘,您可以在创建实例时指定启动磁盘选项。

    更新 (下面的描述:数据盘是指从快照创建的磁盘)

    我尝试复制。步骤:

    1. 创建一个Ubuntu实例A,放一些文件。
    2. 从 Ubuntu 实例 A 的启动磁盘创建快照。
    3. 从快照创建数据磁盘。
    4. 创建一个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/sda1sudo 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盘。)

    【讨论】:

    • 嗨熊,我附上了图片,挂载点应该是根,我认为 sda1 是创建现有 VM 实例时的启动盘。您会在 snap 之类的目录下看到一些文件系统,但没有显示或从 sdb1 恢复。如果你能帮忙发表评论。
    • 嗨迈克尔,对不起,我无法理解你的意思。您能否从您的快照中提供更多信息,以便我可以重现该问题?一步一步来。
    • 嗨@Bear-Su,我点击这个链接askubuntu.com/questions/615357/… 并移动到根目录和sdb1,但它似乎不是一个可以访问的文件系统。我现在的目的是检查最初保存的文件和快照。我可以检索这些文件的任何评论或命令?
    • 嗨@BearSu,我在上面添加了另一张图片,欢迎查看。
    • 嗨@MichaelC.H.Wang,我更新了我的答案并列出了我的测试步骤。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多