我无法在 EC2 实例中安装多个 EBS 卷。我有 3 个 EBS 卷,它们是先前终止的 EC2 实例(名称为:、、/dev/xvdf1
)的“根卷”剩余部分。我使用以下命令成功安装:/dev/xvdg1
/dev/xvde1
/dev/xvde1
#mount /dev/xvde1 /home/ec2-user/xvde1
但是当我对 xvdf1 和 xvdg1 重复此过程时我收到此错误:
ec2-user]# mount -t xfs /dev/xvdf1 /home/ec2-user/xvdf1
**mount: wrong fs type, bad option, bad superblock on /dev/xvdf1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.**
支持输出:
1)
ec2-user]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 8G 0 disk
└─xvdf1 202:81 0 8G 0 part
xvdg 202:96 0 8G 0 disk
└─xvdg1 202:97 0 8G 0 part
xvde 202:64 0 8G 0 disk
└─xvde1 202:65 0 8G 0 part /home/ec2-user/xvde1* **-->I was able to mount this one successfully.**
ec2-user]# blkid
/dev/xvda1: LABEL="/" UUID="f25f5092-0401-4edb-9fac-c57f3c673803" TYPE="ext4" PARTLABEL="Linux" PARTUUID="893c59db-bd86-4d67-b40f-221bc82c14c8"
/dev/xvdf1: LABEL="/" UUID="f5bd1ae0-85b5-4686-85ff-ed8deb328c92" TYPE="xfs" PARTLABEL="Linux" PARTUUID="870dbb7e-9386-480b-a946-4d0f7ab5c405"
/dev/xvdg1: LABEL="/" UUID="f5bd1ae0-85b5-4686-85ff-ed8deb328c92" TYPE="xfs" PARTLABEL="Linux" PARTUUID="870dbb7e-9386-480b-a946-4d0f7ab5c405"
/dev/xvde1: LABEL="/" UUID="f5bd1ae0-85b5-4686-85ff-ed8deb328c92" TYPE="xfs" PARTLABEL="Linux" PARTUUID="870dbb7e-9386-480b-a946-4d0f7ab5c405"
ec2-user]# file -s /dev/xvdf1
*/dev/xvdf1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)*
ec2-user]# file -s /dev/xvdg1
*/dev/xvdg1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)*
ec2-user]# file -s /dev/xvde1
*/dev/xvde1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)*
ec2-user]# mkfs -t xfs /dev/xvdf1 //Tried formatting xvdf1
*mkfs.xfs: No such file or directory*
答案1
如果实例是使用相同的 AMI 启动的,那么它们的根卷将从相同的 EBS 快照创建,因此问题很可能是重复的 XFS UUID中的错误消息mount
没有什么帮助,但您可能会在/var/log/messages
或等效中看到类似这样的错误:
Jan 13 23:30:29 ip-172-31-15-234 kernel: XFS (nvme1n1): Filesystem has duplicate UUID 56282b3b-c1f3-425e-90db-e9e26def629d - can't mount
(此示例来自使用 NVMe 存储的 t3 实例,但它不是特定于 NVMe 的。)
每个 XFS 文件系统都有一个(据说)唯一的 ID 存储在磁盘上,这可以防止您意外多次挂载同一个文件系统。由于 EBS 快照/恢复过程是块级复制,因此您从快照创建的任何卷都将具有与源卷相同的 UUID,因此您一次只能挂载一个。
您可以通过连接但不挂载卷来查看卷的 UUID,然后运行文件系统检查附加的磁盘:
# xfs_db -c uuid /dev/nvme1n1
UUID = 56282b3b-c1f3-425e-90db-e9e26def629d
(编辑:块即使设备已安装,命令也会显示 UUID。)
要解决此问题,您可以使用特定于 XFS 的nouuid
安装选项暂时忽略重复检查,例如
# mount -t xfs -o nouuid /dev/nvme1n1 /mnt
或者你可以使用xfs_管理员永久更改卷上的 UUID:
# xfs_admin -U generate /dev/nvme1n1
Clearing log and setting UUID
writing all SBs
new UUID = 1eb81512-3f22-4b79-9a35-f22f29745c60
答案2
使用 mkfs 的 -f (强制)选项重新格式化分区,
mkfs -t xfs -f /dev/xvdg1*
重新执行命令
mount /dev/xvdg1 /home/ec2-user/xvdg1/
输出:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 483M 84K 483M 1% /dev
tmpfs 493M 0 493M 0% /dev/shm
/dev/xvda1 7.8G 1.1G 6.6G 14% /
/dev/xvde1 8.0G 1.3G 6.8G 16% /home/ec2-user/xvde1
/dev/xvdf1 8.0G 33M 8.0G 1% /home/ec2-user/xvdf1
/dev/xvdg1 8.0G 33M 8.0G 1% /home/ec2-user/xvdg1
答案3
这对我有用,amazon linux image 2。
mount -t xfs -o nouuid /dev/xvdb /data
xfs_admin -U generate /dev/xvdb
它有助于重新生成 UUID 并通过 fstab 安装。
答案4
mount: /mnt/tidb:错误的 fs 类型、错误的选项、/dev/nvme0n2 上的错误超级块、缺少代码页或辅助程序或其他错误
。
请
mkfs.ext4 /dev/nvme0n2
mount /dev/nvme0n2 /mnt/tidb