#linux #azure #ansible #azure-managed-disk
#linux #azure #ansible #azure-managed-disk
Вопрос:
Как надежно разделить и смонтировать файловую систему управляемого диска Azure на виртуальной машине Linux с использованием сборников воспроизведения Ansible?
Я могу создать управляемый диск Azure azure_rm_manageddisk
и назначить его экземпляру виртуальной машины. Моя проблема начинается, когда я пытаюсь использовать диск. Я просто не знаю, как надежно настроить таргетинг на правильный управляемый диск для разделения и монтирования файловой системы.
azure_rm_manageddisk
Ни azure_rm_manageddisk_info
один из них, похоже, не возвращает надежный, однозначный идентификатор для диска, на который можно ссылаться со стороны ОС.
Я не думаю, что диск даже отображается blkid
до того, как он был разделен.
Microsoft документировала, что
По умолчанию при создании виртуальной машины Azure предоставляет вам диск операционной системы (/dev/sda) и временный диск (/dev/ sdb). Все добавляемые вами дополнительные диски отображаются как /dev/sdc, /dev/ sdd, /dev / sde и так далее.
(источник: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/optimization )
но это не кажется надежным. Я думаю, что я видел, что моя виртуальная машина имеет настройку, отличную от этой, сразу после создания, и это определенно изменится после перезагрузки. Так /dev/sdc
что, на мой взгляд, никакого доверия. Повторный запуск сборника воспроизведения может привести к всевозможным разрушениям, если файлы блочного устройства нестабильны. На самом деле мне уже удалось сделать мой корневой раздел видимым /media/my_data_disk_mount
.
Это просто то, что мне придется обрабатывать вручную? Кажется странным. Это такое обычное дело.
Есть также /dev/disk/azure/resource
, например, но это, похоже, тоже привело к неприятным результатам.
(источник: https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/troubleshoot-device-names-problems)
Может быть, что-то с номерами LUN?
Комментарии:
1. Вы пытались собрать факты о виртуальной машине и посмотреть
ansible_devices
? Краткий пример oneliner, чтобы взглянуть на структуру var на вашем локальном хосте:ansible localhost -m setup -a filter=ansible_devices
. У вас должно быть то, что вы ищете, на вашей удаленной цели.2. Если вы не доверяете таким вещам, как
/dev/sdc
, вы можете использовать UUID в качестве рекомендации по устранению неполадок. И чего еще вы ожидаете?3. На мой взгляд, оба эти предложения верны, но где-то есть недостающее звено. Как я должен узнать, какой диск мне нужен? Я уже вроде как потерял контроль. В принципе, я мог бы попытаться определить, на какой диск ориентироваться, исходя из размера диска, но это плохо пахнет. На выбор предлагается три или более диска. Например, я должен выбрать один из них, прежде чем смогу получить правильный UUID. Как мне выполнить этот шаг надежным способом? На данном этапе я не знаю UUID и должен выяснить, с какого диска считывать UUID. Вероятно, мне не хватает чего-то действительно простого…
4. Есть еще какие-нибудь новости по этому вопросу? Решает ли это вашу проблему?
Ответ №1:
Согласно сообщениям, вы хотите найти правильный диск и получить UUID для монтирования. То, что вы считаете правильным. Вы можете использовать LUN диска, чтобы определить, какой из них вам нужен. Вы можете использовать эту команду tree /dev/disk/azure
, и она будет показана следующим образом:
Вы можете видеть, что диск /dev/sdc
использует lun1. И вы также можете узнать, какой диск использует lun1 на портале Azure. А затем вы можете использовать команду sudo blkid
для получения UUID после инициализации диска: