URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107292
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Расширение программного RAID1 в Lin..."

Отправлено auto_tips , 26-Мрт-16 03:39 
При добавлении дополнительного диска к RAID1 в mdadm по умолчанию создаётся запасной диск (hot-spare), который будет задействован в случае выхода из строя одного из входящих в массив дисков.

Для увеличения производительности чтения данных, вместо hot-spare диска можно добавить полноценный третий диск в RAID1, т.е. все три диска будут заркалированы и операции чтения будут распараллеливаться между ними.

Имеем RAID 1 /dev/md121 из двух разделов /dev/sda1 и /dev/sdb1:

   mdadm --detail /dev/md121
   ...
   Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda1
       1       8       18        1      active sync   /dev/sdb1

Клонируем разделы на третий диск /dev/sdc

   sfdisk -d /dev/sda| sed 's/sda/sdc/'| sfdisk /dev/sdc

Добавляем /dev/sdc1 в массив:

   mdadm  /dev/md121 --add /dev/sdc1

   mdadm --detail /dev/md121
   ...
   Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda1
       1       8       18        1      active sync   /dev/sdb1
       2       8       34        -      spare   /dev/sdc1

Чтобы /dev/sdc1 стал полноценным участником массива меняем статус spare на active:

  mdadm  /dev/md121  --grow --raid-devices=3

Через некоторое время, после того как массив перестроится:

  mdadm --detail /dev/md121
   ...
  Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1

URL:
Обсуждается: http://www.opennet.me/tips/info/2961.shtml


Содержание

Сообщения в этом обсуждении
"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено _KUL , 26-Мрт-16 03:39 
Подскажите непонимающему. Есть 2 диска, работают в программном рейде. Загрузчик находится на обоих дисках? Или бут сектор на первом(в биосе выбран он для старта), загрузчик там же, и при выходе его из строя, система попросту не будет знать от куда стартовать?! Одновременно загрузчик может быть на обоих дисках?!

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено max , 26-Мрт-16 08:24 
Некоторые дистрибутивы при инсталяции пишут лоадер только на первый винт. Но никто не мешает продублировать загрузчик на все диски. grub-install в помощь. Всегда так делаю.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено _KUL , 26-Мрт-16 13:26 
Когда вы накатываете новое ядро или правите инитрамфс, как себя ведёт груб? Он обновляет загрузчик только на первом диске и приходится дублировать вручную и на второй?

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Stax , 26-Мрт-16 22:51 
При обновлении ядра загрузчик вообще не обновляется. Загрузчик grub на то и умный, чтобы найти boot-раздел (в том числе на raid/lvm, если это grub2) и прочитать конфиг оттуда. Поэтому на факт рейда при обновлении ядра ему глубоко фиолетово.

Если был обновлен сам пакет grub, то для legacy режима загрузки обычно grub-install не делается и по факту grub остается старым (т.к. автоматический grub-install плохо сработает на некоторых системах), а для UEFI-загрузки будет обновлен, но там это обычный файл на файловой системе.


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Avari , 31-Мрт-16 20:08 
>Есть 2 диска, работают в программном рейде. Загрузчик находится на обоих дисках?

Если его установить на оба диска в процессе инсталляции системы. При конфигурации пакета grub-pc этот вопрос задаётся. Возможно, для этого необходимо включать expert mode, не уверен.
Собственно, это _правильный_ вариант - установить GRUB в MBR всех дисков, на которых лежит RAID с системой. Неизвестно же, какой из дисков выйдет из строя и с какого потом загружаться придётся.
Кто не догадался - ставим птички при конфигурации grub-pc на sdX, а вот на mdX GRUB бессмысленно инсталлировать.
Если вы не уверены, как именно установлена данная конкретная система, или хотите диск добавить - сделайте dpkg-reconfigure grub-pc и поставьте птички в нужных местах. Всё, при обновлениях grub-pc итп загрузчик будет автоматически переустанавливаться на все выбранные диски.
Автоматизировать это тоже можно через debconf-set-selections.


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Аноним , 02-Май-16 12:51 
загрузчику ничего не мешает быть на обоих дисках. Другое дело как объяснить bios что загружаться надо не со сломавшегося, а с рабочего.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Azaza , 26-Май-16 21:06 
А не проще поставить малого объёма SSD чисто для ОС и не мучаться? В общем-то, это типичная домашняя схема, что будет мешать сделать так же в производстве, не вижу.

