LINUX.ORG.RU
решено ФорумAdmin

Настройка RAID1

 , ,


0

1

Создаю гипервизор KVM.

При установке сервера создал (заказал) два RAID-массива (зеркало): 2 HDD, 2 SSD.

Массив создан, насколько я понимаю:

mkaro@laguna:~$ cat /etc/mdadm/mdadm.conf 
ARRAY /dev/md/hdd metadata=1.2 name=ubuntu-server:hdd UUID=701588e9:60a739b0:5d7c7508:eff6a7da
ARRAY /dev/md/ssd metadata=1.2 name=ubuntu-server:ssd UUID=9695006f:39cf8fae:ffa92602:abf25987
MAILADDR root
mkaro@laguna:~$ sudo mdadm --query /dev/md12{6,7}
[sudo] password for mkaro: 
/dev/md126: 931.39GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
/dev/md127: 465.64GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
mkaro@laguna:~$ sudo mdadm --detail /dev/md127
/dev/md127:
           Version : 1.2
     Creation Time : Tue May 11 10:22:46 2021
        Raid Level : raid1
        Array Size : 488254464 (465.64 GiB 499.97 GB)
     Used Dev Size : 488254464 (465.64 GiB 499.97 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Wed May 12 09:39:12 2021
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : ubuntu-server:ssd
              UUID : 9695006f:39cf8fae:ffa92602:abf25987
            Events : 488

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb

Вопросов несколько:

  1. Как лучше сделать массив, один раздел на физическое устройство (на весь объем) или отдельный раздел под виртуальный диск…, который буду подключать в качестве Storage к ВМ.

  2. Когда и как создавать файловую систему. Сейчас поверх RAID нужен mkfs? Например:

mkfs.ext3 /dev/md127
  1. В гипервизоре планируется ВМ разных типов (Linux, Windows), какие выбирать файловые системы в рейдах (нужно ли это учитывать сейчас при создании массивов).

Тут если скажу что-то не так, вы меня не бейте сильно, пожалуйста. Кнопки стараюсь нажимать вдумчиво. Прошу не усложнять, нужен простейший, но рабочий вариант KVM.

mkaro@laguna:~$ uname -a
Linux laguna 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Сначала определитесь как будете провижнить пространство (какой формат дисков будет) - raw или qcow2/vmdk. И если raw - то будет ли он в файле или прямо на диске. После того как дадите ответ на этот вопрос - сами поймете что делать дальше.

Nastishka ★★★★★ ()
Ответ на: комментарий от Minona

Т.е. вы хотите скзать, что пока не поздно, лучше все переделать. Понимаю. Какие вопросы, такие и ответы. Согласен, полностью корректно, без иронии.

Но все-таки, мне бы хотелось сделать самому. Читаю многочисленные гайды, да, дело требует знаний ::–).

Вероятнее всего, .raw. Как писать, пока не решил, думаю - прямо на диск. 2-3 машины, без особых расширений, простой web.

Только не нашел до сих пор ни одного гайда, как же это делать, толком. Т.е. если raw -> в партиции, то их нужно резать сейчас и выбирать в libvirt?

mkaro ()
  1. Это уж сам решай. Если нарезать, то лучше с помощью LVM, да и без нарезания я бы предпочел LVM, а не mdadm.

  2. Проще всего ext4 или xfs поверх raid. Другой вариант посложней - создать с помощью LVM RAID’овый Thin Pool и нарезать из него диски под виртуалки, да делать через него изменение размера, снимки и прочее.

Кнопки стараюсь нажимать вдумчиво

Эээ… Тут не принято нажимать кнопки, а вводить команды. Мышевоз? Сомневаюсь, что KVM для тебя, ведь это гипервизор и система виртуализации, а тебе надо управление к ним, чтобы не вручную все делать.

boowai ★★★★ ()
Ответ на: комментарий от mkaro

Тебе лучше использовать системы управления виртуалками, но они довольно негибкие, т.к. в enterprise принято подключаемые хранилища или хотя бы аппаратный RAID использовать. Если libvirt, то LVM он умеет управлять, но не знаю как там с Thin Pool. Проще будет хратить файлами, наверно.

