Recherche


imprimer pdf

ZFS sous Solaris / Open Solaris


Les commandes de base


Lister les poolzpool list
Lister les zfszfs list
Etat du poolzpool status
Lister les disquesformat < /dev/null
Statistiqueszpool iostat 1


Créer un pool ZFS en mirroir


On liste d'abord les disques disponible avec la commande 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


Nous vérifions ensuite le ou les disque(s) déjà utilisés par le root pool avec la commande zpool status :

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


Le disque c1t0d0 est déjà utilisé, nous pouvons donc utiliser les autres disques pour créer un autre pool.

Pour créer un Raid 0 (striping sans parités) :

zpool create testpool c1t2d0 c1t3d0 c1t4d0 c1t5d0

On utilise zpool status testpool pour vérifier la création du 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



Si le point de montage n'est pas spécifié dans la commande de création, le point de montage par défaut est le nom du pool. Ex : /testpool

Pour un Raid 1 (mirroring sans parités) :

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



Créer un pool ZFS en raidz (parités)


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 avec ZFS send / ZFS receive


Pour vos backups, ZFS permet d'envoyer un flux d'instantané d'un filesystem soit en local soit à distance via SSH.

En local :

On commence par créer un snapshot du filesystem et des descendances :
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 -


On effectue le backup :
zfs send -R users@today > /snaps/users-R

On détruit le zfs d'origine :
zfs destroy -r users

On restaure :
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 -


A distance :

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

Cette commande envoie les données de l'instantané users/user1@today, le reçoit dans le système de fichiers backup/user1 et crée également un instantané user1@today sur le système hote_distant. Il faut que ssh soit correctement configuré entre les 2 hôtes (droits, clés, etc...).