FreeBSD e ZFS

Como muitos sabem, é que existe tal sistema OPERACIONAL: FreeBSD. Ruim ou bom, não importa, é além do escopo deste questionário. Os fãs de escrever algo do tipo "FreeBSD — RIP" por favor, passear em ENT e deixar esta inscrição lá.
Também, há um sistema de arquivos sob o nome de ZFS, o desenvolvimento de recém ingerido pela Sun Microsystems. O sistema de arquivos é extremamente interessante e bastante notável.

Sou o administrador do sistema ХабраХабра e em breve pretendo bastante significativo para um upgrade de servidor agricultura. Entre as idéias tenho a idéia de usar o ZFS. Recentemente comecei a testar ZFS no FreeBSD 8.1-RELEASE. O vôo normal, kernel паников não foi em nenhum momento, a velocidade satisfatória. Mas na internet são bastante diferentes opiniões, por vezes, simplesmente inadequada. O nível de abstração de sistema de arquivos é simplesmente deslumbrante, partições, você pode controlar como quiser na mosca; a velocidade de uma boa lugares mais rápido UFS2+SU, sim, e implantá-lo é muito simples. Agrada изкоробочная compressão de partições, e outros instantâneos na utilidade. Eu levantei seu servidor de teste: tudo funciona normal, sem problemas, não tinha percebido.

Mas ainda quero saber a opinião de alguém que, diretamente, se deparar com разворачиванием ZFS no combate servidor baseado no FreeBSD, e usou uma porta sob a real carga muito tempo. Sintéticos, os testes também são interessantes, mas em menor grau, pois sintéticos tais sintéticos. Sim: eu só uso estável montagem de sistema OPERACIONAL, a pesquisa refere-se mais a ele.


Answers 18:

Share:


Kasper Habtie
Answer 1

Cerca de um ano FreeBSD c ZFS no продуктиве no servidor de arquivos. A média de recuo — 1TB de tráfego por dia. Servidor: CPU — 2xOpteron 2214, Mem — 32G, o controlador — AMCC 9650SE-12M, discos Seagate série NS, de 10 a 12 peças + SSD Intel X25-M de cache do dispositivo. Nenhum de paralisação associado com ZFS por todo o tempo de funcionamento do servidor. O único problema é que a substituição de falha de discos em raidz. Faz replace disco, o pool de резилверится na unidade de novo, e o velho não sai de configuração. Encontrou-PR sobre este багу, reparada a se-lo ou não — não sei.


Jackie Vorster
Answer 2

No servidor doméstico (Cel3300, 2Gb, 4xWD EARS 2Tb; FreeBSD 8.1 amd64) uso ZFS na configuração 4xRAID1 e RAID10:

root@server:/usr/local/etc (1768) zpool status 
 pool: storage 
 estado: ONLINE 
 esfrega: none requested 
config: 

 NAME STATE READ WRITE CKSUM 
 storage ONLINE 0 0 0 
 mirror ONLINE 0 0 0 
 gpt/storage0 ONLINE 0 0 0 
 gpt/storage3 ONLINE 0 0 0 
 mirror ONLINE 0 0 0 
 gpt/storage1 ONLINE 0 0 0 
 gpt/storage2 ONLINE 0 0 0 

errors: No known data errors 

 pool: zroot 
 estado: ONLINE 
 esfrega: none requested 
config: 

 NAME STATE READ WRITE CKSUM 
 zroot ONLINE 0 0 0 
 mirror ONLINE 0 0 0 
 gpt/system0 ONLINE 0 0 0 
 gpt/system2 ONLINE 0 0 0 
 gpt/system3 ONLINE 0 0 0 
 gpt/system1 ONLINE 0 0 0 

errors: No known data errors 


Os discos são divididos assim (é feito um recuo de 2 Mbytes, no início do disco para fornecer hotfixes para problemas AdvancedFormat você WD EARS parafusos):

root@server:/usr/local/etc (1771) gpart show 
=> 34 3907029101 ada0 GPT (1.8 T) 
 34 2014 - free - (1.0 M) 
 2048 128 1 freebsd-boot (64K) 
 2176 8388608 2 freebsd-swap (4.0 G) 
 8390784 41943040 3 freebsd-zfs (20G) 
 50333824 3856695311 4 freebsd-zfs (1.8 T) 

=> 34 3907029101 ada1 GPT (1.8 T) 
 34 2014 - free - (1.0 M) 
 2048 128 1 freebsd-boot (64K) 
 2176 8388608 2 freebsd-swap (4.0 G) 
 8390784 41943040 3 freebsd-zfs (20G) 
 50333824 3856695311 4 freebsd-zfs (1.8 T) 

=> 34 3907029101 ada2 GPT (1.8 T) 
 34 2014 - free - (1.0 M) 
 2048 128 1 freebsd-boot (64K) 
 2176 8388608 2 freebsd-swap (4.0 G) 
 8390784 41943040 3 freebsd-zfs (20G) 
 50333824 3856695311 4 freebsd-zfs (1.8 T) 

=> 34 3907029101 ada3 GPT (1.8 T) 
 34 2014 - free - (1.0 M) 
 2048 128 1 freebsd-boot (64K) 
 2176 8388608 2 freebsd-swap (4.0 G) 
 8390784 41943040 3 freebsd-zfs (20G) 
 50333824 3856695311 4 freebsd-zfs (1.8 T) 


Problema: baixa velocidade de leitura e gravação, você ZFS RAID10:
Por exemplo, um registro:

dd if=/dev/zero of=/storage/test.file bs=1000M count 
1+0 records in 
1+0 records out 
1048576000 bytes transferidos in 33.316996 segundos (31472705 bytes/sec) 


Ou a leitura de:

 dd if=/storage/test.file of=/dev/nulbs=1000M count=1 
1+0 records in 
1+0 records out 
1048576000 bytes transferidos in 13.424865 segundos (78107005 bytes/sec) 


systat neste caso fica assim:

 2 users, Load 0,29 0,12 0,04 19 de outubro 14:27 

Mem:KB REAL do VIRTUAL VN PAGER PAGER SWAP 
 Tot Share Tot Share Free in out in out 
Act 1048432 7548 2771456 11732 87616 count 
All 1232436 10608 1076589k 29964 pages 
Proc: As Interrupções 
 r p d s w Csw Trp Sys Int Sof Flt cow 4770 total 
 69 8556 20k 517 776 798 20k 20581 zfod 104 em0 uhci0 
 2 ozfod 5 uhci3 ehci 
 9,7%Sys 0,0%Intr 0,0%User 0,0%Nice 90,3%Idle %ozfod 1997 cpu0: time 
| | | | | | | | | | | daefr hdac0 257 
===== prcfr 667 ahci0 259 
 dtbuf 3762 totfr 1997 cpu1: time 
Namei Name-cache-Dir cache de 100.000 desvn react 
 Calls hits % hits % 26371 numvn pdwak 
 2 2 100 24996 frevn pdpgs 
 intrn 
Disks ada0 ada1 ada2 ada3 da0 pass0 pass1 429056 wire 
KB/t 128 128 128 127 0,00 0,00 0,00 1103516 act 
tps 156 173 188 145 0 0 0 368484 inact 
MB/s 19,51 21,62 23,48 18,03 0,00 0,00 0,00 cache 
%busy 18 35 35 16 0 0 0 87616 free 
 buf 


E com os próprios discos lê bastante приемлимо:

1073741824 bytes transferidos in 9.673196 segundos (111001764 bytes/sec) 
root@server:/usr/home/dyr (1769) dd if=/dev/gpt/storage1 of=/dev/null bs=1024M count=1 
1+0 records in 
1+0 records out 
1073741824 bytes transferidos in 9.887180 segundos (108599400 bytes/sec) 
root@server:/usr/home/dyr (1770) dd if=/dev/gpt/storage2 of=/dev/null bs=1024M count=1 
1+0 records in 
1+0 records out 
1073741824 bytes transferidos in 9.736273 segundos (110282635 bytes/sec) 
root@server:/usr/home/dyr (1772) dd if=/dev/gpt/storage3 of=/dev/null bs=1024M count=1 
1+0 records in 
1+0 records out 
1073741824 bytes transferidos in 11.112231 segundos (96627025 bytes/sec) 


Qual a razão, não entendo.

vfs.zfs.l2c_only_size: 3535428608 
vfs.zfs.mfu_ghost_data_lsize: 23331328 
vfs.zfs.mfu_ghost_metadata_lsize: 20963840 
vfs.zfs.mfu_ghost_size: 44295168 
vfs.zfs.mfu_data_lsize: 0 
vfs.zfs.mfu_metadata_lsize: 0 
vfs.zfs.mfu_size: 11698176 
vfs.zfs.mru_ghost_data_lsize: 22306304 
vfs.zfs.mru_ghost_metadata_lsize: 8190464 
vfs.zfs.mru_ghost_size: 30496768 
vfs.zfs.mru_data_lsize: 512 
vfs.zfs.mru_metadata_lsize: 0 
vfs.zfs.mru_size: 20443648 
vfs.zfs.anon_data_lsize: 0 
vfs.zfs.anon_metadata_lsize: 0 
vfs.zfs.anon_size: 1048576 
vfs.zfs.l2arc_norw: 1 
vfs.zfs.l2arc_feed_again: 1 
vfs.zfs.l2arc_noprefetch: 0 
vfs.zfs.l2arc_feed_min_ms: 200 
vfs.zfs.l2arc_feed_secs: 1 
vfs.zfs.l2arc_headroom: 2 
vfs.zfs.l2arc_write_boost: 8388608 
vfs.zfs.l2arc_write_max: 8388608 
vfs.zfs.arc_meta_limit: 106137600 
vfs.zfs.arc_meta_used: 104179208 
vfs.zfs.mdcomp_disable: 0 
vfs.zfs.arc_min: 53068800 
vfs.zfs.arc_max: 424550400 
vfs.zfs.zfetch.array_rd_sz: 1048576 
vfs.zfs.zfetch.block_cap: 256 
vfs.zfs.zfetch.min_sec_reap: 2 
vfs.zfs.zfetch.max_streams: 8 
vfs.zfs.prefetch_disable: 1 
vfs.zfs.check_hostid: 1 
vfs.zfs.recover: 0 
vfs.zfs.txg.write_limit_override: 0 
vfs.zfs.txg.synctime: 5 
vfs.zfs.txg.timeout: 10 
vfs.zfs.scrub_limit: 10 
vfs.zfs.vdev.cache.bshift: 16 
vfs.zfs.vdev.cache.size: 10485760 
vfs.zfs.vdev.cache.max: 16384 
vfs.zfs.vdev.aggregation_limit: 131072 
vfs.zfs.vdev.ramp_rate: 2 
vfs.zfs.vdev.time_shift: 6 
vfs.zfs.vdev.min_pending: 4 
vfs.zfs.vdev.max_pending: 10 
vfs.zfs.cache_flush_disable: 0 
vfs.zfs.zil_disable: 0 
vfs.zfs.zio.use_uma: 0 
vfs.zfs.version.zpl: 4 
vfs.zfs.version.spa: 15 
vfs.zfs.version.dmu_backup_stream: 1 
vfs.zfs.version.dmu_backup_header: 2 
vfs.zfs.version.acl: 1 
vfs.zfs.debug: 0 
vfs.zfs.super_owner: 0 


Ainda um pouco chato a disponibilidade de opções de sistema de arquivos sharesmb e sharenfs — entende-se que eles Solaris fazem, mas em FreeBSD, pelo que eu entendo, eles simplesmente não funcionam.


PATRICIA B
Answer 3

O teste sintético: www.phoronix.com/scan.php?page=article&item=zfs_ext4_btrfs&num=3
Mas é фороникс. E teste, como de costume, pouco tem a ver com a realidade )

Na verdade, tenho um servidor com бэкапами, de backup, fica com o zfs. Por curiosidade т. к. ele não é perfeito não precisa. Bem, como funciona, o que dizer, carga de lá de especial não, interrupções de energia, não há, фря não trava.

Parece-me que, se você _действительно_ precisa as vantagens que o zfs — então, vale a pena usar. Se não é muito necessário — não vale a pena т. к. é ainda experimental.


ravi verma
Answer 4

Uso o ZFS e o FreeBSD 8.1 para backup do servidor (raidz no pacote 2TB).
A carga é pequena (ele e backup), zero problemas.


Kristin Jansen
Answer 5

Cerca de um mês estou testando o FreeBSD com ZFS como um servidor de arquivos. O acesso de cerca de 400-800 pessoas por dia. Até que todos os meses. Problemas no trabalho, não notei. Se ainda através de um mês, não terá problemas porei ZFS no arquivo principal do servidor, na esperança de um pouco de reduzir a carga.


Mena Yassin
Answer 6

Gente, e alguém já sobreviveu a queda de um dos хардов das nações ZFS sob фряхой?
Em солярисе tudo é maravilhoso, e ZFS é perfeitamente possível confiar, mas será que tudo é tão legal случись que, em фряхе?
Backup é claro que é o nosso tudo, mas está interessado em primeiro lugar, a vitalidade do sistema em caso de falha de um dos discos.


Jasmine Michelle
Answer 7

sim, em princípio, mais tolerante. não dizer, para ser mais rápido (файлопомойка), mas obviamente é mais conveniente.


GhostHunter
Answer 8

Эксплуатирую ZFS no FreeBSD 9.0-CURRENT:

  1. raidz2 a partir de 6 cds + disco para o sistema — principalmente файлопомойка, armazenamento de torrents e backup do servidor via ftp
  2. raid 1 com o arranque em ZFS — nginx+php+mysql
  3. o único disco do ZFS — nginx+php+mysql

Quando você copia um grande número de arquivos pequenos ~30G dentro de um pool, o sistema começa a тупить.
Mas aqui já tem de se reconciliar ou de alta velocidade IO ou temporários do freio, com o estouro da vfs.zfs.arctg...


Salman CK
Answer 9

Não pode. Mas o problema não é de nenhum. Ou de alguém é uma tarefa diária?
Assim é que, antes de receberem competir: "элвээм faz em полпинка!" :)


Sarah Carlson
Answer 10

No combate, tudo legal se usar instantâneos na.
Este assassino-uma característica ainda em ZFS.


Eli ndome
Answer 11

Levemente офтопик, mas não posso dizer.
Como administrador de um grande projeto deveria tomar por regra de introduzir os produtores, apenas bem testado e оттестированные tecnologia, em que bem entende, e sobre o que pode ter a sua ponderada opinião.
Uma abordagem de "aconselhar-me aqui de coisas diferentes, e o que eu заюзаю a quente" — é um beco sem saída.
ZFS no x86 — ainda que muito verde para ентерпрайз produção. Quer ZFS — pegue Солярку em T2 para vários segmentos web-negócio — mesmo. Bem, é claro e красен precisa saber Solaris ))).


Emily Moore
Answer 12

e o que é melhor o LVM, RAID over(1,5), sob линухом?


Steve Case
Answer 13

Caras, usei LVM em дебиане, agora ele está girando em фре. Faço backup do arquivo de um servidor, LVM/ZFS юзаю até que exclusivamente para a agregação de winchester mystery house de diferentes tamanhos em um disco grande.

Realmente ZFS não é capaz de redução do pool? LVM faz em полпинка através pvmove. :(

Obrigado.


Reep Jackalope
Answer 14

500+750+750 — este é o tipo de listra foi? bem, raid0 supostamente, em uma pilha de todos?

Porque se haverá mirror ou raidz, é e será ainda por 500 em cada disco (mínimo no conjunto). Neste caso, geralmente não há problemas, zpool replace бубубу


Destiny Tisby
Answer 15

Com "um monte de" uma questão separada :) Posso sugerir dica de como lidar com todos estes zpool {add,replace,anexar,desanexar,online,offline}.

Crie vários arquivos (pode ser de diferentes tamanhos, as proporções, o que é interessante).
E faça zpool _из desses файлов_ :) zpool create testpool /path/to/file10G /path/to/file20G /path/to/file20G
Bem, e tente "soltar o disco" a partir de um pool "de cinta em volta de", "em off" para "on-line", fazer o replace um para o outro. E ver, na prática, o que pode ser feito, o que não se pode. Nada сломаете, infa 100% :) E nada de parafusos não precisa de nada disso.


Krishnaiyer Vaitheeswaran
Answer 16

Tenho solaris's muito mais que um bsd, assim como hei de má conselheira :) Me seria mais fácil fazer uma solaris box. Mas lá despreparados para uma pessoa pode ser algo ainda tao com a compilação de um típico programa (embora haja pkgsrc do netbsd, considere — as mesmas portas, ou, mais geralmente opencsw — nada компилять não é necessário).

Bem, e a própria instalação mínima do SO (algo tipo o sistema Base do FreeBSD, a 200 metros sem o excesso de трэша) também vai exigir uma certa perseverança e o desejo de "поразбираться". Bem, ou como uma opção — OpenSolaris em дефолтной instalar, mas é de 4 giga "todo ano consecutivo", juntamente com иксами e outras требухой.


abd Brg
Answer 17

e que no final, tudo acabou? também estão interessados em como seria a vida de ZFS no FreeBSD
obrigado


Christian Martillo
Answer 18

Três anos se passaram. Compartilhe suas experiências?