- Добавление в Linux второго диска Virtual Box
- Подключение диска данных к виртуальной машине Linux с помощью портала
- Поиск виртуальной машины
- Подключение нового диска
- Подключение существующего диска
- Подключение к виртуальной машине Linux для подключения нового диска
- Поиск диска
- Подготовка нового пустого диска
- Подключение диска
- Проверка диска
- Поддержка операций TRIM и UNMAP для Linux в Azure
- Дальнейшие действия
Добавление в Linux второго диска Virtual Box
И так, представим картину, у нас есть сервер на unix системе в VirtualBox и мы например не хотим забивать корень системы каким нибудь ПО или базой, что делать? Будем добавлять второй диск в систему.
И так, что мы сейчас имеем? вводим команду и смотрим её результат
мы имеем диск sda объемом 8Гб разделенный на 2 части.
sda1 — тут находится все необходимое для загрузки ОС
sda2 — а тут лежат уже все остальные файлы, корень, домашние директории и т.д
И так, добавляем диск. Для этого выключаем нашу виртуальную машину и заходим в её настройки VirtualBox
Выбираем нужный размер диска и создаем
В итоге у нас получится как то так.
После того как добавили диск запускаем виртуальную машину и смотрим появился ли он на уровне ОС.
Появился диск sdb объемом 8Gb , теперь давайте его введем в эксплуатацию, для этого нам поможет утилита pvcreate
Готово, диск создан, осталось еще чуть чуть.
Проверяем, вводим команду, которая покажет сколько диском она видит.
В данном случае sda2 , на котором сама ОС и sdb , который только что добавлен нами.
Теперь нужно создать для этого диска группу, для этого используем команду vgcreate
Команда vgs показывает какие volume группы в нашей ОС есть.
После создания группы нужно создать Logic Volume и уже ему назначить весь объем диска, для этого нужна команда lvcreate -n -l+100%FREE
Команда lvs покажит какие Logic Volume в нашей ОС уже есть и покажет их объем.
После этих манипуляций осталось только создать файловую систему и примонтировать диск к какой нибудь папке.
Для создания файловой системы я буду использовать команду mkfs.xfs
команда blkid покажет наши UUID’s и в какой файловой системе они у нас сейчас.
Видим что наш новый диск находится в группе vg00 , а в эту группу входит Logic Volume lv00 и имеет файловую систему xfs
Осталось только добавить UUID в файл fstab и замапить диск к папке.
На cкрине выше берем UUID /dev/mapper/vg00-lv00 и через echo добавляем его в файл fstab ( ОСТОРОЖНО, У ВАС БУДЕТ ДРУГОЙ UUID )
echo UUID=ваш_uuid /новая/папка xfs defaults 0 0 >> /etc/fstab
Подключение диска данных к виртуальной машине Linux с помощью портала
В этой статье показано, как подключить новый и существующий диски к виртуальной машине Linux на портале Azure. Вы также можете подключить диск данных к виртуальной машине Windows на портале Azure.
Прежде чем подключить диски к виртуальной машине, ознакомьтесь со следующими советами:
- Размер виртуальной машины определяет, сколько дисков данных к ней можно подключить. Дополнительную информацию см. в статье Размеры виртуальных машин.
- На самом деле диски, подключенные к виртуальным машинам, — это VHD-файлы, хранящиеся в Azure. Дополнительные сведения см. в статье Обзор компонента «Управляемые диски» Azure.
- Подключив диск, необходимо подключиться к виртуальной машине Linux для подключения нового диска.
Поиск виртуальной машины
- Используйте портал Azure для поиска виртуальной машины. Найдите и щелкните Виртуальные машины.
- Выберите виртуальную машину из списка.
- На странице Виртуальные машины в разделе Параметры выберите Диски.
Подключение нового диска
- На панели Диски в разделе Диски данных выберите Создать и подключить новый диск.
- Введите имя управляемого диска. Проверьте параметры по умолчанию и при необходимости обновите значения параметров Тип хранилища, Размер (ГиБ) , Шифрование и Кэширование узла.
- Закончив, выберите Сохранить в верхней части страницы, чтобы создать управляемый диск и обновить конфигурацию виртуальной машины.
Подключение существующего диска
- На панели Диски в разделе Диски данных выберите Подключение существующих дисков.
- Выберите раскрывающееся меню имя диска и выберите диск из списка доступных управляемых дисков.
- Выберите Сохранить , чтобы подключить существующий управляемый диск и обновить конфигурацию виртуальной машины:
Подключение к виртуальной машине Linux для подключения нового диска
Чтобы разбить диск на разделы, отформатировать и подключить новый диск к виртуальной машине Linux, подключитесь к своей виртуальной машине по протоколу SSH. Дополнительные сведения см. в статье Как использовать SSH с Linux в Azure. В следующем примере выполняется подключение к виртуальной машине с общедоступным IP-адресом 10.123.123.25 и именем пользователя azureuser:
Поиск диска
После подключения к виртуальной машине необходимо найти диск. В этом примере мы используем lsblk для вывода списка дисков.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
Вы должны увидеть результат, аналогичный приведенному ниже.
sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G
В этом примере добавленный диск был sdc . Это LUN 0 и 4 ГБ.
В более сложном примере ниже показано, как выглядят несколько дисков данных на портале:
На рисунке видно, что имеется 3 диска данных: 4 ГБ в LUN 0, 16 ГБ в LUN 1 и 32 ГБ в LUN 2.
Вот как это может выглядеть при использовании lsblk :
sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G sdd 3:0:0:1 16G sde 3:0:0:2 32G
Из выходных данных lsblk видно, что диск 4 ГБ в LUN 0 — sdc , диск 16 ГБ в LUN 1 sdd , а диск 32 ГБ в LUN 2 — sde .
Подготовка нового пустого диска
Если вы используете существующий диск, содержащий данные, перейдите к подключению диска. Следующие инструкции удалит данные на диске.
Если вы подключаете новый диск, необходимо секционировать диск.
Служебную программу parted можно использовать для разделения диска данных на разделы и его форматирования.
- Используйте последнюю версию parted , доступную для вашего дистрибутива.
- Если размер диска — 2 тебибайтов (ТиБ) или больше, необходимо использовать GPT-схему разбиения дисков на разделы. Если размер диска меньше 2 ТиБ, то можно использовать MBR- или GPT-схему разбиения дисков на разделы.
В следующем примере используется parted в /dev/sdc , где обычно находится первый диск данных на большинстве виртуальных машин. Замените sdc правильным параметром для своего диска. Мы также отформатируем его с помощью файловой системы XFS .
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100% sudo mkfs.xfs /dev/sdc1 sudo partprobe /dev/sdc1
Используйте служебную программу partprobe , чтобы убедиться, что ядро распознает новый раздел и файловую систему. Невозможность использовать partprobe может привести к тому, что команды blkid или lslbk не будут немедленно возвращать UUID для новой файловой системы немедленно.
Подключение диска
Создайте каталог для подключения файловой системы, используя mkdir . В следующем примере создается каталог в /datadrive :
Используйте mount , чтобы затем подключить файловую систему. В следующем примере раздел /dev/sdc1 подключается к точке подключения /datadrive :
sudo mount /dev/sdc1 /datadrive
Чтобы обеспечить автоматическое повторное подключение диска после перезагрузки, его необходимо добавить в файл /etc/fstab. Также настоятельно рекомендуется использовать UUID (универсальный уникальный идентификатор) в /etc/fstab для ссылки на диск, а не только на имя устройства (например, /dev/sdc1). Если операционная система обнаруживает ошибку диска во время загрузки, использование UUID позволяет избежать подключения ошибочного диска в это расположение. Остальные диски с данными затем получают те же идентификаторы устройств. Чтобы найти UUID нового диска, используйте служебную программу blkid :
Результат должен быть аналогичным приведенному ниже:
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a" /dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u" /dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01" /dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u" /dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"
Некорректное изменение файла /etc/fstab может привести к невозможности загрузить систему. Если у вас есть сомнения, см. инструкции по правильному изменению этого файла в документации дистрибутива. Перед редактированием необходимо создать резервную копию файла /etc/fstab .
Затем откройте файл /etc/fstab в текстовом редакторе. Добавьте строку в конец файла, используя значение UUID для /dev/sdc1 устройства, созданного на предыдущих шагах, и точку /datadrive подключения . В примере из этой статьи новая строка будет выглядеть следующим образом:
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,nofail 1 2
Завершив редактирование файла, сохраните и закройте редактор.
Если вы позднее удалите диск данных без редактирования файла fstab, виртуальная машина может не загрузиться. Большинство дистрибутивов поддерживает параметры fstab nofail и (или) nobootwait. Эти параметры позволяют системе загружаться, даже если диск не подключится во время загрузки. Дополнительные сведения об этих параметрах см. в документации дистрибутива.
Параметр nofail обеспечивает запуск виртуальной машины даже в том случае, если файловая система повреждена или отсутствует диск во время загрузки. Без этого параметра может возникнуть ситуация, описанная в записи блога Cannot SSH to Linux VM due to FSTAB errors (Не удается подключиться к виртуальной машине Linux по протоколу SSH из-за ошибок FSTAB).
Проверка диска
Теперь можно использовать lsblk снова, чтобы посмотреть диск и точку подключения.
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
Результат должен выглядеть следующим образом.
sda 0:0:0:0 30G ├─sda1 29.9G / ├─sda14 4M └─sda15 106M /boot/efi sdb 1:0:1:0 14G └─sdb1 14G /mnt sdc 3:0:0:0 4G └─sdc1 4G /datadrive
Вы видите, что sdc теперь подключен к /datadrive .
Поддержка операций TRIM и UNMAP для Linux в Azure
Некоторые ядра Linux поддерживают операции TRIM и UNMAP для отмены неиспользуемых блоков на диске. Эта функция в первую очередь полезна для информирования Azure о том, что удаленные страницы больше не являются допустимыми и могут быть удалены. Эта функция позволяет сэкономить деньги на дисках, счета за которые выставляются в зависимости от объема потребляемого хранилища, например на неуправляемых стандартных дисках и моментальных снимках дисков.
Существует два способа включить поддержку операций TRIM в виртуальной машине Linux. Как обычно, обратитесь к документации дистрибутива, чтобы выбрать рекомендуемый метод.
- Используйте параметр подключения discard в /etc/fstab. Ниже приведен пример.
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /datadrive xfs defaults,discard 1 2
sudo apt-get install util-linux sudo fstrim /datadrive
sudo yum install util-linux sudo fstrim /datadrive
sudo zypper install util-linux sudo fstrim /datadrive
Дальнейшие действия
Дополнительные сведения и инструкции по устранению неполадок с диском см. в разделе Устранение неполадок при изменении имени устройства виртуальной машины Linux.
Вы можете также подключить диск данных с помощью Azure CLI.