Busca


imprimir pdf

ZFS sob Solaris / Open Solaris


Os comandos de base


Listar os poolzpool list
Listar os zfszfs list
Estado do poolzpool status
Listar os discosformat < /dev/null
Estatísticaszpool iostat 1


Criar um pool ZFS em espelho


Vamos listar então os discos disponíveis com o comando format < /dev/null

AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@0,0/pci8086,25f7@2/pci8086,350c@0,3/pci1000,1060@1/sd@0,0
1. c1t2d0
/pci@0,0/pci8086,25f7@2/pci8086,350c@0,3/pci1000,1060@1/sd@2,0
2. c1t3d0
/pci@0,0/pci8086,25f7@2/pci8086,350c@0,3/pci1000,1060@1/sd@3,0
3. c1t4d0
/pci@0,0/pci8086,25f7@2/pci8086,350c@0,3/pci1000,1060@1/sd@4,0
4. c1t5d0
/pci@0,0/pci8086,25f7@2/pci8086,350c@0,3/pci1000,1060@1/sd@5,0


Vamos verificar de seguida o ou os disco(s) já utilizados pelo pool root com o comando zpool status :

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c1t0d0s0 ONLINE 0 0 0


O disco c1t0d0 já foi utilizado, podemos então utilizar os outros discos para criar outra pool.

Para criar um Raid 0 (striping sem paridade) :

zpool create testpool c1t2d0 c1t3d0 c1t4d0 c1t5d0

Vamos utilizar zpool status testpool para verificar a criação do pool :

zpool status testpool
pool: testpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
c1t4d0 ONLINE 0 0 0
c1t5d0 ONLINE 0 0 0


Se o ponto de montagem não for especificado com o comando de criação, o ponto de montagem por defeito é o nome do pool. Ex : /testpool

Para um Raid 1 (mirroring sem paridade) :

zpool create testpool mirror c1t2d0 c1t3d0 c1t4d0 c1t5d0

zpool status testpool
pool: testpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
c1t4d0 ONLINE 0 0 0
c1t5d0 ONLINE 0 0 0



Criar um pool ZFS em raidz (paridades)


zpool create testpool raidz1 c1t2d0 c1t3d0 c1t4d0

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c1t2d0 ONLINE 0 0 0
c1t3d0 ONLINE 0 0 0
c1t4d0 ONLINE 0 0 0



Backup com o ZFS send / ZFS receive


Para os backups, ZFS permite-lhe enviar fluxo instantâneos de um sistema de arquivos local ou remotamente através de SSH.

Localmente :

Vamos começar por criar um snapshot de um sistema de ficheiros e suas dependencias :
zfs snapshot -r users@today
zfs list
NAME USED AVAIL REFER MOUNTPOINT
users 187K 33.2G 22K /users
users@today 0 - 22K -
users/user1 18K 33.2G 18K /users/user1
users/user1@today 0 - 18K -
users/user2 18K 33.2G 18K /users/user2
users/user2@today 0 - 18K -
users/user3 18K 33.2G 18K /users/user3
users/user3@today 0 - 18K -


Vamos efectuar o backup :
zfs send -R users@today > /snaps/users-R

Vamos destruir o zfs original :
zfs destroy -r users

Vamos restaurar :
zfs receive -F -d users < /snaps/users-R

zfs list
NAME USED AVAIL REFER MOUNTPOINT
users 196K 33.2G 22K /users
users@today 0 - 22K -
users/user1 18K 33.2G 18K /users/user1
users/user1@today 0 - 18K -
users/user2 18K 33.2G 18K /users/user2
users/user2@today 0 - 18K -
users/user3 18K 33.2G 18K /users/user3
users/user3@today 0 - 18K -


Remotamente :

zfs send users/user1@today | ssh host_remoto zfs recv backup/user1@today

Este comando envia os dados da imagem instantânea users/user1@today, recebe no sistema de ficheiros backup/user1 e cria igualmente uma imagem instantânea user1@today no sistema host_remoto. O ssh deverá estar configurado correctamente entre os 2 hosts (permissões, chaves, etc...).