Сборка World c учетом ZFS

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Джузеппе
проходил мимо
Сообщения: 1
Зарегистрирован: 2009-11-30 11:29:15

Сборка World c учетом ZFS

Непрочитанное сообщение Джузеппе » 2009-11-30 14:18:17

Добрый день друзья. Прошу сразу извинить за возможно простые и элементарные вопросы, но я новичок во Фре, но так как ужасно интересно, то обучение мое проходит быстро.))
Суть моей проблемы такова. Решив изучить и поставить себе на стационарный компьютер FreeBSD 8.0 RC3 + ZFS после выхода STABLE стал думать о пересборке мира и ядра.
Действия свои опишу для наглядности - так как брал из разных русских и забугорных формумов..Просто иначе трудно будет определить мою проблему ( возможно ). Еще раз покорнейше прошу извинить за столь подробное описание. Вопрос будет в самом конце..
Стаавил FreeBSD 8.0 RC3 с поддрежкой ZFS следующим образом.
1.Зашел через Fixit выбрал CD/DVD:

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

Fixit# gpart create -s GPT ad0
ad0 created
2.Cоздал партицию для загрузчика:

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

Fixit# gpart add -b 34 -s 128 -t freebsd-boot ad0
ad0p1 added
3. Создал партицию для ZFS

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

Fixit# gpart show ad0
=>       34  156301421  ad0  GPT  (75G)
         34        128    1  freebsd-boot  (64K)
        162  156301293       - free -   (75G)
Fixit# gpart add -b 162 -s 156301293 -t freebsd-zfs ad0
ad0p2 added
4. Вставил код загрузчика

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

Fixit# gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 ad0
ad0 has bootcode
Fixit# gpart show ad0
=>       34  156301421  ad0  GPT  (75G)
         34        128    1  freebsd-boot  (64K)
        162  156301293    2  freebsd-zfs  (75G)
5. Включил поддержку модуля ZFS

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

Fixit# kldload /mnt2/boot/kernel/opensolaris.ko
Fixit# kldload /mnt2/boot/kernel/zfs.ko
6. Создал пул RPOOL на всю свободную партицию и сделал загрузочным
Fixit# zpool create rpool /dev/ad0p2
Fixit# zpool set bootfs=rpool rpool
7. Сделал 3 фаловых системы

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

Fixit# zfs create rpool/tmp
Fixit# zfs create rpool/usr
Fixit# zfs create rpool/var
8. Создал СВАП на ZFS

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

Fixit# zfs create -V 2gb rpool/swap
Fixit# zfs set org.freebsd:swap=on rpool/swap
Fixit# zfs set checksum=off rpool/swap
9. Проинсталлил

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

Fixit# cd /dist/8.0-BETA2/base
Fixit# export DESTDIR=/rpool
Fixit# ./install.sh
You are about to extract the base distribution into /rpool - are you SURE
you want to do this over your installed system (y/n)? y
Fixit# cd ../kernels
Fixit# ./install.sh generic
Fixit# cd /rpool/boot
Fixit# cp -Rp GENERIC/* kernel/
Fixit# cd /dist/8.0-BETA2/src
Fixit# ./install.sh all
Extracting sources into /usr/src...
  Extracting source component: base
  Extracting source component: bin
  Extracting source component: cddl
  Extracting source component: contrib
  Extracting source component: crypto
  Extracting source component: etc
  Extracting source component: games
  Extracting source component: gnu
  Extracting source component: include
  Extracting source component: krb5
  Extracting source component: lib
  Extracting source component: libexec
  Extracting source component: release
  Extracting source component: rescue
  Extracting source component: sbin
  Extracting source component: secure
  Extracting source component: share
  Extracting source component: sys
  Extracting source component: tools
  Extracting source component: ubin
  Extracting source component: usbin
Done extracting sources.
Done extracting sources.
Fixit# cd ../manpages
Fixit# ./install.sh
10. Поставил поддержку в rc.conf и в loader.conf и в src.conf для загрузки

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

Fixit# echo 'zfs_enable="YES"' > /rpool/etc/rc.conf
Fixit# echo 'LOADER_ZFS_SUPPORT="YES"' > /rpool/etc/src.conf
Fixit# echo 'zfs_load="YES"' > /rpool/boot/loader.conf
Fixit# echo 'vfs.root.mountfrom="zfs:rpool"' >> /rpool/boot/loader.conf
11. Включил rpool.cache ( Сам не знаю нахрена - чесно признаю до мануала по ZFS руки не дошли - хотя и чесно распечатал на работе=)) )

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

