Анонсирован (http://lists.freebsd.org/pipermail/freebsd-stable/2011-Octob...) кандидат в релизы FreeBSD 9.0. Финальный релиз можно ожидать (http://wiki.freebsd.org/Releng/9.0-TODO) через 3-4 недели. Установочные образы FreeBSD 9.0-RC1 доступны в форме bootonly, DVD и Memstick для платформ amd64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/), i386 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/), powerpc (ftp://ftp.freebsd.org/pub/FreeBSD/releases/powerpc/powerpc/), powerpc64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/powerpc/powerpc64/), ia64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/ia64/ia64/) и sparc64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/sparc64/sparc64/). С обзором новшеств FreeBSD 9.0 можно познакомиться в тексте анонса (http://www.opennet.me/opennews/art.shtml?num=31364) первой бета-версии.
Начиная с текущей тестовой версии обеспечена возможность бинарного обновления с использованием утилиты freebsd-update для платформ i386 и amd64. П...URL: http://lists.freebsd.org/pipermail/freebsd-stable/2011-Octob...
Новость: http://www.opennet.me/opennews/art.shtml?num=32114
Веселуха. Они когда - нибудь Live Upgrade запилят или кишка тонка?
Live Upgrade монолитных ядер - ацки сложная штука.
Да и freebsd не позиционируется для использования в системах высокой надежности и доступности.
На этом поприще есть игроки типа HP-UX, AIX и пр., со специально заточенным по них железом.
Может прозвучит немного надоедливо, но все я считаю - не нужно! Ибо намного проще просто ребутнуть тачку, чем настолько сильно усложнять код, реализовывая этот Live Upgrade
после live upgrade тоже надо перегружать
> Может прозвучит немного надоедливо, но все я считаю - не нужно! Ибо
> намного проще просто ребутнуть тачку, чем настолько сильно усложнять код, реализовывая
> этот Live UpgradeКоллега, надо бы устриц-то пробовать, прежде, чем мнение иметь об их вкусе. LU тоже требует рестарта, вопрос в том, что всего лишь одного и обновление катится в multiuser. И ничего там нет архисложного, три простеньких пакета в Solaris. Около 300 килобайт в сумме. Просто скрипты.
в чём профит LU тогда, неясно...
> в чём профит LU тогда, неясно...Профит простой. при апгрейде LU не правит работующую систему "по-живому", а создает ее клон, апгрейдит этот клон и перегружается в него. В результате ситуации с "апгрейдом на половину" и "не взлетела после" либо исключены либо легко откатываются назад.
Для этого нужна полноценная поддержка возможностей ZFS всей системой. А ее еще даже в инсталляторе не допилили, хотя сколько лет уже прошло.
> Для этого нужна полноценная поддержка возможностей ZFS всей системой.Уточните плиз что за "поддержка всей системой"...
> А ее еще даже в инсталляторе не допилили, хотя сколько лет уже прошло.
...и какое отношение ко всему этому имеет инсталлятор. Инсталлятор - да, на ZFS не ставит. Но всё остальное работает себе и работает. Что с ufs, что с zfs. Или я чего-то недопонял? Или вы имели в виду _только_ инсталлятор?
> Но всё остальное работает себе и работает. Что с ufs, что с zfs. Или я чего-то недопонял? Или вы имели в виду _только_ инсталлятор?Пожалуйста, распишите по шагам установку системы на другой диск с заранее подготовленным Z-пулом FreeBSD.
Дано: Z-пул смонтирован в /mnt командой "zpool import -R /mnt poolname".Структура ZFS в пуле заранее подготовлена. В исходной системе дана команда на сборку и установку новой системы: "cd /usr/src/ && make buildworld buildkernel installworld distribution installkernel DESTDIR=/mnt".
Требуется: хотелось бы увидеть, ВСЕ шаги, которые вы будете предпринимать после последней команды, чтобы poolname представлял из себя полноценный загрузочный системный пул, независимый от исходной системы, в которой он был создан.
Можете показать, как это сделать? (по пунктам)
> Требуется: хотелось бы увидеть, ВСЕ шаги, которые вы будете предпринимать после последней команды, чтобы poolname представлял из себя полноценный загрузочный системный пул, независимый от исходной системы, в которой он был создан.Хотелось бы узнать, что именно у вас не получается.
Подразумевается, что
zpool set cachefile=/mnt/boot/zfs/zpool.cache poolname
вы делали.И классические хауту читали.
>> Требуется: хотелось бы увидеть, ВСЕ шаги, которые вы будете предпринимать после последней команды, чтобы poolname представлял из себя полноценный загрузочный системный пул, независимый от исходной системы, в которой он был создан.
> Хотелось бы узнать, что именно у вас не получается.
> Подразумевается, что
> zpool set cachefile=/mnt/boot/zfs/zpool.cache poolname
> вы делали.Это делал.
> И классические хауту читали.
Читал.
Доставляет с каждой новой установкой необходимость в Single Mode (ядро и модули загружены) ручного переназначения точек монтирования у каталогов /usr, /var, /tmp с /poolname/usr, /poolname/var, /poolname/tmp на их законные места в файловой иерархии. Видите ли, указание точки монтирования пула на корень ("/") недостаточно для правильного монтирования дочерних ФС. :)
В общем, с установкой загрузочного Z-пула всё не так однозначно, как кажется писателям Хауту. Есть критические места в последовательности организации нормальной загрузки системы. Например, на этапе настройки загрузочного пула, как невозможность отмонтирования смонтированной дочерней ФС и, соответственно, всего пула при назначении точки монтирования, что приводит к проблеме необходимости ожидания/пропуска этого шага и выяснения, какое же приложение заняло файл на запись в этой дочерней ФС:
% gpart add -b 34 -s 256 -t freebsd-boot -l poolname_boot ad4
ad4p1 added
% gpart add -b 290 -s 15G -t freebsd-zfs -l poolname_system ad4
ad4p2 added
% gpart show ad4
=> 34 1250263661 ad4 GPT (596G)
34 256 1 freebsd-boot (128k)
290 31457280 2 freebsd-zfs (15G)
31457570 1218806125 - free - (581G)% zpool create poolname /dev/gpt/poolname_system
% zfs set atime=off poolname
% zfs create poolname/var
% zfs create -o compression=gzip poolname/var/crash
% zfs create -o readonly=on poolname/var/empty
% zfs create poolname/var/tmp
% chmod 1777 /poolname/var/tmp
% zfs create poolname/usr
% zfs create poolname/usr/local
% zfs create poolname/usr/home
% zfs create poolname/usr/obj
% zfs create poolname/usr/ports
% zfs create poolname/usr/ports/distfiles
% zfs create poolname/usr/src
% zfs create poolname/var/db
% zfs create poolname/var/cache
% zfs create poolname/tmp% zpool export poolname
% zpool import poolname
% zpool status poolname
pool: poolname
state: ONLINE
scan: none requested
config:NAME STATE READ WRITE CKSUM
poolname ONLINE 0 0 0
gpt/poolname_system ONLINE 0 0 0errors: No known data errors
% cd /usr/src/ && make DESTDIR=/poolname/ installworld distribution installkernel
% gpart bootcode -b /poolname/boot/pmbr ad4
ad4 has bootcode
% gpart bootcode -p /poolname/boot/gptzfsboot -i 1 ad4% zpool set bootfs=poolname poolname
% zpool set cachefile=/poolname/boot/zfs/zpool.cache poolname
% cat > /poolname/boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:poolname"
^D
% touch /poolname/etc/fstab
% cp /etc/rc.conf /poolname/etc/
% cp /etc/rc.conf.local /poolname/etc/
% cp /etc/pf.conf /poolname/etc/
% cp /etc/src.conf /poolname/etc/
% cp /etc/make.conf /poolname/etc/
% cp /etc/X11/xorg.conf /poolname/etc/X11/
% cp /etc/devfs.rules /poolname/etc/
% cp /etc/resolv.conf /poolname/etc/
% cp /etc/src.conf /poolname/etc/% zfs set mountpoint=none poolname
cannot unmount '/poolname': Device busy
% zpool export poolname
cannot unmount '/poolname': Device busy
<тут приехали>Перезагрузка в Single Mode и ручная манипуляция со структурой системного пула (с точками монтирования дочерних ФС) на уровне загрузчика — это чистой воды шаманство, я считаю.
У меня после нескольких попыток установки FreeBSD на ZFS (разнесённых по времени с августа 2008 года по ноябрь 2011) так и не сложилось целостного понимания ВСЕГО процесса установки. Да, получается запустить систему, но ВСЕГДА с переменным успехом на ранних этапах: в одном случае никак не найдёт, с какого диска загрузить и зависает(!) на приглашении ввести тип ФС и путь к диску, во втором случае грузится одно лишь ядро, а дочерние системные ФС монтируются почему-то по путям /poolname/usr, /poolname/var, /poolname/tmp, что делает невозможным дальнейшую работу ФС в нормальном режиме.
> Профит простой. при апгрейде LU не правит работующую систему "по-живому", а создает ее клон, апгрейдит этот клон и перегружается в него.Удобно.
> В результате ситуации с "апгрейдом на половину"
хм. выключили свет и сдох упс на make installworld?
> и "не взлетела после" либо исключены либо легко откатываются назад.
ну убедили :) штука годная...
> Веселуха. Они когда - нибудь Live Upgrade запилят или кишка тонка?какой именно фишки live upgrade нехватает?
Обновление в мультиюзере и синхронизация ABE перед активацией. А что, LU в целом реализована а не хватает лишь какой-то фишки? ИМХО LU вообще ни у кого кроме Solaris нет и никогда не было.
> Обновление в мультиюзере.Это и так сделано в freebsd-update.
> синхронизация ABE перед активацией
Пока еще нет. Хотя как сторонний набор скриптов и существует
http://anonsvn.h3q.com/projects/freebsd-patches/wiki/manageBE> А что, LU в целом реализована а не хватает лишь какой-то фишки? ИМХО LU вообще ни у кого кроме Solaris нет и никогда не было.
В солярке, как минимум, до появления zfs-а пользование LU было чем-то сродни мазохизму. Я бы не стал возводить его в абсолют
Не знаю, что в точности есть Live Upgrade, но вот веселую викторину "после апгрейда найди отличия в сотне не отличающихся друг от друга файлах конфигурации" действительно хотелось бы чем-то заменить...
вы о чем?
думаю о merge master - и правда игра ой какая противная
> думаю о merge master - и правда игра ой какая противнаяа если mergemaster -Ui , то намного меньше гемора.
ааа, так товарищ не в курсе про megemaster -FiU?
У него ключи есть =) чтоб он вас беспокоил только в тех случаях, когда без вас не разобраться =)
В курсе, он очень часто беспокоит без всякого повода - я этот конфиг не трогал - там умолчания живут, он все равно спрашивает. кроме того, его мнение "резать к чертовой матери, не дожидаясь перетонита", довольно часто ошибочно.
у меня не было проблем, даже при апгрейде мажорных версий. Довольно быстро все проходит.
mergemaster, очевидно.
Поначалу это и вправду бесит. Но если внимательно читать freebsd-docs, то можно и без mergemaster обойтись.
С другой стороны, с точки зрения энд-юзера, утилита mergemaster безусловно тупа и, реагируя на каждый файл конфига (тк в каждом меняется как минимум первая строка $FreeBSD ...$), мягко говоря доставляет...
Да, на первый год читаешь доки. На второй применяешь. На третий снисходит благодать и читаешь ман. А там... mergemaster -iFU
mergemaster -aА дальше в свободное время... ;)
кто-нибудь пробовал в качестве domu pv? есть какие-то положительные изменения?
А какие нужны положительные изменения, всё давно замечательно работает.
именно дисковые и сетевые pv-драйверы работают? интересует поведение под нагрузкой (сеть, диски), работа с несколькими vcpu
> А какие нужны положительные изменения, всё давно замечательно работает.В HVM-режиме - работает почти все, независимо от оси гостя. А вот PV-дрова фри пока оставляют желать лучшего, к сожалению.
Ха-ха.А глюк с ftp как был, так и остался:
c901# ftp ftp.freebsd.org
ftp: Can't create socket to determine default socket sizes: Protocol not supported
c901# ping6 -c 3 ftp.freebsd.org.
PING6(56=40+8+8 bytes) --> 2001:4f8:0:2::e
16 bytes from 2001:4f8:0:2::e, icmp_seq=0 hlim=54 time=231.046 ms
16 bytes from 2001:4f8:0:2::e, icmp_seq=1 hlim=54 time=231.723 ms
16 bytes from 2001:4f8:0:2::e, icmp_seq=2 hlim=54 time=231.127 ms--- ftp.freebsd.org ping6 statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 231.046/231.299/231.723/0.302 msmakeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="
nodevice gre
nooptions INET
А где uname -a ?
c901# uname -a
FreeBSD c901 9.0-RC1 FreeBSD 9.0-RC1 #1: Mon Oct 24 13:28:46 UTC 2011 root@c901:/usr/obj/usr/src/sys/C901 i386
> c901# uname -a
> FreeBSD c901 9.0-RC1 FreeBSD 9.0-RC1 #1: Mon Oct 24 13:28:46 UTC 2011
> root@c901:/usr/obj/usr/src/sys/C901 i386а где PR?
Там и без моего PR-а разберутся.
>А глюк с ftp как был, так и осталсяКорректней написать, при сборке IPv6 only system (без IPv4) наблюдается косяк с утилитой ftp.
Ну так IPv6 only system еще не 100% завершенный проект.
http://www.freebsd.org/ipv6/ipv6only.html
http://wiki.freebsd.org/IPv6OnlyThe IPv6 only kernel has started as a research project around the time when FreeBSD Jails gained IPv6 support and it became possible to have jails without IPv4. The FreeBSD kernel has long been able to be compiled without INET6 so feature parity was called for. As an intermediate step there were efforts to get the kernel compiling without any IP support at all.
As of SVN r221353 FreeBSD is now able to compile a kernel with only INET (IPv4) support, only INET6 (IPv6) support, both or neither in FreeBSD HEAD (pre-9.0 and later) and it was taken care that additional LINT kernel configurations were build during universe builds to catch possible breakage. Thanks to the FreeBSD Foundation and iXsystems sponsoring this integration and IPv6 work and thanks to George Neville-Neil for providing technical review and a lot of other people helping with review for user space or resources.
You caught one from a possible breakages :)
А я что написал по-вашему?
Я так понимаю, установка на ZFS будет опять через одно место?!
из bsdinstall ее пока нет. Я думаю потом добавят
Я думаю, что разработчики видели solaris и считают, что устанавливать bsd на zfs в виде, описаном в wiki, т.е. с совпадающими корнями пула и фс - не разумно. Вот и не торопятся с ломанием дров.
> Я думаю, что разработчики видели solaris и считают, что устанавливать bsd на
> zfs в виде, описаном в wiki, т.е. с совпадающими корнями пула
> и фс - не разумно. Вот и не торопятся с ломанием
> дров.Можно подробнее? Желательно умную ссылку
Солярка на zfs-е может иметь несколько версий системы, эти версии называются boot environments (BE) и располагаются по адресу <корневой пул>/ROOT/<имя BE> . в конкретный момент одна из копий является активной, т.е. примонтирована в корень, остальные соответственно нет. в любой момент активный BE можно поменять на другой, естественно через перезагрузку. live upgrade (LU) системы делается клонированием существующего BE, его апгрейдом в неактивном состоянии и последующей активацией. Все просто, легко и, главное, надежно. Ссылок есть море по запросу live upgrade zfs, разделять их на умные и неочень мне - лениво
> Я думаю, что разработчики видели solaris и считают, что устанавливать bsd на
> zfs в виде, описаном в wiki, т.е. с совпадающими корнями пула
> и фс - не разумно.Понятно, почему они не хотят делать это криво (как сейчас делается через костыли).
Но совершенно непонятно, почему они не хотят делать это прямо (как в солярке)?