В конце концов, если энтерпрайз, то там оперативки по 128гб на серверных платах, можно загрузить ОС полностью в ram disk, если SSD боитесь убить раньше времени. Там и SSD для этих целей не нужен.


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Аноним , 26-Мрт-16 11:11 
Не сказано самое главное: скорость записи при этом уронится до скорости самого медленного диска, плюс общая производительность пострадает за счёт необходимости делать три записи на диск на одну запись со стороны системы.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено LionSoft , 26-Мрт-16 11:23 
У некоторых много-много-много read и мало-мало-мало write.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Forth , 26-Мрт-16 11:36 
Диски вполне могут быть одного типа, то бишь иметь одинаковую скорость.
Что касается записи, то постановка запроса на запись данных в очередь производится для всех дисков сразу, поэтому задержка при записи так же равна самой поздней записи, как и при чтении.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено sabakka , 06-Апр-16 09:39 
> задержка при записи так же равна самой поздней записи, как и при чтении

в md читает со всех сравнивает и выдаёт результат?


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено kleem_head , 26-Мрт-16 22:04 
загрузчик на рэйде - это кактус под подушкой. пока спишь сверху, все ок. чуть пошевелился - такой кайф

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Аноним , 29-Мрт-16 20:50 
Вам срочно нужна пересадка рук в плечи.

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено АнонимУася , 18-Май-16 11:56 
--загрузчик на рэйде - это кактус под подушкой. пока спишь сверху, все ок. чуть пошевелился - такой кайф
++загрузчик на ПРОГРАММНОМ рэйде - это кактус под подушкой. пока спишь сверху, все ок. чуть пошевелился - такой кайф

Теперь пересадка не нужна?


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено Вареник , 19-Июн-16 03:59 
grub в MBR каждого диска и забыть до смерти одного их дисков

"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено konstZZZ , 29-Мрт-16 18:59 
>Добавляем /dev/sdc2 в массив:

Наверное имелось ввиду:
Добавляем /dev/sdc1 в массив:


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено sabakka , 06-Апр-16 09:35 
>    sfdisk -d /dev/sda| sed 's/sda/sdc/'| sfdisk /dev/sdc

зачем городить?
sfdisk -d /dev/sda | sfdisk /dev/sdc достаточно


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено JL2001 , 08-Апр-16 19:26 
> Для увеличения производительности чтения данных, вместо hot-spare диска можно

добавить полноценный третий диск в RAID1, т.е. все три диска будут
заркалированы и операции чтения будут распараллеливаться между ними.

а разве мд-софтерйд не будет ожидать окончания чтения со всех дисков чтоб проверить результат ? когда я тестил mdraid1 на 2 дисках скорость чтения не отличалась от чтения с одного диска


"Расширение программного RAID1 в Linux до зеркала из трёх дисков"
Отправлено sabakka , 09-Апр-16 09:36 
Note that the read balancing done by the driver does not make the RAID1 performance profile be the same as for RAID0; a single  stream  of sequential  input  will not be accelerated (e.g. a single dd), but multiple sequential streams or a random workload will use more than one spindle. In theory, having an N-disk RAID1 will allow N sequential threads to read from all disks.

Individual devices in a RAID1 can be marked as "write-mostly".  These drives are excluded from the normal read balancing and will only  be read from when there is no other option.  This can be useful for devices connected over a slow link.

получается не сравнивает в процессе чтения, для этого существует специальная команда - echo check > /sys/block/mdX/md/sync_action