Dell Perc 6i raid5 массив: заменить диски и развернуть VD?

На папках, содержащих сценарии повреждения, у Вас есть .htaccess файл? Существует ли директива макс. времени выполнения в нем? Возможно, .htaccess не был считан в старой конфигурации, но теперь это, возможно, применяется.

Другой путь: это может быть браузер который тайм-аут? Вы уверены, что Ваш сценарий отправляет некоторые данные? У Вас есть некоторые ошибки (в консоли Firefox)?

1
задан 7 January 2013 в 10:34
2 ответа

RAID5 не работает. Не используйте его, если вам нравятся ваши данные, особенно с дисками 2 ТБ. Кроме того, хотя ваш метод может работать (я тоже не знаю о Perc6i и вашем пункте 4), это займет очень много времени, и все это время ваши диски будут постоянно активными.

В зависимости от ваших производственных требований, я бы рекомендовал поместить ваши данные на временный диск, удалить старые диски, создать новый RAID (6 или 10) на новых дисках и поместить его обратно с временного диска.

0
ответ дан 4 December 2019 в 09:27

Я понимаю, что этот вопрос уже устарел, но на него никогда не было ответа, и я мог бы использовать руководство, когда мне нужно было сделать что-то подобное. Итак, чтобы ответить на вопрос ОП фактами, а не мнением, вот как я обновил существующий массив RAID5 из 3 -дисков на Dell PE R430 с помощью PERC H730P (, также известного как MegaRAID SAS -3 3108. rev2)с использованием perccli64 v7.1327, работающего на ядре Linux 4.15.

Для справки, моя топология:

  • Контроллер 0
  • Корпус 32
  • Слоты 1, 2, 3 (слот 0 содержит твердотельный накопитель)
  • Старый жесткий диск емкостью 4 ТБ (3,637 ТиБ)x3
  • Объем 0, размер 7,276 ТБ (до расширения)
  • Размер нового жесткого диска :12 ТБ (10,913 ТБ)

Обратите внимание на разницу между терабайтами (ТБ и 10 ^ 12 )] и Tebibyte (TiB или размеры 2^40). perccli64 отображает размеры в тебибайтах, но использует «ТБ» в качестве суффикса. Я знаю.. Мне это тоже не нравится.

В фоновом режиме:с томом ~8 ТБ RAID5 нам не хватало места. Я подсчитал, что нужен том объемом 20 ТБ, поэтому заказал три диска HGST SATA по 12 ТБ. План:

  • Замените 1 диск, пусть том восстановится.
  • Повторите для диска 2
  • Повторите для диска 3
  • Расширьте массив, чтобы использовать большие диски
  • Измените размер существующей файловой системы(s), чтобы использовать больший том
  • Выполнить все это во время работы системы и без доступа к iDRAC

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

perccli64 /c0/e32/s1 set offline

ВАЖНОЕ ЗАМЕЧАНИЕ:это переводит RAID5 в деградированное состояние! Я рекомендую сначала посмотреть статистику SMART, и если на одном диске есть намеки на ошибки, сначала замените его. Если на двух или более дисках имеются какие-либо признаки предварительного сбоя, не снижайте производительность массива без наличия плана аварийного восстановления и полной проверенной резервной копии, которая находится в пределах легкой досягаемости. На самом деле умный человек поступил бы так в любом случае. Вы можете проверить статистику SMART (после установки smartmontools )с помощью:

smartctl -a /dev/sdb -d megaraid,n

(замените последний n для слота, который вы хотите проверить).

В автономном режиме, чтобы «умные руки» могли легко идентифицировать диск, помигайте светодиодом локатора с помощью

perccli64 /c0/e32/s1 start locate

Затем любой, кто находится на сервере, может вытащить мигающий диск и вставьте новый. Запуск:

perccli64 /c0/e32/s1 show

должен отобразить диск сначала в состоянии «Ofln» (Offline), затем недоступен, пока его нет, затем состояние «Rbld» (Восстановление)после вставки нового диска и, наконец, «Onln» (В сети)после завершения восстановления.

perccli64 /c0/e32/s1 показать перестроение

покажет процент выполнения во время перестроения (не доверять оценкам времени)и

perccli64 /c0/v0 показать

