在 /dev/nvme1n1 中发现一个 dos 分区表

在 /dev/nvme1n1 中发现一个 dos 分区表

我们在 Amazon 上有一个设置,我们使用 16.04 LTS AMI。今天我们计划更改为较新的 18.04 LTS AMI。我们通过使用最新的 AMI-ID 更新 Cloudformation 模板来实现这一点。但在运行 Cloudformation 模板时,我们在备份卷设置中收到此错误,

2019-02-21 09:25:17,234 P8657 [INFO]    Set up backup volume
2019-02-21 09:25:17,234 P8657 [INFO]    mke2fs 1.44.1 (24-Mar-2018)
2019-02-21 09:25:17,234 P8657 [INFO]    Found a dos partition table in
/dev/nvme1n1 2019-02-21 09:25:17,234 P8657 [INFO]    Proceed anyway?
(y,N)  2019-02-21 09:25:17,235 P8657 [INFO]
------------------------------------------------------------
2019-02-21 09:25:17,235 P8657 [ERROR] Exited with error code 1 

使用最新的 16.04 LTS AMI 执行相同的操作没有任何问题。我看到的第一件事是 mke2fs 版本不同,16.04 的 mke2fs 1.42.13 和 18.04 的 mke2fs 1.44.1。这些版本处理文件系统的方式有什么大的不同吗?卷已经创建,我们只是想再次连接它们。

这是 16.04 LTS 安装的一些输出。

fdisk输出:

Disk /dev/nvme1n1: 1 TiB, 1099511627776 bytes, 2147483648 sectors
Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical):
512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512
bytes

Disk /dev/nvme0n1: 32 GiB, 34359738368 bytes, 67108864 sectors Units:
sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512
bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos Disk identifier: 0x30c871d7

Device         Boot Start      End  Sectors Size Id Type
/dev/nvme0n1p1 *     2048 67108830 67106783  32G 83 Linux

Disk /dev/nvme2n1: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical):
512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512
bytes

parted输出:

Model: NVMe Device (nvme) Disk /dev/nvme0n1: 34.4GB Sector size
(logical/physical): 512B/512B Partition Table: msdos Disk Flags: 

Number  Start   End     Size    Type     File system  Flags  1     
1049kB  34.4GB  34.4GB  primary  ext4         boot

Model: NVMe Device (nvme) Disk /dev/nvme1n1: 1100GB Sector size
(logical/physical): 512B/512B Partition Table: loop Disk Flags: 

Number  Start  End     Size    File system  Flags  1      0.00B 
1100GB  1100GB  ext4

Model: NVMe Device (nvme) Disk /dev/nvme2n1: 1074GB Sector size
(logical/physical): 512B/512B Partition Table: loop Disk Flags: 

Number  Start  End     Size    File system  Flags  1      0.00B 
1074GB  1074GB  ext4

fstab输出:

LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0
/dev/nvme1n1 /backup auto noatime 0 0 
/dev/nvme2n1 /data auto noatime 0 0

答案1

问题是您要求 mke2fs 在磁盘设备本身(即 /dev/nvme1n1,分区表驻留于此)上创建文件系统,而不是在其某个分区(即 /dev/nvme1n1p1)内创建文件系统。如果您将 /dev/nvme1n1 更改为 /dev/nvme1n1p1,它不会发出任何抱怨,并且应该会执行您想要的操作。

答案2

我不确定这是否会对您的特定情况有帮助,但我使用此命令来查找尚未创建分区的可用 NVME 磁盘,假设最多有两个 NVME 磁盘,并且用于磁盘根目录的磁盘已经为其创建了一个分区*p1

$ lsblk | egrep -o 'nvme\w+' | grep -v $(lsblk | egrep -o 'nvme\w+p1' | egrep -o 'nvme.{3}')
# prints: `nvme0n1` or `nvme1n1`, depending on chance

相关内容