- Подготовка виртуальной машины Ubuntu для Azure
- Предварительные требования
- Создание вручную
- Дальнейшие действия
- Как создать виртуальный том жесткого диска с помощью файла в Linux
- Создайте новый образ для хранения тома виртуального диска
- Удаление тома виртуального диска
- Подготовка виртуального жесткого диска Debian для Azure
- Предварительные требования
- Замечания по установке
- Создание виртуальных жестких дисков Debian с помощью Azure-Manage
- Подготовка образа Debian для Azure
- Пример скрипта для настройки образа:
- Сборка образа Debian 10 для Azure:
- Подготовка виртуальной машины на основе CentOS для Azure
- Предварительные требования
- CentOS 6.x
- CentOS 7.0+
- Дальнейшие действия
Подготовка виртуальной машины Ubuntu для Azure
Применимо к: ✔️ виртуальные машины Linux ✔️ гибкие масштабируемые наборы
Теперь Ubuntu публикует официальные виртуальные жесткие диски Azure, загрузить которые можно по адресу: https://cloud-images.ubuntu.com/. Если вам нужно создать свой собственный, особый образ Ubuntu для Azure, не выполняйте описанную ниже процедуру, а начните с таких заведомо рабочих виртуальных жестких дисков и настройте их так, как вам требуется. Последние выпуски образов можно всегда найти в следующих расположениях:
Предварительные требования
В этой статье предполагается, что вы уже установили операционную систему Ubuntu Linux на виртуальный жесткий диск. Существует несколько средств для создания VHD-файлов, например решение для виртуализации, такое как Hyper-V. Инструкции см. в разделе Установка роли Hyper-V и настройка виртуальной машины.
Замечания по установке Ubuntu
- Дополнительные сведения о подготовке Linux для Azure см. в разделе Общие замечания по установке Linux.
- Формат VHDX не поддерживается в Azure, поддерживается только фиксированный VHD. Вы можете преобразовать диск в формат VHD с помощью диспетчера Hyper-V или командлета Convert-VHD .
- При установке системы Linux рекомендуется использовать стандартные разделы, а не LVM (как правило, значение по умолчанию во многих дистрибутивах). Это позволит избежать конфликта имен LVM при клонировании виртуальных машин, особенно если диск с OC может быть подключен к другой ВМ в целях устранения неполадок. Для дисков данных можно использовать LVM или RAID.
- Не настраивайте раздел или файл подкачки на диске с ОС. Агент подготовки cloud-init можно настроить так, чтобы он создал файл или раздел подкачки на временном диске ресурсов. Дополнительные сведения описаны далее.
- Размер виртуальной памяти всех VHD в Azure должен быть округлен до 1 МБ. При конвертации диска в формате RAW в виртуальный жесткий диск убедитесь, что размер диска RAW в несколько раз превышает 1 МБ. См. дополнительные сведения в примечаниях по установке Linux.
Создание вручную
Прежде чем создавать собственный образ Ubuntu для Azure, попробуйте использовать предварительно созданные и проверенные образов с сайта https://cloud-images.ubuntu.com/.
На центральной панели диспетчера Hyper-V выберите виртуальную машину.
Щелкните Подключение , чтобы открыть окно виртуальной машины.
Замените текущие репозитории в образе репозиторием Azure для Ubuntu.
Перед редактированием /etc/apt/sources.list рекомендуется сделать резервную копию:
Ubuntu 18.04 и Ubuntu 20.04:
Образы Ubuntu для Azure теперь используют специализированное ядро Azure. Обновите операционную систему до последней версии специализированного ядра Azure и установите инструменты Azure для Linux (включая зависимости Hyper-V), выполнив следующие команды:
Ubuntu 18.04 и Ubuntu 20.04:
Измените строку загрузки ядра в конфигурации Grub, чтобы включить дополнительные параметры ядра для Azure. Для этого откройте файл /etc/default/grub в текстовом редакторе, найдите переменную GRUB_CMDLINE_LINUX_DEFAULT (или добавьте ее, если это необходимо) и измените ее, включив следующие параметры:
Сохраните и закройте файл, а затем выполните команду sudo update-grub . Это гарантирует отправку всех сообщений консоли на первый последовательный порт, что может помочь технической поддержке Azure в плане отладки.
Убедитесь, что SSH-сервер установлен и настроен для включения во время загрузки. Обычно это сделано по умолчанию.
Установите cloud-init (агент подготовки) и агент Linux для Azure (обработчик гостевых расширений). В пакете cloud-init для настройки конфигурации сети системы во время подготовки к работе и каждой последующей загрузки используется netplan .
Установка пакета walinuxagent приведет к удалению пакетов NetworkManager и NetworkManager-gnome (если они установлены).
Удалите конфигурации cloud-init, используемые по умолчанию, и оставшиеся артефакты netplan , которые могут конфликтовать с процессом подготовки cloud-init в Azure:
Настройте cloud-init для подготовки системы к работе с помощью источника данных Azure:
Настройте агент Linux для Azure, чтобы он выполнял подготовку с помощью cloud-init. Дополнительные сведения об этих параметрах см. в проекте WALinuxAgent.
Очистите журналы и артефакты среды выполнения cloud-init и агента Linux для Azure:
Выполните следующие команды, чтобы отменить подготовку виртуальной машины и подготовить ее в Azure:
Команда sudo waagent -force -deprovision+user выполняет обобщение образа, пытаясь очистить систему и сделать ее пригодной для повторной подготовки. Команда +user также удаляет последнюю подготовленную учетную запись пользователя и связанные с ней данные.
Отмена подготовки с помощью приведенной выше команды не гарантирует, что из образа будет удалена вся конфиденциальная информация и что он будет готов к повторному распространению.
В диспетчере Hyper-V выберите Действие -> Завершение работы.
Azure принимает виртуальные жесткие диски только фиксированного размера. Если диск ОС виртуальной машины не является виртуальным жестким диском фиксированного размера, используйте командлет PowerShell Convert-VHD с параметром -VHDType Fixed . Ознакомьтесь с документацией по Convert-VHD здесь.
Дальнейшие действия
Теперь виртуальный жесткий диск Ubuntu Linux можно использовать для создания новых виртуальных машин Azure. Если вы отправляете VHD-файл в Azure впервые, см. раздел Вариант 1. Передача VHD.
Источник
Как создать виртуальный том жесткого диска с помощью файла в Linux
Виртуальный жесткий диск (VHD) – это формат файла образа диска, который представляет собой виртуальный жесткий диск, способный хранить все содержимое физического жесткого диска.
Это контейнерный файл, который действует подобно физическому жесткому диску.
Образ диска копирует существующий жесткий диск и включает в себя все данные и структурные особенности.
Как и физический жесткий диск, VHD может содержать файловую систему, и вы можете использовать ее для хранения и запуска операционной системы, приложений, а также для хранения данных.
Одно из типичных применений виртуальных жестких дисков в VirtualBox Virtual Machines (VM) для хранения операционных систем, приложений и данных.
В этой статье мы покажем, как создать том виртуального жесткого диска, используя файл в Linux.
Это руководство полезно для создания виртуальных жестких дисков в целях тестирования в вашей ИТ-среде.
В этом руководстве мы создадим том VHD размером 1 ГБ и отформатируем его в файловой системе EXT4.
Создайте новый образ для хранения тома виртуального диска
Есть несколько способов сделать это, но самый простой способ – использовать нашу любимую команду dd.
В этом примере мы будем создавать том VHD размером 1 ГБ.
- if = /dev/zero: входной файл для предоставления символьного потока для инициализации хранилища данных
- of = VHD.img: файл образа, который будет создан как том хранения
- bs = 1M: чтение и запись до 1M одновременно
- count = 1200: копировать только 1200M (1GB) входных блоков
Далее нам нужно отформатировать тип файловой системы EXT4 в файле образа VHD с помощью утилиты mkfs.
Ответьте y, когда будет предложено, что /media/VHD.img не является блочным специальным устройством, как показано на следующем снимке экрана.
Чтобы получить доступ к тому VHD, нам нужно подключиться к каталогу (точка монтирования).
Выполните эти команды, чтобы создать точку монтирования и смонтировать том VHD соответственно.
-O используется для указания опций для монтирования, здесь цикл опций указывает узел устройства в каталоге /dev/.
Примечание. Файловая система VHD будет оставаться подключенной только до следующей перезагрузки. Чтобы подключить ее при загрузке системы, добавьте эту запись в файл /etc/fstab.
Теперь вы можете проверить вновь созданную файловую систему VHD с точкой монтирования, используя следующую команду df.
Удаление тома виртуального диска
Если вам больше не нужен том VHD, выполните следующие команды для размонтирования файловой системы VHD, а затем удалите файл образа:
Используя ту же идею, вы также можете создать область / пространство подкачки, используя файл в Linux.
Источник
Подготовка виртуального жесткого диска Debian для Azure
Применимо к: ✔️ виртуальным машинам Linux ✔️ гибким масштабируемым наборам
Предварительные требования
В этом разделе предполагается, что вы уже установили на виртуальный жесткий диск (VHD) операционную систему Debian Linux из ISO-файла, полученного с веб-сайта Debian. Существует несколько средств для создания VHD-файлов. Hyper-V — это лишь один из примеров. Инструкции по работе с Hyper-V см. в разделе Установка роли Hyper-V и настройка виртуальной машины.
Замечания по установке
- См. дополнительные сведения о подготовке Linux для Azure.
- Более новый формат VHDX не поддерживается в Azure. Можно преобразовать диск в формат VHD с помощью диспетчера Hyper-V или командлета convert-vhd .
- При установке Linux рекомендуется использовать стандартные разделы, а не LVM — значение по умолчанию во многих дистрибутивах. Это позволит избежать конфликта имен LVM при клонировании виртуальных машин, особенно если диск с OC может быть подключен к другой ВМ в целях устранения неполадок. Для дисков данных можно использовать LVM или RAID.
- Не настраивайте раздел подкачки на диске с ОС. Можно настроить агент Linux для Azure для создания файла подкачки на временном диске ресурсов. Дополнительные сведения можно найти в инструкциях ниже.
- Размер виртуальной памяти всех VHD в Azure должен быть округлен до 1 МБ. При конвертации неподготовленного диска в формат VHD убедитесь, что размер этого диска в несколько раз превышает 1 МБ. См. дополнительные сведения об установке Linux.
Создание виртуальных жестких дисков Debian с помощью Azure-Manage
Создавать виртуальные жесткие диски Debian для Azure можно с помощью скриптов azure-manage от Credativ. Рекомендуется использовать их, а не создавать образ с нуля. Например, чтобы создать виртуальный жесткий диск Debian 8, выполните следующие команды для скачивания средства azure-manage (и зависимостей) и выполнения скрипта azure_build_image :
Подготовка образа Debian для Azure
Вы можете создать базовый облачный образ Debian для Azure с помощью конструктора облачных образов FAI.
(Следующие команды git clone и apt install извлечены из репозитория облачных образов Debian.) Начните с клонирования репозитория и установки зависимостей:
При необходимости настройте сборку, добавив скрипты (например, скрипты оболочки) в ./config_space/scripts/AZURE .
Пример скрипта для настройки образа:
Обратите внимание, что важно добавлять ко всем командам, с помощью которых требуется настроить образ, префикс $ROOTCMD , поскольку используется псевдоним chroot $target .
Сборка образа Debian 10 для Azure:
В результате в текущий каталог будут записаны несколько файлов, в частности файл образа image_buster_azure_amd64.raw .
Чтобы преобразовать образ в формате RAW в формат VHD для Azure, выполните следующие действия:
Будет создан виртуальный жесткий диск (VHD) image_buster_azure_amd64.vhd с округленным размером, чтобы этот диск можно было успешно скопировать на диск Azure.
Теперь нужно создать ресурсы Azure для этого образа (используется переменная $rounded_size_adjusted , поэтому это действие нужно выполнять в том же процессе оболочки, что и выше).
Если из-за низкой пропускной способности обработка отправки с локального компьютера на диск Azure с помощью azcopy занимает слишком много времени, для ускорения процесса можно использовать jumpbox виртуальной машины Azure. Это можно реализовать следующим образом:
Источник
Подготовка виртуальной машины на основе CentOS для Azure
Применимо к: ✔️ виртуальные машины Linux ✔️ гибкие масштабируемые наборы
Узнайте, как создать и передать виртуальный жесткий диск (VHD-файл) Azure, содержащий операционную систему Linux на основе CentOS
Предварительные требования
В этой статье предполагается, что вы уже установили операционную систему CentOS Linux (или аналогичную производную) на виртуальный жесткий диск. Существует несколько средств для создания VHD-файлов, например решение для виртуализации, такое как Hyper-V. Инструкции см. в разделе Установка роли Hyper-V и настройка виртуальной машины.
Замечания по установке CentOS
- Дополнительные сведения о подготовке Linux для Azure см. в разделе Общие замечания по установке Linux.
- Формат VHDX не поддерживается в Azure, поддерживается только фиксированный VHD. Можно преобразовать диск в формат VHD с помощью диспетчера Hyper-V или командлета convert-vhd. Если вы используете VirtualBox, при создании диска по умолчанию нужно выбрать фиксированный размер вместо динамически выделяемого.
- При установке системы Linux рекомендуется использовать стандартные разделы, а не LVM (как правило, значение по умолчанию во многих дистрибутивах). Это позволит избежать конфликта имен LVM c клонированными виртуальными машинами, особенно если диск с OC может быть подключен к другой идентичной виртуальной машине в целях устранения неполадок. Для дисков данных можно использовать LVM или RAID.
- Требуется поддержка ядра для монтирования файловых систем UDF. При первой загрузке в Azure конфигурация подготовки передается в виртуальную машину Linux через UDF-носитель, подключенный к гостевой машине. Агент Azure Linux должен иметь возможность подключать файловую систему UDF для считывания конфигурации и подготовки виртуальной машины.
- Версии ядра Linux ниже 2.6.37 не поддерживают NUMA в Hyper-V с виртуальными машинами большего размера. Эта проблема влияет в основном на дистрибутивы более ранних версий, в которых используется исходное ядро Red Hat 2.6.32, и была исправлена в RHEL 6.6 (kernel-2.6.32-504). В системах под управлением модифицированных ядер старше версии 2.6.37 или ядер RHEL старше 2.6.32-504 в командной строке ядра необходимо задать параметр загрузки numa=off в файле grub.conf. Дополнительные сведения см. в статье базы знаний Red Hat KB 436883.
- Не настраивайте раздел подкачки на диске с ОС. Дополнительные сведения описаны далее.
- Размер виртуальной памяти всех VHD в Azure должен быть округлен до 1 МБ. При конвертации диска в формате RAW в виртуальный жесткий диск убедитесь, что размер диска RAW в несколько раз превышает 1 МБ. См. дополнительные сведения в примечаниях по установке Linux.
CentOS 6.x
В диспетчере Hyper-V выберите виртуальную машину.
Щелкните Подключение , чтобы открыть окно консоли для виртуальной машины.
В CentOS 6 NetworkManager может мешать выполнению агента Linux для Azure. Установите пакет, выполнив следующую команду:
Создайте или измените файл /etc/sysconfig/network , добавив следующий текст:
Создайте или измените файл /etc/sysconfig/network-scripts/ifcfg-eth0 , добавив следующий текст:
Переместите или удалите правила udev, чтобы не создавать статические правила для интерфейса Ethernet. Эти правила приводят к появлению проблем при клонировании виртуальной машины в Microsoft Azure или Hyper-V:
Убедитесь, что сетевая служба запускается во время загрузки, выполнив следующую команду:
Если вы хотите использовать зеркала OpenLogic, размещенные в центрах обработки данных Azure, замените файл /etc/yum.repos.d/CentOS-Base.repo следующими репозиториями. При этом также будет добавлен репозиторий [openlogic], который включает дополнительные пакеты, например для агента Linux для Azure:
В этом руководстве предполагается, что вы используете по крайней мере репозиторий [openlogic] , который будет применяться при установке агента Linux для Azure.
Добавьте следующую строку в файл /etc/yum.conf:
Выполните следующую команду, чтобы очистить текущие метаданные yum и установить в системе последние обновления:
Если создается образ для более ранней версии CentOS, рекомендуется выполнить обновление всех пакетов до последней версии:
После выполнения этой команды может потребоваться перезагрузка.
(Необязательно) Установите драйверы для служб интеграции Linux.
Этот шаг является обязательным для CentOS 6.3 и более ранних версий и необязательным для более поздних.
Или же следуйте инструкциям по установке на странице скачивания служб интеграции Linux, чтобы установить RPM в образе.
Установите агент Linux для Azure и зависимости. Запустите и включите службу waagent:
Установка пакета WALinuxAgent приведет к удалению пакетов NetworkManager и NetworkManager-gnome, если они еще не удалены, как описано в шаге 3.
Измените строку загрузки ядра в конфигурации grub, чтобы включить дополнительные параметры ядра для Azure. Для этого откройте файл /boot/grub/menu.lst в текстовом редакторе и укажите для ядра по умолчанию следующие параметры:
Это также гарантирует отправку всех сообщений консоли на первый последовательный порт, что может помочь технической поддержке Azure в плане отладки.
Помимо вышесказанного, рекомендуется удалить следующие параметры:
Графическая и «тихая» загрузка бесполезны в облачной среде, в которой нам нужно, чтобы все журналы отправлялись на последовательный порт. При желании можно настроить параметр crashkernel , однако учитывайте, что он сокращает объем доступной памяти в виртуальной машине на 128 МБ или более, что может оказаться проблемой в виртуальных машинах небольшого размера.
Для CentOS 6.5 и более ранних версий необходимо также указать параметр ядра numa=off . См. посвященный Red Hat раздел 436883.
Убедитесь, что SSH-сервер установлен и настроен для включения во время загрузки. Обычно это сделано по умолчанию.
Не создавайте пространство подкачки на диске с ОС.
Агент Linux для Azure может автоматически настраивать пространство подкачки с использованием диска на локальном ресурсе, подключенном к виртуальной машине после подготовки для работы в среде Azure. Следует отметить, что локальный диск ресурсов является временным диском и должен быть очищен при отмене подготовки виртуальной машины. После установки агента Linux для Azure (см. предыдущий шаг) соответствующим образом измените следующие параметры в файле /etc/waagent.conf .
Выполните следующие команды, чтобы отменить подготовку виртуальной машины и подготовить ее в Azure:
В диспетчере Hyper-V выберите Действие -> Завершение работы. Виртуальный жесткий диск Linux готов к передаче в Azure.
CentOS 7.0+
Изменения в CentOS 7 (и аналогичных производных версиях)
Подготовка виртуальной машины CentOS 7 для Azure в значительной степени аналогична версии CentOS 6, однако есть несколько важных отличий:
- Пакет NetworkManager больше не конфликтует с агентом Azure Linux. Этот пакет устанавливается по умолчанию, и мы рекомендуем не удалять его.
- В качестве загрузчика по умолчанию теперь используется GRUB2, поэтому изменилась процедура правки параметров ядра (см. ниже).
- XFS теперь является файловой системой по умолчанию. При желании можно продолжать использование файловой системы ext4.
Этапы настройки
В диспетчере Hyper-V выберите виртуальную машину.
Щелкните Подключение , чтобы открыть окно консоли для виртуальной машины.
Создайте или измените файл /etc/sysconfig/network , добавив следующий текст:
Создайте или измените файл /etc/sysconfig/network-scripts/ifcfg-eth0 , добавив следующий текст:
Переместите или удалите правила udev, чтобы не создавать статические правила для интерфейса Ethernet. Эти правила приводят к появлению проблем при клонировании виртуальной машины в Microsoft Azure или Hyper-V:
Если вы хотите использовать зеркала OpenLogic, размещенные в центрах обработки данных Azure, замените файл /etc/yum.repos.d/CentOS-Base.repo следующими репозиториями. При этом также будет добавлен репозиторий [openlogic] , включающий пакеты для агента Linux для Azure:
В этом руководстве предполагается, что вы используете по крайней мере репозиторий [openlogic] , который будет применяться при установке агента Linux для Azure.
Выполните следующую команду, чтобы очистить текущие метаданные yum и установить все обновления:
Если создается образ для более ранней версии CentOS, рекомендуется выполнить обновление всех пакетов до последней версии:
После выполнения этой команды может потребоваться перезагрузка.
Измените строку загрузки ядра в конфигурации grub, чтобы включить дополнительные параметры ядра для Azure. Для этого откройте файл /etc/default/grub в текстовом редакторе и измените параметр GRUB_CMDLINE_LINUX , например:
Это также гарантирует отправку всех сообщений консоли на первый последовательный порт, что может помочь технической поддержке Azure в плане отладки. Также будут отключены новые соглашения CentOS 7 об именовании для сетевых адаптеров. Помимо вышесказанного, рекомендуется удалить следующие параметры:
Графическая и «тихая» загрузка бесполезны в облачной среде, в которой нам нужно, чтобы все журналы отправлялись на последовательный порт. При желании можно настроить параметр crashkernel , однако учитывайте, что он сокращает объем доступной памяти в виртуальной машине на 128 МБ или более, что может оказаться проблемой в виртуальных машинах небольшого размера.
После внесения изменений в файл /etc/default/grub , как указано выше, выполните следующую команду для повторного создания конфигурации grub:
Создавая образ из VMWare, VirtualBox или KVM, убедитесь что драйверы Hyper-V включены в initramfs.
Измените файл /etc/dracut.conf , добавив в него следующее содержимое:
Выполните сборку initramfs заново:
Установите агент Linux для Azure и зависимости для расширений виртуальной машины Azure:
Установите cloud-init для обработки операций подготовки:
Переключите конфигурацию. Не создавайте пространство подкачки на диске ОС.
Ранее агент Linux для Azure мог автоматически настраивать размер области подкачки с использованием локального диска ресурсов, подключенного к виртуальной машине после ее подготовки в Azure. Но теперь эту операцию выполняет cloud-init — вам не нужно использовать агент Linux для форматирования диска ресурсов. Создайте файл подкачки и соответствующим образом измените следующие параметры в файле /etc/waagent.conf :
Если вы хотите подключить, отформатировать или создать файл подкачки, вы можете:
Передать его в конфигурации cloud-init при каждом создании виртуальной машины.
Использовать директиву cloud-init, встроенную в образ, которая будет выполнять эту операцию при каждом создании виртуальной машины:
Выполните следующие команды, чтобы отменить подготовку виртуальной машины и подготовить ее в Azure:
В диспетчере Hyper-V выберите Действие -> Завершение работы. Виртуальный жесткий диск Linux готов к передаче в Azure.
Дальнейшие действия
Теперь виртуальный жесткий диск CentOS Linux можно использовать для создания новых виртуальных машин Azure. Если вы отправляете VHD-файл в Azure впервые, см. раздел Вариант 1. Передача VHD.
Источник