покажет том как "Dgrd" (Degraded)во время восстановления, а затем "Optl" (Optimal)после завершения. У меня диски SATA, и нагрузка на систему умеренно велика, но каждому из них потребовалось всего около 15 часов, чтобы восстановить часть тома объемом 4 ТБ на новых дисках.

Подождите, пока массив станет оптимальным, затем повторите те же действия для остальных дисков, в моем примере это слоты /c0/e32/s2 и /c0/e32/s3.

После замены всех дисков ваша топология должна показать оптимальный объем массива, состоящий из жестких дисков большего размера, но с исходным меньшим размером массива.в моем случае 7.276TiB (неправильно отображается как TB, а не TiB). Следующим шагом будет расширение самого массива, но сначала вам нужно будет выполнить некоторые математические действия...

Команда расширения perccli64 довольно плохо документирована. Единственная подсказка::

SYNTAX: perccli /cx/vx expand Size=<xx> [expandarray]

  DESCRIPTION: Expands VD to the specified size in the array

  OPTIONS:
    expandarray - expand array if possible to accommodate the given size
    Size - If the size format is not mentioned, given size will be processed in MB

Что неясно из вывода справки, так это то, что параметр Size, который требуется, представляет собой размер для ДОБАВЛЕНИЯ к массиву, а не желаемый размер после расширения. Мы хотим указать размер нового массива в МиБ за вычетом размера старого массива в МиБ. В моем случае 12 ТБ (на самом деле 12 000 138 625 024 байта, как показано smartctl )минус 4 ТБ (на самом деле 4 000 781 611 008 )дает 7 999 357 014 016. RAID5 из трех дисков вдвое больше, чем 15 998 714 028 032 байта, а разделенный на 2 ^ 20 составляет 15 257 562 МБ. Если вы укажете слишком много, произойдет сбой с сообщением о том, что недостаточно места. Чтобы избежать этого, скиньте несколько гигов, так как округляется до ближайшего процента (!!! В любом случае )от общего пространства... Как я уже сказал, команда расширения плохо документирована, поэтому я делюсь здесь тем, что узнал.

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

perccli64 /c0/v0 expand Size=15250000 expandarray

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

perccli64 /c0/v0 show bgi

Этот вывод ужасно плох в оценке оставшегося времени, так как он показывает процент, который начинается с того, что часть уже существовала как уже завершенная. Я думаю, что первая часть быстро инициализируется,и включает это при оценке времени, оставшегося для той части, которая действительно должна быть записана на диск. Там, где раньше 4 ТБ занимало 15 часов, а это еще 8 ТБ на диск, я ожидал, что это займет около 30 часов, но это может занять гораздо больше времени, поскольку он работает с более низким фоновым приоритетом. Я не знаю, сколько времени это на самом деле заняло в моем случае.

Несмотря на то, что контроллер волшебным образом делает пространство доступным немедленно, запустив задачу инициализации в фоновом режиме, нам все равно нужно, чтобы ОС распознала новый размер тома. Начните с повторного сканирования устройства scsi, повторив «1» в /sys/class/block/sdb/device/rescan (, указав правильное имя устройства, если не sdb), после чего при запуске будет отображаться новый больший размер.

blockdev --getsize64 /dev/sdb

На этом сложная часть завершена. В остальных шагах используются стандартные команды Linux. Есть много других руководств по этим шагам, и каждая система отличается, поэтому я не буду вдаваться в мельчайшие детали. Это то, что сработало для меня. Я использовал parted, чтобы исправить GPT (, который он предлагает при первой попытке распечатать таблицу ), затем добавить новый раздел, начинающийся после последнего используемого сектора и заканчивающийся в конце расширенного диска (parted команда "mkpart pv2 15625877504s 46873438207s"). Опять же, вам придется посчитать, чтобы найти правильные значения секторов. Затем я использую новый раздел с

pvcreate /dev/sdb5

vgextend volgrp /dev/sdb5

lvextend -l +95%FREE /dev/volgrp/logvol

resize2fs /dev /volgrp/logvol

После этого вывод df показал около 14 ТБ дополнительного пространства, и моя проблема с емкостью была решена. Обратите внимание, что я зарезервировал 5% свободного места на случай, если мне понадобится также расширить один из других LV.

0
ответ дан 1 June 2021 в 16:22

Теги

Похожие вопросы