Работа с mdadm в linux для организации raid

Введение

С гипервизором kvm лично мне приходилось мало работать. Еще в первое мое знакомство с гипервизорами, когда я выбирал, какой использовать в своей работе, kvm мне не понравился вообще по следующим причинам:

  1. Нет удобного инструмента для управления гипервизором под Windows. Для меня это критично, так как моя основная рабочая система ОС Windows.
  2. Не увидел готового образа, который бы позволил быстро и без лишних движений развернуть гипервизор на новом железе.

В итоге я остановился на Xen там, где нужно поставить систему на программный рейд mdadm, и Hyper-V в тех случаях, где рейд либо не нужен совсем, либо он аппаратный. В своей работе так или иначе приходится сталкиваться с различными системами, поэтому разбираться приходится во всем, в том числе и в kvm.

Есть 2 различных способа сделать бэкап виртуальной машины kvm:

  1. С остановкой или заморозкой системы на короткий промежуток времени.
  2. Без остановки системы вообще.

Для первого случая все относительно просто, каких-то нюансов нет. Во втором случае возникают нюансы и вопросы. Просто взять и сделать горячий бэкап виртуальной машины в kvm не получится. Вопрос рассмотрения архивных копий виртуальных машин нужно начинать с выбора типа жесткого диска, который будет использоваться. В зависимости от этого будет разная стратегия бэкапа. С этого мы и начнем.

Сразу хочу пояснить, что не имею большого опыта в работе с kvm и возможно что-то делаю неправильно. Данная статья мой опыт самостоятельного поиска решения и закрепление его для себя и всех, кому это будет интересным.

Создание и настройка виртуальных машин

В настройке виртуальных машин нет ничего сложного и необычного. Я не буду по шагам рассказывать, как это сделать. Если вы дошли до этого пункта, преодолев все остальные, разобраться не составит труда

Обращаю внимание только на несколько ключевых моментов. Чтобы установить виртуальную машину, нужно использовать iso образ

Его надо как-то загрузить на proxmox. Сделать это не сложно, нужно только понимать, что загрузить образ можно только на тот storage, который поддерживает такую возможность. Сторейджи LVM не позволяют загружать образы, для этого нужно использовать, например, storage в виде локальной директории. По умолчанию, один такой есть в системе. В него и загрузим образ вирутальной машины. Для этого открываем нужный сторейдж и выбираем вкладку Content. Жмем на Upload и выбираем нужный образ.

На этапе загрузки iso образа я столкнулся с проблемой. Образ больше 4Гб не загружался. Проверял несколько раз, в том числе в различных инсталляциях на разное железо. Ошибка повторялась везде. Я не смог загрузить образ. Если у вас образы больше, чем 4 Гб, ищите альтернативные способы загрузки в хранилище, благо это не составляет большого труда.

Дожидаемся окончания загрузки. Теперь этот образ можно использовать для установки ОС на виртуальную машину. Создание виртуальной машины выглядит следующим образом. Нажимаем на кнопку Create VM

Заполняем все необходимые поля и стартуем машину. Некоторое время уйдет на создание машины (1-2 минуты). В нижней части экрана ведется лог событий, там увидите информацию об окончании создания:

Выбирайте только что созданную машину и запсукайте ее. Для того, чтобы попасть в консоль виртуальной машины, выбери соответствующий раздел:

Рассказывать про настройку виртуальных машин особенно нечего. Все настройки видны в свойствах машины, выставляйте то, что вам нобходимо и пользуйтесь. Отдельно рассмотрю вопрос автозапуска.

Автозапуск виртуальной машины

По-умолчанию созданные виртуальные машины не запускаются со стартом гипервизора, это нужно делать вручную. Но есть настройка, которая отвечает за автозагрузку виртуальных машин, а так же за порядок их загрузки. Вот список параметров, которыми мы можем управлять:

Start at boot Принимает значение Yes или No, соответственно, загружаемся автоматически или нет.
Start order Порядок загрузки виртуальных машин, принимает целые цифровые значения (1, 2, и т.д.).
Startup delay Задержка запуска остальных ВМ после запуска этой, принимает значения в секундах.
Shutdown timeout Задержка в выключении ВМ. Сначала будет отдана команда на завершение работы. Если ВМ не завершит работу корректно, ей будет послан сигнал на принудительное выключение.

Рассмотрим простой пример. У нас есть виртуальная машина, к примеру Windows Server с ролью Active Directory на борту. Все остальные серверы завязаны на корректную работу службы каталогов. Нам надо сначала запустить контроллер домена, а затем все остальные серверы за ним. Установите параметр Start at boot в положение Yes для всех виртуальных машин, которые хотите запускать автоматически. Укажите Start/Shutdown order на контроллере домена 1, Startup delay 240, Shutdown timeout 120. С такими настройками при запуске гипервизора первой стартует виртуальная машина с КД, через 240 секунд все остальные в соответствии с их настройками.

Установка Дебиан 9 на raid

Рассмотрим вариант установки debian на софтовый рейд mdadm. Эта актуальная ситуация, когда вы разворачиваете систему на железе, а не виртуальной машине. К примеру, такая конфигурация будет полезна для установки proxmox. В этой статье я уже рассматривал установку debian на raid1. Но там версия 8-я, а у нас сейчас 9-я. Так что рассмотрю еще раз эту тему, но уже в варианте графического инсталлятора, а не консольного.

Итак, начинаем установку системы по приведенной ранее инструкции. Доходим до этапа разбивки диска и выбираем режим Manual.

Видим состояние наших дисков. В моем случае они полностью чистые, без разделов.

Выбираем режим Guided partitioning и настраиваем разделы на дисках, чтобы получилась такая картинка.

То есть мы на каждом диске создаем по одному пустому разделу, без точки монтирования и файловой системы. Эти пустые разделы мы объединим в raid и там уже сделаем корень системы — . Для swap я не создаю отдельный раздел, чтобы не делать потом отдельный raid для него. Swap сделаем в виде файла после установки системы. Итак, создаем рейд — Configure Software raid. Соглашаемся с предложением сохранить изменения.

Выбираем Create MD device, затем RAID1.

Указываем, что у нас будет 2 устройства в массиве и spare device не будет вовсе.

Далее выбираем 2 наших пустых раздела на каждом из дисков.

В конце соглашаемся на запись изменений. В разделе конфигурирования рейда нажимаем Finish и выходим из него.

Создаем на только что собранном массиве точку монтирования для нашей системы и указываем тип файловой системы. Должно получиться вот так.

На этом завершаем создание рейда и разметку диска и переходим дальше к установке debian, как было описано выше. Никаких принципиальных изменений больше не будет. Единственное, будет задан вопрос о том, что вы не создали раздел swap и будет предложено вернуться и исправить это.

Можно отказаться и продолжить установку.

После установки на raid нужно выполнить несколько важных действий.

  1. Зайти в систему и создать swap.
  2. Установить загрузчик на оба диска. Во время установки он был установлен только на один диск.
  3. Протестировать отказ одного из дисков.
# dpkg-reconfigure grub-pc

Выскочат пару запросов на указание дополнительных параметров. Можно ничего не указывать, оставлять все значения по-умолчанию.

А в конце выбрать оба жестких диска для установки загрузчика.

После установки загрузчика на оба диска, можно проработать вариант отказа одного из дисков. Для начала проверим статус нашего рейда:

# cat /proc/mdstat

md0 : active raid1 sdb1 sda1
20953088 blocks super 1.2 [2/2] 

Все в порядке, рейд на месте. Выключим сервер, отсоединим один диск и включим снова. Сервер замечательно загрузился с одним диском. Проверяем raid:

# cat /proc/mdstat
md0 : active raid1 sda1
20953088 blocks super 1.2 [2/1] 

Одного диска нет. Теперь снова выключим сервер и воткнем в него чистый диск такого же объема. То есть имитируем замену сломанного диска на новый. Запускаем сервер и проверяем список дисков в системе:

# fdisk -l | grep /dev
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sda1 * 2048 41940991 41938944 20G fd Linux raid autodetect
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk /dev/md0: 20 GiB, 21455962112 bytes, 41906176 sectors

Старый диск sda c разделом sda1 и новый диск sdb без разделов. Нам нужно так же на нем создать один раздел на весь диск с типом Linux raid. Сделаем это с помощью cfdisk.

# cfdisk /dev/sdb

Записываем изменения и проверяем, что получилось:

# fdisk -l | grep /dev
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sda1 * 2048 41940991 41938944 20G fd Linux raid autodetect
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
/dev/sdb1 * 2048 41943039 41940992 20G fd Linux raid autodetect
Disk /dev/md0: 20 GiB, 21455962112 bytes, 41906176 sectors

То, что надо. Второй раздел идентичный первому. Добавим его теперь в рейд.

# mdadm --add /dev/md0 /dev/sdb1
mdadm: added /dev/sdb1

Проверяем статус рейда:

# cat /proc/mdstat

md0 : active raid1 sdb1 sda1
      20953088 blocks super 1.2 [2/1] 
        recovery =  4.5% (954304/20953088) finish=6.6min speed=50226K/sec

Идет ребилд массива. Надо дождаться его окончания, а пока поставим на новый диск загрузчик, как проделали это ранее. После пересборки массива замена сбойного диска завершена, можно продолжать эксплуатировать сервер в штатном режиме.

Типы iso образов

Когда я начал готовить эту инструкцию по установке, был удивлен тем, что не смог быстро найти внятного и точного списка и описания официальных iso образов debian. Сам я почти всегда использую самый простой минимальный образ netinst.iso. С его помощью можно выполнить минимальную установку системы.

Название образа netinstall вводит в заблуждение, намекая на то, что для установки нужен интернет. На самом деле это не так. Базовую установку с минимальным набором программ, которые включают в себя основные системные утилиты, можно выполнить даже без наличия интернета. Более того, система нормально установится с этого минимального образа даже без сетевой карты.

На официальном сайте debian нет точного списка и описания всех образов. Я собрал информацию из содержания различных репозиториев дебиана, где представлены iso образы для загрузки. По смыслу есть 4 типа загрузочных дисков:

  • Минимальный для установки голой системы и системных утилит.
  • Минимальный с xfce для установки системы с простым графическим окружением.
  • Огромный dvd образ из 3-х дисков с системой и пакетами.
  • Различные live образы dvd дисков, которые отличаются графической оболочкой.

Последние 2 типа я даже не смотрел и не проверял. Мне обычно необходим сервер в минимальной установке, поэтому я использую netinstall образ. Для удобства я составил таблицу по редакциям Debian 9 Stertch

Редакции Debian 9
debian-9.0.0-amd64-netinst.iso Минимальный по объему образ, который содержит только самое необходимое для запуска установщика debian. Все остальное в процессе установки загружается из интернета. Без доступа к интернету, возможна установка голой системы с минимальным набором системных утилит.
debian-9.0.0-amd64-xfce-CD-1.iso Стандартный iso образ, который подходит для offline установки минимальной конфигурации сервера с графическим окружением xfce (хотя зачем он на сервере?). По размеру сопоставим с обычным cd диском. Можно записать на флешку и устанавливать с нее.
debian-9.0.0-amd64-DVD-1.iso
debian-9.0.0-amd64-DVD-2.iso
debian-9.0.0-amd64-DVD-3.iso
Этот набор dvd дисков содержит в себе систему и набор всевозможных пакетов, которые можно установить без доступа в интернет, непосредственно с dvd дисков. Я сейчас не могу представить себе сервер без доступа в интернет, поэтому не совсем понимаю, кому нужны эти образы. Но раз они есть, значит кто-то ими пользуется.
debian-live-9.0.1-amd64-cinnamon.iso
debian-live
-9.0.1-amd64-gnome.iso
debian-live-9.0.1-amd64-kde.iso
debian-live-9.0.1-amd64-lxde.iso
debian-live-9.0.1-amd64-mate.iso
debian-live-9.0.1-amd64-xfce.iso
Набор live образов позволяет попробовать систему дебиан без установки на железо. Отличаются друг от друга эти образы графической оболочкой. Данные osi образы актуальны для проверки работы системы на десктопах у обычных пользователей. Для системных администраторов, которые ставят систему на серверы, они вряд ли представляют интерес. Так что, если вам хочется просто посмотреть на работу системы, не устанавливая ее, можете воспользоваться live образами.

Подключение Яндекс Диска

Статью с настройкой дисков завершу описанием подключения Яндекс.Диска. Я лично давно и интенсивно его использую. У меня есть статья по созданию резервной копии сайта на яндекс.диск. Статья хоть и старая, но актуальная. Я продолжаю использовать предложенные там решения.

Яндекс диск можно подключить как системный диск по webdav. Скажу сразу, что работает это так себе, я давно им не пользуюсь в таком виде. Мне больше нравится работать с ним через консольный клиент linux.

Устанавливаем консольный клиент yandex-disk на Debian.

# echo "deb http://repo.yandex.ru/yandex-disk/deb/ stable main" | tee -a /etc/apt/sources.list.d/yandex-disk.list > /dev/null
# apt install gnupg
# wget http://repo.yandex.ru/yandex-disk/YANDEX-DISK-KEY.GPG -O- | apt-key add -
# apt update && apt install yandex-disk

Дальше запускаете начальную настройку.

# yandex-disk setup

После этого яндекс диск подключен к системе и готов к работе. Посмотреть его статус можно командой.

# yandex-disk status

Остановить или запустить Яндекс.Диск можно командами.

# yandex-disk stop
# yandex-disk start

Файл конфигурации находится по адресу /root/.config/yandex-disk/config.cfg. Туда, к примеру, можно добавить список папок исключений, которые не нужно синхронизировать.

exclude-dirs="dir1,exclude/dir2,path/to/another/exclude/dir"

Консольный клиент поддерживает символьные ссылки. Я много где использовал его. В основном в скриптах по автоматизации бэкапов. К примеру, я останавливал сервис яндекс диска, готовил бэкапы к отправке. Упаковывал их архиватором с разбивкой архивов по размеру. Потом создавал символьные ссылки в папке яндекс диска и запускал синхронизацию. Когда она заканчивалась, удалял локальные файлы и останавливал синхронизацию.

Яндекс диск сильно тормозит и падает, если у вас много мелких файлов. Мне доводилось хранить в нем бэкапы с сотнями тысяч файлов. Передать их в облако напрямую было невозможно. Я паковал их в архивы по 2-10 Гб и заливал через консольный клиент. Сразу могу сказать, что это решение в пользу бедных. Этот облачный диск хорош для домашних нужд пользователей и хранения семейных фоток и видео. Когда у вас большие потоки данных, которые нужно постоянно обновлять, работа с яндекс диском становится сложной.

Во-первых, трудно мониторить такие бэкапы. Во-вторых, тяжело убедиться в том, что то, что ты залил в облако, потом нормально скачается и распакуется из бэкапа. Как запасной вариант для архивов, куда они будут складываться раз в неделю или месяц, подойдет. Но как основное резервное хранилище точно нет. Какие только костыли я не придумывал для Яндекс.Диска в процессе промышленной эксплуатации. В итоге все равно почти везде отказался. Да, это очень дешево, но одновременно и очень ненадежно. Он иногда падает. Это хорошо, что упал, можно отследить и поднять. Так же он может зависнуть и просто ничего не синхронизировать, при этом служба будет работать. Все это я наблюдал, когда пытался синхронизировать сотни гигабайт данных. Иногда у меня это получалось :)

Какой диск выбрать в kvm — lvm, raw (img) или qcow2

В kvm есть несколько типов дисков, которые вы можете использовать в своей работе. Они имеют принципиальные отличия как по своей работе, так и по способам бэкапа. Выбирать тот или иной тип нужно в зависимости от ваших задач. Рассмотрим эти типы подробнее.

LVM. Тут все понятно. Использование lvm томов в виде дисков виртуальных машин. Такой диск будет блочным устройством и должен работать быстрее всех остальных типов, так как нет лишней прослойки в виде файловой системы.

Плюсы:

  • Снэпшоты средствами самого lvm, с них легко снять бэкап без остановки виртуальной машины.
  • Максимальное быстродействие.
  • Легко изменить размер диска.

Минусы:

  • Более сложное управление по сравнению с дисками в виде отдельных файлов.
  • Менее гибкое управление пространством диска. Если весь диск разбить на lvm разделы для виртуалок, то места на нем не останется, даже если вируталки будут пустые.
  • Более сложный перенос на другой сервер.

RAW. Это обычный формат сырых данных. Среди дисков в виде файлов это будет самый простой и быстрый вариант. Все данные пишутся как есть без дополнительных обработок и служебной информации. Формат является универсальным для большинства популярных гипервизоров.

Плюсы:

  • Максимальная простота и производительность среди образов в виде файла.
  • Универсальный формат с поддержкой в большинстве гипервизоров.
  • Легкость переноса виртуальной машины на другой сервер. Достаточно просто скопировать файл.

Минусы:

  • Не поддерживает снепшоты ни в каком виде.
  • Занимает сразу все выделенное пространство на диске, даже если внутри виртуальной машины место будет свободно. Из-за отсутствия фрагментации в некоторых случаях это может оказаться плюсом.

QCOW2. Родной формат для гипервизора QEMU. Расшифровывается как QEMU Copy-on-write. Этот формат позволяет создавать динамические диски для виртуальных машин, а так же поддерживает снепшоты. Теоретически, скорость работы должна хоть и не сильно, но уступать RAW. Как обстоит дело на практике, я не знаю, не замерял и подробно эту информацию не проверял.

Плюсы:

  • Поддержка снепшотов и динамических дисков. Как следствие — более удобное управление дисковым пространством.
  • Легкость переноса виртуальной машины на другой сервер. Достаточно просто скопировать файл.

Минусы:

Более низкая производительность, по сравнению с другими типами образов.

У каждого типа есть свои преимущества и недостатки. Lvm проще всего бэкапить, но им сложнее всего управлять. Для того, кто хорошо знаком с lvm это не проблема, если сталкиваешься первый раз, то возникает много вопросов. У raw нет снепшотов, лично для меня это большой минус, я этот формат вообще не рассматриваю. Если нет максимальной нагрузки на дисковую подсистему, то QCOW2 мне кажется наиболее приемлемым вариантом. Собственно, ниже и пойдет рассказ, как совместить удобство управления QCOW2 и простоту бэкапов и снэпшотов lvm. Я покажу, как сделать живой бэкап виртуальной машины kvm в формате qcow2 без остановки виртуальной машины.

Удаление массива

При удалении массива внимателнее смотрите на имена массива и дисков и подставляйте свои значения.

Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:

umount /mnt

* где /mnt — каталог монтирования нашего RAID.

mdadm -S /dev/md0

* где /dev/md0 — массив, который мы хотим разобрать.
* если мы получим ошибку mdadm: fail to stop array /dev/md0: Device or resource busy, с помощью команды lsof -f — /dev/md0 смотрим процессы, которые используют раздел и останавливаем их.

Затем очищаем суперблоки на всех дисках, из которых он был собран:

mdadm —zero-superblock /dev/sdb

mdadm —zero-superblock /dev/sdc

mdadm —zero-superblock /dev/sdd

* где диски /dev/sdb, /dev/sdc, /dev/sdd были частью массива md0.

А также удаляем метаданные и подпись:

wipefs —all —force /dev/sd{b,c,d}

Информация о дисках

Информацию о дисках в системе можно получить различными способами. Зачастую, интересна информация не только о физических дисках, но и о разделах. Начнем все же с физических дисков. Подробную информацию о железе, в том числе и о дисках, выдает программа hwinfo. В базовой системе ее нет, нужно поставить отдельно.

# apt install hwinfo

Теперь смотрим информацию о дисках:

# hwinfo --disk

Программа выведет железную информацию о всех дисках в системе. Вот пример вывода одного из физических дисков.

На выходе максимально подробная информация о диске — вендор, модель, серийный номер, метки диска в системе и много другое. Программа показывает принадлежность диска к рейд массиву, что бывает удобно. Вот вывод информации о диске из рейда adaptec.

Следующая программа, которую я использую, чтобы посмотреть информацию о физическом диске в debian — smartmontools. Она более громоздкая, тянет за собой кучу зависимостей, но зато умеет по расписанию следить за смартом дисков, слать уведомления в случае проблем. Фактически это не утилита, а готовый сервис. Ставится так.

# apt install smartmontools

Возможностей у программы много. Я в рамках данной статьи, покажу только, как посмотреть информацию о диске, в том числе параметры SMART.

# smartctl -i /dev/sda

SMART диска.

# smartctl -A /dev/sdd

С диском некоторые проблемы, судя по смарту.

Физические диски посмотрели, теперь посмотрим на список дисков с привязкой к логическим разделам. Я обычно использую 2 утилиты для этого — lsblk и fdisk.

# lsblk -a

Fdisk позволяет сразу посмотреть более подробную информацию о разделах.

# fdisk -l | grep /dev/sd

Мне обычно хватает этих команд, чтобы получить полную информацию о дисках и разделах на них.

Создание разделов

Рассмотрим пример создания томов из дисков sdb и sdc с помощью LVM.

