0

Adaptec SCSI RAID в linux

Краткое описание утилиты для работы с контроллером Adaptec SCSI RAID на примере замены выпавшего диска. На сервере с Adaptec SCSI RAID на борту выпал винт. После его физической замены надо заставить RAID массив отребилдиться.

Для вышеупомянутого контроллера существует утилита arcconf, которая есть в портах Freebsd, пакетах различных дистрибутивах Linux и т.д.

Первым делом проверяю статус контроллера
# arcconf getconfig 1
где 1 — номер контроллера

В результате имею список physical and logical drive, а также их состояния.

Вижу такую картину:

Logical device number 0
    Logical device name                      : tlk_msys
    RAID level                               : 1
    Status of logical device                 : Degraded
    Size                                     : 139900 MB
    Read-cache mode                          : Enabled
    Write-cache mode                         : Enabled (write-back)
    Write-cache setting                      : Enabled (write-back) when protected by battery/ZMM
    Partitioned                              : Yes
    Protected by Hot-Spare                   : No
    Bootable                                 : Yes
    Failed stripes                           : No
    Power settings                           : Disabled
    --------------------------------------------------------
    Logical device segment information
    --------------------------------------------------------
    Segment 0                                : Present (0,0) BJF03WH1
    Segment 1                                : Present (0,1) 3QN1CJ9Y

Массив деградирован.

В списке HDD вновь вставленный винт должен быть в состоянии Ready, иначе сначала с него надо удалить метаинформацию.
Делается это так:
# arcconf task start 1 device 0 1 clear

Внимание! Использовать только в том случае, если Вы понимаете что делаете!

После этого пересканирую контроллер:
# arcconf rescan 1

В моем же случае (HDD Ready) достаточно выполнить:
# arcconf setstate 1 device 0 1 hsp logicaldrive 1

В общем виде:
# arcconf setstate device hsp logicaldrive

Этой командой я указываю, что вставленный винт является hot spare для логического диска 1.
Посмотреть статус текущей операции:
# arcconf getstatus 1
где 1 — controller id.

Итак, краткая инструкция.

controller id = 1
fail hdd = 0 1
logical drive id = 1

  1. Проверить статус массива (arcconf getstatus 1)
  2. Заменить сбойный HDD
  3. Проверить статус массива (arcconf rescan 1, arcconf getstatus 1)
  4. Если новый HDD не имеет статуса Ready (arcconf task start 1 device 0 1 clear, arcconf rescan 1)
  5. Восстановить массив (arcconf setstate 1 device 0 1 hsp logicaldrive 1)
  6. Дождаться завершения ребилда (arcconf getstatus 1)

Кроме того, полезно сделать
# arcconf failover 1 on
для того, чтобы процесс ребилда начинался автоматически после arcconf rescan.

Alexey Egorychev

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.