Перестроение массивов ATA RAID1



FreeBSD позволяет вам выполнять горячую замену вышедшего из строя диска. При этом требуется, чтобы вы заметили это до перезагрузки.

Вероятно, в файле /var/log/messages или в выдаче команды dmesg(8) вы увидите примерно следующее:

ad6 on monster1 suffered a hard error.

ad6: READ command timeout tag=0 serv=0 - resetting

ad6: trying fallback to PIO mode

ata3: resetting devices .. done

ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\

status=59 error=40

ar0: WARNING - mirror lost

При помощи atacontrol(8) получите дополнительную информацию:

# atacontrol list

ATA channel 0:

   Master: no device present

   Slave:  acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0

 

ATA channel 1:

   Master: no device present

    Slave:  no device present

 

ATA channel 2:

   Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5

   Slave:  no device present

 

ATA channel 3:

   Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5

   Slave:      no device present

 

# atacontrol status ar0

ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED

1. Сначала вам нужно отключить канал контроллера ATA, содержащий отказавший диск, чтобы его можно было без последствий извлечь:

# atacontrol detach ata3

2. Замените диск.

3. Повторно подключите канал дискового контроллера:

# atacontrol attach ata3

Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5

Slave: no device present

4. Добавьте новый диск к массиву в качестве резервного:

# atacontrol addspare ar0 ad6

5. Перестройте массив:

# atacontrol rebuild ar0

6. Проверить состояние дел можно при помощи следующей команды:

# dmesg | tail -10

[выдача удалена]

ad6: removed from configuration

ad6: deleted from ar0 disk1

ad6: inserted into ar0 disk1 as spare

 

# atacontrol status ar0

ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed

7. Дождитесь завершения этой операции.

USB устройства хранения

Множество современных устройств хранения используют Universal Serial Bus (USB): жесткие диски, брелоки USB, CD-R приводы, и т.д. FreeBSD предоставляет поддержку этих устройств.

Настройка

Драйвер umass(4) предоставляет поддержку устройств хранения USB. Если вы используете GENERIC ядро, изменять что-либо в настройках не потребуется. Если вы используете настроенное ядро, убедитесь, что в файле настройки присутствуют следующие строки:

device scbus

device da

device pass

device uhci

device ohci

device ehci

device usb

device umass

Для доступа к устройствам хранения USB драйвер umass(4) использует подсистему SCSI, ваши устройства USB будут видны системе как SCSI устройства. В зависимости от чипсета USB на материнской плате, для включения поддержки USB 1.X вам потребуется только один из параметров device uhci или device ohci. Однако, наличие обоих этих параметров не помешает. Поддержка контроллеров USB 2.0 предоставляется драйвером ehci(4) (строка device ehci). Не забудьте скомпилировать и установить новое ядро после добавления каких-либо строк.

Замечание: Если ваше USB устройство это пишущий привод CD-R или DVD, необходимо добавить в ядро SCSI CD-ROM драйвер, cd(4), следующей строкой:

device cd

Поскольку устройство записи видно как SCSI диск, драйвер atapicam(4) не должен использоваться в файле настройки.

Тестирование конфигурации

Конфигурация готова к тестированию, подключите устройство USB, и в буфере системных сообщений (dmesg(8)), диск должен отобразиться примерно так:

umass0: USB Solid state disk, rev 1.10/1.00, addr 2

GEOM: create disk da0 dp=0xc2d74850

da0 at umass-sim0 bus 0 target 0 lun 0

da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device

da0: 1.000MB/s transfers

da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

Конечно, производитель, имя устройства (da0) и другие детали могут отличаться в зависимости от конфигурации.

Поскольку устройство USB видится как SCSI, команда camcontrol может быть использована для вывода списка устройств хранения USB, подключенных к системе:

# camcontrol devlist

<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)

Если на диске есть файловая система, у вас должна быть возможность смонтировать ее. Разд. 17.3 поможет вам создать и отформатировать разделы на диске USB если потребуется.

Внимание: Ниже описанный механизм (vfs.usermount), допускающий монтирование случайных носителей пользователями, не являющимися доверенными, считается небезопасным. Большинство файловых систем во FreeBSD никак не ограждено от возможности несанкционированного монтирования устройств.

Чтобы это устройство мог смонтировать обычный пользователь, необходимо выполнить определенные действия. Для начала, необходимо дать обычным пользователям доступ к устройствам, создаваемым при подключении USB устройства. Решение состоит во включении всех пользователей данных устройств в группу operator. Это делается утилитой pw(8). Затем, когда устройства созданы, у группы operator должен быть доступ на чтение и запись для этих устройств. Это выполняется путем добавления следующих строк в /etc/devfs.rules:

[localrules=5]

add path 'da*' mode 0660 group operator

Замечание: Если к системе подключены SCSI диски, это должно быть сделано немного иначе. Так, если в системе уже есть диски с da0 по da2, вторая строка должна выглядеть так:

add path 'da[3-9]*' mode 0660 group operator

Это исключит уже существующие диски из группы operator.

Вам также потребуется включить набор правил devfs.rules(5) в файл /etc/rc.conf:

devfs_system_ruleset="localrules"

Затем, ядро необходимо настроить так, чтобы оно позволяло обычным пользователям монтировать файловые системы. Простейший способ сделать это - добавить в файл /etc/sysctl.conf следующую строку:

vfs.usermount=1

Этот параметр установится только после последующей перезагрузки. Для установки этой переменной можно также использовать sysctl(8).

Последний шаг - создание каталога, куда будет монтироваться файловая система. Каталог должен принадлежать пользователю, монтирующему файловую систему. Один из способов сделать это под пользователем root - создать каталог /mnt/username (замените username именем пользователя, а usergroup — именем главной группы пользователя):

# mkdir /mnt/ username

# chown username : usergroup /mnt/ username

Предположим, что USB брелок подключен, и появилось устройство /dev/da0s1. Поскольку эти устройства обычно поставляются форматированными с файловой системой FAT, их можно смонтировать так:

% mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/ username

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

umass0: at uhub0 port 1 (addr 2) disconnected

(da0:umass-sim0:0:0:0): lost device

(da0:umass-sim0:0:0:0): removing device entry

GEOM: destroy disk da0 dp=0xc2d74850

umass0: detached

Дополнительная информация

Помимо разделов Добавление дисков и Монтирование и размонтирование файловых систем, также может быть полезно чтение различных страниц справочника: umass(4), camcontrol(8), и usbconfig(8) для FreeBSD 8.X или usbdevs(8) для более ранних версий FreeBSD.


Дата добавления: 2018-10-26; просмотров: 262; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!