Post em Destaque

Novo Playstation com um sistema operacional baseado em FreeBSD ao invés de “feito todo em casa” como antes.

O novo PS4 deverá vir com um novo Sistema Operacional. Sim pelos dados coletados será baseado no FreeBSD devido ao suporte que tem com GPU. Sem falar outras características como estabilidade, performance e até mesmo a licença BSD que eu particularmente acredito ser muito mais interessante para a...

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