分区的文件系统丢失 EC2 重启
Filesystem for a partition goes missing EC2 reboot
我在 AWS 上创建了一个 d2.xlarge EC2 实例,returns 输出如下:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1.8T 0 disk
xvdc 202:32 0 1.8T 0 disk
xvdd 202:48 0 1.8T 0 disk
默认的/etc/fstab看起来像这样
LABEL=cloudimg-rootfs / ext4 defaults,discard 0 0
/dev/xvdb /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,comment=cloudconfig 0 2
现在,我为 xvdc 创建一个 EXT4 文件系统
$ sudo mkfs -t ext4 /dev/xvdc
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 488375808 4k blocks and 122101760 inodes
Filesystem UUID: 2391499d-c66a-442f-b9ff-a994be3111f8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
blkid returns 文件系统的 UID
$ sudo blkid /dev/xvdc
/dev/xvdc: UUID="2391499d-c66a-442f-b9ff-a994be3111f8" TYPE="ext4"
然后,我把它挂载到/mnt5
$ sudo mkdir -p /mnt5
$ sudo mount /dev/xvdc /mnt5
安装成功。到此为止,一切正常。
现在,我重新启动机器(先停止它然后启动它)然后 SSH 进入机器。
我愿意
$ sudo blkid /dev/xvdc
它returns我什么都没有。我在重启前创建的文件系统去了哪里?我想即使在重启周期之后,用于挂载的文件系统仍会创建。
我是否缺少在 AWS EC2 实例上挂载分区的内容?
我遵循了这个 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html 但它似乎并没有像上面描述的那样工作
您需要阅读 EC2 Ephemeral Instance Store volumes。当您停止具有此类卷的实例时,卷上的数据将丢失。您可以通过执行 reboot/restart 操作来重新启动,但是如果您先停止然后再启动,则数据会丢失。在 EC2 上,停止后开始不被视为 "reboot"。当您停止一个实例时,它会完全关闭,而当您稍后重新启动它时,它基本上会在不同的支持硬件上重新创建。
换句话说,您描述的不是问题,这是预期的行为。在依赖它们之前,您需要非常了解这些卷的工作原理。
我在 AWS 上创建了一个 d2.xlarge EC2 实例,returns 输出如下:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1.8T 0 disk
xvdc 202:32 0 1.8T 0 disk
xvdd 202:48 0 1.8T 0 disk
默认的/etc/fstab看起来像这样
LABEL=cloudimg-rootfs / ext4 defaults,discard 0 0
/dev/xvdb /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,comment=cloudconfig 0 2
现在,我为 xvdc 创建一个 EXT4 文件系统
$ sudo mkfs -t ext4 /dev/xvdc
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 488375808 4k blocks and 122101760 inodes
Filesystem UUID: 2391499d-c66a-442f-b9ff-a994be3111f8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
blkid returns 文件系统的 UID
$ sudo blkid /dev/xvdc
/dev/xvdc: UUID="2391499d-c66a-442f-b9ff-a994be3111f8" TYPE="ext4"
然后,我把它挂载到/mnt5
$ sudo mkdir -p /mnt5
$ sudo mount /dev/xvdc /mnt5
安装成功。到此为止,一切正常。
现在,我重新启动机器(先停止它然后启动它)然后 SSH 进入机器。
我愿意
$ sudo blkid /dev/xvdc
它returns我什么都没有。我在重启前创建的文件系统去了哪里?我想即使在重启周期之后,用于挂载的文件系统仍会创建。 我是否缺少在 AWS EC2 实例上挂载分区的内容?
我遵循了这个 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html 但它似乎并没有像上面描述的那样工作
您需要阅读 EC2 Ephemeral Instance Store volumes。当您停止具有此类卷的实例时,卷上的数据将丢失。您可以通过执行 reboot/restart 操作来重新启动,但是如果您先停止然后再启动,则数据会丢失。在 EC2 上,停止后开始不被视为 "reboot"。当您停止一个实例时,它会完全关闭,而当您稍后重新启动它时,它基本上会在不同的支持硬件上重新创建。
换句话说,您描述的不是问题,这是预期的行为。在依赖它们之前,您需要非常了解这些卷的工作原理。