gmirror на отдельных слайсах

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
dm07
сержант
Сообщения: 222
Зарегистрирован: 2008-07-27 19:58:25
Откуда: Уфа
Контактная информация:

gmirror на отдельных слайсах

Непрочитанное сообщение dm07 » 2010-04-09 0:48:29

Привет всем! Хотел бы поделиться рецептом приготовления для gmirror'инга отдельных слайсов (а не всего диска). Хотел бы узнать о возможных подводных камнях в этом способе...
Итак, есть два диска ad0 и ad1. Предполагается, что они пустые. Я хочу создать на каждом из них по два слайса, один слайс будет загрузочным и для swap, а второй слайс - для пула zfs, на котором можно хранить /var и /usr к примеру. Загрузочные слайсы хочу поместить в gmirror. ОС FreeBSD 7.3, использую DVD образ для своей архитектуры.

1. Загружаюсь с загрузочного DVD в режим FixIT.
Очищаю ad0 и ad1:

Код: Выделить всё

dd if=/dev/zero of=/dev/ad1 bs=1m count=1
dd if=/dev/zero of=/dev/ad0 bs=1m count=1
2. Создаю слайс и партицию на ad0. Будет иметь пока один слайс: с него будет загрузка.

Код: Выделить всё

# fdisk -v -B -I /dev/ad0
# fdisk -i -v -f /tmp/conf /dev/ad0 
# cat /tmp/conf
p 1 165 63 размер_слайса
a 1
# bsdlabel -B -w /dev/ad0s1
Размечаем первый слайс как хотим:

Код: Выделить всё

# bsdlabel -e ad0s1
  a: 10485760       16    4.2BSD        0     0     0
  b:  2097025 10485776      swap
  c: 12582801        0    unused        0     0 
3. Устанавливаем ОС на ad0s1. Загружаемся в нее.

4. Создаю слайсы на ad1. Первый слайс - для загрузки и swap, второй слайс - для пула zfs.

Код: Выделить всё

# fdisk -v -B -I /dev/ad1
# fdisk -i -v -f /tmp/conf /dev/ad1
# cat /tmp/conf:
p 1 165 63 размер_первого_слайса
a 1
p 2 165 * *
5. Создаем "зеркало" пока из одного диска:

Код: Выделить всё

gmirror label -v -n -b round-robin gm0 /dev/ad1s1
gmirror load
6. Размечаем первую партицию на зеркале:

Код: Выделить всё

# bsdlabel -B -w /dev/mirror/gm0
# bsdlabel -e /dev/mirror/gm0
# newfs -U /dev/mirror/gm0a
7. Монтируем:

Код: Выделить всё

# mount /dev/mirror/gm0a /mnt
8. Перекидываем данные на зеркало:

Код: Выделить всё

# dump -L -0 -f- / | ( cd /mnt/ && restore -r -v -f- ) ;
9. Подготовления для загрузки с зеркала:

Код: Выделить всё

# cp -p /mnt/etc/fstab /mnt/etc/fstab.orig

# ee /mnt/etc/fstab
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/mirror/gm0b                none            swap    sw              0
/dev/mirror/gm0a                /               ufs     rw              1
/dev/acd0               /cdrom          cd9660  ro,noauto       0       0

# echo 'geom_mirror_load="YES"' >>/mnt/boot/loader.conf
10. Загружаемся с зеркала. Теперь поменялись буквы дисков: зеркало на ad0, тот диск, который был раньше ad0, сейчас ad1.

11. Первый диск мне не нужен, т.к. все нужные данные скопированы.

Код: Выделить всё

# dd if=/dev/zero of=/dev/ad1 bs=1m count=1
12. Создаем слайс:

Код: Выделить всё

fdisk -v -B -I /dev/ad1
13. Создаем 2 слайса на ad1:

Код: Выделить всё

# fdisk -i -v -f /tmp/conf /dev/ad0

# cat /tmp/conf:
p 1 165 63 размер_слайса_равен_размеру_ad0s1
a 1
p 2 165 * *
14. Самое главное:

Код: Выделить всё

# gmirror configure -a gm0
# gmirror insert -p 1 gm0 /dev/ad0s1
15. Имеем:

Код: Выделить всё

# gmirror status

      Name    Status  Components
mirror/gm0  COMPLETE  ad0s1
                      ad1s1
16. На вторых слайсах создаю пул zfs и делаю zfs зеркало:

Код: Выделить всё

# zpool status
...
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad0s2   ONLINE       0     0     0
            ad1s2   ONLINE       0     0     0
Все :smile: .

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35480
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: gmirror на отдельных слайсах

Непрочитанное сообщение Alex Keda » 2010-10-03 17:36:53

прикольно
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: gmirror на отдельных слайсах

Непрочитанное сообщение Dog » 2010-10-03 19:57:51

Иногда gmirror только на отдельных разделах использовать и можно. Например, если диск размечался с помощью gpart, без fdisk. Тогда при попытке замиррорить диски полностью команда gmirror label сообщит что все в порядке, зеркало создано, но после ребута его не будет - как я читал в архиве рассылок, это из-за того что gpart и gmirror пытаются писать данные в один и тот же сектор (последний на диске, по-моему).
На домашнем компе уже несколько месяцев лежит написанная процентов на 70 статья об установке FreeBSD с помощью fixit mode, разбивкой gpart и зеркалированием gmirror. При попытке оформить все это в более-менее читаемом виде все стопорится... :(
Oh my God, they killed init! Bastards!

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: gmirror на отдельных слайсах

Непрочитанное сообщение vadim64 » 2010-10-04 7:05:42

Пиши статью :good:
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: gmirror на отдельных слайсах

Непрочитанное сообщение Dog » 2010-10-04 10:48:12

vadim64 писал(а):Пиши статью :good:
Да я ж с удовольствием! Только пните меня кто-нибудь волшебным пинком под жопу, а?..
А еще отличным вариантом было бы сделать какой-нибудь элементарный шаблончик для написания статей, что-нибудь вроде "такие-то куски таким цветом, такие-то таким шрифтом и т.д." и в качестве примера - какую-нибудь маленькую сферическую статейку в вакууме. Потому что текст вида "1. делаем то-то, 2. делаем то-то, 3. делаем так-то, потому что то-то и то-то, З.Ы. можно вот еще так-то, но это будет хуже, потому что вот тут то-то" у меня готов, могу хоть сейчас в массы выдать, а вот сделать из этого полноценную статью... Чукча не писатель, чукча читатель :)
Oh my God, they killed init! Bastards!

Аватара пользователя
Daywalker
ст. сержант
Сообщения: 326
Зарегистрирован: 2007-03-11 22:28:45
Откуда: г. Котельники, МО
Контактная информация:

Re: gmirror на отдельных слайсах

Непрочитанное сообщение Daywalker » 2012-03-11 11:34:22

Dog писал(а):Иногда gmirror только на отдельных разделах использовать и можно. Например, если диск размечался с помощью gpart, без fdisk. Тогда при попытке замиррорить диски полностью команда gmirror label сообщит что все в порядке, зеркало создано, но после ребута его не будет - как я читал в архиве рассылок, это из-за того что gpart и gmirror пытаются писать данные в один и тот же сектор (последний на диске, по-моему).
На домашнем компе уже несколько месяцев лежит написанная процентов на 70 статья об установке FreeBSD с помощью fixit mode, разбивкой gpart и зеркалированием gmirror. При попытке оформить все это в более-менее читаемом виде все стопорится... :(
Да с удовольствием бы прочитал.
http://blog.volobuev.su - Блог о системном и сетевом администрировании.