Контекст: Я выполняю рабочие нагрузки на основе Ubuntu в AWS, которые используют несколько томов EBS, подключенных как виртуальный диск LVM. Изначально система была написана на Ubuntu 16.04, и с момента обновления до Ubuntu 18.04 автоматизация управления LVM перестала работать. Сценарий автоматизации проверяет, отформатированы ли уже тома EBS как диски LVM, и если нет, использует pvcreate
сначала отформатировать диск.
Деталь: Скрипт в основном работает следующим образом
/sbin/pvcreate /dev/xvdc
FSTYPE=$( /bin/lsblk -d -n -o FSTYPE /dev/xvdc)
# Check if FS is member of VG
if [[ "${FSTYPE}" == "LVM2_member" ]]; then
# ..it goes on...
fi
В Ubuntu 16.04 вызов lsblk
после pvcreate
возвращает что-то вроде:
root@ip-10-61-184-137:~# /bin/lsblk -d -n -o FSTYPE /dev/xvdc
LVM2_member
... а 18.04 ничего не возвращает. В pvcreate
вызов 18.04 кажется успешным, возвращает ноль и выводит ожидаемое сообщение на стандартный вывод.
Чтобы проверить это дальше, я экспортировал все lsblk
столбцы до и после вызова pvcreate
, и я вижу, что в 16.04 вызов pvcreate
наборы "fstype": "LVM2_member"
и "uuid": "<a uuid>"
вист 18.04 нет.
Может кто-нибудь помочь мне понять это изменение в поведении, пожалуйста? Я заметил, что если я запустил команду pvcreate во второй раз 18.04, то диск будет настроен правильно, с fstype
и uuid
устанавливать.