Fixit# mkdir /boot/zfs
Fixit# zpool export rpool && zpool import rpool
Fixit# cp /boot/zfs/zpool.cache /rpool/boot/zfs/
12. Было написано что нужно оставить пустой fstabt, чтобы при загрузке не было ошибок:

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

Fixit# chroot /rpool
Fixit# mount -t devfs devfs /dev
Fixit# unset DESTDIR
Fixit# cd /usr/src/sys/boot/
Fixit# make obj
Fixit# make depend
Fixit# make
Fixit# cd i386/loader
Fixit# make install
Fixit# umount /dev
Fixit# touch /etc/fstab
Fixit# exit
12. Напоследок для динамически линкованных программ добавил переменную.

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

Fixit# export LD_LIBRARY_PATH=/mnt2/lib
Fixit# zfs set mountpoint=legacy rpool
Fixit# zfs set mountpoint=/tmp rpool/tmp
Fixit# zfs set mountpoint=/var rpool/var
Fixit# zfs set mountpoint=/usr rpool/usr
------------------
Братцы вот и все что я сделал для поддержки и загруки с ZFS - все работало...Установил необходимые утилиты из портов самостоятельно, добавил для изучения X11 и Gnome...поколдовал с WPA_SUPPLICANT и ее настройками..вообщем все начинало нравиться...НО
Решил обновить свою Rc3 до STABLE с учетом данных настроек.

Для обновления мира использовал статью с этого замечательного сайта (Обновление мира ("world")) PS. Спасибо lissyara & serg.
1. Создал МИР.
2. Создал ЯДРО. со своими настройками
3. Проинсталлил ЯДРО.
_--------------------------------------------------------
И вот пошла головомойка
Перезагрузился как полагается в SINGLE USER MODE.
1. Сделал 2. Примонтировал

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

zfs mount -a
Но файловая система так и осталась read-only. Признаю заметил сам не сразу а при выполнении mergemaster -p не дало на определенном шаге изменить файл.+((
При попытке zfs unmount rpool - пишет что пользовался umount(1M)
Пробую через umount пишет что не найден rpool.
Подумал и решил сделать слепок rpool'а и подмонтировать сверху тоже на /

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

zfs snapshot rpool@102030
zfs clone rpool@060614 rpool/main
zfs set mountpoint=/ rpool/main
и виснет все...=)))
Братцы подскажите как все такие сделать мой rpool rw, а не readonly????
Пробывал так же вот так

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

mkdir /tmp/z
zpool import -R /tmp/z rpool
cannot import 'rpool' no usch poool aviable
Хотя все так же...

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

mount
rpool on  / (zfs,local,read-only)
devfs on /dev (devfs,lcal,multilabel)
zpool ist 
rpool 298Gb use 7,8 avil 291 cap 2% heath ONLINE altroot -
Воощем братцы буду благодарен за ответ..Заранее спасибо за помощь..

Хостинговая компания 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
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Сборка World c учетом ZFS

Непрочитанное сообщение Alex Keda » 2010-02-28 14:44:17

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

vds
проходил мимо
Сообщения: 1
Зарегистрирован: 2010-04-08 23:51:03

Re: Сборка World c учетом ZFS

Непрочитанное сообщение vds » 2010-04-09 1:16:58

Сам недавно с таким столкнулся, препарировал FreeBSD на виртуалке перед тем как начинать работу с новым винтом.
Решение проблемы есть, оно описано в статье http://www.xaero.org/index.php/archive/ ... freebsd-8/
На случай, если вдруг страница, куда я отсылаю потеряется, то нужно после перезагрузки в single user mode вместо команды

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

mount -a -t ufs
использовать пару команд

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

mount -uw /
zfs mount -a
Плюс не забыть после окончания установки мира и работы с mergemaster выполнить вот эту команду до перезагрузки

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

gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad0
Кстати, может кто сможет помочь? у меня вот эта последняя команда для gpart вываливается с сообщением

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

gpart: /dev/ad0s1: Operation not permitted

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1095
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: Сборка World c учетом ZFS

Непрочитанное сообщение iZEN » 2010-04-10 17:23:58

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

# zfs set readonly=off /
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix