1

Увидел на лоре такую штуку.
Откуда скорость такая в zfs? Вообще я с ней не успел познакомиться, вот интересно стало.
Создал и смонтировал раздел:

#zpool create sdbzfs /dev/sda2
#zfs set dedup=off sdbzfs
#zfs set compress=lzjb sdbzfs
#zfs set atime=off sdbzfs
#zfs set mountpoint=legacy sdbzfs
#zfs create -o mountpoint=legacy sdbzfs/system
#mount -t zfs sdbzfs/system /mnt/zfs

sdbzfs - мой пул.
На обычном рейзере:
Решил померить скорость:

#dd if=/dev/zero of=test.img bs=8k count=256k
262144+0 записей получено
262144+0 записей отправлено
 скопировано 2147483648 байт (2,1 GB), 19,5195 c, 110 MB/c

На только созданном zfs:

#dd if=/dev/zero of=test.img bs=8k count=256k
262144+0 записей получено
262144+0 записей отправлено
 скопировано 2147483648 байт (2,1 GB), 3,64958 c, 588 MB/c

Откуда такая прыть!? ....

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

2

zenon пишет:

Откуда такая прыть!? ....

оперативки сколько и на скольо она свободна при каждом из тестов? попробуй файл размера заведомо большего размера, чем оперативка...
если в этом плане условия равны, то сдаётся мне, что у zfs свой механизм кеширования... на лоре на это намекалось...

95% процентов проблем находятся между клавиатурой и стулом.

3 (03.02.2013 17:58:36 отредактировано zenon)

Fat-Zer пишет:

у zfs свой механизм кеширования

А больше не откуда ей ускорятся, сейчас ограничу кэш ей и повторю с размерчиком побольше.
Вроде так:

echo "options zfs zfs_arc_max=512M" > /etc/modprobe.d/zfs.conf 
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

4 (03.02.2013 19:19:17 отредактировано zenon)

#dd if=/dev/zero of=test.img bs=8k count=1024k
1048576+0 записей получено
1048576+0 записей отправлено
 скопировано 8589934592 байта (8,6 GB), 14,6679 c, 586 MB/c
#dd if=/dev/zero of=test.img bs=8k count=2048k
2097152+0 записей получено
2097152+0 записей отправлено
 скопировано 17179869184 байта (17 GB), 29,1174 c, 590 MB/c
#dd if=/dev/zero of=test.img bs=8k count=4096k
4194304+0 записей получено
4194304+0 записей отправлено
 скопировано 34359738368 байт (34 GB), 57,9869 c, 593 MB/c
#dd if=/dev/zero of=test.img bs=8k count=8192k
8388608+0 записей получено
8388608+0 записей отправлено
 скопировано 68719476736 байт (69 GB), 117,426 c, 585 MB/c

Это наверное потому что /dev/zero и zfs жмет файл:

-rw-r--r-- 1 root root 64G 13-02-03 191806 test.img

Только вот раздел на котором пул zfs 28 GB.
/dev/random попробую...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

5 (03.02.2013 20:23:29 отредактировано zenon)

А вообще вот какой момент интересен, пул я создаю на разделе, и в пуле создаю mountpoints.
Точки монтирования наследуют параметры пула, но я могу для них и изменить параметры, например компрессию:

zfs set compress=gzip-9 zero/mountpoint

вроде смысл правильно я уловил?
Вот только не понял как распределяется пространство между точками монтирования в пуле.
Думаю /usr/portage, /usr/src ... и тому подобное очень даже тру разместить на zfs.
Корень как-то под вопросом, тем более собрать никак не получается, если использовать оверлей zfs

layman -o https://raw.github.com/pendor/gentoo-zfs-overlay/master/overlay.xml -f -a zfs

То с dracut проблемы, если не использовать geek-sources с флагами zfs и spl не могу собрать...
Migrating Bootable Gentoo on ZFS Root

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

6 (03.02.2013 23:14:21 отредактировано zenon)

Все-таки собрал geek-sources с юзом zfs.
Порядок наложения патчей geek-sources:
/etc/portage/kernel.conf

GEEKSOURCES_PATCHING_ORDER="aufs bfq bld branding ck fbcondecor fedora grsecurity ice imq mageia pardus pld reiser4 rt suse uksm vserver zfs"
echo 'sys-fs/zfs -kernel-builtin' >> /etc/portage/profile/package.use.mask 
echo 'sys-fs/zfs kernel-builtin' >> /etc/portage/package.use 
echo 'sys-kernel/geek-sources zfs' >> /etc/portage/package.use 
USE="zfs" emerge sys-kernel/geek-sources

http://www.linux.org.ru/forum/general/8534473
В конфиге ядра:

CONFIG_KALLSYMS=y
#zgrep CONFIG_PREEMPT /proc/config.gz
# CONFIG_PREEMPT_RCU is not set
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set

Хотя CONFIG_PREEMPT можно было в =y оставить.

Дособерусь, попробую с корнем zfs.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

7

Вдруг как-то поможет — http://www.funtoo.org/wiki/ZFS_Install_Guide

Был, был и весь вышел...

8

А компьютер какой архитектуры используете?

Был, был и весь вышел...

9 (03.02.2013 23:21:05 отредактировано zenon)

Ссылка на досуге полистать.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

10 (03.02.2013 23:27:07 отредактировано zenon)

Lupo Alberto пишет:

Вдруг как-то поможет — http://www.funtoo.org/wiki/ZFS_Install_Guide

Спс, посмотрю.

Lupo Alberto пишет:

А компьютер какой архитектуры используете?

64-bit
В общем-то ядро собрал почти, в чруте, на стабильной ветке.
На десктопе ~amd64, zfs и zfs-kmod встают и так отлично, те, в чруте собрать с корнем на zfs у меня получилось вообще без проблем.
Одно но - /etc/init.d/zfs start и modprobe zfs сработали только после

#insmod /lib64/modules/3.7.4-gentoo/addon/zfs/zfs/zfs.ko
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

11 (04.02.2013 00:49:07 отредактировано zenon)

Борьба продолжается...

#grub2-mkconfig
/usr/sbin/grub2-probe: ошибка: не удалось получить канонический путь sdbzfs/system.

ac

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

12

Эть...

# Bind over pseudo-filesystems
    $ mount -t proc none /mnt/gentoo/proc
    $ mount --rbind /dev /mnt/gentoo/dev
    $ chroot /mnt/gentoo /bin/bash
    $ env-update && source /etc/profile
    $ emerge -v =sys-boot/grub-1.99_rc99

# Setup the config file
$ cat /proc/mounts | grep -v rootfs > /etc/mtab
$ grub-mkconfig -o /boot/grub/grub.cfg

$ grub-install /dev/sdb

И после прочтения как-то так сразу:

#cat /proc/mounts | grep -v rootfs > /etc/mtab
#grub2-mkconfig -o /boot/grub2/grub.cfg
Генерируется grub.cfg …
Найден образ linux: /boot/kernel-genkernel-x86_64-3.7.5-geek
Найден образ initrd: /boot/initramfs-genkernel-x86_64-3.7.5-geek
Найден Gentoo Base System release 2.1 на /dev/sdb2
Найден Debian GNU/Linux (7.0) на /dev/sdb6
завершено
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

13 (05.02.2013 12:56:54 отредактировано zenon)

Lupo Alberto пишет:

Вдруг как-то поможет — http://www.funtoo.org/wiki/ZFS_Install_Guide

Не понял, в funtoo сразу есть zfs? Патчить не надо? Не понял...
Про конфигурацию ядра мельком есть, но ни как патчить, ни какое ядро ставить...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

14 (05.02.2013 15:39:12 отредактировано zenon)

Ох уж мне этот подрыв с zfs...
geek-sources через пень-колоду собрать удалось, но отвалилось всё usb... не понял где можно задать вопрос по этому оверлею, только английский форум нашёл хотя вроде наш чел делает.
Патчи накладываются вроде нормально на gentoo-sources.

# make -C /usr/src/linux modules_prepare 
# env EXTRA_ECONF='--enable-linux-builtin' ebuild /usr/portage/sys-kernel/spl/spl-0.6.0_rc14.ebuild clean configure
# cd /var/tmp/portage/sys-kernel/spl-0.6.0_rc14/work/spl-spl-0.6.0-rc14
# ./copy-builtin /usr/src/linux

# env EXTRA_ECONF='--with-spl=/usr/src/linux --enable-linux-builtin' ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-0.6.0_rc14.ebuild clean configure
# cd /var/tmp/portage/sys-fs/zfs-kmod-0.6.0_rc14/work/zfs-zfs-0.6.0-rc14  
# ./copy-builtin /usr/src/linux
#eselect kernel list
Available kernel symlink targets:
  [1]   linux-3.7.4-gentoo *

Конфиг ядра вот эти рекомендации выполнял:

When you get up to the kernel, make sure that you disable the CFQ scheduler, and turn on No-op (It's the default one once you disable all schedulers). The reason for this is because ZFS has its own scheduler and the CFQ one conflicts with it. Go to your kernel config, and make sure you have the following: (there should be a /usr/src/linux symlink as well)

ZLIB_INFLATE/DEFLATE must be compiled into the kernel (not as a module).
> ZLIB_INFLATE [=y], ZLIB_DEFLATE [=y]

General setup --->
> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
> () Initramfs source file(s)

[*] Enable loadable module support --->
[*] Module unloading

Device Drivers --->
> Generic Driver Options --->
>> [*] Maintain a devtmpfs filesystem to mount at /dev

Cryptographic API --->
<*> Deflate compression algorithm
<*> Zlib compression algorithm

Собралось вроде, псмотрим на работоспособность...
На счёт шедулера не понял, почему CFQ нельзя, на лоре упоминание было что оставили при сборке CFQ

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

15 (05.02.2013 18:13:41 отредактировано zenon)

gentoo-sources-3.7.4 (linux-3.7.4-gentoo) пропатчил, собрал, пока корень не на zfs, работает вроде.
Конфиг если нужен тут kernel-config-x86_64-3.7.4-gentoo-zfs-spl.
Конфиг изначально из Aptosid, плюс сказанное в предидущем посте.
..
Ещё один вариант - Gentoo Hardened ZFS rootfs with dm-crypt/luks

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

16

zenon пишет:

geek-sources через пень-колоду собрать удалось, но отвалилось всё usb... не понял где можно задать вопрос по этому оверлею, только английский форум нашёл хотя вроде наш чел делает.Патчи накладываются вроде нормально на gentoo-sources.

ЕМНИП он на #gentoo-ru бывает... покрайнемерь там geek-sources обсуждают переодически...

95% процентов проблем находятся между клавиатурой и стулом.

17

Я тоже пару дней назад поставил. Делал по funtoo-wiki, ядро geek-sources-3.7.5.
Про шедулер забыл - оставил CFQ, но оно и так работает.
Самая большая проблема была с initramfs: better-initramfs как я понял пока не поддерживает zfs, Bliss-initramfs не заработала.
В итоге собрал initramfs генкернелом и с ней всё ок.

18

zenon пишет:

Ох уж мне этот подрыв с zfs...
geek-sources через пень-колоду собрать удалось, но отвалилось всё usb... не понял где можно задать вопрос по этому оверлею, только английский форум нашёл хотя вроде наш чел делает.

Ты про оверлей init6? Спроси на лоре. Ник init_6.
Вот буквально сегодняшняя тема https://www.linux.org.ru/forum/general/8808762

19 (05.02.2013 20:49:09 отредактировано zenon)

Fat-Zer пишет:

если мне не изменяет память он на #gentoo-ru бывает...

animal пишет:

Ты про оверлей init6? Спроси на лоре. Ник init_6.

Понял.
Пока просто с патчем gentoo-sources повожусь.

animal пишет:

Самая большая проблема была с initramfs: better-initramfs как я понял пока не поддерживает zfs, Bliss-initramfs не заработала.

Там вообще объяснение все как-то через вон чё, ничерта не понял.

animal пишет:

В итоге собрал initramfs генкернелом и с ней всё ок.

Funtoo? А как boot-update подхватил сам?

boot-update 1.6.11 /
Copyright 2009-2012 Funtoo Technologies

 [use option "-l" for license info, "-h" for help]

 * Generating config for grub...

 * ERROR : (root=auto) - / entry in /etc/fstab not recognized (/ROOT/funtoo/).
 * ERROR : No matching kernels or boot entries found in /etc/boot.conf.
 * Did not complete successfully.

Хотя я пул с stage3 и фантой прибил уже...
Главную проблему zfs в ядре победил вроде.... но только вроде, надо посмотреть ещё.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

20

zenon пишет:

* ERROR : (root=auto) - / entry in /etc/fstab not recognized (/ROOT/funtoo/).
* ERROR : No matching kernels or boot entries found in /etc/boot.conf.

Нужно /etc/fstab привести в соответствие с системными реалиями и boot-update настроить.

Был, был и весь вышел...

21 (05.02.2013 20:53:46 отредактировано zenon)

Lupo Alberto пишет:

Нужно /etc/fstab привести в соответствие с системными реалиями и boot-update настроить.

Вот я и не пойму как? Для /dev/sdaX понятно, а тут?
В /dev похожего на пул ничего нет.
Во всех манах fstab выглдит примерно так

/dev/rpool/swap         none            swap            sw              0 0
rpool/ROOT              /               zfs             noatime         0 0

Хотя я фанту прибил только что... ab

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

22 (05.02.2013 20:58:01 отредактировано Lupo Alberto)

zenon пишет:

Во всех манах fstab выглдит примерно так

Насколько я понимаю, устройство rpool/ROOT даётся только в качестве примера, врядли у вас в системе оно названо так же. (У вас вроде бы было написано /ROOT/funtoo/. Это так и есть на самом деле?)

Был, был и весь вышел...

23

Lupo Alberto пишет:

Насколько я понимаю, устройство rpool/ROOT даётся только в качестве примера, врядли у вас в системе оно названо так же. (У вас вроде бы было написано /ROOT/funtoo/. Это так и есть на самом деле?)

Было именно так полчаса назао rpool - пул zfs, rpool/ROOT - точка монтирования корневого каталога, я пробовал пойти по фанто ману.
Просто я нормально собрал с zfs патчами ядро, загрузился в него на основной системе (корень не zfs) и сделал zpool destroy rpool, некоторые нюансы ранее не учел, ... например создания пула лучше /dev/disk/by-id
Начал по новой.

#zpool create -O compression=on -m none zentank /dev/disk/by-id/ata-FUJITSU_MHZ2160BH_G2_K60HT923891V-part7

... gentoo stage3 уже почти...

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

24

animal пишет:

Я тоже пару дней назад поставил. Делал по funtoo-wiki, ядро geek-sources-3.7.5.
Про шедулер забыл - оставил CFQ, но оно и так работает.
Самая большая проблема была с initramfs: better-initramfs как я понял пока не поддерживает zfs, Bliss-initramfs не заработала.
В итоге собрал initramfs генкернелом и с ней всё ок.

Если не сложно покажи /boot/grub/grub.cfg и /etc/fstab

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

25

У меня extlinux, fstab вообще не трогал.

26

animal пишет:

У меня extlinux, fstab вообще не трогал.

А /dev/rpool/ есть? В смысле пул в /dev/?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

27

Вот кусок конфига extlinux

  KERNEL /boot/bzImage-3.7.5-geek
  INITRD /boot/initramfs-genkernel-x86_64-3.7.5-geek 
  APPEND real_root=ZFS=rpool/ROOT/funtoo dozfs=force

/dev/rpool нет, зато есть /dev/zfs

//funtoo потому что делал методом копипасты из funtoo-wiki. На самом деле там гента, хоть разница не велика.

28

zenon пишет:

Все-таки собрал geek-sources с юзом zfs.

echo 'sys-fs/zfs -kernel-builtin' >> /etc/portage/profile/package.use.mask 
echo 'sys-fs/zfs kernel-builtin' >> /etc/portage/package.use 
echo 'sys-kernel/geek-sources zfs' >> /etc/portage/package.use 
USE="zfs" emerge sys-kernel/geek-sources

По-идее после этих манипуляций ядро должно собраться, zfs-kmod не нужен (ну по крайней мере у меня он не установлен)

29

animal пишет:

/dev/rpool нет, зато есть /dev/zfs

Сейчас у меня так же.

animal пишет:

По-идее после этих манипуляций ядро должно собраться

Так у меня geek-sources собрался, только usb проблемы начались - usb descripto error - кажется так было и в него загрузиться не получилось по-человечески клава и мышь не работали... поэтому и решил просто наложить патчи на gentoo-sources, а geek разбираться потом.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

30

Мне кажется тут дело в конфиге ядра, а не в патчах.