Хочу сделать зеркало с помощью graid так как он вроде быстрее чем gmirror, но на компьютере нет RAID-BIOS, то есть мамка без софтового рейда. Почитал ман к graid но так до конца и не понял, там написано: "To allow booting from RAID volume, the metadata format should match the RAID BIOS type". Если мне НЕ НАДО грузится с райдовых дисков - можно-ли сделать зеркало на graid? Какой тип метаданных лучше выбрать: DDF, Intel, JMicron, NVIDIA, Promise или SiI?
Или этот тип на скорость не влияет, а влияет только на подхват рейда из биоса матери?
> Хочу сделать зеркало с помощью graid так как он вроде быстрее чем
> gmirror, но на компьютере нет RAID-BIOS, то есть мамка без софтового
> рейда. Почитал ман к graid но так до конца и не
> понял, там написано: "To allow booting from RAID volume, the metadata
> format should match the RAID BIOS type". Если мне НЕ НАДО
> грузится с райдовых дисков - можно-ли сделать зеркало на graid? Какой
> тип метаданных лучше выбрать: DDF, Intel, JMicron, NVIDIA, Promise или SiI?
> Или этот тип на скорость не влияет, а влияет только на подхват
> рейда из биоса матери?на скорость не влияет, только откуда читать метаданные разных вендоров fake-контроллеров.
Более того, используя graid можно создавать RAID1 на обычных (HBA) контроллерах,
все что нужно сделать - это указать в label - формат используемых метаданных, причем
фиолетово какого вендора - у нас же не fake-raid и не создан через BIOS.
Метаданные должны быть созданы и созданы по формату, какому - до ламы, поэтому
указываем любой.Берем VirtualBox и проверяем:
- создаем машину с двумя HDD
- загружаемся с 9.2 iso
- выходим в Live# graid label Intel raid RAID1 /dev/ada0 /dev/ada1
# graid statusIntel - format
raid - label
RAID1 - тип рейда# ls -la /dev/raid/r0*
- создали схему GPT
# gpart create -s GPT /dev/raid/r0- создали freebsd-boot размером 64k чтобы уместить загрузчики
# gpart add -t freebsd-boot -s 64k /dev/raid/r0- создали swap, нужного размера
# gpart add -t freebsd-swap -s 1M /dev/raid/r0- создали ufs, в данном случае все оставшееся под корень
# gpart add -t freebsd-ufs /dev/raid/r0- записали загрузчики
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 /dev/raid/r0- создали FS
# newfs -U /dev/raid/r0p3- прогнали fsck,смонтировали в /mnt
# fsck_ffs -fy /dev/raid/r0p3
# mount /dev/raid/r0p3 /mnt- разворачиваем дистрибутив в /mnt
# cd /usr/freebsd-dist (точно не помню имя директории где он будет после выхода
в live)
# sh
# export DISTDIR=/mnt
# for file in base.txz lib32.txz kernel.txz;
do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/});
done
#- осталось создать /mnt/etc/fstab, /mnt/etc/rc.conf и /mnt/boot/loader.conf
# vi /mnt/etc/fstab
# Device Mountpoint FStype Options Dump Pass
/dev/raid/r0p2 none swap sw 0 0
/dev/raid/r0p3 / ufs rw 1 1# vi /mnt/etc/rc.conf (не забыть что это все для VBOX)
#-- fsck
fsck_y_enable="YES"
#
background_fsck="NO"
#
moused_enable="YES"hostname="graid92.lan.dubna.ru"
ifconfig_em0="SYNCDHCP"firewall_enable="YES"
firewall_type="OPEN"sendmail_enable="NONE"
sshd_enable="YES"
# vi /mnt/boot/loader.conf
vfs.root.mountfrom="ufs:/dev/raid/r0p3"# shutdown -r now (в меню VBOX изъять ISO из CD)
загружаемся в систему и наслаждаемся
Важно: возможны очепятки, верхнее не тупо копировать, а выполнять обдуманно,
чтобы не проколоться с возможными очепятками.
Вопросы?
> Вопросы?Спасибо за столь развернутый и исчерпывающий ответ, и пользуясь вашей благосклонностью задам еще вопрос по этому поводу: имеет-ли смысл трогать какие-то sysctl относящиеся к kern.geom.raid или там по дефолту все оптимально?
У меня система такая:
FreeBSD 9.2-RELEASE amd64
Винчестеры в рейде 2TB:ada1: <HUA722010CLA330 43W7625 42C0400IBM JP4OA3GB> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada1: Previously was known as ad12
ada2 at ahcich4 bus 0 scbus5 target 0 lun 0
ada2: <HUA722010CLA330 43W7625 42C0400IBM JP4OA3GB> ATA-8 SATA 2.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
ada2: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada2: Previously was known as ad14Хочу там сделать раздел под UFS-2 для файлопомойки (самба), интересует в первую очередь скорость, может надо какие-то хитрые настройки sysctl сделать что бы двигалось все пободрее? УПС-а нету, может имеет смысл включить softupdate?
tunefs -p raid/r0p1
tunefs: Can't stat raid/r0p1: No such file or directory
tunefs: POSIX.1e ACLs: (-a) enabled
tunefs: NFSv4 ACLs: (-N) disabled
tunefs: MAC multilabel: (-l) disabled
tunefs: soft updates: (-n) disabled
tunefs: soft update journaling: (-j) disabled
tunefs: gjournal: (-J) disabled
tunefs: trim: (-t) disabled
tunefs: maximum blocks per file in a cylinder group: (-e) 4096
tunefs: average file size: (-f) 16384
tunefs: average number of files in a directory: (-s) 64
tunefs: minimum percentage of free space: (-m) 5%
tunefs: space to hold for metadata blocks: (-k) 6408
tunefs: optimization preference: (-o) time
tunefs: should optimize for space with minfree < 8%
tunefs: volume label: (-L)
Да, и почему ругнулся tunefs: Can't stat raid/r0p1: No such file or directory ?
Забыл написать - памяти всего 4ГБ, zfs поэтому не имеет смысла лепить.
>> Вопросы?
> Спасибо за столь развернутый и исчерпывающий ответ, и пользуясь вашей благосклонностью
> задам еще вопрос по этому поводу: имеет-ли смысл трогать какие-то sysctl
> относящиеся к kern.geom.raid или там по дефолту все оптимально?я не пробовал что-то оптимизировать, да судя по переменным - особо нечего.
>[оверквотинг удален]
> ada1: Previously was known as ad12
> ada2 at ahcich4 bus 0 scbus5 target 0 lun 0
> ada2: <HUA722010CLA330 43W7625 42C0400IBM JP4OA3GB> ATA-8 SATA 2.x device
> ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
> ada2: Command Queueing enabled
> ada2: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
> ada2: Previously was known as ad14
> Хочу там сделать раздел под UFS-2 для файлопомойки (самба), интересует в первую
> очередь скорость, может надо какие-то хитрые настройки sysctl сделать что бы
> двигалось все пободрее? УПС-а нету, может имеет смысл включить softupdate?ни одна реализация RAID1 не даст Вам скорости, это RAID1 и запись на него медленная,
да и чтение.> tunefs -p raid/r0p1
> tunefs: Can't stat raid/r0p1: No such file or directory
> tunefs: POSIX.1e ACLs: (-a)
>...
> Да, и почему ругнулся tunefs: Can't stat raid/r0p1: No such file or
> directory ?не знаю, данные то выдал вроде, мб /dev/raid/... полностью нужно?
Если нужна скорость - RAID10.
Честно говоря, не вижу смысла в организации RAID1 для файлопомойки, только лишний
диск за зря использовать, если хочется на UFS - ну и использовать просто диск/диски
+ backup.
> ни одна реализация RAID1 не даст Вам скорости, это RAID1 и запись
> на него медленная, да и чтение.С тем что скорость записи будет меньше готов смирится, а на чтение драйвер рейда или там геома разве не параллелит запросы к дискам?
> мб /dev/raid/... полностью нужно?
Так тоже попробовал, но тогда просто ошибка и никакой информации не выдает. Ладно, черт с ним, наверно какой-то несущественный баг где-то.
>[оверквотинг удален]
> ada2: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
> ada2: Previously was known as ad14
> Хочу там сделать раздел под UFS-2 для файлопомойки (самба), интересует в первую
> очередь скорость, может надо какие-то хитрые настройки sysctl сделать что бы
> двигалось все пободрее? УПС-а нету, может имеет смысл включить softupdate?
> tunefs -p raid/r0p1
> tunefs: Can't stat raid/r0p1: No such file or directory
> tunefs: POSIX.1e ACLs: (-a)
> Да, и почему ругнулся tunefs: Can't stat raid/r0p1: No such file or
> directory ?а что у Вас показывает:
# gpart show raid/r0
мб Вы tunefs использовали для партиции где нет UFS?
ps. У меня подобных проблем с tunefs нет, проверил в виртуалке
> # graid label Intel raid RAID1 /dev/ada0 /dev/ada1
> - создали схему GPT
> # gpart create -s GPT /dev/raid/r0Почему-то после такого создания массива gpart ругается на плохой загрузчик или что там хранится в конце диска, пишет что "corrupt" и приходится делать gpart recover.
Вроде как правильный вариант это сначала сделать gpart а потом graidgpart add -t freebsd-ufs ada1
gpart add -t freebsd-ufs ada2
newfs ada1p1
newfs ada2p1
graid label intel mirror1 RAID1 ada1p1 ada2p1
>> # graid label Intel raid RAID1 /dev/ada0 /dev/ada1
>> - создали схему GPT
>> # gpart create -s GPT /dev/raid/r0
> Почему-то после такого создания массива gpart ругается на плохой загрузчик или что
> там хранится в конце диска, пишет что "corrupt" и приходитсяэто от непонимания чем оперируете, каким провайдером в каком случае.
А проверку таблицы gpt на соответствующем провайдере, поправили, в 9.2
и вероятно в 9.1 нет проблем.> делать gpart recover.
это в корне неверно, этим просто убъете метаданные и соответственно raid
> Вроде как правильный вариант это сначала сделать gpart а потом graid
да, это рекомендуемый вариант, как и использование MBR - в соответствии
с новым, исправленным описанием gmirror в handbook.> gpart add -t freebsd-ufs ada1
> gpart add -t freebsd-ufs ada2а вот нижнее, неправильно
> newfs ada1p1
> newfs ada2p1зачем создавать FS для партиций ada1p1 и ada2p2?
> graid label intel mirror1 RAID1 ada1p1 ada2p1
после этого мы создали новый провайдер /dev/raid/r0, который на 1 сектор
меньше чем ada1p1 или ada2p1.Вот на этом устройстве /dev/raid/r0 и будем создавать FS:
# newfs /dev/raid/r0 - отличается от newfs ada[1|2]p1, чем - см выше