====== Работа с программным raid во FreeBSD ======
===== Замена сбойного диска =====
Если один из дисков массива сбойный, то выключаем и меняем диск в сервере. Сбойный в данном случае **ada1**. Смотрим, есть ли разметка на диске:
gpart show ada1
>[root@k ~]# gpart show ada1
>=> 63 1000215153 ada1 MBR (477G)
> 63 1985 - free - (993K)
> 2048 522473472 1 ntfs [active] (249G)
> 522475520 6475 - free - (3.2M)
> 522481995 477724905 2 ntfs (228G)
> 1000206900 8316 - free - (4.1M)
Уничтожаем разметку на диске. **Внимание**! операция необратима, проверить дважды, что уничтожаем на нужном диске разметку!!!
gpart destroy -F ada1
>ada1 destroyed
Создаем разметку на диске
/sbin/gpart backup ada0 | /sbin/gpart restore -F ada1
Делаем диск загрузочным
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
> # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada1
> partcode written to ada1p1
> bootcode written to ada1
Ищем новые устройства в /dev/gpt/:
true > /dev/ada1
ls -l /dev/gpt/
> # ls -l /dev/gpt/
> total 0
> crw-r----- 1 root operator 0xdb 3 апр. 12:56 boot1
> crw-r----- 1 root operator 0x9d 3 апр. 12:52 root0
> crw-r----- 1 root operator 0xdd 3 апр. 12:56 swap1
Добавляем разделы в массив:
gmirror forget boot
gmirror insert -h boot /dev/gpt/boot1
gmirror forget swap
gmirror insert -h swap /dev/gpt/swap1
gmirror forget root
> # gmirror forget boot
> # gmirror insert -h boot /dev/gpt/boot1
> # gmirror forget swap
> # gmirror insert -h swap /dev/gpt/swap1
> # gmirror forget root
Смотрим состояние массива теперь:
gmirror status
> # gmirror status
> Name Status Components
> mirror/boot COMPLETE ada0p1 (ACTIVE)
> gpt/boot1 (ACTIVE)
> mirror/swap COMPLETE ada0p2 (ACTIVE)
> gpt/swap1 (ACTIVE)
> mirror/root DEGRADED gpt/root0 (ACTIVE)
> gpt/root1 (SYNCHRONIZING, 0%)