Найдена таблица разделов dos в /dev/nvme1n1
У нас есть установка в Amazon, где мы используем 16.04 LTS AMI. Сегодня мы планировали перейти на более новую 18.04 LTS AMI. Мы делаем это, обновляя шаблон Cloudformation с последним AMI-ID. Но при запуске шаблона Cloudformation мы получаем эту ошибку при настройке тома резервного копирования,
2019-02-21 09: 25: 17,234 P8657 [INFO] Настройка резервного тома 2019-02-21 09:25:17,234 P8657 [INFO] mke2fs 1.44.1 (24 марта 2018) 2019-02-21 09:25:17,234 P8657 [INFO] Найдена таблица разделов душ в /dev/nvme1n1 2019-02-21 09:25:17,234 P8657 [INFO] Продолжить? (y,N) 2019-02-21 09:25:17,235 P8657 [INFO] ------------------------------------------------------------ 2019-02-21 09:25:17,235 P8657 [ОШИБКА] Выход с кодом ошибки 1
Делать то же самое с последним 16.04 LTS AMI работает без проблем. Первое, что я увидел, было то, что версии mke2fs разные, mke2fs 1.42.13 для 16.04 и mke2fs 1.44.1 для 18.04. Есть ли какие-то большие различия в том, как эти версии обрабатывают файловые системы? Тома уже созданы, мы просто хотим, чтобы они были присоединены снова.
Вот некоторые результаты установки 16.04 LTS.
вывод fdisk:
Диск / dev / nvme1n1: 1 ТиБ, 1099511627776 байт, 2147483648 секторов Единицы: секторы 1 * 512 = 512 байт Размер сектора (логический / физический): 512 байт / 512 байт Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск /dev/nvme0n1: 32 ГиБ, 34359738368 байт, 67108864 секторов Единицы: секторы 1 * 512 = 512 байт Размер сектора (логический / физический): 512 байт / 512 байт Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x30c871d7
Загрузка устройства Начало Конец Секторов Размер Идентификатор Тип /dev/nvme0n1p1 * 2048 67108830 67106783 32G 83 Linux
Диск / dev / nvme2n1: 1000 ГиБ, 1073741824000 байт, 2097152000 секторов Единицы: секторы 1 * 512 = 512 байт Размер сектора (логический / физический): 512 байт / 512 байт Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
разделенный вывод:
Модель: Устройство NVMe (nvme) Диск /dev/nvme0n1: 34,4 ГБ Размер сектора (логический / физический): 512B/512B Таблица разделов: msdos Флаги дисков:
Номер Начало Конец Размер Тип Файловая система Флаги 1
1049kB 34.4GB 34.4GB основная загрузка ext4Модель: NVMe Устройство (nvme) Диск / dev / nvme1n1: 1100 ГБ Размер сектора (логический / физический): 512B/512B Таблица разделов: петли Флаги дисков:
Номер Начало Конец Размер Файловая система Флаги 1 0.00B 1100GB 1100GB ext4
Модель: NVMe Устройство (nvme) Диск / dev / nvme2n1: 1074 ГБ Размер сектора (логический / физический): 512B/512B Таблица разделов: петли Дисковые флаги:
Номер Начало Конец Размер Файловая система Флаги 1 0.00B 1074GB 1074GB ext4
вывод fstab:
LABEL = cloudimg-rootfs / ext4 по умолчанию, отбрасывать 0 0 / dev / nvme1n1 / резервное автоматическое обозначение 0 0 / dev / nvme2n1 / автоматическое обозначение данных 0 0
0 ответов
Проблема в том, что вы попросили mke2fs создать файловую систему на самом дисковом устройстве (например, /dev/nvme1n1), где находится таблица разделов, а не внутри одного из его разделов (например, /dev/nvme1n1p1). Если вы измените / dev / nvme1n1 на / dev / nvme1n1p1, он не будет жаловаться и должен делать то, что вы хотите.
Я не уверен, поможет ли это в вашем конкретном случае, но я использовал эту команду, чтобы найти доступный диск 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