GPT + gmirror
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
GPT + gmirror
Пытаюсь сделать зеркало на свежеустановленной FreeBSD.
grart show показывает свободные 512b в самом конце диска.
Делаю gmirror label gm0 ada0 - ошибок нет, но и gm0 не появляется.
gmirror list и gmirror status тоже не показывают созданный массив.
В чем может быть проблема?
grart show показывает свободные 512b в самом конце диска.
Делаю gmirror label gm0 ada0 - ошибок нет, но и gm0 не появляется.
gmirror list и gmirror status тоже не показывают созданный массив.
В чем может быть проблема?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- проходил мимо
GPT + gmirror
брр, это как это?icb писал(а):Пытаюсь сделать зеркало на свежеустановленной FreeBSD.
gmirror сырого диска выполняется из shell или livecd/usb режима при загрузкеgrart show показывает свободные 512b в самом конце диска.
Делаю gmirror label gm0 ada0 - ошибок нет, но и gm0 не появляется.
gmirror list и gmirror status тоже не показывают созданный массив.
В чем может быть проблема?
с установочного cd/usb
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
GPT + gmirror
Установил систему на диск, теперь хочу добавить второй диск и сделать зеркало.
Насколько я понимаю - это один из вариантов. Даже когда GPT не оставляла зазор, gmirror работал затирая резервную копию (есть куча статей с таким режимом работы).
Но теперь похоже это предусмотрели и оставляют 512b - значит по идее можно без проблем делать на существующем диске (выставляя sysctl kern.geom.debugflags=16).
- Alex Keda
- стреляли...
- Сообщения: 35427
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
GPT + gmirror
Ну, вы вот попробовали.
Не получилось.
Значит низя.
А вообще, перезагрузите или попросите контроллер пересканировать ATA, не факт что изменения на живом диске без телодвижений увидятся
Не получилось.
Значит низя.
А вообще, перезагрузите или попросите контроллер пересканировать ATA, не факт что изменения на живом диске без телодвижений увидятся
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
GPT + gmirror
ну так делайте по куче статей...icb писал(а):Установил систему на диск, теперь хочу добавить второй диск и сделать зеркало.
Насколько я понимаю - это один из вариантов. Даже когда GPT не оставляла зазор, gmirror работал затирая резервную копию (есть куча статей с таким режимом работы).
Но теперь похоже это предусмотрели и оставляют 512b - значит по идее можно без проблем делать на существующем диске (выставляя sysctl kern.geom.debugflags=16).
У Вас в заголовке: GPT + gmirror
вариант 1 (рекомендуемый): зеркалирование отдельных партиций
вариант 2: зеркалирование сырого диска (жертвуя копией таблицы GPT)
вариант по Handbook: зеркалирование сырого диска, но с MBR.
Если вернуться к вариант 2/GPT, то была изменена проверка geom при загрузке,
для некоторых классов, например, geom_mirror, отменена проверка альтернативной копии gpt.
Но Вы не можете установить систему на диск и потом создать geom_mirror, затрете метаданные,
поэтому, сначала создаете зеркало из двух дисков и затем его размечаете как GPT.
Вот как это делается (использовался virtualbox):
- загрузились, вышли в shell или live (live удобней)
Код: Выделить всё
# camcontrol devlist
<VBOX HARDDISK 1.0> at scbus0 target 0 lun 0 (ada0,pass0)
<VBOX HARDDISK 1.0> at scbus0 target 1 lun 0 (ada1,pass1)
<VBOX CD-ROM 1.0> at scbus1 target 0 lun 0 (pass2,cd0)
# gmirror load
# kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 179ddb0 kernel
2 1 0xffffffff81a11000 f973 geom_mirror.ko
# gpart show
# gmirror label gm0 ada0 ada1
# ls -la /dev/mirror
total 2
dr-xr-xr-x 2 root wheel 512 Apr 18 18:15 .
dr-xr-xr-x 11 root wheel 512 Apr 18 18:13 ..
crw-r----- 1 root operator 0x4e Apr 18 18:15 gm0
# gpart create -s gpt mirror/gm0
mirror/gm0 created
# gpart show mirror/gm0
=> 34 8388540 mirror/gm0 GPT (4.0G)
34 8388540 - free - (4.0G)
# gpart add -t freebsd-swap -s 512k -l swap mirror/gm0
mirror/gm0p1 added
# gpart show
=> 34 8388540 mirror/gm0 GPT (4.0G)
34 256 1 freebsd-boot (128K)
290 1024 2 freebsd-swap (512K)
1314 8387260 - free - (4.0G)
# gpart add -t freebsd-ufs mirror/gm0
mirror/gm0p3 added
# gpart show
=> 34 8388540 mirror/gm0 GPT (4.0G)
34 256 1 freebsd-boot (128K)
290 1024 2 freebsd-swap (512K)
1314 8387260 3 freebsd-ufs (4.0G)
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 mirror/gm0
bootcode written to mirror/gm0
# ls /dev/mirror
/dev/mirror/gm0p1 /dev/mirror/gm0p2 /dev/mirror/gm0p3
# newfs -L root /dev/mirror/gm0p3
/dev/mirror/gm0p3: 4095.3MB (8387256 sectors) block size 32768, fragment size 4096
using 7 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
super-block backups (for fsck_ffs -b #) at:
192, 1282432, 2564672, 3846912, 5129152, 6411392, 7693632
# mount
/dev/iso9660/10_2_RELEASE_AMD64_CD on / (cd9660, local, read-only)
devfs on /dev (devfs, local, multilabel)
/dev/md0 on /var (ufs, local)
/dev/md1 on /tmp (ufs, local)
# mount /dev/ufs/root /mnt
# cd /usr/freebsd-dist/
# ls -la
total 677052
drwxr-xr-x 2 root wheel 2048 Aug 12 2015 .
drwxr-xr-x 15 root wheel 2048 Aug 12 2015 ..
-rw-r--r-- 1 root wheel 782 Aug 12 2015 MANIFEST
-rw-r--r-- 1 root wheel 67410700 Aug 12 2015 base.txz
-rw-r--r-- 1 root wheel 1432104 Aug 12 2015 doc.txz
-rw-r--r-- 1 root wheel 886316 Aug 12 2015 games.txz
-rw-r--r-- 1 root wheel 95799284 Aug 12 2015 kernel.txz
-rw-r--r-- 1 root wheel 17165256 Aug 12 2015 lib32.txz
-rw-r--r-- 1 root wheel 39402500 Aug 12 2015 ports.txz
-rw-r--r-- 1 root wheel 124551336 Aug 12 2015 src.txz
# for i in base.txz kernel.txz lib32.txz; do tar --unlink -xvpJf $i -C /mnt; done
# ls -la /mnt
# cat > /mnt/boot/loader.conf
geom_mirror_load="YES"
vfs.root.mountfrom="ufs:/dev/ufs/rootfs"
CTRL-D
# cat > /mnt/etc/rc.conf
fsck_y_enable="YES"
background_fsck="YES"
ifconfig_em0="dhcp"
hostname="mirror.local"
firewall_enable="YES"
firewall_type="OPEN"
sshd_enable="YES"
sendmail_enable="NONE"
CTRL-D
# cat > /mnt/etc/fstab
/dev/gpt/swap none swap sw 0 0
/dev/ufs/root / ufs rw 1 1
CTRL-D
# reboot
и в livecd поднять руками сеть:
# ifconfig ...
# route add ...
# scp
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
GPT + gmirror
Так не очень удобно в реальности, но тоже пробовал.
Перед установкой зашел в shell и сделал gm0
В установщике выбрал ручное разбиение - на gm0 сделал GPT и создал разделы. Система развернулась. Захожу в shell (хочу включить gmirror в автозапуск), но в mnt пусто. При этом df выдает что в mnt подключен /dev/mirror/gm0p3 и занято там 926M

Отправлено спустя 16 минут 54 секунды:
Да и при таком раскладе при загрузке все равно пишет "gptboot: backup GPT header checksum mismatch"
Т.е. GPT все равно бьется

-
- проходил мимо
GPT + gmirror
Так не пользуйте установщик, Вам расписано КАК УСТАНОВИТЬ.icb писал(а):Так не очень удобно в реальности, но тоже пробовал.
Перед установкой зашел в shell и сделал gm0
В установщике выбрал ручное разбиение - на gm0 сделал GPT и создал разделы. Система развернулась. Захожу в shell (хочу включить gmirror в автозапуск), но в mnt пусто. При этом df выдает что в mnt подключен /dev/mirror/gm0p3 и занято там 926M![]()
И снова про это было расписано, это учтено в gptboot, в чем проблемы?Отправлено спустя 16 минут 54 секунды:
Да и при таком раскладе при загрузке все равно пишет "gptboot: backup GPT header checksum mismatch"
Т.е. GPT все равно бьется
Вы либо используете gmirror для целых дисков и жертвуете копией GPT, либо отказываетесь
и используете варианты:
- mbr + gmirror
- zfs mirror
gmirror или graid(raid1) - используется в продакшн с условием потери альтернативной копии gpt,
ничего тут страшного нет, зеркало через graid работает быстрей чем gmirror.
Как говорят, Вы уж выбирайте, "шашечки или ехать"
- Amadeus
- ст. сержант
- Сообщения: 332
- Зарегистрирован: 2008-10-05 12:42:44
- Откуда: Kiev
GPT + gmirror
http://bu7cher.blogspot.com/2011/03/fre ... t-ufs.html
Вот линк, который целиком отвечает на вопрос "как".
Он + немного понимания того, что мы делаем вообще.
Вот линк, который целиком отвечает на вопрос "как".
Он + немного понимания того, что мы делаем вообще.
Нет ничего невозможного
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
GPT + gmirror
Ну как не пользуйся - он же специально для установки сделан. Можно конечно ручками, но есть ведь инструмент готовый.
Оказалось что установщик при последнем выходе в shell хоть и показывает (через df и mount) точки монтирования, но реально пользователь находится в / свежеуствновленного диска (может chroot делает).
До этого момента я думал это просто синонимы.

За счет чего? Ведь то и то программная реалиазация.
В том то и дело, что надо ехать.
Появилась задача - сделать зеркало из существующего диска, и ее хотелось решить.
И по идее проблем то возникать не должно, а везде натыкаешься на детские болезни. Ощущение что на geom забили и особо не поддерживают.
Читал, и там написано что "в 10-ке поведение gptboot и GEOM_PART_GPT уже синхронизировано".
Вот и подумал, что все должно работать без ошибок и без затирания метаданных.
-
- проходил мимо
GPT + gmirror
странные у Вас рассуждения, GEOM Framework - развивался и развивается, метаданные как писалисьicb писал(а):Ну как не пользуйся - он же специально для установки сделан. Можно конечно ручками, но есть ведь инструмент готовый.
Оказалось что установщик при последнем выходе в shell хоть и показывает (через df и mount) точки монтирования, но реально пользователь находится в / свежеуствновленного диска (может chroot делает).
До этого момента я думал это просто синонимы.
За счет чего? Ведь то и то программная реалиазация.
В том то и дело, что надо ехать.
Появилась задача - сделать зеркало из существующего диска, и ее хотелось решить.
И по идее проблем то возникать не должно, а везде натыкаешься на детские болезни. Ощущение что на geom забили и особо не поддерживают.
Читал, и там написано что "в 10-ке поведение gptboot и GEOM_PART_GPT уже синхронизировано".
Вот и подумал, что все должно работать без ошибок и без затирания метаданных.
в последний сектор провайдера, так и пишутся, из-за чего вся эта засада с GPT, переписывать
море классов в GEOM никто не захотел ради смены сектора для метаданных.
graid - софтверный рейд, реализация его была позже gmirror и алгоритм там иной, за счет
этого быстрей, ньюансы уже не помню.
Инсталлятор на все случаи жизни не заточишь, многие давно им не пользуются, а разворачивают
систему руками на нужную конфигурацию, благо удобней, быстрей и со всеми нужными шашечками.
Вывод: если Вам ехать - езжайте, если Вам инсталлятор, красуйтесь шашечками.