forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 12.12.2019, 14:52
Sergey Zabolotny
Guest
 
Сообщений: n/a
По умолчанию aws и монтирование волума инит скриптом

Sergey Zabolotny написал(а) к All в Dec 19 12:03:08 по местному времени:

Нello All.

есть инстанс развернутый из cloudformation темплейта с установленой убунтой 18.04.1. инит скрипт проверяет наличие дополнительных волумов подключеннх в систему. есть таковые нашлись, проверяется наличие партиций на диске, их файловые системы, метки томов.
если диск не размечен и партиций у нас нет мы их создаем, форматируем во что нам надо и монтируем. если нашли существующую файловую систему просто монтируем куда надо.

так вот понадобилось поднять версию убунты до 18.04.3 и инит скрипт в этом случае перестал видеть партиции на подключаемом волуме. в инит скрипте который работает в 18.04.1 использовался банальный partprobe, который заставлял систему перечитать список дисков и всю инфу о том, что на нем есть. после этого запуском lsblk -p -n -P -o NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT ${DATA_DISK} можно было получить сразу всю информацию о диске, его партициях, файловых системах, метках томов.

в 18.04.3 после партпроба я вижу только диск, никаких партиций и тем более файловых систем.

заменил партпроб на hdparm -z ${DEVICE} >>/var/log/device.log 2>&1 || true и чудо случилось, но только наполовину. теперь я вижу списки партиций, но все равно не вижу какие там файловые системы и метки.

для того, чтоб получить файловую систему и метку тома перепробовал кучу вариантов и так не остановился на каком-то одном рабочем т.к. так и не понял какая именно команда надежно заставляет систему перечитать инфу о партициях.

добавил пачку команд:

hdparm -z ${DEVICE} >>/var/log/device.log 2>&1 || true
file -s ${DEVICE} >>/var/log/device.log 2>&1 || true
partprobe ${DEVICE} >>/var/log/device.log 2>&1 || true
blockdev --rereadpt -v ${DEVICE} >>/var/log/device.log 2>&1 || true
fdisk -l ${DEVICE} >>/var/log/device.log 2>&1 || true

которые запускаются каждый раз при попытке получить данные о диске или партиции. в моем случае в качестве ${DEVICE} передается сначала имя диска, читается результат, из результата вытаскивается партишн нэйм и повторно вызывается эта пачка команд, но уже в качестве девайса подставляется имя партиции.

вот кусок дебаг лога из 18.04.3, который показывает что возвращается в качестве результата и после чего:
1 проход - ищем партицию, в качестве параметра передается имя устройства

+ DEVICE=/dev/nvme1n1
+ hdparm -z /dev/nvme1n1
+ file -s /dev/nvme1n1
+ partprobe /dev/nvme1n1
+ blockdev --rereadpt -v /dev/nvme1n1
+ fdisk -l /dev/nvme1n1
++ lsblk -p -n -P -o NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/nvme1n1
++ sed 's/ /;/g'
++ grep part
+ result='NAME="/dev/nvme1n1p1";TYPE="part";FSTYPE="";LABEL="";MOUNTPOINT=""'

вернуло список партиций, но не вернуло типы файловых систем и метки томов. в 18.04.1 в этом месте я сразу получал все что мне надо.

2 проход - берем данные фстайп, метки томов по найденой партиции в проходе 1

+ DEVICE=/dev/nvme1n1p1
+ hdparm -z /dev/nvme1n1p1
+ true
+ file -s /dev/nvme1n1p1
+ partprobe /dev/nvme1n1p1
+ blockdev --rereadpt -v /dev/nvme1n1p1
+ true
+ fdisk -l /dev/nvme1n1p1
++ lsblk -p -n -P -o NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/nvme1n1p1
++ sed 's/ /;/g'
++ grep part
+ result='NAME="/dev/nvme1n1p1";TYPE="part";FSTYPE="ext4";LABEL="data-volume";MOUNTPOINT=""'

так вот собственно 2 вопроса:
1. какого оно стало вести себя в 18.04.3 не так как в версии 18.04.1?
2. какой есть надежный способ заставить систему видеть все что есть на дисках не используя целуя пачку команд?

что самое интересное, если не трогать волум при инициализации системы, а зайти в нее после старта и ручками сказать lsblk -p -n -P -o NAME,TYPE,FSTYPE,LABEL,MOUNTPOINT /dev/nvme1n1

то я вижу все данные как и в версии убунты 18.04.1

wtf и что с этим делать?

--- GoldED+ 1.1.5-031023 (WinNT 5.1.2600-ServicePack3 i1586)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:24. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot