CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
19.03.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Файловые системы

Корневая файловая система на ZFS

Предположим, что у вас диск - ad0. Создайте на нем один слайс, занимающий весь диск целиком:

# fdisk -BI /dev/ad0 
Создайте на нем разметку в стиле BSD:
# bsdlabel -wB /dev/ad0s1

Отредактируйте схему разметки так, чтобы создать маленький (256-512 Мбайт) раздел a, а остальное зарезервируйте под раздел d.

# bsdlabel -e /dev/ad0s1 

Будет создано нечто вроде этого - с разделом a на 512 МБ и резервированием всего остального d:

# /dev/ad0s1: 
8 partitions:
#     size     offset  fstype
  a:  1048576  16      unused
  c:  *        0       unused
  d:  *        *       unused

Раздел d будет использован под ZFS:

# zpool create tank ad0s1d 

Создайте каталог bootdir, куда будет монтироваться загружаемая система:

# mkdir /tank/bootdir 
# ln -s bootdir/boot /tank/boot

Создайте файловую систему UFS на /dev/ad0s1a и туда скопируйте каталог /boot/

# newfs /dev/ad0s1a 
# mount /dev/ad0s1a /tank/bootdir
# cp -Rp /boot /tank/bootdir/

Теперь не забудьте добавить строку zfs_load = "YES" в файл /tank/boot/loader.conf.

Далее, вы также должны указать системному загрузчику местоположение корневой файловой системы. Это можно сделать, добавив строку:

vfs.root.mountfrom="zfs:tank"

в файл /tank/boot/loader.conf. Или можно создать файл /tank/bootdir/etc/fstab с единственной строкой:

tank	/	zfs	rw	0	0 

Файл /etc/fstab (/tank/etc/fstab) на вашей файловой системе ZFS должен содержать строку, приведенную выше, строку:

/dev/ad0s1a  /bootdir        ufs     rw      1       1 

и все остальное, то есть swap-раздел и другие файловые системы (которые требуется монтировать при загрузке).

И наконец, нужно установить точку монтирования 'legacy' так, чтобы ZFS не пробовала монтировать это автоматически:

# zfs set mountpoint=legacy tank



Комментарии

Unisol, Sat Nov 24 00:53:39 2007:
Вобщем - "идея простая", и полезная не только для описанного, но и, например, при переразбивке дисков на удалённом сервере.

Если коротко и понятно изложить статью то получим:
- Сделать раздел /dev/ad*s[1234]a и отформатировать его в UFS. Мегабайт 20-50 вам хватит.
- В нём сделать /boot и заинсталить туда ядро с модулями, создать /etc/fstab, в котором указать расположение корневого раздела - у меня вот есть сервера с /dev/ad0s1d :)
- В новом корневом разделе сделать "настоящий" /etc/fstab, неполхо при этом бывает смонтировать куда-то раздел с ядром и сделать симлинк /boot на куда-то/boot
- для случая с zfs - полезно сделать что-то вроде "zfs set mountpoint=legacy ваш-пул"

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds