Назад | Перейти на главную страницу

Мудрость добавления внешнего USB-накопителя в массив Linux RAID10

У меня есть система SAN с 10 слотами для дисков, настроенными с программным RAID10, и все md0-5 добавлены в одну группу томов. Порт SATA в слоте 10 недавно вышел из строя и не принимает какие-либо диски, которые мы туда вставляем. Я очень нервничаю из-за того, что оставлю диск 9 без зеркала. Мое предлагаемое решение - добавить к серверу внешний USB-накопитель (подходящего размера и производителя для диска №9) и назначить его в качестве партнера RAID1 для №9. Я понимаю, что USB будет намного медленнее, чем SATA, но меня больше беспокоит защита данных, чем скорость диска.

Кто-нибудь видит какие-либо проблемы с этим планом (кроме производительности)?

cat / proc / mdstat Персоналии: [raid1] md4: активный raid1 sdj1 [1] 976759936 блоков [2/1] [U_]

md3: активный raid1 sdc1 [1] sda1 [0] 976759936 блоков [2/2] [UU]

md2: активный raid1 sdh1 [1] sdg1 [0] 976759936 блоков [2/2] [UU]

md4: активный raid1 sdi1 [0] sde1 [1] 976759936 блоков [2/2] [UU]

md0: активный raid1 sdf1 [0] sdb1 [1] 976759936 блоков [2/2] [UU]

RAID10 - это RAID0 из массивов RAID1, в итоге у вас будет только один том, поэтому у вас будет один физический том для передачи LVM. Вот так:

            LV1        LV2              
             \__________\___________....
                            |
                           VG
                            |
                           PV
                            |
     ______________________MD5________________________
    /             /           |          \            \
  _MD0_        _MD1_        _MD2_       _MD3_        _MD4_        
 /     \      /     \      /     \     /     \      /     \
D01   D02    D03   D04    D05   D06   D07   D08    D09   D10

То, что вы описываете словами «все md0-5, добавленные в одну группу томов», звучит как 5 отдельных массивов RAID1 (или RAID10 - драйвер RAID10 по сути действует как RAID1 для массивов из двух дисков), которые вы добавили в LVM отдельно, поэтому вы иметь группу томов, состоящую из 5 физических томов. Вот так:

            LV1        LV2              
             \__________\___________....
                            |
     ______________________VG_________________________
    /             /           |          \            \
   PV1          PV2          PV3         PV4          PV5
    |            |            |           |            |
  _MD0_        _MD1_        _MD2_       _MD3_        _MD4_        
 /     \      /     \      /     \     /     \      /     \
D01   D02    D03   D04    D05   D06   D07   D08    D09   D10

(на самом деле это не RAID10 (RAID-1-затем-0), это RAID-1-затем-JBOD)

Так ли это?

Если это так, вы можете вместо этого просто удалить PV5 из группы томов, предполагая, что в системе достаточно свободного места в целом и размер файловых систем, которые вы поддерживаете, изменяется (например, et2 / 3/4 с resize2fs), если необходимо:

  1. Уменьшите файловые системы и логические тома, которые их содержат, до тех пор, пока в группе томов не будет по крайней мере достаточно свободного места для заполнения PV5, если в группе томов уже недостаточно свободного места.
  2. Использовать pvmove переместить весь блок, выделенный для этого физического тома LVM, другим
  3. (необязательно) Используйте vgreduce чтобы удалить этот PV5 из группы томов

Теперь сломанный массив не является частью настройки LVM. Вы можете добавить его обратно, как только исправите ситуацию, чтобы пара RAID1 больше не работала с ухудшенным качеством.

Чтобы ответить на ваш вопрос ...

За исключением проблем с производительностью, которые вы уже определили, и вероятности случайного отключения USB-накопителя (что маловероятно, если компьютер, на котором размещена ваша SAN, находится в безопасном месте вдали от людей и других помех), я не вижу проблем с замена вашего диска 10 на подключенный через USB.

Если на компьютере, на котором размещается ваша SAN, есть запасной слот PCI или PCI-E, я бы вместо этого предложил воспользоваться этим маршрутом, добавив дополнительный контроллер SATA, чтобы повесить диск. Если вы получите контроллер, который предлагает пять портов (или может поместиться в две карты, которые предлагают пять или более в сумме), у меня возникнет соблазн разделить диски так, чтобы в каждой паре один диск был подключен к материнской плате, а другой - к надстройке. на контроллере - таким образом у всего вашего массива будет больше шансов выжить при отказе контроллера материнской платы, который убивает все подключенные к нему диски (очень-очень редкое явление, но это может произойти).

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

(Чтобы подтвердить имеющийся макет, стоит переформулировать вопрос и / или добавить вывод команд cat /proc/mdstat, pvs, vgs и lvs.)

Это рейд 10, я бы меньше беспокоился о здоровье массива с одним мертвым диском, чем при использовании USB-накопителя. Если бы это был рейд 5, это могло бы быть другим делом, но я думаю, что вы будете в порядке без десятого диска, пока не дойдете до починки вашего контроллера - если вы скоро разберетесь с этим - вы правы :)

Думаю, спектакль будет совсем не лучшим. Хуже того, USB-накопитель может быть отключен во время записи и / или подготовки к нему системы.

Можете ли вы скопировать данные с диска №9 на другие зеркальные диски?