Предположим, что выдался очень плохой день, потому что в логах на Mac’е появилось сообщение о выходе из строя одного из дисков RAID:
22.11.10 13:13:13 kernel AppleRAID::recover() member 46351C9C-8F55-474F-8FA9-0E72FEB27F10 from set "Flash RAID Set" (23E9F3B6-A492-4318-A058-7437C63BFF1D) has been marked offline. 22.11.10 13:13:13 kernel AppleRAID::restartSet - restarting set "Flash RAID Set" (23E9F3B6-A492-4318-A058-7437C63BFF1D).
Грустно, но ведь бекапы у вас, конечно же, есть. Если нет, а
Рекомендую перечитать мои статьи “О пользе offsite-бекапов” и “Клонирование диска как часть стратегии резервного копирования (SuperDuper!)“.
Ещё соображение. Никогда не ставьте RAID0, если не осознаёте, что делаете. Это вполне допустимо для очень быстрого промежуточного хранилища, но сохранять важные данные категорически недопустимо. Лучше RAID5 – можно пережить выход из строя одного диска. Но скорость записи не очень. Если нужна большая скорость и большая надёжность, то идеален RAID10 (зеркалирование + страйпинг), но нужно в два раза больше дисков. А если дисков мало, и нужна надёжность, то – RAID1 (зеркалирование).
Вопрос в том, как определить, какой именно диск вышел из строя для его замены (вопрос восстановления RAID после сбоя я не рассматриваю, программные RAID я не восстанваливал, но хочу провести такие эксперименты).
В логе говорится, что “member 46351C9C-8F55-474F-8FA9-0E72FEB27F10 … has been marked offline”. Этот идентификатор является
Я хочу показать где можно найти данные по диску. Не факт, что при вышедшем из строя диске хоть что-то удастся посмотреть, но попытаться стоит. А лучше сохранить нужную информацию заранее, сразу же после создания RAID.
Для теста я создал RAID1 из двух USB-флеш.
Начинаем поиск с mount и diskutil. В mount увидим, какое устройство смонтировано как RAID Set.
$ mount /dev/disk4 on /Volumes/Flash RAID Set (hfs, local, nodev, nosuid, journaled, noowners)
А в diskutil выясним, какие разделы задействованы:
$ diskutil list /dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *2.1 GB disk2 1: Apple_RAID 2.0 GB disk2s1 2: Apple_Boot Boot OSX 134.2 MB disk2s2 /dev/disk3 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme NO NAME *2.1 GB disk3 1: Apple_RAID 1.9 GB disk3s1 2: Apple_Boot Boot OSX 134.2 MB disk3s2 /dev/disk4 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Flash RAID Set *1.9 GB disk4
Смотрим информацию по RAID Set (disk4):
$ diskutil info /dev/disk4 Device Identifier: disk4 Device Node: /dev/disk4 Part Of Whole: disk4 Device / Media Name: Flash RAID Set Mount Point: /Volumes/Flash RAID Set Escaped with Unicode: /Volumes/Flash%FF%FE%20%00RAID%FF%FE%20%00Set File System: Journaled HFS+ Type: hfs Name: Mac OS Extended (Journaled) Partition Type: Apple_HFS Media Type: Generic Volume UUID: ECCE6D2D-F7A5-353D-81E7-5A896449A1E8 This disk is a RAID Set. RAID Set Information: Set Name: Flash RAID Set RAID Set UUID: 23E9F3B6-A492-4318-A058-7437C63BFF1D Level Type: Mirror Status: Online Chunk Count: 58878
Поле “RAID Set UUID” – это тот UUID, который виден в сообщении “restarting set ‘Flash RAID Set’ (23E9F3B6-A492-4318-A058-7437C63BFF1D)”.
Смотрим информацию по разделам, из которых состоит RAID Set (в нашем случае – RAID Slice’ы, так как используется RAID1):
$ diskutil info /dev/disk2s1 Device Identifier: disk2s1 Device Node: /dev/disk2s1 Part Of Whole: disk2 Device / Media Name: Raid Partition 3 Partition Type: Apple_RAID This disk is a RAID Slice. RAID Slice Information: Parent Set Name: Flash RAID Set Parent RAID Set UUID: 23E9F3B6-A492-4318-A058-7437C63BFF1D RAID Slice UUID: 46351C9C-8F55-474F-8FA9-0E72FEB27F10 Level Type: Mirror Status: Online Slice: 1/2 Sequence: 1 Chunk Count: 58878 $ diskutil info /dev/disk3s1 Device Identifier: disk3s1 Device Node: /dev/disk3s1 Part Of Whole: disk3 Device / Media Name: Raid Partition 4 Partition Type: Apple_RAID This disk is a RAID Slice. RAID Slice Information: Parent Set Name: Flash RAID Set Parent RAID Set UUID: 23E9F3B6-A492-4318-A058-7437C63BFF1D RAID Slice UUID: C6283D59-7DC9-420D-8139-695204CBEA51 Level Type: Mirror Status: Online Slice: 2/2 Sequence: 1 Chunk Count: 58878
Здесь можно чётко отнести RAID Slice к конкретному RAID Set (на случай, если Set’ов много) и получить UUID Slice’а. “Member 46351C9C-8F55-474F-8FA9-0E72FEB27F10″ относится к /dev/disk2, именно его я отключил в горячем режиме.
Диски определены, можно их менять. Как идентифицировать конкретный физический диск – ещё отдельный вопрос. Один из вариантов – открыть Profiler и там посмотреть модель и/или серийный номер, а дальше идентифицировать физически.