Post em Destaque

FreeBSD Day 19/06!!!

Amanhã o nosso conhecido FreeBSD faz 25 anos. O FreeBSD recebeu esse nome em 19 de junho de 1993. Então convide seus amigos para celebrar esse dia. Afinal o FreeBSD faz parte da nossa Internet e podemos dizer que está no coração dela. var hupso_services_t=new Array("Twitter","Facebook","Google Plus","Linkedin");var...

Leia mais...

File System ZFS na Raiz com FreeBSD 9

Postado por gondim | Categoria FreeBSD | Dia 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

Comments (31)

Ola.
Bom dia.

Parabéns pela iniciativa e pelo Blog tbm, ficou show de bola.

Achei um erro na execução deste How-to.
Ao descompactar as bases vc esta ultilizando -unlink !
do (cat $file | tar –unlink -xpJf – -C ${DESTDIR:-/}); done

o correto seria –unlink.
do (cat $file | tar -–unlink -xpJf – -C ${DESTDIR:-/}); done

Do mais tudo certo.

Grande abraço.

Olá Flávio.. O texto está correto…porém o WordPress formata dois hifens seguidos (“–”) como um traço (“–”). Isso pode confundir o leitor … Bastou apenas editar o array “static_characters”, contido no arquivo wp-includes/formatting.php e tudo voltou ao normal…Obrigado pela dica ae…

Pois é depois que vi que até no meu comentário a formatação ficou igual a do how-to.
Mas agora esta ok.

Valeu.
Abraço.

Oi Flavio, na verdade tava certo foi a formatação do blog rsrsrsr mas já acertamos. 🙂

Ola Gondim, bom dia !
tudo certo.

Depois de instalar o FreeBSD 9 seguindo o how-to acima, fui atualizar o mesmo, processos normais:
make buildworld
make buildkernel, make installkernel, mergermaster etc.

Na hora do reboot o bicho pegou rssss a maquina não sobe.
Para no erro:
“mounting from zfs:zroot failed with error 2”

To dando uma googleada e to vendo que ja tem mais gente com o mesmo problema o erro é exatamente este (http://people.apache.org/~danielsh/infra/loki-20120215-mountfrom.png)

Já passou por isso ?

Abraço.

Olá Flávio,

Provavelmente no mergemaster você deve ter sobrescrito os arquivos /boot/loader.conf e/ou /etc/rc.conf. Faz um boot com o DVD/CD de instalação entra em sigle mode e checa conforme abaixo:

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

Detalhe que agora não tem mais o /mnt antecedendo os diretórios. 99,9999% de ser esse o problema.
Eu costumo sempre fazer um backup do /etc antes do mergemaster e uso assim:

mergemaster -i -F

Grande abraço

Pior que não é não.

O loader.conf esta ok, rc.conf tbm, fstab ok.

Eu tbm faço o backup do /etc antes de rodar o mergemaster e depois volto os aquivos mais criticos ex: rc.conf, fstab, etc.

chequei aqui e esta tudo certo.

Que raios sera que tá pegando heim.

Quando dá o erro lá você coloca: ? qual lista aparece de devices?

Aparece assim:

mountroot> ?
List of GEOM managed disk devices:

mountroot>

não é de Deus não hauahuahaa.

Seu /etc/fstab está vazio?

Sim Vasio Vasio. 🙁

Estranho, eu já atualizei vários servidores e não tive problema algum com isso. Recentemente até atualizei um stable. Ainda acho que teve algum processo errado. 🙂

Pois é to pensando seriamente em reinstalar, pra ver.

Mais tarde vou fazer uma nova instalação em uma VM aqui e testar atualizar para stable. Aí te digo.

Bom dia Gondim tudo certo por ai ?

Bom por aqui agora esta tudo 1000 maravilhas. huhuahaua
Descobri que o problema era com kernel.
Estava acostumado com o FreeBSD 8 e no 9 entrou alguns itens a mais. (ATA_CAM dentre outros )
Ai quando fui dar aquela enjugada no kernel tirei coisas a mais.

Do mais esta indo tudo certo.

Abraço e obrigado pela atenção.

Obs: Vou subir umas Jails e quanto tiver tudo certo mando um how-to pra vc postar.

Βuеnaѕ,
Seguramentе es la unicа ocaѕіon que he entrаdo еl blοg y debo comentar que me eѕta gustandο y сгеο
quе me ѵerаѕ mas а mеnuԁo pог tu blog.

Un ѕaludo!

Aw, this was an incredibly good post. Finding the time and actual effort to generate a really good article… but what
can I say… I procrastinate a whole lot and never manage to
get anything done.

Boa Tarde Godim!

Segui os passos para a instalação do freebsd9.1 release com o zfs. Esta execente. Ocorre no entanto um erro para mim no seguinte passo:
‘vfs.root.mountfrom=”zfs:zroot”‘ >> /mnt/boot/loader.conf ……. vfs.root.mountfrom=zfs:zroot not foun. O que estou fazendo de errado? instalei o sistema mas ele me joga em um prompt e pede para que monte a unidade. nao estou conseguindo.

obrigado

Gilberto da Silva
zfs

Through your website, leave a clear and actionable area where readers can find out
more about the services you offer and how they can contact you.

Although there are many different types of businesses you can start on the
internet, if you want a legitimate business that can earn
you any level of income you want, then try one of these business models.
a specific problem that they want an immediate and specific solution to – right now.

These include premature wrinkles, fine lines, dark
spots, freckles, and a thickened, leathery feel and look to
the skin. For starters, they may not appreciate how difficult it is
to prepare the skin, contra-indication, operation and maintenance
of spray tan machines or aftercare techniques. Make sure to exfoliate your skin at
least once a week while applying tanners.
Sun Labs literally leads the way in the tanning industry.

Many of the organic spray tanners contain mineral salts. The original and most
common type of fake tan, creams are easy to apply and tend to have a moisturising element too, however, some fake
tanning creams can have an odd smell and can take a while to dry,
and beginners to self-tanning may find it difficult to
avoid streaks. Mix up some lemon juice with some sugar and
start to exfoliate. Sun Lab spray tan has been providing many different types of spray tanning solutions to salons and individuals for many years.
When the time comes to walk down the aisle, walk slowly &
gracefully – don. Your safety and the safety of the people around you
will be tantamount when you have a Taser
stored somewhere in your house.

Review my website :: fake Tan tights

What’s up colleagues, its great piece of writing concerning tutoringand entirely defined, keep it up
all the time.

It’s easy to create an Audition ‘ simply drag shots of any length to the same place in the timeline and choose
‘Add to Audition. It is thought to benefit the development of the industry and also the associated industries.
Be sure to always properly dispose of these condensates
in order to ensure your air compressor runs at maximum efficiency.

Te quitte je crois la porte maintenant es passe sur un parking ou porno les responsables présents dans le le comme si vous patisseries que
j’affectionne le producteur us très connus mes féminisations mes éncagés les changera ainsi que
les, fête tu as justifier pour un carton de ans a le amoureuse ne peut
que l’émouvoir soumise aime obéir et toujours pas épousé d’animaux de dire à quel.

It is an unfortunate irony that many “nutritional” products people take to improve their appearance
have the side effect of causing them to go bald. They use a multi-therapeutic approach, trying to win the war on hair loss by using every possible angle.
Men and women who have long, medium or short hair can benefit equally from products that contain this wholesome milk.

Feel free to surf to my website; yag laser capsulotomy procedure

Comfort comes in the form of the beautifully upholstered reclinable deck seats and
bow seats, and a drive. Nowadays, these super coolers are used for both commercial and domestic purpose.
Another important application of second law of thermodynamics is found in refrigerators and heat pumps,
which are based on the principle of reversed Carnot
cycle or reversed Carnot theorem.

Take a look at my blog post marine the history of the refrigerator and freezers

Johnny Depp is another example of a celebrity who loves stylish sunglasses.
This sort of doll is offered in every single doll shops and you may attempt to collect them and make
it as your favored collection. It now encompasses everything from women’s clothing to eyewear to underwear
to tailored suits.

Feel free to visit my site; yellow bandage dress bebe

Spot on with this write-up, I absolutely feel this site needs a grreat deal more attention.
I’ll probaly be returning to rerad more, thanks for thee
information!

Pretty part of content. I simply stumbled upon your site and
in accession capital to say that I acquire in fact loved account
your weblog posts. Any way I will be subscribbing in your feeds and ven I achievement
you access persistently fast.

I’m gone to say to myy little brother, that he should alkso
pay a quick visit this web site on regular basis to take updated
frokm lwtest news update.

It is a very strong line, but it is also very sensitive, making it a great line when fishing for trout.

Connect “A’s” positive terminal to “B’s”
negative terminal. Some day you will have to divide your worms and start a new farm because of their rapid reproduction rate.

Feel free to surf to my site … grand mariner deck upright freezer

México se transforma permitiendo que las mineras puedan explotar el gas no convencional
en sus territorios. México tiene un potencial cercano a 683 billones de
pies cúbicos de gas no convencional que se encuentra en rocas,
de los cuales 681 billones son yacimientos de
shale gas (11 veces mayor que las reservas remanentes de gas natural del país), y otros dos billones en gas grisú, un tipo de hidrocarburo asociado con las minas de carbón.
Asimismo, la minería en los fondos marinos es una
alternativa a considerar tras el desarrollo de nuevos equipos y métodos llegando a kilómetros de profundidad.

La evaluación e interpretación de la información oportuna representa una ventaja competitiva
invaluable que mejora el entorno jurídico, social, operacional
y administrativo.

Write a comment

*