boowai ★★★★ ()
Ответ на: комментарий от Minona

Предшествующие мои вопросы (посты) могут отчасти пояснить почему. В двух словах, код живет отдельно и база отдельно. Только забрать в posix базу я пока не могу (mssql), а код работает на порядок лучше в Linux (python). Ну можно сказать, делаем «эволюционный» шаг в развитии что-ли (надеемся, что получится).

Иначе, сервер, который под Linux на одной ВМ и с Windows на другой, будет выполнять свою работу.

Относительно миграции данных - тема за пределом моего вопроса в форуме. Работаем и на эту тему.

Нет у меня достаточного опыта, как же и когда резать партиции под рейды, и подходящего руководства ну не нашел… не нахожу ответов на свои вопросы, например:

http://xgu.ru/wiki/mdadm#.D0.9F.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.BE.D0.B4.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D1.8C_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC.D0.BD.D1.8B.D1.85_RAID-.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.BE.D0.B2

Нормальный админ не видит проблемы - создал, удалил…

mkaro ()
Последнее исправление: mkaro (всего исправлений: 1)
Ответ на: комментарий от boowai

Возможно, файлами, тоже так думаю. Но диск - соблазнительно!, скорости хочется… а вот будет ли проще и лучше (надежнее) - вопрос, просто не знаю.

Тогда по одной партиции в рейдах. Это RAID 1, особые настройки вроде не нужны, или все-таки по 2-3 раздела и подключать разделы к ВМ.

Аппаратного RAID, конечно, нет. LVM - пока не уверен. Проще надо… Система управления ВМ штатная для Ubuntu. Virtual Machine Manager, и Xorg установил.

mkaro ()
Ответ на: комментарий от mkaro

ясна
тогда я бы водрузил проксмокс на zfs mirror из ssd, а hdd под бэкапы.
изучить как работает это конечно хорошо.
но тебе надо будет как-то всем этим управлять.

Minona ★★★ ()
Ответ на: комментарий от Minona

А Minona - это он или она, извиняюсь:)? Т.е. вы предлагаете все начать сначала, или у меня пока ничего еще нет и ничего не мешает? Ну установил сервер, вроде, и что.

Чтобы было больше ясности (машину я в другом топике расписал): 20-ядерный лютый Xeon, шумит как паровоз, внутри:

  • один M.2 (на него я все и налил)
  • два SSD
  • два HDD

все простенькое.

Поскольку скорость - это все-таки SSD, поэтому пусть они только читают, а писать будем (логи, базу) на HDD. Поэтому ВМ web-сервера я хочу собрать из кусков: кусок M.2, кусок SSD, кусок HDD, ровно по указанному принципу, на MSSQL примерно где-то так же, но данные и файловый обмен - во всех случаях на жестком диске. Кроме того, будет 2 уровня продакшн + QA, т.е. еще и другие машины, такого же прикладного характера.

Есть ли у меня возможность сейчас (в данном состоянии) установить эту систему хранения, так вроде называется, Proxmon?

Из предисловия следует, что все-таки нужно все убить и сделать заново.

Тогда, центральный вопрос - а что мне это даст? Если останавливаться только на вопросе «как-то всем этим управлять», то управлять надо всем и всегда. Даже больше управлять нужно будет внутри. Мне, как возрастному, нужен весомый аргумент. Но вот нагрузки мы не боимся - надо, так будем управлять. Важен результат: финальное качество.

Очень рад нашему диалогу! То, что мне и надо.

mkaro ()
Ответ на: комментарий от mkaro

Первое впечатление - «новый неизученный виртуальный мир со своей природой», вот уж точно, для любителей экстрима ::–).

Зачем?!

mkaro ()
Ответ на: комментарий от mkaro

Поясните, пожалуйста (не врубаюсь, ну что это означает, как транслировать в осознанные действия):

"Создание конфигурационного файла mdadm.conf

Система сама не запоминает какие RAID-массивы ей нужно создать и какие компоненты в них входят. Эта информация находится в файле mdadm.conf.

Строки, которые следует добавить в этот файл, можно получить при помощи команды

mdadm –detail –scan –verbose

Вот пример её использования:

%# mdadm --detail --scan --verbose
ARRAY /dev/md0 level=raid5 num-devices=4 
UUID=77b695c4:32e5dd46:63dd7d16:17696e09
devices=/dev/hde1,/dev/hdf2,/dev/hdg1

"

Допустим, это пример использования приведенной команды. Какие строки «следует добавить», начинающиеся с символов «%#»? все 4 строки нужно добавить или только 3 последующие? Что в данном контексте означает символ «%» (процент)?

mkaro ()
Ответ на: комментарий от mkaro

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

dhameoelin ★★★★★ ()
Ответ на: комментарий от dhameoelin

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

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

Предварительно с настройкой автомонтирования.

mkaro ()
Последнее исправление: mkaro (всего исправлений: 1)
  1. По производителности – нет никакой существенной разницы. Если, конечно, не организовать 2 слоя cow, типа qcow2 over btrfs/zfs.

  2. Удваиваю @Nastishka: определитесь, что вы будете делать дальше с образами ВМ и каким способом. Тогда станет ясно, как удобнее.

Тред не читал.

i586 ★★★ ()
Ответ на: комментарий от mkaro

Я делаю так:

Минимальный конфиг у меня, это:

ssd - две штуки, обязательно с расширенной защитой данных при потере питания.

Разбиваю на три раздела.

Первый раздел: md, raid 1 для proxmox Второй: l2arc Третий: zil

Далее, hdd для данных. Создаю zfs в зеркале, с ashift=12. Затем цепляю туда zil в зеркале, и разделы для l2arc.

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

DALDON ★★★★★ ()
Ответ на: комментарий от DALDON

Одну ВМ вчера я сделал. Не с первого раза, но сделал. Поработал, посмотрел, дома сделал удаленный shutdown сервера целиком, и утром обнаружил, что машина у меня развалилась. Диски смонтировал как-то неправильно, они размонтировались почему-то)).

Делал .raw разделы на созданных RAID-ах. В fstab проверил вроде, все на месте.

mkaro ()
Ответ на: комментарий от mkaro

Raw диски виртуальных машин у тебя сделаны как разделы на реальном диске (raid) или на raid сделана файловая система, а на ней файлы raw дисков виртуальных машин?

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

Systemd делает параллельный запуск сервисов, в том числе и монтирование файловых систем и может возникнуть ситуация, что он в начале запустит сервис, запускающий виртуальные машины, а потом смонтирует файловую систему.

Читай man systemd, для systemd в fstab есть параметры монтирования файловых систем, в котором нужно указать перед каким сервисом должна монтироваться файловая система.

anonymous ()
Ответ на: комментарий от mkaro

Под shutdown сервера ты же имеешь в виду выключение системы гипервизора, а не виртуальной машины?

anonymous ()
Ответ на: комментарий от anonymous

Не стартует.

Сделал так.

На всех трех устройствах создал по одному разделу:

  • M.2 (Linux Filesystem, Flags:System Partition)
  • SSD RAID1: Linux (0x83)
  • HDD RAID1: Linux (0x83)

На SSD и HDD опции fstab Disk Utility сделал сам (вопрос почему так и как надо):

nosuid,nodev,nofail,x-gvts-show

Загрузочный раздел ВМ, на который установил Ubuntu Desktop, при попытке монтирования вручную дает Error (не помню точно, не распознает файловую систему).

Все делаю заново.

Под shutdown сервера ты же имеешь в виду выключение системы гипервизора, а не виртуальной машины?

Да. Выключил гипервизор. Сделал сознательно, надо все испытать.

Systemd читаю.

mkaro ()
Последнее исправление: mkaro (всего исправлений: 2)
Ответ на: комментарий от mkaro

M.2 (Linux Filesystem, Flags:System Partition)

Nvme под систему? Самый быстрый диск под редкоиспользуемые данные? Это как-то неумно.

Я бы поставил систему на зеркало из hdd, второе зеркало на hdd оставил бы под бэкапы (отдельного сервера не предполагается?) А на ssd держал бы данные, которым нужна скорость (бд, например)

zemidius ()
Ответ на: комментарий от dhameoelin

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

mkaro ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.