1. Инициализация

Помечаем диски, что они будут использоваться для LVM:

pvcreate /dev/sdb /dev/sdc

* напомним, что в качестве примера нами используются диски sdb и sdc.

Посмотреть, что диск может использоваться LMV можно командой:

pvdisplay

В нашем случае мы должны увидеть что-то на подобие:

  «/dev/sdb» is a new physical volume of «1,00 GiB»
  — NEW Physical volume —
  PV Name               /dev/sdb
  VG Name               
  PV Size               1,00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               rR8qya-eJes-7AC5-wuxv-CT7a-o30m-bnUrWa
   
  «/dev/sdc» is a new physical volume of «1,00 GiB»
  — NEW Physical volume —
  PV Name               /dev/sdc
  VG Name               
  PV Size               1,00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               2jIgFd-gQvH-cYkf-9K7N-M7cB-WWGE-9dzHIY

* где 

  • PV Name — имя диска. 
  • VG Name — группа томов, в которую входит данный диск (в нашем случае пусто, так как мы еще не добавили его в группу).
  • PV Size — размер диска.
  • Allocatable — распределение по группам. Если NO, то диск еще не задействован и его необходимо для использования включить в группу.
  • PE Size — размер физического фрагмента (экстента). Пока диск не добавлен в группу, значение будет 0.
  • Total PE — количество физических экстентов.
  • Free PE — количество свободных физических экстентов.
  • Allocated PE — распределенные экстенты.
  • PV UUID — идентификатор физического раздела.

2. Создание групп томов

Инициализированные на первом этапе диски должны быть объединены в группы.

Группа может быть создана:

vgcreate vg01 /dev/sdb /dev/sdc

* где vg01 — произвольное имя создаваемой группы; /dev/sdb, /dev/sdc — наши диски.

Просмотреть информацию о созданных группах можно командой:

vgdisplay

На что мы получим, примерно, следующее:

  — Volume group —
  VG Name               vg01
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1,99 GiB
  PE Size               4,00 MiB
  Total PE              510
  Alloc PE / Size       0 / 0   
  Free  PE / Size       510 / 1,99 GiB
  VG UUID               b0FAUz-wlXt-Hzqz-Sxs4-oEgZ-aquZ-jLzfKz

* где:

  • VG Name — имя группы.
  • Format — версия подсистемы, используемая для создания группы.
  • Metadata Areas — область размещения метаданных. Увеличивается на единицу с созданием каждой группы.
  • VG Access — уровень доступа к группе томов.
  • VG Size — суммарный объем всех дисков, которые входят в группу.
  • PE Size — размер физического фрагмента (экстента).
  • Total PE — количество физических экстентов.
  • Alloc PE / Size — распределенное пространство: колическтво экстентов / объем.
  • Free  PE / Size — свободное пространство: колическтво экстентов / объем.
  • VG UUID — идентификатор группы.

3. Создание логических томов

Последний этап — создание логического раздела их группы томов командой lvcreate. Ее синтаксис:

lvcreate <имя группы томов>

Примеры создания логических томов:

lvcreate -L 1G vg01

* создание тома на 1 Гб из группы vg01.

lvcreate -L50 -n lv01 vg01

* создание тома с именем lv01 на 50 Мб из группы vg01.

lvcreate -l 40%VG vg01

* при создании тома используется 40% от дискового пространства группы vg01.

lvcreate -l 100%FREE -n lv01 vg01

* использовать все свободное пространство группы vg01 при создании логического тома.
* также можно использовать %PVS — процент места от физического тома (PV); %ORIGIN — размер оригинального тома (применяется для снапшотов).

Посмотрим информацию о созданном томе:

lvdisplay

  — Logical volume —
  LV Path                /dev/vg01/lv01
  LV Name                lv01
  VG Name                vg01
  LV UUID                4nQ2rp-7AcZ-ePEQ-AdUr-qcR7-i4rq-vDISfD
  LV Write Access        read/write
  LV Creation host, time vln.dmosk.local, 2019-03-18 20:01:14 +0300
  LV Status              available
  # open                 0
  LV Size                52,00 MiB
  Current LE             13
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  — currently set to     8192
  Block device           253:2

