Post em Destaque

Comandos que todo bom admin deveria saber

Esse documento não é novo mas muitos que estão chegando ainda não leram e acredito que ele seja muito importante na vida de qualquer administrador de sistemas. É um guia de referência pra qualquer hora do dia ou quando necessitar. O man também é muito importante na dúvida de um comando. Aqui...

Leia mais...

Nascimento da Comunidade OpenZFS

Posted by gondim | Posted in FreeBSD, Software Livre, Tecnologia | Posted on 17-09-2013

Tags:, ,

0

Hoje está sendo anunciado o  OpenZFS: o verdadeiro sucessor open source para o projeto ZFS.

O ZFS é o sistema de arquivos mais avançado do mundo, em desenvolvimento ativo há mais de uma década. O recente desenvolvimento continuou open, e OpenZFS é o novo nome formal para esta comunidade aberta de desenvolvedores, usuários e empresas melhorando, usando e construindo no ZFS. Fundado por membros das comunidades Linux, FreeBSD, Mac OS X, e Illumos, incluindo Matt Ahrens, um dos dois autores originais do ZFS. A comunidade OpenZFS reúne mais de uma centena de desenvolvedores de software a partir dessas plataformas.

O anúncio oficial pode ser visto aqui.

Seja bem vindo e que o ZFS continue evoluindo ainda, por muitos e muitos anos.  🙂

 

 

Share Button

Palestra no VOL DAY III

Posted by gondim | Posted in FreeBSD | Posted on 22-07-2012

Tags:, , ,

1

É com orgulho e motivação que venho estrear essa nova página com uma palestra que ministrei no VOL Day III onde falei sobre HAST (ferramenta nativa do FreeBSD 9 capaz de fazer um cluster e espelhar os dados à nível de blocos entre os discos dos nós), CARP onde nós montamos nosso failover e o ZFS que é o sistema de arquivos mais avançado existente. Juntando os 3 teremos uma solução fabulosa de Alta Disponibilidade.

Palestra em PDF

Share Button

File System ZFS na Raiz com FreeBSD 9

Posted by gondim | Posted in FreeBSD | Posted on 12-04-2012

Tags:, ,

31

ZFS é um Sistema de Arquivos brilhante! Extremamente seguro, rápido e com recursos que outros filesystems gostariam de ter. O ZFS vem no FreeBSD 9.0 com uma nova atualização e novos recursos. Infelizmente no instalador do FreeBSD 9.0 ainda não temos a opção de instalação do ZFS, todavia isso pode ser contornado usando ou o PC-BSD 9.0 ou fazendo o processo manualmente. O que mostrarei aqui neste post é uma configuração feita pelo George Kontostanos em seu post original ZFS Root.

A configuração à seguir usa um esquema com GPT e swap em ZFS:

1º Para iniciar nossa instalação precisaremos ter em mãos o DVD de instalação do FreeBSD. Precisa ser o DVD que pode ser baixado daqui:

FreeBSD 9.0 64 bits
FreeBSD 9.0 32 bits

2º Começaremos então a nossa configuração. Nesse post teremos a configuração para 1 disco apenas e a opção com 2 discos, nesse caso para fazer um mirroring.

a) Criando a partição GPT e adicionando o código de inicialização do ZFS no boot no 1º disco apenas:

gpart create -s gpt ada0
gpart add -b 34 -s 94 -t freebsd-boot ada0
gpart add -t freebsd-zfs -l disk0 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

 

b) Criando a partição GPT e adicionando o código de inicialização do ZFS no boot no 2º disco para mirroring:

gpart create -s gpt ada1
gpart add -b 34 -s 94 -t freebsd-boot ada1
gpart add -t freebsd-zfs -l disk1 ada1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1

 

3º Vamos criar o pool.

a) Para um disco apenas:

gnop create -S 4096 /dev/gpt/disk0
zpool create -o altroot=/mnt -o cachefile=/var/tmp/zpool.cache zroot /dev/gpt/disk0.nop
zpool export zroot
gnop destroy /dev/gpt/disk0.nop
zpool import -o altroot=/mnt -o cachefile=/var/tmp/zpool.cache zroot

 

b) Para um segundo disco no caso de mirroring:

gnop create -S 4096 /dev/gpt/disk0
gnop create -S 4096 /dev/gpt/disk1
zpool create -o altroot=/mnt -o cachefile=/var/tmp/zpool.cache zroot mirror /dev/gpt/disk0.nop /dev/gpt/disk1.nop
zpool export zroot
gnop destroy /dev/gpt/disk0.nop
gnop destroy /dev/gpt/disk1.nop
zpool import -o altroot=/mnt -o cachefile=/var/tmp/zpool.cache zroot

 

4º Vamos setar aqui o bootfs e checksum do nosso ZFS.

zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot

 

5º Agora vamos criar nossos filesystems. Aqui vale também a imaginação e a criatividade. No meu caso fiz algumas adições mas estou mantendo a configuração original. Essa é uma das grandes vantagens do ZFS, a flexibilidade, como podem notar. Reparem que podemos comprimir um filesystem com ‘compression’, também podemos dizer se nesse filesystem podemos executar binários com ‘exec’ e ainda se vai desligar o suid com ‘setuid’. O ‘quota’, embora não apareça nesse nosso exemplo, também é muito útil para limitações de espaço.

zfs create zroot/usr
zfs create zroot/usr/home
zfs create zroot/var
zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp
zfs create -o compression=lzjb -o setuid=off zroot/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp

 

6º Criaremos nosso swap de 4Gb mas faça de acordo com a sua necessidade.

zfs create -V 4G zroot/swap
zfs set org.freebsd:swap=on zroot/swap
zfs set checksum=off zroot/swap

 

7º Abaixo a criação do link simbólico do home e acerto nas permissões do /tmp e /var/tmp.

chmod 1777 /mnt/tmp
cd /mnt ; ln -s usr/home home
chmod 1777 /mnt/var/tmp

 

8º Chegamos na instalação propriamente dita do nosso FreeBSD 9.0 na sua forma mais crua.

sh
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz ports.txz src.txz;
do (cat $file | tar –unlink -xpJf – -C ${DESTDIR:-/}); done

 

9º Essa parte agora é IMPORTANTÍSSIMA. Não esqueça de fazer ou sofrerá as conseqüências. rsrsrs

cp /var/tmp/zpool.cache /mnt/boot/zfs/zpool.cache

 

10º Aqui vamos habilitar o ZFS no boot, dizer quem vai ser nosso raiz do sistema e criar um fstab vazio. Sim vazio porque o ZFS não usa o fstab mas ele precisa existir para que não dê erro no boot do sistema.

echo ‘zfs_enable=”YES”‘ >> /mnt/etc/rc.conf
echo ‘zfs_load=”YES”‘ >> /mnt/boot/loader.conf
echo ‘vfs.root.mountfrom=”zfs:zroot”‘ >> /mnt/boot/loader.conf
touch /mnt/etc/fstab

 

Reinicie agora e assim que carregar ajuste o time zone info com tzsetup, coloque uma senha para o root com o passwd e adicione um usuário seu de acesso usando o adduser. Feito isso… be happy!

Share Button