The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Создание RAID Level 1 для корневого раздела в Solaris (solaris raid disk)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: solaris, raid, disk,  (найти похожие документы)
From: Eugeny Nemo <n at mo.pp.ru> Newsgroups: http://mo.pp.ru/ Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC) Subject: Создание RAID Level 1 для корневого раздела в Solaris Оригинал: http://mo.pp.ru/texts/raid1_on_root_solaris8_sparc.html Создание RAID Level 1 для / (root). В примере root-раздел находится на c0t0d0s0, зеркало для него - идентичный по размеру slice, находящийся на c0t1d0s0, и для хранения State Database созданы два выделенных раздела размером около 16 мбайт c0t0d0s7 и c0t1d0s7. В документации рекомендуется для увеличения производительности хранить State Database на физических дисках, отличных от тех, на которых находятся разделы, объединяемые в RAID, но здесь рассмотрен простейший случай с двумя физическими дисками в системе. Создание State Database Перед созданием любых RAID-массивов в системе Solaris необходимо иметь State Database (далее - SD), в которой хранится конфигурация и состояние всех RAID в системе. Для корректной работы Solstice DiskSuite необходимо иметь как минимум две копии SD на каждый дисковый массив. Для хранения SD в случае создания RAID для root-раздела используются отдельные небольшие разделы, в каждом из которых может храниться несколько копий SD (копии называются State Replica). Одна State Replica занимает около 4 Мбайт. Пример: создание SD на двух выделенных для этого разделах (по три State Replica на каждом): #metadb -f -c 3 -a c0t0d0s7 #metadb -c 3 -a c0t1d0s7 #metadb flags first blk block count ... a u 16 1034 /dev/dsk/c0t0d0s7 a u 1050 1034 /dev/dsk/c0t0d0s7 a u 2084 1034 /dev/dsk/c0t0d0s7 a u 16 1034 /dev/dsk/c0t1d0s7 a u 1050 1034 /dev/dsk/c0t1d0s7 a u 2084 1034 /dev/dsk/c0t1d0s7 Создание RAID Создаём два метаустройства d11 и d12, один из них будет содержать уже существующий root-раздел, второй - ещё неинициализированный раздел, обьединяемый в RAID. #metainit -f d11 1 1 c0t0d0s0 d11: Concat/Stripe is setup #metainit d12 1 1 c0t1d0s0 d12: Concat/Stripe is setup Создаём зеркало d10 (Mirror, он же RAID1), который пока будет содержать только одно метаустройсто d11, т.е. реально зеркало пока существовать не будет. #metainit d10 -m d11 d10: Mirror is setup Для того, чтобы система была перестроена на правильную загрузку с метаустройства, необходимо использовать metaroot, которая надлежащим образом поправит конфигурационные файлы /etc/vfstab и /etc/system: #metaroot d10 Далее в документации для обеспечения целостности данных рекомендовано использование lockfs, механизм действия и причины применения которого не описан (в Solaris 9 при аналогичных действиях он не требуется): #lockfs -fa Перегружаем систему, чтобы получить уже работающий RAID Level 1, но пока без фактического зеркалирования. #init 6 После загрузки системы подключаем к зеркалу второе метаустройство: #metattach d10 d12 d10: Submirror d12 is attached Автоматически запустится процесс зеркалирования, за ходом которого можно следить с помощью metastat. Необходимо дождаться его завершения, после чего система готова к работе. Подготовка системы к загрузке с резервного устройства С целью уменьшить количество перезагрузок системы и времени выполнения работ, этот этап можно сделать до создания массива. Для загрузки с резервного устройства (в нашем случае, c0t1d0) необходимо знать полный путь к нему. Выясняем: #ls -l /dev/rdsk/c0t1d0s0 lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c0t1d0s0 -> ../../devices/sbus@0,f8000000/esp@1,200000/sd@1,0:a,raw подчёркнутая часть - и есть то, что нам необходимо. При ближайшей же возможности попасть в OpenBoot (например, при перезагрузке на этапе создания массива), создаём имя для этого устройства, и настраиваем автоматическую загрузку с него в случае отказа основного: ok nvalias second_root /sbus@0,f8000000/esp@1,200000/sd@1,0:a ok printenv boot-device boot-device = disk net ok setenv boot-device disk second_root net boot-device = disk second_root net ok nvstore Теперь в случае отказа устройства c0t0d0 система начнёт загружаться с c0t1d0. Можно проверить загрузку системы с резервного устройства (только после того, как массив будет создан полностью (!), уже после выполнения metattach и полного завершения зеркалирования): ok boot second_root Если всё сделано правильно, система загрузится со резевного устройства точно также, как и с основного. Следующая перезагрузка будет произведена с основного. 1.0.1 18.11.2003 1.0.1

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
 
  • 1, Санек, 14:49, 17/03/2008 [ответить] [смотреть все]
  • +/
    Почему нету русского мана по OpenBoot
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor