我的旧EC2实例存在一些未知问题,因此无法再使用它了。因此,我尝试从旧卷的快照创建一个新的EBS卷并将其装入新实例。这正是我所做的:
/dev/xvdf
(或/dev/sdf
)附加到它上$ sudo mkdir -m 000 /vol$ sudo mount /dev/xvdf /vol
输出为:
mount: block device /dev/xvdf is write-protected, mounting read-only
mount: you must specify the filesystem type
我知道我应该将文件系统指定为
ext4
,但是该卷包含许多重要数据,因此我无法使用$ sudo mkfs -t ext4 /dev/xvdf
对其进行格式化。如果我尝试sudo mount /dev/xvdf /vol -t ext4
(不格式化),则会得到:mount: wrong fs type, bad option, bad superblock on /dev/xvdf,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
dmesg | tail
给了我:[ 1433.217915] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.222107] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.226127] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.260752] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.265563] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.270477] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.274549] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.277632] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.306549] ISOFS: Unable to identify CD-ROM format.
[ 2373.694570] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
顺便说一句,“挂载只读”消息也令我感到担忧,但是由于我根本无法挂载该卷,因此我尚未对其进行研究。
提前致谢!
最佳答案
一线
🥇挂载分区(如果磁盘已分区):
sudo mount /dev/xvdf1 /vol -t ext4
挂载磁盘(如果未分区):
sudo mount /dev/xvdf /vol -t ext4
哪里:
/dev/xvdf
更改为已安装的EBS卷设备 /vol
更改为要挂载到的文件夹。 ext4
是要挂载的卷的文件系统类型 常见错误:
✳️附加设备列表
检查您的安装命令以了解正确的 EBS卷设备名称和文件系统类型。以下将全部列出:
sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,LABEL
如果您的EBS卷显示带有附加的
partition
,请挂载partition
;不是磁盘。 ✳️如果您的音量未列出
如果未显示,则您未在AWS Web-Console中对EBS卷进行
Attach
编码✳️重新启动时自动重新安装
如果EC2实例重新启动,这些设备将再次卸载。
使它们在启动时再次挂载的一种方法是将卷添加到服务器的
/etc/fstab
文件中。t警告:🔥
如果损坏了
/etc/fstab
文件,它将使系统无法启动。阅读AWS的简短文章,以便您了解自己是否做对了。第一个:
使用上面的
lsblk
命令,找到卷的UUID
和FSTYPE
。第二:
保留原始
fstab
文件的副本。sudo cp /etc/fstab /etc/fstab.original
第三:
在
sudo nano /etc/fstab
中为该卷添加一行。fstab
的字段是“制表符分隔的”,并且每一行都有以下字段:<UUID> <MOUNTPOINT> <FSTYPE> defaults,discard,nofail 0 0
这是一个可以帮助您的示例,我自己的
fstab
内容如下:LABEL=cloudimg-rootfs / ext4 defaults,discard,nofail 0 0
UUID=e4a4b1df-cf4a-469b-af45-89beceea5df7 /var/www-data ext4 defaults,discard,nofail 0 0
就是这样,您完成了。通过运行以下命令检查工作中的错误:
sudo mount --all --verbose
如果事物是👍,您将看到类似这样的内容:
/ : ignored
/var/www-data : already mounted
关于linux - 将现有EBS卷附加和挂载到EC2实例文件系统问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28792272/