- Как создать виртуальный том жесткого диска с помощью файла в Linux
- Создайте новый образ для хранения тома виртуального диска
- Удаление тома виртуального диска
- Как создать ramdisk в Linux или виртуальный диск в RAM
- CDemu
- Подготовка виртуальной машины на основе CentOS для Azure
- Предварительные требования
- CentOS 6.x
- CentOS 7.0+
- Дальнейшие действия
Как создать виртуальный том жесткого диска с помощью файла в 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ЗУ, и это значит, что всё его содержимое после отключения питания машины будет безвозвратно потеряно. По возможности используйте резервное питание, что бы успеть сохранить важные данные.
Источник
CDemu
Простая утилита для создания виртуальных CD/DVD-приводов.
CDemu — консольная утилита и апплет позволяющий монтировать образы дисков в систему одним кликом, аналог Alcohol 120%, Virtual CD и DAEMON Tools.
В Linux существует несколько простых способов монтирования образов дисков. Например есть утилита командной строки mount, есть fuseiso модуль для монтирования ISO образов и графические утилиты использующие их возможности (например ISOmorphin или AcetoneISO).
Консоль конечно здорово облегчает жизнь, не нужно запускать какую-то программу, ввод единственной строки mount — umount и образ смонтирован/размонтирован. Но многим использование консоли кажется неудобным, пугающим, да и плюс ко всему эти способы всё же имеют некоторые недостатки/ограничения.
Например эти способы не эмулируют привод, а эмулируют только файловую систему. В каких то случаях этого оказывается вполне достаточно, а иногда нет. И к тому же fuseiso не может монтировать образы более 2Gb, что на данный момент является существенным недостатком, а mount может монтировать только ISO-образы, использование же конвертеров не всегда удобно.
CDemu позволяет создавать виртуальные приводы посредством vhba-модуля ядра, позволяя использовать образы дисков как будто в CD/DVD привод вставлен реальный диск.
В CDemu реализована поддержка множества форматов образов, таких как: mdf/mds, nrg, bin/cue, iso, ccd, daa, c2d, toc, b6t, cdi, cif. И так же TR / Transfer Rate (скорость считывания ) и DPM эмуляция (местоположение данных) .
CDemu это консольная утилита, но имеется и простой апплет (значок в системном трее), упрощающий работу с приложением. Консольная команда загрузить образ выглядит просто:
Выгружать образ намного проще:
load 0 — это номер дисковода. Если при загрузке/выгрузке будет выскакивать ошибка:
То тогда, чтобы от этого избавиться, в конец строки нужно добавлять -b system
CDemu изначально запускается на уровне сессии, за это отвечает параметр LOAD_DAEMON=»0″ в конфигурационном файле :
Для запуска с системой можно поправить его (от root) на LOAD_DAEMON=»1″ , или же для запуска демона CDemu вместе с системой в меню «Система-Параметры-Запускаемые приложения» от текущего пользователя добавить (CDEmu daemon session launcher):
Так же в конфиге «cdemu-daemon» в секции «# Number of (virtual disc) devices» выставить количество эмулируемых приводов (по умолчанию их два: DEVICES=»2″) .
CDemu-апплет используется совсем просто! Правым кликом мыши по нему вызывается список приводов. Там выбирается нужный привод и нажатием на него открывается диалог обзора файловой системы, в котором указывается путь до образа диска.
Размонтирование образа можно произвести и из файлового менеджера (например Nautilus/Caja), так же как и физический диск или повторным выбором его в меню апплета по правому щелчку мыши. Левой кнопкой мыши вызывается диалог настройки апплета, левый клик по приводу вызывает его диалог настройки. Так же показываются всплывающие сообщения о смонтированном/размонтированном образе.
Лицензия: GNU General Public License (GPL)
Источник
Подготовка виртуальной машины на основе 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.
Источник