The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Пляски с gmirror"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Пляски с gmirror"  
Сообщение от AdVv (??) on 28-Апр-09, 16:21 
Возникла потребность установить систему (FreeBSD 7.1) на программный RAID-зеркало. Обложившись документацией начал изучать предмет, попутно экспериментируя, чтоб не отрывать теорию от практики. Несколько раз на новом сервере создавал gmirror раздел и ставил на него систему, пробовал убирать и добавлять диски, вешать их на разные контроллеры, ставить glabel метки и добавлять в зеркало. После чего вылезли довольно интересные грабли. После очередной установки системы с полной переразметкой винтов и созданием зеркала с нуля все чудесно работает до 1 перезагрузки. После нее - зеркало потеряло 2 диск, gmirror status DEGRADED. Удалил зеркало, перегрузился. Оно опять на месте. Причем вместо имени устройства в списке - его метка, которую я ставил экспериментируя в процессе предыдущих установок. Как я понял, разбивка диска при переустановке системы не удаляет с него метаданные, которые оставляет geom, и теперь у меня всплывают результаты моих прошлых попыток. В документации по geom вскользь упоминается что метаданные хранятся в последнем блоке слайса, но вот как посмотреть что там сохранено и как удалить ненужные записи неясно.
Еще непонятно как в процессе установки заставить инсталлятор сделать полное форматирование диска с очисткой всей информации на нем, а не только перезаписать таблицу разделов.

З.Ы. Ну и последнее -  SATA винты установлены совершенно одинаковые, одного производителя, одной партии и одного объема. Поставил зеркало, дождался синхронизации, перегрузился для пробы со 2 диска - грузится, но опять gmirror status DEGRADED. Делаю gmirror forget, пытаюсь добавить обратно диск 1, на который изначально ставил систему - не дает с диагностикой Provider too small. Это уж блин ни в какие ворота не лезет.

Получилось немного сумбурно, но очень бы хотелось услышать мнение опытных коллег.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Пляски с gmirror"  
Сообщение от Leo (??) on 28-Апр-09, 17:56 
Лучше задавать конкретные вопросы.

С зеркалом - всё хорошо, всё работает.
Важно - что писать в провайдере
/dev/ad0
/dev/ufs/label
/dev/label/xxx
- всё разные провайдеры

glabel для зеркала пользовать не нужно - зеркало и так соберётся по метаданным, даже если названия дисков переедут.

clear - чистит метаданные

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Пляски с gmirror"  
Сообщение от AdVv (??) on 28-Апр-09, 23:54 
>[оверквотинг удален]
>Важно - что писать в провайдере
>/dev/ad0
>/dev/ufs/label
>/dev/label/xxx
>- всё разные провайдеры
>
>glabel для зеркала пользовать не нужно - зеркало и так соберётся по
>метаданным, даже если названия дисков переедут.
>
>clear - чистит метаданные

С провайдерами все понятно. А вот зеркало у меня рассыпается хоть ты тресни.
Ситуация примерно такая:
Подключаю CDROM, ставлю систему. Винты определяются как ad4 и ad5.
Создаю зеркало gmirror label -v -b round-robin gm0 /dev/ad4, правлю loader.conf и fstab
Перегружаюсь - все нормально. gmirror insert gm0 /dev/ad5. Дожидаюсь gmirror status COMPLETE.
Перегружаюсь с отключенным CD - названия устройств съезжают. Винты становятся ad0 и ad1 соответственно. gmirror status DEGRADED, gmirror list показывает в составе gm0 только ad0.
Причем на пробу в VMWare перекидывал диски как угодно, зеркало прекрасно цепляло все не глядя на названия устройств.

Конкретный вопрос - как под FreeBSD очистить весь винчестер целиком и последний сектор слайса в часности ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Пляски с gmirror"  
Сообщение от yalur (ok) on 29-Апр-09, 09:49 
Тоже иногда после перезагрузки один винт отваливался, так как стоит автосинк и не часто перезапускаю, то причину не искал.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Пляски с gmirror"  
Сообщение от rootaxe (ok) on 30-Апр-09, 02:28 
>Конкретный вопрос - как под FreeBSD очистить весь винчестер целиком и последний
>сектор слайса в часности ?

Писали:
>clear - чистит метаданные

gmirror clear ad0

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Пляски с gmirror"  
Сообщение от AdVv (??) on 01-Май-09, 01:07 
>>Конкретный вопрос - как под FreeBSD очистить весь винчестер целиком и последний
>>сектор слайса в часности ?
>
>Писали:
>>clear - чистит метаданные
>
>gmirror clear ad0

Уфф. Думал у меня будет взрыв мозга. Отпишусь, вдруг кому пригодится.
Как выяснилось причиной оказался BIOS, который отдавал различные данные о геометрии одного
и того-же винта в зависимости от точки его подключения. На материнской плате 4 разъема SATA и 1 IDE. При подключении/отключении CDROM, с которого я ставил систему помимо смены порядка ATA контроллеров у некоторых винтов магическим образом то исчезал то появлялся лишний цилиндр. В результате я обратил внимание на странность в dmesg:
ad0: 114472MB <SAMSUNG HD120IJ WZ100-33> at ata0-master SATA150
ad3: 114473MB <SAMSUNG HD120IJ WZ100-33> at ata1-slave SATA150
         ^^^
Сначала решил что один из дисков попался меньше другого, но после очередной перезагрузки обнаружил такой:
ad2: 114473MB <SAMSUNG HD120IJ WZ100-33> at ata1-master SATA150
ad3: 114473MB <SAMSUNG HD120IJ WZ100-33> at ata1-slave SATA150

а потом и такой вариант:
ad0: 114472MB <SAMSUNG HD120IJ WZ100-33> at ata0-master SATA150
ad1: 114472MB <SAMSUNG HD120IJ WZ100-33> at ata0-slave SATA150

От этого у gmirror башню сносило нафиг. Метки то появляются то опять исчезают. Зеркало постоянно разваливается, периодически система может не загрузиться вообще.
Так что будьте бдительны.

З.Ы. Заодно выяснил как под FreeBSD полностью затереть винчестер нулями, раньше как-то небыло необходимости, но в связи с последними событиями:

dd if=/dev/zero of=/dev/ad0 bs=1m

Метка действительно нормально стирается командой gmirror clear /dev/ad0, а посмотреть ее можно командой gmirror dump /dev/ad0. Вот только как выяснилось если у диска вдруг  изменился объем это не работает. Спасибо всем за участие.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру