Blog Nerd do Liquuid

Storage ZFS em FreeBSD



Mais uma saga se inicia, a configuração de um servidor de dados rodando FreeBSD e ZFS. Faz tanto tempo que não uso FreeBSD que esqueci quase todos os macetes, mas pelo menos completei a instalação sem qualquer problema.

Aqui tenho uma máquina com 3 discos, um deles é IDE e possui 80GB de capacidade, os outros dois são SATA e tem 320 GB cada. A brincadeira é instalar o FreeBSD e montar uma partição gigante unindo os três discos , algo parecido com um split.

Logo de cara vi que não tenho bash instalado, CSH é um lixinho, e para instalar o BASH preciso de rede, então esse é o primeiro passo . Para ver quais placas de rede estão plugadas ao sistema use :

ifconfig

Dessa forma descobri que minha placa é vr0, como uso DHCP usei o seguinte comando para configurar minha rede :

dhclient vr0

Feito isso vamos instalar o bash :) No FreeBSD temos duas formas de instalar os programas, via ports e via pacotes binários. A oferta de pacotes via ports é mais abundante e flexivel, já os pacotes binários são mais rápidos de se obter. Como eu quero apenas o BASH vou usar o ports.

Usar o ports é fácil, se você sabe o nome do que procura use o :

whereis bash

Se não sabe vá em /usr/ports, e escolha a categoria do software que procuras, e dentro de cada um desses diretórios tem um diretório com o nome dos softwares, e o bash fica em /usr/ports/shells/bash. Uma vez dentro do diretório do bash basta dar o comando :

make && make install

Depois é só usar o comando chsh pra mudar o shell é se livrar do lixo do csh. :)

A parte boa é que o ZFS já vem com o FreeBSD, a ruim é que o suporte é experimental, nem sempre experimental quer dizer ruim... Mas só vou descobrir com o tempo heheh. No meu caso eu quero usar o resto do HD de 80 GB , e os dois HDs sata, para realizar essa mágica com o ZFS basta usar os comandos :

zpool create storage ad0s3 ad4 ad6

No meu caso tive que repetir o comando por causa de um warning dado pelo time do FreeBSD avisando que o ZFS ainda não está totalmente implementado. Mas aqui funcionou, totalizando 680 GB espalhados por dois discos e uma partição. E o sistema já montou o pool em /storage automaticamente.
Configuração do ZFS é isso mesmo, fazem LVM e raid parecerem piadas de mal gosto.

Agora temos que editar alguns arquivos, e devo dizer que o vi que vem no freebsd é um lixo, e se você , assim como eu não quer perder muito tempo compilando o VIM vamos instalar o pacote pronto, o comando é simples:

pkg_add -r vim

Basta substituir o "vim" pelo comando que você quer e tudo vai dar certo... ou não, no meu caso o pacote pronto do VIM exige a instalação completa do xorg, um completo desperdício de disco, já que nem monitor essa máquina via ter.

Para que nosso array de discos monte na incialização do sistema basta executar o comando :

 echo 'zfs_enable="YES"' >> /etc/rc.conf 

Como disse no início do post ZFS é experimental com o FreeBSD, então ele tem vários bugs já conhecidos, no caso do ZFS o mais grave é um que causa Kernel Panic se houver excesso de I/O, carinhosamente conhecido como “kmem_suballoc” . Pra resolver isso basta adicionar as seguintes linhas no /boot/loader.conf :

vm.kmem_size_max=”512M”
vm.kmem_size=”512M”
vfs.zfs.zil_disable=1

Se colocar mais memória doque seu computador possui ele vai crashar !

Agora é só botar o samba pra exportar o pool e já era ! Se o Mac OSX vier com uma implementação decente do ZFS, e aparentemente vai, o linux vai cair na irrelevância bwa ! ha ! ha ! ha !

Trolagens a parte, vou descrever brevemente porque o ZFS é o melhor sistema de arquivos em qualquer segmento:

  • Ele faz snapshots ! Vai fazer faxina no HD ou vai deixar seu sobrinho mexer no micro ? sem crise ! faz um snapshot e todos seus dados estão automaticamente backupeados !
  • Hd ta acabando, não tem mídia pra fazer backup ? Sem problemas, ativa a flag de compressão de dados e ganhe gigas de espaço sem fazer esforço
  • Precisa de mais partições ou de redimencionar o seu /home ? Sussa, é mais rápido do que ler essa linha
  • Comprou um HD novo ? É só espetar adicionar ao pool de discos e usar, não vai ter trabalho nem pra de particionar muito menos montar o disco novo !!!
  • Quer segurança nos dados, redundancia e velocidade ? Sussa, raidz faz isso pra você, é só ter mais de 2 discos

O único defeito do ZFS é que ele não é licenciado em GPL, então não pode ser incluido no kernel do linux com a mesma facilidade que foi absorvido pelos *BSDs ou OSX ... "Linux é livre, ZFS é livre, mas minha licença é melhor que a sua então não vou incorporar seu software" babaquice ? Sim e da grande ! Quem perde ? Todo mundo !

Ponto pra licença BSD.


1 comentários

TAGS : freebsd ports dhclient bash zfs pkg_add sysadmin

Por que o linux não domina o desktop ?



Na integra um reply de um post meu na lista do metareciclagem sobre o haiku:

Em Sex, 2007-09-28 às 18:06 -0300, Daniel Cabral Santos escreveu:
> A crítica técnica ao Linux reviveu um incômodo meu muito antigo com o
> pinguím...o que os mais sábios da lista podem dizer?
>
> http://www.guiadohardware.net/dicas/haiku.html
> _

Essa matéria tem erros :

Ubuntu não é sistema operacional é distribuição linux
PC-BSD não é sistema operacional é distribuição FreeBSD

Mac OS X não foi criado do zero, ele é baseado no NeXT Step (Interface do WindowMaker).

O Mac OS X não é totalmente fechado TODA sua base e compiladores são BSD(livre) e GPL, de proprietário mesmo é sua interface grafica e firulas que se vc quiser pode trocar pelo Xorg e usar um KDE.(inclusive com Compiz-Fusion)

MAC OS X não é hardware é software, nos computadores MAC a arquitetura é aberta como a de um PC , com a diferença que eles usam OpenFirmware (usado no OLPC também) no lugar da BIOS que é um lixo.

Na minha opinião, o cara se perdeu tentando justificar as razões que levaram à criação do Haiku mas não falou quase nada do sistema...

Em meados da decada de 90 a apple tava quebrando, o windows 95 tava bombando e o sistema MAC OS era muito ruim e feio. A situação tava tão crítica que dentro da apple existiam duas equipes rivais trabalhando no novo MAC OS competindo para não serem demitidas e sem acordos... Um novo gerente de projetos foi contratado pra escolher o melhor de cada solução mas secretamente a briga continuava... estavam todos perdidos.

A solução foi buscar uma solução fora da apple, um ex-funcionário (se não me engano) da apple estava trabalhando num sistema novo chamado BeOS e esse sistema tinha grandes chances de substituir a caca do MAC OS 8...

Mas um outro ex-funcionário (Steve Jobs) da apple também tinha um outro sistema operacional, baseado em Unix, que se chamava NexTStep, e que apesar de ser pior que o BeOS foi escolhido pela apple e no futuro se tornou o Mac OS X.

Com a escolha do NexT , só restou ao BeOS competir com o windows e o Mac OS 9 (Uma das equipes foi demitida e o OS 9 bombou junto dos imacs coloridos).. Preciso falar que ele não teve chance ?

Porém apesar do sistema rodar bem tanto em Macs quanto em PCs a falta de aplicativos matadores fez ele murchar, mas mesmo assim sua interface inovadora (com abas na barra de título, o KDE imitou direitinho), e um sistema muito parecido com o mac em termos de facilidade de uso e tals. Soma-se a isso a versatilidade do sistema em ambientes multimídia, com baixa latência um gerenciador de audio tipo Jack etc...

No fim a ultima tentativa da Be foi distribuir o sistema como puddle do windows, que rodava numa imagem de 512 Mb sem precisar particionar... Pra instalar no HD de verdade só com a versão full que era cara...

O haiku veio justamente das ameaças da PALM ao time que tava fazendo engenharia reversa,e a partir dai a galera desencanou de imitar e passou a fazer melhor... Inclusive tinha 3 brasileiros (chegou a 90 após uma matéria na revista do linux) no time que estava programando o file-system.

Haiku é bem vindo, melhor seria se tivesse compatibilidade binária com o linux como o freebsd têm... Na minha opinião o maior avanço deles nos ultimos tempos foi portar o gcc para o sistema (até então eles usavam o do BeOS), agora só falta o Xorg (se já não o fizeram)

Aproveitando, passei um tempo longe do linux, minhas maiores birras com o pinguim são :

Sistemas de pacotes (deb/RPM/tgz): Pra servidor serve, pra desktop não.
Solução: PC-BSD (FreeBSD)

Drivers: Recompilar os drivers para cada novo release do kernel seria o ideal se os fabricantes de hardware soltassem os fontes, mas infelizmente eles não querem ou não podem fazer isso. Solução, a novell fez uma camada no kernel que trata os drivers todos da mesma forma, não importa a versão do kernel nem do driver, pra mim a maior melhoria no kernel desde o suporte à modulos :) Isso vai estimular a criação de drivers pelos fabricantes de hardware, afinal terá que fazer apenas uma vez para todas as distros.

Sistema operacional voltado para supercomputadores: Sim, o linux é projetado para computadores de grande porte, desde o gerenciamento de RAM até o tratamento de multiplos processadores. O problema é que apesar do linux ser hiper eficiente em sistema de 256 processadores ele ainda apanha com 2 processadores, com uma alta latência e muita burocracia interna que faz o linux levar pau do haiku/mac/windows no quesito multimídia em tempo real. Esse problema não tem solução, quem banca o desenvolvimento do kernel do linux são grandes corporações como IBM, SONY, NOVELL, RedHat... E seus interesse são para sistemas de grande porte não desktop.

Heterogenidade das bibliotecas gráficas, não sei se isso é bom ou ruim, mas vamos pensar um pouco, um bom desktop linux tem que ter :

Gajim (instant mensseger) pyGTK
F-Spot (fotos) mono
Azureus (bittorrent) java/SWT/AWT/SWING
amarok (musica) QT
Firefox (browser) GTK/java/sei lá o que
OpenOffice (office) Java/Python/Sei lá fí
amule (edonkey) wxGTK
aMSN (msn) tk/tcl

Enfim, cada programa usa bibliotecas diferentes que ocupam disco e RAM, se todos fossem QT ou GTK daria pra rodar linux em sistemas bem mais leves em bem menos disco... Por outro lado menos aplicações seriam escritas, afinal cadê a liberdade ?

Finalizando, uso linux como desktop mas sou infeliz com ele por esses e outros motivos... Eu achei que com a entrada da canonical ela bancaria uma equipe para resolver esses problemas e não apenas tapear o usuário com firulas (que já estão no redhat/mandrake e suse a pelo menos 8 anos)... Quem sabe com a entrada da Microsoft no mercado linux ela banque uma dúzia de Kolivas pra botar o linux no páreo.

Bom, para cada uma das minhas críticas existem patchs ou soluções + ou - viáveis, mas elas normalmente não trabalham juntas e são remendos não uma solução.


2 comentários

TAGS : linux apple mac beos haiku pc-bsd ubuntu freebsd wxgtk mono tcl tk java

Posts relacionados

Delicious/liquuid/freebsd
Storage ZFS em FreeBSD :: blog do liquuid
The FreeBSD Project
How to install FreeBSD 7.0 under ZFS | ish
ZFSQuickStartGuide - FreeBSD Wiki
Wine Reviews: Wine-Reviews.net | Winehq, Bordeaux, CodeWeavers, Darwine, Cedega, PlayOnLinux, winetricks, Wine-Doors, Linux, Ubuntu, Mac, OpenSolaris, Debian, FreeBSD, Windows