Gestion des systèmes de fichiers ZFS dans Oracle®Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Envoi et réception de flux d'instantanés ZFS complexes

Cette section décrit l'utilisation des options zfs send–I et –R pour envoyer et recevoir des flux d'instantanés plus complexes.

    Gardez les points suivants à l'esprit lors de l'envoi et de la réception de flux d'instantanés ZFS complexes :

  • Utilisez l'option zfs send –I pour envoyer tous les flux incrémentiels d'un instantané à un instantané cumulé. Vous pouvez également utiliser cette option pour envoyer un flux incrémentiel de l'instantané d'origine pour créer un clone. L'instantané d'origine doit déjà exister sur le côté récepteur afin d'accepter le flux incrémentiel.

  • Utilisez l'option zfs send –R pour envoyer un flux de réplication de tous les systèmes de fichiers descendants. Une fois le flux de réplication reçu, les propriétés, instantanés, systèmes de fichiers descendants et clones sont conservés.

  • Lorsque l'option zfs send –r est utilisée sans l'option –c et lorsque l'option zfs send –R est utilisée, les packages de flux omettent dans certains cas l'origin des clones. Pour plus d'informations, reportez-vous à la section Reconnaissance des flux d'instantané ZFS.

  • Vous pouvez utiliser les deux options pour envoyer un flux de réplication incrémentiel.

    • Les modifications des propriétés sont conservées, tout comme les opérations rename et destroy des instantanés et des systèmes de fichiers.

    • Si l'option zfs recv –F n'est pas spécifiée lors de la réception du flux de réplication, les opérations destroy du jeu de données sont ignorées. La syntaxe de zfs recv –F dans ce cas peut conserve également sa signification de récupération le cas échéant.

    • Tout comme dans les autres cas – i ou –I (autres que zfs send–R), si l'option –I est utilisée, tous les instantanés créés entre snapA et snapD sont envoyés. Si l'option –i est utilisée, seul snapD (pour tous les descendants) est envoyé.

  • Pour recevoir ces nouveaux types de flux zfs send, le système récepteur doit exécuter une version du logiciel capable de les envoyer. La version des flux est incrémentée.

    Vous pouvez cependant accéder à des flux d'anciennes versions de pool en utilisant une version plus récente du logiciel. Vous pouvez par exemple envoyer et recevoir des flux créés à l'aide des nouvelles options à partir d'un pool de la version 3. Vous devez par contre exécuter un logiciel récent pour recevoir un flux envoyé avec les nouvelles options.

Exemple 6-1  Envoi et réception de flux d'instantanés ZFS complexes

Plusieurs instantanés incrémentiels peuvent être regroupés en un seul instantané à l'aide de l'option zfs send –I. Par exemple :

# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I

Vous pouvez ensuite supprimer snapB, snapC et snapD.

# zfs destroy pool/fs@snapB
# zfs destroy pool/fs@snapC
# zfs destroy pool/fs@snapD

Pour recevoir les instantanés combinés, vous devez utiliser la commande suivante :

# zfs receive -d -F pool/fs < /snaps/fs@all-I
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
pool                      428K  16.5G    20K  /pool
pool/fs                    71K  16.5G    21K  /pool/fs
pool/fs@snapA              16K      -  18.5K  -
pool/fs@snapB              17K      -    20K  -
pool/fs@snapC              17K      -  20.5K  -
pool/fs@snapD                0      -    21K  -

Vous pouvez également utiliser la commande zfs send –I pour regrouper un instantané et un clone d'instantané en un nouveau jeu de données. Par exemple :

# zfs create pool/fs
# zfs snapshot pool/fs@snap1
# zfs clone pool/fs@snap1 pool/clone
# zfs snapshot pool/clone@snapA
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I
# zfs destroy pool/clone@snapA
# zfs destroy pool/clone
# zfs receive -F pool/clone < /snaps/fsclonesnap-I

Vous pouvez utiliser la commande zfs send –R pour répliquer un système de fichiers ZFS et tous ses systèmes de fichiers descendants, jusqu'à l'instantané nommé. Une fois ce flux reçu, les propriétés, instantanés, systèmes de fichiers descendants et clones sont conservés.

Dans l'exemple suivant, des instantanés des systèmes de fichiers utilisateur sont créés. Un flux de réplication de tous les instantanés utilisateur est créé. Les systèmes de fichiers et instantanés d'origine sont ensuite détruits et récupérés.

# 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  -
# zfs send -R users@today > /snaps/users-R
# zfs destroy -r users
# 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  -

Dans l'exemple suivant, la commande zfs send –R a été utilisée pour répliquer le système de fichiers users et ses descendants et pour envoyer le flux répliqué vers un autre pool, users2.

# zfs create users2 mirror c0t1d0 c1t1d0
# zfs receive -F -d users2 < /snaps/users-R
# zfs list
NAME                 USED  AVAIL  REFER  MOUNTPOINT
users                224K  33.2G    22K  /users
users@today             0      -    22K  -
users/user1           33K  33.2G    18K  /users/user1
users/user1@today     15K      -    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  -
users2               188K  16.5G    22K  /users2
users2@today            0      -    22K  -
users2/user1          18K  16.5G    18K  /users2/user1
users2/user1@today      0      -    18K  -
users2/user2          18K  16.5G    18K  /users2/user2
users2/user2@today      0      -    18K  -
users2/user3          18K  16.5G    18K  /users2/user3
users2/user3@today      0      -    18K  -