3 Configuration du système de fichiers avec ZFS

Solaris 11.2 est basé sur un système de fichiers ZFS. Les E/S de disque, le partitionnement de disque et la mise en miroir de disque (ou RAID) sont entièrement gérés par ZFS. Par conséquent, il n'est pas nécessaire de partitionner le disque (comme cela est souvent le cas avec les systèmes de fichiers UFS). Tout le disque du système doit être présenté sous forme d'une seule partition.

Votre baie de stockage est déjà configurée avec RAID, il n'est donc pas nécessaire de configurer un niveau supplémentaire de RAID avec ZFS pour votre système de fichiers ACSLS. ZFS RAID est essentiel si vous utilisez des disques JBOD simples, mais des volumes RAID supplémentaires sont optionnels si vous utilisez une baie pour disques adaptée. Les exemples ci-dessous expliquent cette approche.

Création d'un système de fichiers racine en miroir

  1. Votre plate-forme Solaris doit être configurée avec deux unités de disque physiques. Partitionnez le disque système et son unité miroir pour optimiser les performances de ZFS.

    Sur un nouveau système avant d'installer le système d'exploitation, vous pouvez partitionner chacun des unités de disque système pour que la partition 0 contienne la plupart (voire tout) de l'espace disque. ZFS fonctionne plus rapidement et de manière plus fiable s'il a accès au disque entier. Assurez-vous que la partition définie pour ZFS sur le deuxième disque a la même taille que celle définie sur le disque primaire.

    Sur un système où Solaris 11.2 est déjà installé, utilisez format ou fdisk sur le disque du système primaire pour visualiser la taille de la partition root. Formatez le deuxième disque système avec une partition de même taille. Donnez un nom au disque lorsque le formatage est terminé.

  2. Lorsque le système est opérationnel, vérifiez rpool avec la commande zpool status.

    # zpool status
      pool: rpool
      state: ONLINE
      scan: none requested
      config:
         NAME                      STATE     READ WRITE CKSUM
         rpool                     ONLINE       0     0     0
          c0t5000C5000EA48903d0s0  ONLINE       0     0     0
    
  3. Donnez un nom au deuxième disque système et déterminez son ID de périphérique.

    # echo | format
    AVAILABLE DISK SELECTIONS:
      0. c0t5000C5000EA48893d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
        /scsi_vhci/disk@g5000c5000ea48893
      1. c0t5000C5000EA48903d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848>
        /scsi_vhci/disk@g5000c5000ea48903
    

    Choisissez l'autre périphérique ayant sensiblement la même taille que le celui indiqué à l'étape 2. Dans cet exemple, l'ID du deuxième disque est c0t5000C5000EA48893d0s

  4. Ajoutez le deuxième disque à rpool.

    # zpool attach -f rpool \
           c0t5000C5000EA48903d0 \
           c0t5000C5000EA48893d0
    

    Le système commence à réargenturer l'unité mise en miroir, et copie le contenu de l'unité d'initialisation vers la deuxième unité. Cette opération prend plusieurs minutes et ne doit pas être interrompue par une réinitialisation.

    Vous pouvez surveiller la progression avec :

    zpool status -v
    

    Remarque 1 : jusqu'à la fin de la réargenture, tout état affiché indique que l'unité est en mode dégradé. L'unité reste en mode dégradé pendant que les informations sont copiées du disque primaire vers son miroir.

    Remarque 2 : si zpool attach échoue parce que le disque est identifié comme disque EFI, suivez la procédure décrite dans le document Solaris Admin: Devices and File Systems: http://docs.oracle.com/cd/E23824_01/pdf/821-1459.pdf. Cette procédure convertit le disque EFI en disque SMI comme suit :

    # format -e
      (select the drive to serve as the rpool mirror).
      format> partition
      partition> print
      partition> label
        (specify label type "0")
        Ready to label? y
      partition> modify
        (select "1" All free Hog)
        Do you wish to continue ... yes
        Free Hog Partition[6]? (specify partition "0")
        (Specify a size of "0" to the remaining partitions)
        Okay to make this current partition table? yes
        Enter table name: "c1t1d0"
        Ready to label disk? y
     partition> quit
     format> quit
    
  5. Confirmez la mise en miroir de la configuration de rpool.

    # zpool status
      pool: rpool
     state: ONLINE
      scan: resilvered 6.89G in 0h3m with 0 errors
    config:
            NAME                       STATE     READ WRITE CKSUM
            rpool                      ONLINE       0     0     0
              mirror-0                 ONLINE       0     0     0
                c0t5000C5000EA48903d0  ONLINE       0     0     0
                c0t5000C5000EA48893d0  ONLINE       0     0     0
    

    Répétez cette opération sur le noeud adjacent.

Création d'un système de fichiers mis en miroir pour l'application ACSLS

Le système de fichiers ACSLS réside dans un zpool sur la baie de stockage partagée externe. Les exemples ci-dessous utilisent une simple baie mise en miroir (RAID 1) à l'aide de deux disques uniquement. Il peut s'agir de véritables unités, mais il est plus probable que ce soient des périphériques virtuels présentés comme unités discrètes provenant de la baie de stockage connecté.

