Ale*_*lds 4 fstab amazon-ec2 amazon-web-services ubuntu-16.04
我m5d.xlarge
使用shutdown -r
.
重新启动后,中定义的各种驱动器安装/etc/fstab
与最初分配给它们的设备分配不一致。
这导致各种服务失败,这些服务依赖于具有指定名称的驱动器安装,其中包含与该名称关联的特定数据。
在这种情况下,/data
需要包含的内容通常预计将在/data
,而不是其他的驱动安装,比如/foo
或/bar
或/whatever-else
。
运行lsblk
有助于手动重新定义/etc/fstab
文件以反映新的设备分配并使服务重新联机。
问题:我担心重启会随机将设备标签重新分配给驱动器安装,当服务器需要重启时,这个问题可能会或将再次发生。
问题:如何确保在重新启动之间保留驱动器安装及其各自的设备路径,而无需手动(重新)干预?
编辑:c5_m5_checks_script.sh
下面提供的答案中引用的脚本返回以下信息:
# ./c5_m5_checks_script.sh
------------------------------------------------
OK NVMe Module is installed and available on your instance
ERROR NVMe Module is not loaded in the initramfs image.
- Please run the following command on your instance to recreate initramfs:
# sudo update-initramfs -c -k all
OK ENA Module with version 2.0.3K is installed and available on your instance
OK fstab file looks fine and does not contain any device names.
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我不明白最后OK
一句话,因为该fstab
文件包含设备名称。或者亚马逊使用的术语“设备名称”fstab
可能与文件中的设备名称有所不同?
为了给出问题性质的具体和具体的例子,我有一个/etc/fstab
看起来像这样的:
...
/dev/nvme2n1 /staging ext4 defaults,nofail 0 0
/dev/nvme3n1 /data ext4 defaults,nofail 0 0
...
Run Code Online (Sandbox Code Playgroud)
但是,lsblk
显示这两个卷已挂载到彼此的设备 ID:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
nvme2n1 259:0 0 1T 0 disk /staging
nvme3n1 259:3 0 512G 0 disk /data
Run Code Online (Sandbox Code Playgroud)
现实中,nvme2n1
是1T体积/data
,又nvme3n1
是512G体积/staging
。
重新启动之间会发生一些未知的事情,它将底层驱动器重新分配给可用设备 ID 的排列。
我知道解决这个问题的唯一方法是手动umount
这两本书,编辑/etc/fstab
,并mount
再次它们。
赏金问题:是否有永久修复可以让我在 中使用不同的永久标识符/etc/fstab
,该标识符在重新启动之间始终存在?
小智 5
AWS 有一个工具可以将 /etc/fstab 中的 EBS 卷设备名称转换为其 UUID 值:c5_m5_checks_script.sh
该脚本还会检查 NVMe 模块是否已加载到您的操作系统映像中,但如果该模块不存在,您的较新实例类型将不会启动。
归档时间: |
|
查看次数: |
659 次 |
最近记录: |