* где:

  • LV Path — путь к устройству логического тома.
  • LV Name — имя логического тома.
  • VG Name — имя группы томов.
  • LV UUID — идентификатор.
  • LV Write Access — уровень доступа.
  • LV Creation host, time — имя компьютера и дата, когда был создан том.
  • LV Size — объем дискового пространства, доступный для использования.
  • Current LE — количество логических экстентов.

Подключение второго диска

Копируем таблицу разделов с /dev/sdb на /dev/sda

sfdisk -d /dev/sdb | sfdisk --force /dev/sda

Убеждаемся, что ядро перечитало таблицу разделов:

ls /dev/sda*

Теперь расширяем массив:

mdadm --grow /dev/md2 --raid-devices=2 --bitmap=internal

И добавляем:

mdadm /dev/md2 --add /dev/sde1

(после перезагрузки имя диска сменилось с /dev/sda -> /dev/sde)

Далее будет происходить процесс восстановления, состояние которого можно отслеживать через /proc/mdstat:

cat /proc/mdstat 
Personalities :   
md1 : active raid0 sda sdb
      1465148928 blocks 64k chunks
      
md0 : active raid0 sdc sdd
      287277824 blocks 64k chunks
      
md2 : active raid1 sde1 sdf1
      244195904 blocks [2/1] 
        recovery =  3.2% (7891520/244195904) finish=96.0min speed=40981K/sec
      
unused devices: <none>

Установка Debian 10 Buster

К установке системы Debian 10 у нас все готово. Вставляйте флешку в сервер, если будете ставить на голое железо, либо подключайте iso образ к виртуальной машине и приступайте. Нас встречает традиционное первоначальное меню загрузочного образа.

Установка Debian 10

Я лично предпочитаю использовать консольный (Install), а не графический (Graphical Install) установщик. У меня в нем быстрее получается выбирать необходимые разделы. В целом, это вопрос личных предпочтений. Все этапы установки и варианты выбора настроек идентичны при любом способе. Я продолжаю в консольном.

Не буду приводить скриншоты всех этапов установки Debian 10. Не вижу в этом смысла. Там все достаточно очевидно. Буду останавливаться только на ключевых моментах и давать советы. Итак, после запуска установки системы, вам предложат выбрать язык. На серверах я всегда выбираю английский язык и английскую раскладку. Не вижу тут никаких альтернатив. Язык современной техносферы — английский и глупо идти поперек. Если вам понадобятся другие языки, то можете их настроить потом, по мере работы с системой.

После выбора языка необходимо выбрать географическое расположение. На этом этапе я всегда задумываюсь, по какому принципу группируются возможные варианты.

Выбор географического расположения

На первом экране представлены такие популярные и известные страны, как Замбия, Нигерия, Филлипины, Зимбабве, Ботсвана, но пропущены почти все (или все?) европейские страны. Для того, чтобы выбрать Россию, нужно пройти в other, выбрать Europe, а потом уже Russian Federation. Может быть такая группировка не случайна и есть какая-то байка на этот счет. Если кто-то в курсе, прошу поделиться.

После выбора страны нам предлагают указать кодировку и раскладку клавиатуры. Я всегда выбираю en_US.UTF-8 и American English. Если понадобится дополнительный язык, его всегда можно добавить позже. Далее необходимо подождать некоторое время, пока установщик не подгрузит следующие компоненты, необходимые для установки дебиан. После этого он попытается настроить сеть. Если у вас все в порядке с сетевой картой, и в сети работает dhcp-сервер, на моменте настройки сети не будет остановки, и она пройдет без каких-либо ваших действий. Если же у вас нет dhcp-сервера, то вам будет предложено вручную указать все сетевые параметры:

  • ip адрес
  • маску сети
  • ip шлюза и dns сервера

После сетевых параметров нас попросят указать имя сервера и его домен. Можете указывать что угодно. Если у вас нет никакого домена, можете оставить поле пустым, либо указать домен local.

Доменное имя сервера

Далее надо задать пароль root, потом создать обычного пользователя с произвольным именем и указать пароль к нему. По-умолчанию, после установки, войти удаленно по ssh пользователем root на сервер невозможно. Для этого нужно использовать учетную запись обычного пользователя и через него выполнять административные действия. Поэтому при установке debian нужно обязательно создать обычного пользователя.

Добавление пользователя

После создания паролей и пользователя, выбираем часовой пояс. На следующем этапе установки переходим к разметки диска. Это важный момент, поэтому рассмотрим его отдельно.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: