LINUX.ORG.RU
ФорумTalks

Эксперименты над zfs под linux

 ,


3

6

Собрали вот такую радость, ос - убунту сервер, zfs-stable из ppa. Hdd - WD1000CHTZ-04JCPV0.

root@backup:~# zpool status pool
  pool: pool
 state: ONLINE
  scan: none requested
config:

	NAME                              STATE     READ WRITE CKSUM
	pool                              ONLINE       0     0     0
	  raidz1-0                        ONLINE       0     0     0
	    wwn-0x50014ee603967597-part2  ONLINE       0     0     0
	    wwn-0x50014ee604042b87-part2  ONLINE       0     0     0
	    wwn-0x50014ee658b85d69-part2  ONLINE       0     0     0
	    wwn-0x50014ee6594ed37f-part2  ONLINE       0     0     0
	    wwn-0x50014ee65959480c-part2  ONLINE       0     0     0
	    wwn-0x50014ee659596eb4-part2  ONLINE       0     0     0
	    wwn-0x50014ee6595972c7-part2  ONLINE       0     0     0
	    wwn-0x50014ee659597743-part2  ONLINE       0     0     0

errors: No known data errors
root@backup:~# zpool list
NAME   SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
pool  6.88T  6.57G  6.87T     0%  1.00x  ONLINE  -

В данный момент ради хаха и тестов высываем блюреи бондианы. Если хотите чтобы я провел на них любой тест - вещайте, проведу.

А так же отвечу на некоторые вопросы про zfs, если у кого-нибудь они еще остались.

★★★★★
Ответ на: комментарий от Novell-ch

прочитал, получается она сама пишет в конфиг самбы или нфс
не уверен, что нужно

kott ★★★★★
()
Ответ на: комментарий от Novell-ch

позноаптельно, про шары вообще убило, это конкурент не только systemd, а даже круче емакса уже.

Это удобно шопростослов нет.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от true_admin

1) Без сноса оно принципиально не взлетит?

Взлетит конечно, я для примера гибкость показывал.

2) Точно все ОС заработают? У разных реализаций разный zpool (или как там его).

Играет роль только версия zfs. Сейчас она почти везде одинаковая, +/- версия. Но основной фукнционал есть везде.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от xorik

Не понял вопроса. Чтобы систему перенести на zfs, и чтобы grub2 её грузил

Рутфс, всмысле /. Если да, то без проблем. У меня и ubuntu и gentoo с ней на / жили.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от derlafff

Стоит ставить не на RAID?

Если ссд, то да. На одинокий гордый винч смысла уже не особо, только если снапшоты нормальные нужны - тогда да.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от kott

и какой выигрыш с ссд?

Фактическая скорость записи.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от ipeacocks

http://tazhate.com/zfs.html
http://tazhate.com/ext4.html

первые результаты

root@backup:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdh1[8] sdf1[5] sdd1[3] sda1[0] sde1[4] sdc1[2] sdg1[7] sdb1[1]
      48794496 blocks super 1.2 [8/8] [UUUUUUUU]
      
unused devices: <none>
root@backup:~# zpool status
  pool: pool
 state: ONLINE
  scan: none requested
config:

	NAME                              STATE     READ WRITE CKSUM
	pool                              ONLINE       0     0     0
	  raidz1-0                        ONLINE       0     0     0
	    wwn-0x50014ee603967597-part2  ONLINE       0     0     0
	    wwn-0x50014ee604042b87-part2  ONLINE       0     0     0
	    wwn-0x50014ee658b85d69-part2  ONLINE       0     0     0
	    wwn-0x50014ee6594ed37f-part2  ONLINE       0     0     0
	    wwn-0x50014ee65959480c-part2  ONLINE       0     0     0
	    wwn-0x50014ee659596eb4-part2  ONLINE       0     0     0
	    wwn-0x50014ee6595972c7-part2  ONLINE       0     0     0
	    wwn-0x50014ee659597743-part2  ONLINE       0     0     0

Что является некорректным, ибо аналог raidz это скорее 5ый рейд. Сейчас пересоберу и проверю снова. Никакой записи кроме тестов на диски в эти моменты не шло.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от kott

и какой выигрыш с ссд?

Да и какой вапще может быть выйгрыш от cow, действительно %)

tazhate ★★★★★
() автор топика
Ответ на: комментарий от l0stparadise

Трэд не читал.
Без initrd оно работает?

Yep

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

первые результаты

А zfs и md+ext4 стоят рядом или же сначала одно ставишь, а потом другое? Если рядом то, небось, zfs стоит вначале диска :)

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

А zfs и md+ext4 стоят рядом или же сначала одно ставишь, а потом другое? Если рядом то, небось, zfs стоит вначале диска :)

Нет, как раз таки мдадм первый. Но еще раз повторюсь: сравнение не корректно. Ибо рейд1 вс рейд5 получился.
Сейчас собираю мдадмом 5ый, посмотрим на результаты.

tazhate ★★★★★
() автор топика

compression не используешь?
вот на моих говёных wd red 2tb, 6 штук в raidz2 с 'compression=off'

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
omninas-wo-c 40000M   208  99 342526  34 212022  32   594  99 402280  30 311.0   9
Latency             59673us     878ms     493ms   73976us     644ms    1525ms
Version  1.96       ------Sequential Create------ --------Random Create--------
omninas-wo-comp     -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  1   951   3 +++++ +++  2040   6  1815   3 +++++ +++  1731   3
Latency               115us     190us     195us     105us      15us     138us
'compression=on'
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
omninas-w-co 40000M   250  99 634665  64 293843  41   582  97 872815  39  6780  56
Latency             47778us     289ms     254ms     115ms     621ms   32678us
Version  1.96       ------Sequential Create------ --------Random Create--------
omninas-w-comp      -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  1   444   0 +++++ +++  1945   1 +++++ +++ +++++ +++ +++++ +++
Latency                44us     190us      64us     116us      20us     105us
а вот на том же пуле с 'compression=lz4'
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
omninas-w-co 40000M   229  99 973990  85 344386  54   588  98 1453415  67  4150  65
Latency             48439us   18099us     169ms   89118us     136ms     369ms
Version  1.96       ------Sequential Create------ --------Random Create--------
omninas-w-comp      -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  1  1161   1 +++++ +++  1713   5  1939   9 +++++ +++ +++++ +++
Latency                38us     188us     190us      82us      57us      41us

EvgGad_303 ★★★★★
()
Ответ на: комментарий от ipeacocks

вторые результаты. mdadm собран вот так:

root@backup:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid5 sdh2[7] sdg2[8] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1] sda2[0]
      5566817280 blocks super 1.2 level 5, 512k chunk, algorithm 2 [8/8] [UUUUUUUU]

И слив по скорости в 2 раза.
http://tazhate.com/zfs.html
http://tazhate.com/mdadm.html

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Народ требует назад тест, в котором ZFS в 4 раза быстрее %)

Я промазал. Это по сравнению с raid1 в 4 раза, в одной конфигурации - в два раза быстрее.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Чот маловато у тебя скорости ужс.

да нормально вроде, учитывая, что это даже не i3, а pentium g3220t и 6х 5400 винта против твоих 8ми 10к и raidz2 vs raidz1.
кста, после '-s 40000:131072' картина ещё улучшилась

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine   Size:chnk K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
omninas 40000M:128k           1195901  19 529074  30           1918111  43 559.7  32
Latency                         604ms     259ms               100ms   90122us
Version  1.96       ------Sequential Create------ --------Random Create--------
omninas-w-lz4       -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                  1   981   1 +++++ +++  2002   6 +++++ +++ +++++ +++  1660   3
Latency                90us     201us     200us      98us      20us     107us

даёшь новый тест с 'compression=lz4' на твоём барахлишке! :D

EvgGad_303 ★★★★★
()
Ответ на: комментарий от tazhate

Это по сравнению с raid1 в 4 раза, в одной конфигурации - в два раза быстрее.

И различие в 4 раза не заставляет тебя задуматься о методике тестирования?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Я вот тоже много над этим думал. Возможно, zfs умеет параллелить io. Я думаю, у md* возможности для этого более ограничены.

Правда, результат всё равно странный. Всю жизь zfs была тормозом жрущим гигабайты памяти под свои нужды и вот на тебе. Впрочем, я проверил тесты на похорониксе, оно вполне может превзойти даже ext4.

true_admin ★★★★★
()
Ответ на: комментарий от tazhate

ну ок, я ошибался. значит сливает только в простой конфигурации, без рейдов.

А какие опции монтирования были?

ipeacocks ★★★★★
()
Ответ на: комментарий от true_admin

Возможно, zfs умеет параллелить io

Чтобы IO параллелился, данные должны быть на разных устройствах. Если ZFS делает это статически, RAID должен быть хорошим приближением; если динамически - должны быть патологические паттерны.

оно вполне может превзойти даже ext4.

Наверное. Я готов даже поверить в 2 раза, но 4 - это как-то подозрительно.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

В 4 это фактически рейд1 против рейд5.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от ipeacocks

Опции монтирования никакие спецом не задавал. Тупо маунт и все.

Могу глянуть в понедельник уже.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Ты понимаешь, что она гигабайты жрет исключительно под кэш? Это настраиваемо.
Зы: почитай про direct i/o в zfs.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от ipeacocks

И да, ты ж в виртуалках все тестил? Там свои особенности.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Запусти ещё dbench с парой десятков процессов ради интереса.

baka-kun ★★★★★
()

А так же отвечу на некоторые вопросы про zfs, если у кого-нибудь они еще остались.

Допустим, захотел я zfs в своем арчике. Сделал два раздела - на корень и на хомяк.

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

Как быстро оно начнет тормозить? Как регулярно снепшоты надо удалять, чтоб оно не тормозило?

Belkrr
()
Ответ на: комментарий от Belkrr

Сделал два раздела - на корень и на хомяк.

Не два раздела, а два тома.

Как быстро оно начнет тормозить?

Когда мало места останется. А снапшотов можно сделать сколько угодно. Я вот недавно несколько тысяч снапшотов снес, перед удалением ничего не тормозило, просто надо было место освободить :)

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Когда мало места останется. А снапшотов можно сделать сколько угодно. Я вот недавно несколько тысяч снапшотов снес, перед удалением ничего не тормозило, просто надо было место освободить :)


А сколько места занимает снапшот? Какое-то сжатие там есть?

blackst0ne ★★★★★
()
Ответ на: комментарий от blackst0ne

А сколько места занимает снапшот? Какое-то сжатие там есть?

Дельту он содержит исключительно. Сжатие можно включить в самой zfs.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate


А сколько места занимает снапшот? Какое-то сжатие там есть?



Дельту он содержит исключительно. Сжатие можно включить в самой zfs.


О! Крутяк.

blackst0ne ★★★★★
()

Отмечусь с одним edge-case - если идёт чтение/запись большого кол-ва мелких файлов при почти забитом пуле(у меня пул 50G, свободного места на момент возникновения ситуации - меньше 1G) и при хреновой туче снапшотов - I/O может упасть почти в 0, что печально.

Но если снапшотов мало или до такого не доводить - то всё довольно неплохо. А, и да, scrub делал последний раз года 1,5-2 назад, может пора уже, хз.

У меня вообще извращенская конфигурация - у меня ZFS живёт поверх LVM, переехать полностью всё руки не доходят.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

scrub нужно делать раз в месяц. можно по крону.
сделай его, наверняка производительность после этого придет в норму.

у меня ZFS живёт поверх LVM

Оч зря, лишний оверхэд.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Ты забыл про то что пул надо достать из LVM, а до этого - куда-то сбэкапить(zfs send-ом скорее всего - самый безгеморройный вариант).

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

скруб то сделай, интересно жеж!

tazhate ★★★★★
() автор топика
Ответ на: комментарий от iZEN

SWAP на ZFS в Linux работает нормально?

да.

tazhate ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.