Здравтсвуйте. Решил поставить FreeBSD на raid1 из двух дисков (по 160 Gb). Средствами Gmirror.
Вот накопал два варианта установки:
1 вариант. Зеркалится ВЕСЬ ДИСК СРАЗУ как одно зеркало, а внутри него уже создаются разделы для операционки и ставится система.
Вот ссылки: http://www.lissyara.su/articles/freebsd/tuning/software_raid1/
или http://break-people.ru/cmsmade/index.php?page=unix_freebsd_u...
2 вариант. Сперва создаются разделы и устанавливается система на один диск, а потом зеркалится КАЖДЫЙ ИЗ РАЗДЕЛОВ как отдельное зеркало на второй диск.
Вот ссылка:
http://how-it.ru/public/root/404-freebsd__geom_programmnyi_r...Какой из методов посоветуете?
Первый как бы проще, и, видимо, с загрузчиком не надо заморачиваться дополнительно, второй вроде как гибче и понадежне, наверное, - зеркала независимы друг от друга.
> Какой из методов посоветуете?Зеркалируйте slice или partitions, но не диск целиком.
Если выйдет из строя один диск, достаточно будет найти диск чуть большего
размера.
>[оверквотинг удален]
> Вот накопал два варианта установки:
> 1 вариант. Зеркалится ВЕСЬ ДИСК СРАЗУ как одно зеркало, а внутри него
> уже создаются разделы для операционки и ставится система.
> Вот ссылки: http://www.lissyara.su/articles/freebsd/tuning/software_raid1/
> или http://break-people.ru/cmsmade/index.php?page=unix_freebsd_u...
> 2 вариант. Сперва создаются разделы и устанавливается система на один диск, а
> потом зеркалится КАЖДЫЙ ИЗ РАЗДЕЛОВ как отдельное зеркало на второй диск.
> Вот ссылка:
> http://how-it.ru/public/root/404-freebsd__geom_programmnyi_r...
> Какой из методов посоветуете?никакой:
1. Вариант: две статьи - просто старые без учета GPT и хранения копии GPT в конце
диска. Эти статьи НЕЛЬЗЯ использовать начиная с 8.2/8.3 и уж тем более с 9.02. Вариант: в принципе можно взять за основу и почитать один дельный комментарий
сразу в конце статьи.> Первый как бы проще, и, видимо, с загрузчиком не надо заморачиваться дополнительно,
> второй вроде как гибче и понадежне, наверное, - зеркала независимы друг
> от друга.Ситуация проста: geom пишет метаданные в последний сектор провайдера, отсюда и
проблемы с зеркалированием целого диска.вот Вам правильные статьи:
- здесь соль и как использовать gmirror для целого диска:
http://bu7cher.blogspot.ru/search/label/gmirror
а здесь как использовать gmirror для отдельных партиций:
> 2. Вариант: в принципе можно взять за основу и почитать один дельный
> комментарий
> сразу в конце статьи.Да, спасибо, я именно с него и начал. Вот только что поднял зеркало системы по этому методу. Все работает. Но хочу еще попробовать на ZFS. Ниже оставил коммент.
>> Первый как бы проще, и, видимо, с загрузчиком не надо заморачиваться дополнительно,
>> второй вроде как гибче и понадежне, наверное, - зеркала независимы друг
>> от друга.
> Ситуация проста: geom пишет метаданные в последний сектор провайдера, отсюда и
> проблемы с зеркалированием целого диска.
> вот Вам правильные статьи:
> - здесь соль и как использовать gmirror для целого диска:
> http://bu7cher.blogspot.ru/search/label/gmirror
> а здесь как использовать gmirror для отдельных партиций:
> http://www.wonkity.com/~wblock/docs/html/gmirror.htmlОк. изучу. Спасибо еще раз
Ну собирайте ж с нуля gmirror правильно, и не будет проблем, что, собственно, у bu7cher'а и сказано.
Пока читал теорию и изучал матчасть, накопал вот еще третий вариант, на ZFS mirror
3 вариант:
https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASE
Наверное, остановлюсь на нем. В связи с граблями с одновременной fsck и синхронизацией разделов после падения сервера и замены винта. Если не будет аргументов против.
> Пока читал теорию и изучал матчасть, накопал вот еще третий вариант, на
> ZFS mirror
> 3 вариант:
> https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASEzfs mirror - замечательный вариант, возможны лишь проблемы при обновлении системы,
если были обновления zfs.> Наверное, остановлюсь на нем. В связи с граблями с одновременной fsck и
> синхронизацией разделов после падения сервера и замены винта. Если не будет
> аргументов против.ничего не понял про "грабли" с "одновременной fsck" ...
зеркало, оно и в Африке зеркало, если диск полетел, raid в degrade - замена
диска, raid начнет синхронизацию, что в gmirror, что в zfs-mirror.Важно помнить основные требования ZFS: hdd direct access и чем больше RAM, тем лучше,
потеря ZIL - потеря данных.
> zfs mirror - замечательный вариант, возможны лишь проблемы при обновлении системы,
> если были обновления zfs.Я не пока обновляю установленные системы - так сложилось, они работают столько, сколько живет железо. Потом с обновлением железа сразу ставится уже новая FreeBSD.
> ничего не понял про "грабли" с "одновременной fsck" ...
> зеркало, оно и в Африке зеркало, если диск полетел, raid в degrade
> - замена
> диска, raid начнет синхронизацию, что в gmirror, что в zfs-mirror.В ситуации, когда выходит из строя диск и "падает" система все UFS разделы помечаются как "грязные". Если не запустить систему снова на одном диске и дождаться пока пройдет FSCK и потом правильно выключить с последующей заменой диска, а сразу сменить диск на новый, то при следующем запуске будет одновременно проходить синхронизация и проверка fsck, что сильно грузит головки диска и система при этом практически стоит.
> Важно помнить основные требования ZFS: hdd direct access и чем больше RAM,
> тем лучше,
> потеря ZIL - потеря данных.8 гиг оперативки должно хватить
> Пока читал теорию и изучал матчасть, накопал вот еще третий вариант, на
> ZFS mirror
> 3 вариант:
> https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASEУстановил по этому мануалу. Сперва не хотела стартовать система - не находила корень пула zfs.root.mountfrom=zfs:zroot/ROOT - error и в консоли mountpoint>
Загрузился снова с инсталяционного ДВД диска в Shell. Сделал для проверки zpool import zroot - все зачитала, нашла, перегрузился, и, о чудо, система запустилась. Не совсем понял в чем было дело, может объяснят спецы, где грабли были?
> Пока читал теорию и изучал матчасть, накопал вот еще третий вариант, на
> ZFS mirror
> 3 вариант:
> https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASE
> Наверное, остановлюсь на нем. В связи с граблями с одновременной fsck и
> синхронизацией разделов после падения сервера и замены винта. Если не будет
> аргументов против.В актуальныъ версиях фри для UFS замечательно работают soft-updates+journal.
fsck обычно пролетает за секунды в случае некорректного состояния раздела.
#gpart show
=> 34 1953525100 mirror/gm0 GPT (931G)
34 128 1 freebsd-boot (64k)
162 8388608 2 freebsd-swap (4.0G)
8388770 4194304 3 freebsd-ufs (2.0G)
12583074 8388608 4 freebsd-ufs (4.0G)
20971682 41943040 5 freebsd-ufs (20G)
62914722 1890610412 6 freebsd-ufs (901G)
#gpart list
Geom name: mirror/gm0
modified: false
state: OK
fwheads: 255
fwsectors: 63
last: 1953525133
first: 34
entries: 128
scheme: GPT
Providers:
Mode: r1w1e1
rawuuid: fa0fb73f-9930-11e2-a43a-00242115d819
rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
label: root0
length: 2147483648
offset: 4295050240
type: freebsd-ufs
index: 3
end: 12583073
start: 8388770
4. Name: mirror/gm0p4
Mediasize: 4294967296 (4.0G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 2147566592
Mode: r1w1e1
rawuuid: 0251f71c-9931-11e2-a43a-00242115d819
rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
label: tmp0
length: 4294967296
offset: 6442533888
type: freebsd-ufs
index: 4
end: 20971681
start: 12583074
5. Name: mirror/gm0p5
Mediasize: 21474836480 (20G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 2147566592
Mode: r1w1e1
rawuuid: 0c93aeb8-9931-11e2-a43a-00242115d819
rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
label: var0
length: 21474836480
offset: 10737501184
type: freebsd-ufs
index: 5
end: 62914721
start: 20971682
6. Name: mirror/gm0p6
Mediasize: 967992530944 (901G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 2147566592
Mode: r1w1e1
rawuuid: 168fd392-9931-11e2-a43a-00242115d819
rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
label: usr0
length: 967992530944
offset: 32212337664
type: freebsd-ufs
index: 6
end: 1953525133
start: 62914722
Consumers:
1. Name: mirror/gm0
Mediasize: 1000204885504 (931G)
Sectorsize: 512
Mode: r5w5e9
Для полноты картины - zfs тоже _очень_ хорошо, но, ввиду обилия фич, ее значительно проще поставить колом (выше порог вхождения).
> Для полноты картины - zfs тоже _очень_ хорошо, но, ввиду обилия фич,
> ее значительно проще поставить колом (выше порог вхождения).ZFS перспективнее.
https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASE
Установил по этому мануалу. Сперва не хотела стартовать система - не находила корень пула zfs.root.mountfrom=zfs:zroot/ROOT - error и в консоли mountpoint>
Загрузился снова с инсталяционного ДВД диска в Shell. Сделал для проверки zpool import zroot - все зачитала, нашла, перегрузился, и, о чудо, система запустилась. Не совсем понял в чем было дело, может объяснят спецы, где грабли были?
>> Пока читал теорию и изучал матчасть, накопал вот еще третий вариант, на
>> ZFS mirror
>> 3 вариант:
>> https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/9.0-RELEASE
>> Наверное, остановлюсь на нем. В связи с граблями с одновременной fsck и
>> синхронизацией разделов после падения сервера и замены винта. Если не будет
>> аргументов против.
> В актуальныъ версиях фри для UFS замечательно работают soft-updates+journal.
> fsck обычно пролетает за секунды в случае некорректного состояния раздела.SU - хорошо работает
SUJ - плохо работает, масса невыясненных проблем со snapshot, с fsck...не проверял что с журналированием в UFS2 после 9.1, но между 9.0 и 9.1 - сплошные
проблемы, на всех серверах где SUJ пришлось принудительно для fsck выставить:#-- forced fsck-y
fsck_y_enable="YES"
fsck_y_flags="-f"
#-- disable background fsck
background_fsck="NO"ибо FS остается грязной, о проблемах можно найти в списках рассылки.
Попробуйте развалить или обрубить gmirror с SUJ на ходу, получите грязную FS
которую fsck без принудительного флага "-f" не прочистит.
> SU - хорошо работает
> SUJ - плохо работает, масса невыясненных проблем со snapshot, с fsck...
> Попробуйте развалить или обрубить gmirror с SUJ на ходу, получите грязную FS
> которую fsck без принудительного флага "-f" не прочистит.Я поставил на ZFS mirror. Погоняю в таком варианте. Перспективнее. По специфике работы очень часто надо собрать надежный файловый сервер с максимальным объемом винтов по вменяемой цене. К спец-материнкам и рейр-контроллерам уже давно не обращаюсь ввиду их большой стоимости и проблемностью с драйверами под FreeBSD. На нормальных матерях по вменяемой цене 6 SATA портов. Раньще приходились 2 отдавать под систему (например raid1 на 2x160 Gb) а на четырех оставшихся делать RaidZ на двухтерабайтниках. Сейчас можно сразу поставить 6 двухтерабайтников и на них поднять один пул RaidZ для системы и файлохранилища. Лепота просто.
> Сейчас можно сразу поставить 6 двухтерабайтников и на них поднять
> один пул RaidZ для системы и файлохранилища. Лепота просто.Ну и балбес чо. Внимательно читай про root пулы и шевели мозгой.
Если приспичило занять все 6 саташек под сторидж - воткни во внутренний USB флэшку да и поставиь систему на неё.
>[оверквотинг удален]
> и 9.1 - сплошные
> проблемы, на всех серверах где SUJ пришлось принудительно для fsck выставить:
> #-- forced fsck-y
> fsck_y_enable="YES"
> fsck_y_flags="-f"
> #-- disable background fsck
> background_fsck="NO"
> ибо FS остается грязной, о проблемах можно найти в списках рассылки.
> Попробуйте развалить или обрубить gmirror с SUJ на ходу, получите грязную FS
> которую fsck без принудительного флага "-f" не прочистит.Да, точно так.
Подтверждаю, у меня такая же хрень была.
Перешел на 9.1 Тьфу-тьфу-тьфу! Пока спокойно. ))