Skip to content

Замена дисков на диски большего объёма на Adaptec с RAID10

Замена дисков на диски большего объёма на Adaptec с RAID10

Предварительное соглашение об используемых ниже терменах

Если видим в тексте * ARCCONF — полный путь к команде arcconf, к примеру в моём случае это /usr/StorMan/arcconf; * Controller# — номер контроллера RAID, если у нас один RAID — всё просто, указываем 1(мой случай). Если несколько, то смотрим очень внимательно с помощью ARCCONF LIST и ARCCONF getconfig Controller# где какой у нас рейд; вам необходимо заменить эти сокращения на верные для вашего случая значения.

Выполнение проверки массива с verify_fix

Запускаем проверку

ARCCONF TASK START Controller#  LOGICALDRIVE 0 verify_fix
где 0 — номер логического диска(массива RAID, их может быть несколько на одном контроллере, указываем нужный вам логический диск). И ждём её завершения, следя за
watch -n 3 'ARCCONF GETSTATUS Controller#'
Проверка нужна, так как замена дисков, без проверки перед заменой, может приводить к последствиям вроде развала массива(failed stripes), если на исходных дисках в зеркале были ошибки, и не был сделан verify_fix до замены одного из дисков в зеркале.

Меняем диск

Ищем корзину диска, который нужно заменить, собираем информацию о модели, SN и объёме диска, на который нужно заменить данный диск, с помощью команды

ARCCONF getconfig Controller#
Заменяем диск, диски можно менять на такие же, или большего объёма, в нашем случае на диск большего объёма. Обычно это делается с помощью заявки в ТП хостинг-провайдера, или в ТП ДЦ, где расположен сервер(если ваша компания сама хостинг-провайдер).

Наблюдаем за пересборкой(ребилдом)

ARCCONF GETSTATUS Controller#

Убеждаемся, что ребилд прошёл нормально

Запускаем

ARCCONF getconfig Controller#|grep -e 'Status of logical device' -e 'Failed stripes' 

Повторяем предыдущие три шага для оставшихся дисков

Повторяем пункты 2 и 3 до тех пор, пока все 4 диска не будут заменены.

Реконфигурация логического диска для растягивания его на всё доступное дисковое пространство

Запускаем реконфигурацию RAID-массива для растягивания его на доступное на новых дисках дисковое пространство.

Синтаксис этой команды имеет вид

ARCCONF MODIFY Controller# FROM TO ([Options]RAID#) [CHANNEL# ID#] [noprompt]
где: * FROM — указывает логический диск, что будет подвержен изменению, пусть в нашем случае это будет 0(важно, если у вас на RAID-контроллере создано несколько логических дисков(массивов RAID), указать правильный логический диск); * TO — указывает на то, какие изменения последуют, мы можем указать "MAX", указывающий на то, что мы хотим использовать всё доступное дисковое пространство под наш массив, или необходимый нам размер в мегабайтах; * [Options]RAID# — уровень RAID, в нашем случае 10; * CHANNEL# ID# в нашем случае 0 0, 0 1, 0 2, 0 3 соответственно 4 нашим дискам, нужные значения можно посмотреть в ARCCONF getconfig Controller#.

Таким образом команда, в моём случае, будет выглядеть так

ARCCONF MODIFY 1 FROM 0 TO MAX 10 0 0 0 1 0 2 0 3

Так как эта команда изменяет конфигурацию массива, следует уделить заполнению её параметров особое внимание.

Ждём окончания этого процесса

watch -n 3 'ARCCONF GETSTATUS Controller#'

Растягиваем диски

Как процесс завершится, перезагружаем сервер в LiveCD/LiveUSB/PXE с SystemRescueCD, растягиваем ФС на всю новую длину нашего массива с помощью fdisk/parted, затем fsck и resize2fs. В итоге у нас получился сервер с более большим диском, и это без необходимости миграции его на другой сервер с более ёмкими дисками в массиве. Этот способ часто выручает, когда ресурсов у системы ещё хватает, а дискового на сервере недостаточно. Особенно когда лишнего сервера для миграции в запасе нет, и всё нужно проделать без миграции, конкретно на имеющемся у нас сервере.