Nexenta A7

By | June 21, 2007

Este post está sendo redigido à partir de um NexentaOS, versão Alpha 7.

Até pouco tempo eu não conhecia essa “distribuição do Solaris”.

Os mais informados sabem que a Sun liberou o Solaris como software opensource há um certo tempo e pelo menos duas vertentes do SO são bem conhecidas: O Solaris propriamente dito e o OpenSolaris.

A idéia dos criadores do Nexenta foi juntar o Kernel do Solaris com o sistema de empacotamento do Debian. Jogada de mestre.

Colocar as ferramentas GNU em cima de um Kernel é a mesma coisa que o Linus fez em 1991, mas o pobre coitado na época contava apenas com o básico.

O Nexenta, por sua vez, ainda na sua versão alpha já conta com um sistema de gerenciamento de pacote “state of the art”, Gnome, Firefox, OpenOffice…

E como não se mexe em time que está ganhando, até o tema do Gnome tem as cores muito parecidas com as utilizas no Ubuntu.

As impressões como usuário final são boas, pois eu jamais poderia dizer que estou num Solaris e não no Linux.

Agora, se você já é rato velho de Linux, aqui começam as pequenas, mas irritantes diferenças:

1-) BSD vs System V

Voltando um pouco no tempo, podemos ver algumas pequenas diferenças entre as escolas BSD e System V. São poucas e são contornáveis, mas são extramente chatas para quem tem a mão mais rápida que a cabeça.

É frustante quando acontece isso:

root@myhost:~# ps aux
usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]
[ -u userlist ] [ -U userlist ] [ -G grouplist ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]
'format' is one or more of:
user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp

Mas pode ser resolvido com:

root@myhost:~# /usr/ucb/ps aux|head -5
USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND
root 284 17.0 14.47664473952 ? S 18:55:10 5:44 /usr/lib/hal/hald
root 353 7.9 0.3 2196 1340 ? R 18:55:16 0:43 /usr/lib/hal/hald-
root 285 3.0 0.4 4096 1660 ? S 18:55:10 0:50 hald-runner
root 409 2.5 6.25091231988 ? R 18:55:18 1:25 /usr/bin/X :0 -br

2-) Diferenças nos comandos:

root@myhost:~# route -n
usage: route [ -fnpqv ] [ -R ] cmd [[ - ] args ]
root@myhost:~# man route
No manual entry for route
See 'man 7 undocumented' for help when manual pages are not available.

Tudo bem, vai… netstat -nr também resolve a questão.

3-) Voltar ao manual

Responda rápido: Como impedir que um host acesse sua máquina com iptables?

E com o ipf?


root@myhost:~# ipf --help
ipf: illegal option -- help
usage: ipf [-6AdDEInoPrRsvVyzZ] [-l block|pass|nomatch|state|nat] [-cc] [-F i|o|a|s|S|u] [-f filename] [-T ]
root@myhost:~# man ipf
No manual entry for ipf
See 'man 7 undocumented' for help when manual pages are not available.

Nada que 10 minutos no Google não resolva, mas o comodismo começa a falar mais alto. Aprender um boca de coisa de novo pode não ser interessante se o sistema não for muito superior.

4-) Out of the Box
Apesar de estar usando a versão disponível no site em formato imagem do VMWare, creio que a instalação padrão segue estes moldes e não gostei da quantidade de portas e serviços abertos na máquina.
Sou a favor das implementações “tudo fechado e você abre o que quiser”, mas o pessoal da Nexenta adotou o “deixamos isso aberto e você fecha se quiser (ou conseguir)”:

TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -----------
*.* *.* 0 0 49152 0 IDLE
127.0.0.1.4999 *.* 0 0 49152 0 LISTEN
*.111 *.* 0 0 49152 0 LISTEN
*.* *.* 0 0 49152 0 IDLE
*.54099 *.* 0 0 49152 0 LISTEN
*.62323 *.* 0 0 49152 0 LISTEN
*.4045 *.* 0 0 49152 0 LISTEN
*.445 *.* 0 0 49152 0 LISTEN
*.139 *.* 0 0 49152 0 LISTEN
*.35681 *.* 0 0 49152 0 LISTEN
*.62383 *.* 0 0 49152 0 LISTEN
*.33415 *.* 0 0 49152 0 LISTEN
*.36726 *.* 0 0 49152 0 LISTEN
*.22 *.* 0 0 49152 0 LISTEN
*.25 *.* 0 0 49152 0 LISTEN
*.25 *.* 0 0 49152 0 LISTEN
*.587 *.* 0 0 49152 0 LISTEN
127.0.0.1.631 *.* 0 0 49152 0 LISTEN

5-) Habemos BASH!
Pelo menos ninguém teve a idéia de colocar o famigerado KSH como shell e o Bash está aqui. 😉

6-) Bom desempenho
Mesmo em uma máquina virtual, o Nexenta apresenta uma performance melhor do que a máquina Virtual com o Feisty que rodei há pouco tempo. Com 512MB de RAM está fazendo um bom trabalho.
Seria interessante trabalhar mais pesado com ele, numa máquina física e com mais variáveis envolvidas do que o Gnome, Mozilla, Shell e gerenciador de arquivos, mas parece que dá boa conta do recado

7-) ZFS
Pelo que tenho lido ZFS é o sistema de arquivos que todos os outros sistemas de arquivos gostariam de ser. No Linux ele está disponível só através de uma gambiarra meio pesada, devido às licenças do ZFS e a GPL serem incompatíveis, impossibilitando colocar o suporte a ele diretamente no Kernel. No Nexenta, isso não é problema. Faça bom proveito de tudo que esse FS pode te oferecer

Apesar deste post ter mais pontos negativos do que positivos, leve em consideração que ainda está em Alfa e que comodismo não é uma coisa boa!
Pessoalmente torço para o Nexenta dar certo e já tenho planos para ele, no meu futuro storage para uso pessoal. 😉

Vou continuar acompanhando de perto o desenvolvimento dele.

Nexenta: http://www.gnusolaris.org/