La baie de stockage est déjà configurée avec RAID, il n'est donc pas nécessaire de configurer un niveau supplémentaire de RAID avec ZFS pour votre système de fichiers ACSLS. ZFS RAID est essentiel si des disques JBOD simples sont utilisés, mais des volumes RAID supplémentaires sont optionnels si une baie pour disques adaptée est utilisée. Les exemples ci-dessous expliquent cette approche.

  1. Préparez la baie de stockage partagée.

    Dans les configurations standard, utilisez une seule unité virtuelle provenant de la baie de disques. Sinon, une configuration en miroir ZFS RAID utilise deux unités virtuelles de même taille. Il est possible d'utiliser l'outil admin avec la baie de disques ou l'utilitaire de formatage de Solaris pour partitionner les deux unités virtuelles pour qu'elles soient de même taille.

  2. Déterminez le répertoire de base que vous prévoyez pour l'installation d'ACSLS .

    ACSLS 8.4 peut être installé dans n'importe quel système de fichiers. Le système de fichiers de base choisi ne doit pas déjà exister dans le rpool du système. S'il existe déjà, vous devez détruire le système de fichiers avant de le créer sous le nouveau zpool.

    Si le répertoire de base par défaut /export/home est utilisé pour ACSLS, il faut détruire le système de fichiers /export à partir du pool root par défaut dans Solaris 11.2.

    Pour confirmer que /export/home est joint à rpool, exécutez la commande :

    # zfs list
    

    Pour détacher /export/home de rpool, commencez par sauvegarder tous les fichiers ou répertoires à conserver. Assurez-vous qu'aucun répertoire de base des utilisateurs n'est actuellement actif dans /export/home. Ensuite, utilisez zfs destroy pour tout supprimer sous /export :

    # zfs destroy -r rpool/export
    

    Répétez cette étape pour détacher rpool/export sur le noeud adjacent.

  3. Utilisez format pour identifier les noms de périphériques des unités sur la baie de disques connectés :

    # echo | format
    AVAILABLE DISK SELECTIONS:
       0. c0t5000C5000EA48893d0 <FUJITSU-MAY2073RCSUN72G-0501-68.37GB>
       /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@0,0
       /dev/chassis/SYS/HD0/disk
    1. c0t5000C5000EA48893d0 <FUJITSU-MAY2073RCSUN72G-0501-68.37GB>
       /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@1,0
       /dev/chassis/SYS/HD1/disk
    3. c0t600A0B800049EDD600000C9952CAA03Ed0 <SUN-LCSM100_F-50.00GB>
       /scsi_vhci/disk@g600a0b800049edd600000c9952caa03e
    4. c0t600A0B800049EE1A0000832652CAA899d0 <SUN-LCSM100_F-50.00GB>
       /scsi_vhci/disk@g600a0b800049ee1a0000832652caa899
    

    Dans cet exemple, il existe deux disques système et deux disques virtuels provenant de la baie de disque et dont les noms commencent par c0t600A...

  4. Créez acslspool.

    Pour une configuration standard qui utilise une baie de disques partagés, créez acslspool comme suit :

    # zpool create -m /export/home acslspool\
      /dev/dsk/c0t600A0B800049EDD600000C9952CAA03Ed0
    

    Si vous choisissez d'ajouter ZFS RAID comme suggéré à l'étape 1, créez une configuration en miroir comme suit :

    # zpool create -m /export/home acslspool mirror \
       /dev/dsk/c0t600A0B800049EDD600000C9952CAA03Ed0 \
       /dev/dsk/c0t600A0B800049EE1A0000832652CAA899d0
    
  5. Vérifiez le nouvel acslspool.

    # zpool status acslspool
      pool: acslspool
     state: ONLINE
      scan: none requested
    config:
      NAME                                       STATE   READ WRITE CKSUM
      acslspool                                  ONLINE   0     0     0
        mirror-0                                 ONLINE   0     0     0
          c0t600A0B800049EDD600000C9952CAA03Ed0  ONLINE   0     0     0
          c0t600A0B800049EE1A0000832652CAA899d0  ONLINE   0     0     0
    

    Remarque :

    Quand vous utilisez une baie de disques RAID, la configuration en miroir de ZFS est optionnelle.
  6. Créez un fichier test dans le nouveau pool et vérifiez.

    # cd /export/home
    # date > test
    # ls
    test
    # cat test
    Tue Jan  7 11:48:05 MST 2015
    
  7. Exportez le pool.

    # cd /
    # zpool export acslspool
    
  8. Ouvrez une session sur le noeud adjacent (qui est alors appelé le nouveau noeud actuel).

  9. A partir du nouveau noeud actuel, confirmez /export/home (ou le système de fichiers prévu pour ACSLS) est monté nulle part dans le pool root.

    # zfs list
    

    Si le système de fichiers existe dans rpool, répétez l'étape 2 (plus haut) sur ce noeud actuel.

  10. A partir du nouveau noeud actuel, importez acslspool et vérifiez que acslspool est présent sur ce noeud.

    # zpool import acslspool
    # zpool status
      pool: acslspool
     state: ONLINE
      scan: none requested
    config:
    NAME                                       STATE   READ WRITE CKSUM
    acslspool                                  ONLINE   0     0     0
      mirror-0                                 ONLINE   0     0     0
        c0t600A0B800049EDD600000C9952CAA03Ed0  ONLINE   0     0     0
        c0t600A0B800049EE1A0000832652CAA899d0  ONLINE   0     0     0
    

    Si l'opération zpool import échoue, essayez zpool import -f.

    Remarque :

    Quand vous utilisez une baie de disques RAID, la configuration en miroir de ZFS est optionnelle.
  11. Vérifiez que le fichier test est présent sur le nouveau noeud actuel.

    # cd /export/home
    # ls
    test
    # cat test
    Tue Jan  7 11:48:05 MST 2015