Как создать виртуальный том жесткого диска с помощью файла в 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.
Как создать ramdisk в Linux или виртуальный диск в RAM
Иногда попадаются задачи, когда нужно работать с большим количеством мелких файлов или некоторое небольшое время хранить объемные данные и делать это по возможности быстро, без завязок на медленную файловую подсистему и/или диски. Многие вспомнят, что есть такой виртуальный диск, он же – RAM-дисках (ramdisk), а сделать ramdisk в *nix системах можно очень быстро и просто.
Изначально, в ядре должна быть поддержка tmpfs.
Как создать диск:
В первую очередь создаем новую точку монтирования:
и даём все права на использование.
После этого даём команду на монтирование, для примера, я создам диск на 1 Gb
где 1024M – это и есть размер RAMdisk в Мегабайтах.
Аккуратнее с размером и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно. Кстати, если ОЗУ в системе достаточно, swap можно и вовсе отключить, см. Как отключить SWAP
Если же вы хотите изменить размер ramdisk – это просто:
При этом содержимое RAM-диска не пропадёт, но и его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).
ВАЖНО.
RAM-диск это хранение в OЗУ, и это значит, что всё его содержимое после отключения питания машины будет безвозвратно потеряно. По возможности используйте резервное питание, что бы успеть сохранить важные данные.
Как создать виртуальный том жесткого диска с помощью файла в Linux?
Виртуальный жесткий диск (VHD) — это формат файла образа диска, который представляет собой виртуальный жесткий диск, способный хранить все содержимое физического жесткого диска. Это файл-контейнер , который действует подобно физическому жесткому диску. Образ диска копирует существующий жесткий диск и включает в себя все данные и структурные особенности.
Как и физический жесткий диск, VHD может содержать файловую систему, и вы можете использовать её для хранения и запуска операционной системы, приложений, а также для хранения данных. Одно из типичных применений виртуальных жестких дисков в VirtualBox Virtual Machines (VM) для хранения операционных систем, приложений и данных.
В этой статье мы покажем, как создать том виртуального жесткого диска, используя файл в Linux. Эта статья полезна для создания виртуальных жестких дисков в целях тестирования в вашей ИТ-среде. В этой статье мы создадим том VHD размером 1 ГБ и отформатируем его в файловой системе EXT4.
Создание нового образа для хранения тома виртуального диска
Самый простой способ создать новый образ — использовать следующую команду dd. В этом примере мы будем создавать том VHD размером 1 ГБ.
- if=/dev/zero: входной файл для предоставления символьного потока для инициализации хранилища данных
- of=VHD.img: файл образа, который будет создан как том хранения
- bs=1 M: чтение и запись до 1M одновременно
- count=1200: копировать только 1200M (1GB) входных блоков
Далее нам нужно отформатировать тип файловой системы EXT4 в файле образа VHD с помощью утилиты mkfs. Ответьте «y«, когда на экране появится, что /media/VHD.img не является блочным специальным устройством:
Чтобы получить доступ к тому VHD, нам нужно его подключить к каталогу (точка монтирования). Выполните эти команды, чтобы создать точку монтирования и смонтировать том VHD соответственно. -O используется для указания опций для монтирования, здесь опция указывает узел устройства.
Примечание. Файловая система VHD будет оставаться подключенной только до следующей перезагрузки. Чтобы автоматически подключить её при загрузке системы, добавьте эту запись в файл /etc/fstab.
Теперь вы можете проверить вновь созданную файловую систему VHD с точкой монтирования, используя следующую команду df:
Удаление тома виртуального диска
Если вам больше не нужен том VHD, выполните следующие команды для размонтирования файловой системы VHD, а затем удалите файл образа:
Используя ту же идею, вы также можете создать файл подкачки в Linux.
Это все! В этой статье мы продемонстрировали, как создать том виртуального жесткого диска, используя файл в Linux.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Подготовка виртуальной машины Ubuntu для Azure Prepare an Ubuntu virtual machine for Azure
Теперь Ubuntu публикует официальные виртуальные жесткие диски Azure для загрузки по адресу https://cloud-images.ubuntu.com/ . Ubuntu now publishes official Azure VHDs for download at https://cloud-images.ubuntu.com/. Если вам нужно создать свой собственный, особый образ Ubuntu для Azure, не выполняйте описанную ниже процедуру, а начните с таких заведомо рабочих виртуальных жестких дисков и настройте их так, как вам требуется. If you need to build your own specialized Ubuntu image for Azure, rather than use the manual procedure below it is recommended to start with these known working VHDs and customize as needed. Последние выпуски образов можно всегда найти в следующих расположениях: The latest image releases can always be found at the following locations:
Предварительные требования Prerequisites
В этой статье предполагается, что вы уже установили операционную систему Ubuntu Linux на виртуальный жесткий диск. This article assumes that you have already installed an Ubuntu Linux operating system to a virtual hard disk. Существует несколько средств для создания VHD-файлов, например решение для виртуализации, такое как Hyper-V. Multiple tools exist to create .vhd files, for example a virtualization solution such as Hyper-V. Инструкции см. в разделе Установка роли Hyper-V и настройка виртуальной машины. For instructions, see Install the Hyper-V Role and Configure a Virtual Machine.
Замечания по установке Ubuntu Ubuntu installation notes
- Дополнительные сведения о подготовке Linux для Azure см. в разделе Общие замечания по установке Linux. Please see also General Linux Installation Notes for more tips on preparing Linux for Azure.
- Формат VHDX не поддерживается в Azure, поддерживается только фиксированный VHD. The VHDX format is not supported in Azure, only fixed VHD. Диск можно преобразовать в формат VHD с помощью диспетчера Hyper-V или Convert-VHD командлета. You can convert the disk to VHD format using Hyper-V Manager or the Convert-VHD cmdlet.
- При установке системы Linux рекомендуется использовать стандартные разделы, а не LVM (как правило, значение по умолчанию во многих дистрибутивах). When installing the Linux system it is recommended that you use standard partitions rather than LVM (often the default for many installations). Это позволит избежать конфликта имен LVM при клонировании виртуальных машин, особенно если диск с OC может быть подключен к другой ВМ в целях устранения неполадок. This will avoid LVM name conflicts with cloned VMs, particularly if an OS disk ever needs to be attached to another VM for troubleshooting. Для дисков данных можно использовать LVM или RAID. LVM or RAID may be used on data disks if preferred.
- Не настраивайте раздел swap или файл подкачки на диске операционной системы. Do not configure a swap partition or swapfile on the OS disk. Агент подготовки Cloud-init можно настроить для создания файла подкачки или раздела подкачки на диске временных ресурсов. The cloud-init provisioning agent can be configured to create a swap file or a swap partition on the temporary resource disk. Дополнительные сведения описаны далее. More information about this can be found in the steps below.
- Размер виртуальной памяти всех VHD в Azure должен быть округлен до 1 МБ. All VHDs on Azure must have a virtual size aligned to 1MB. При конвертации диска в формате RAW в виртуальный жесткий диск убедитесь, что размер диска RAW в несколько раз превышает 1 МБ. When converting from a raw disk to VHD you must ensure that the raw disk size is a multiple of 1MB before conversion. См. дополнительные сведения в примечаниях по установке Linux. See Linux Installation Notes for more information.
Создание вручную Manual steps
Прежде чем создавать собственный пользовательский образ Ubuntu для Azure, рекомендуется использовать предварительно созданные и проверенные образы https://cloud-images.ubuntu.com/ . Before attempting to create your own custom Ubuntu image for Azure, please consider using the pre-built and tested images from https://cloud-images.ubuntu.com/ instead.
На центральной панели диспетчера Hyper-V выберите виртуальную машину. In the center pane of Hyper-V Manager, select the virtual machine.
Щелкните Подключение , чтобы открыть окно виртуальной машины. Click Connect to open the window for the virtual machine.
Замените текущие репозитории в образе, чтобы использовать репозиторий Azure Ubuntu. Replace the current repositories in the image to use Ubuntu’s Azure repository.
Перед редактированием /etc/apt/sources.list рекомендуется сделать резервную копию: Before editing /etc/apt/sources.list , it is recommended to make a backup:
Ubuntu 16,04 и Ubuntu 18,04: Ubuntu 16.04 and Ubuntu 18.04:
Образы Ubuntu Azure теперь используют специализированное ядро Azure. The Ubuntu Azure images are now using the Azure-tailored kernel. Обновите операционную систему до последней версии ядра Azure и установите инструменты Azure Linux (включая зависимости Hyper-V), выполнив следующие команды: Update the operating system to the latest Azure-tailored kernel and install Azure Linux tools (including Hyper-V dependencies) by running the following commands:
Ubuntu 16,04 и Ubuntu 18,04: Ubuntu 16.04 and Ubuntu 18.04:
Измените строку загрузки ядра в конфигурации Grub, чтобы включить дополнительные параметры ядра для Azure. Modify the kernel boot line for Grub to include additional kernel parameters for Azure. Для этого откройте файл /etc/default/grub в текстовом редакторе, найдите переменную GRUB_CMDLINE_LINUX_DEFAULT (или добавьте ее, если это необходимо) и измените ее, включив следующие параметры: To do this open /etc/default/grub in a text editor, find the variable called GRUB_CMDLINE_LINUX_DEFAULT (or add it if needed) and edit it to include the following parameters:
Сохраните и закройте файл, а затем выполните команду sudo update-grub . Save and close this file, and then run sudo update-grub . Это гарантирует отправку всех сообщений консоли на первый последовательный порт, что может помочь технической поддержке Azure в плане отладки. This will ensure all console messages are sent to the first serial port, which can assist Azure technical support with debugging issues.
Убедитесь, что SSH-сервер установлен и настроен для включения во время загрузки. Ensure that the SSH server is installed and configured to start at boot time. Обычно это сделано по умолчанию. This is usually the default.
Установите Cloud-init (агент подготовки) и агент Linux для Azure (обработчик гостевых расширений). Install cloud-init (the provisioning agent) and the Azure Linux Agent (the guest extensions handler). Cloud-init использует нетплан для настройки системной конфигурации сети во время подготовки и каждой последующей загрузки. Cloud-init uses netplan to configure the system network configuration during provisioning and each subsequent boot.
Установка пакета walinuxagent приведет к удалению пакетов NetworkManager и NetworkManager-gnome (если они установлены). The walinuxagent package may remove the NetworkManager and NetworkManager-gnome packages, if they are installed.
Удалите конфигурации Cloud-init по умолчанию и оставшиеся артефакты нетплан, которые могут конфликтовать с подготовкой Cloud-init в Azure: Remove cloud-init default configs and leftover netplan artifacts that may conflict with cloud-init provisioning on Azure:
Настройте Cloud-init для инициализации системы с помощью источника данных Azure. Configure cloud-init to provision the system using the Azure datasource:
Настройте агент Linux для Azure, чтобы он зависел от Cloud-init, чтобы выполнить подготовку. Configure the Azure Linux agent to rely on cloud-init to perform provisioning. Дополнительные сведения об этих параметрах см. в проекте WALinuxAgent . Have a look at the WALinuxAgent project for more information on these options.
Очистите журналы и артефакты среды выполнения агента Linux для облака и Azure: Clean cloud-init and Azure Linux agent runtime artifacts and logs:
Выполните следующие команды, чтобы отменить подготовку виртуальной машины и подготовить ее в Azure: Run the following commands to deprovision the virtual machine and prepare it for provisioning on Azure:
sudo waagent -force -deprovision+user Команда будет пытаться очистить систему и сделать ее подходящей для повторной подготовки. The sudo waagent -force -deprovision+user command will attempt to clean the system and make it suitable for re-provisioning. +user Параметр удаляет последнюю подготовленную учетную запись пользователя и связанные с ней данные. The +user option deletes the last provisioned user account and associated data.
При использовании приведенной выше команды не гарантируется, что образ удаляется из всех конфиденциальных данных и подготавливается к повторному распространению. Deprovisioning using the command above does not guarantee that the image is cleared of all sensitive information and is suitable for redistribution.
В диспетчере Hyper-V выберите Действие -> Завершение работы. Click Action -> Shut Down in Hyper-V Manager.
Azure принимает только виртуальные жесткие диски фиксированного размера. Azure only accepts fixed-size VHDs. Если диск ОС виртуальной машины не является VHD фиксированного размера, используйте Convert-VHD командлет PowerShell и укажите -VHDType Fixed параметр. If the VM’s OS disk is not a fixed-size VHD, use the Convert-VHD PowerShell cmdlet and specify the -VHDType Fixed option. Просмотрите документацию по Convert-VHD этой ссылке: Convert-VHD. Please have a look at the docs for Convert-VHD here: Convert-VHD.
Дальнейшие действия Next steps
Теперь виртуальный жесткий диск Ubuntu Linux можно использовать для создания новых виртуальных машин Azure. You’re now ready to use your Ubuntu Linux virtual hard disk to create new virtual machines in Azure. Если вы отправляете VHD-файл в Azure впервые, см. раздел Вариант 1. Передача VHD. If this is the first time that you’re uploading the .vhd file to Azure, see Create a Linux VM from a custom disk.