Partitions sur un disque Solaris (format, prtvtoc, newfs)

Introduction

L'objectif de cette documentation est de présenter à travers un cas concret le redimensionnement et la création de partitions sur un disque sous Solaris 2.8 pour le montage de système de fichiers (filesystems) avec l'utilisation des commandes format, newfs etc…

Il n'y a aucun contexte SAN dans cette documentation, seulement des disques locaux sur une machine Sun Solaris SPARC 2.8 bi processeur (293 MHz).

Contexte du cas pratique

Dans le cas pratique de cette note technique, le filesystem /Software est sous dimensionné et on souhaite créer 3 filesystems avec les volumétries ci-dessous :

/Software                4 Gb
/Software/sybase        14 Gb
/Software/oracle        14 Gb
/Software/mysql         14 Gb

Le filesystem /dba/oracle sera également créé à hauteur de 35 Gb.

Liste des filesystems avec leurs capacités : commande df -k

La commande df -k liste les filesystems existants sur le système ainsi que les tailles (colonne kbytes) et le taux d'occupation (colonne capacity) de ces derniers :

root@SRVUNXFR1> df -k
Filesystem               kbytes     used    avail cap Mounted on
/dev/md/dsk/d1           494235    89278   355534 21% /
/dev/md/dsk/d2          2056211  1270628   723897 64% /usr
/proc                         0        0        0  0% /proc
fd                            0        0        0  0% /dev/fd
mnttab                        0        0        0  0% /etc/mttab
/dev/md/dsk/d4          1018191   293630   663470 31% /var
swap                    3101808       16  3101792  1% /var/run
swap                    3101816       24  3101791  1% /tmp
/dev/dsk/c3t3d0s0       4129290  2539775  1548223 63% /Software
/dev/dsk/c3t1d0s0      35007716 11639117 23018522 34% /dba
/dev/md/dsk/d3         20562111   127765  1866760  7% /opt
/dev/md/dsk/d5          9644185   473191  9074553  5% /export/home
/dev/md/dsk/d7         70014725        1 69314577  1% /dba/export/part1
/dev/dsk/c4t0d0s0      35007716       11 34657628  1% /dba/logdevices/part1
/dev/dsk/c4t2d0s0      35007716  1507508 33150131  5% /dba/datadevices/part1
/dev/dsk/c4t3d0s0      35007716    20514 34637125  1% /dba/datadevices/part2
/dev/dsk/c3t3d0s1      30879855        9 30571048  1% /dba/datadevices/part3

Ainsi, le filesystem /Software actuel a une taille de 4 Gb et ce dernier n'est pas vide (63% utilisé).

Le fichier /etc/vfstab

Les filesystems sont par ailleurs référencés dans le fichier /etc/vfstab, en voici l'image avant les modifications du cas pratique :

/etc/vfstab

#device           device            mount                  FS fsck mount mount
#to mount to fsck point type pass at boot options
/dev/md/dsk/d0    -                  -                      swap - no -
/dev/md/dsk/d1    /dev/md/rdsk/d1    /                      ufs 1 no -
/dev/md/dsk/d2    /dev/md/rdsk/d2    /usr                   ufs 1 no -
/dev/md/dsk/d4    /dev/md/rdsk/d4    /var                   ufs 1 no -
/dev/md/dsk/d3    /dev/md/rdsk/d3    /opt                   ufs 2 yes -
swap              -                  /tmp                   tmpfs - yes -
#
/dev/md/dsk/d5    /dev/md/rdsk/d5    /export/home           ufs 2 yes -
/dev/dsk/c3t3d0s0 /dev/rdsk/c3t3d0s0 /Software              ufs 2 yes -
/dev/md/dsk/d7    /dev/md/rdsk/d7    /dba/export/part1      ufs 2 yes -
#
/dev/dsk/c3t1d0s0 /dev/rdsk/c3t1d0s0 /dba                   ufs 2 yes -
/dev/dsk/c4t0d0s0 /dev/rdsk/c4t0d0s0 /dba/logdevices/part1  ufs 2 yes -
/dev/dsk/c4t2d0s0 /dev/rdsk/c4t2d0s0 /dba/datadevices/part1 ufs 2 yes -
/dev/dsk/c4t3d0s0 /dev/rdsk/c4t3d0s0 /dba/datadevices/part2 ufs 2 yes -
/dev/dsk/c3t3d0s1 /dev/rdsk/c3t3d0s1 /dba/datadevices/part3 ufs 2 yes -

Le fichier /etc/vfstab indique les types des filesystems (ufs, tmpfs, swap etc…), si ces derniers doivent être montés au démarrage de la machine (mount at boot), les points de montage (mount point) etc…

Les disques sous Solaris et les commandes format et prtvtoc

Liste des disques sous Solaris : commande format

La commande format fournit les informations sur les disques présents sur un système Unix Solaris

root@SRVUNXFR1> format

Searching for disks...done
AVAILABLE DISK SELECTIONS:
        0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@1f,4000/scsi@3/sd@0,0
        1. c2t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@4,4000/scsi@2/sd@0,0
        2. c2t3d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@4,4000/scsi@2/sd@3,0
        3. c3t0d0 <drive type unknown>
           /pci@4,4000/scsi@4/sd@0,0
        4. c3t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@1,0
        5. c3t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@2,0
        6. c3t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@3,0
        7. c4t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@0,0
        8. c4t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@1,0
        9. c4t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@2,0
        10. c4t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@3,0
Specify disk (enter its number): ^D

Pour sortir de la commande format à ce stade : taper control D

Le résultat de la commande format ci-dessus indique que la machine dispose de 11 disques dont la liste est donnée ci-dessous :


c0t0d0 c2t0d0 c3t1d0 c4t0d0
       c2t3d0 c3t2d0 c4t1d0
              c3t3d0 c4t2d0
              c3t0d0 c4t3d0

Dans cette nomenclature de disque :

c (controller) spécifie le numéro du contrôleur pour le disque. c0 indique que le disque est sur le premier contrôleur système.
t (target) numéro de device sur le contrôleur : c0t2 signifie qu'il s'agit d'un disque qui est le second device sur le premier contrôleur, un contrôleur pouvant gérér plusieurs disques.
d   LUN ou Logical Unit Number.

Par défaut sous Solaris, un disque est subdivisé au maximum en 8 partitions de taille égale ou de tailles différentes, ces partitions sont également appelées des slices : ainsi pour le disque c3t3d0, il peut y avoir jusqu'à 8 slices (ou partitions) qui sont identifiés ainsi dans la nomenclature s[0-7]:


c3t3d0s0        c3t3d0s2        c3t3d0s4        c3t3d0s6
c3t3d0s1        c3t3d0s3        c3t3d0s5        c3t3d0s7
Le slice 2 c3t3d0s2 correspond toujours au disque dans son intégralité et n'est pas exploitable en tant que partition.

Ces slices par défaut peuvent être retrouvés dans le répertoire /dev/dsk :

root@SRVUNXFR1> ls -ll /dev/dsk | grep 'c3t3d0'
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s0 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:a
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s1 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:b
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s2 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:c
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s3 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:d
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s4 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:e
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s5 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:f
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s6 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:g
lrwxrwxrwx 1 root root 40 Oct 18 2002 c3t3d0s7 -> ../../devices/pci@4,4000/scsi@4/sd@3,0:h

Liste des partitions ou slices sur un disque : commande prtvtoc

La commande prtvtoc indentifie les partitions (ou slices) sur un disque, leurs tailles et éventuellement les points de montage rattachés à ces slices. Dans tous les cas de figure, il suffit simplement de lancer la commande prtvtoc sur le slice 2 d'un disque puisque ce dernier correspond à l'intégralité d'un disque :

root@SRVUNXFR1> prtvtoc /dev/dsk/c3t3d0s2

* /dev/dsk/c3t3d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*     107 sectors/track
*      27 tracks/cylinder
*    2889 sectors/cylinder
*   24622 cylinders
*   24620 accessible cylinders
*
* Flags:
*  1: unmountable
* 10: read-only
*
*                        First       Sector      Last
* Partition Tag Flags    Sector       Count     Sector      Mount Directory
       0     0   00          0     8389656    8389655      /Software
       1     0   00    8389656    62737524   71127179      /dba/datadevices/part3
       2     5   01          0    71127180   71127179

Dans l'exemple ci-dessus, le disque c3t3d0 comprend deux partitions ou slices c3t3d0s0 et c3t3d0s1 et chaque slice est rattaché à un point de montage.

Les informations données par la commande prtvtoc sont très importantes : en effet elles permettent de déterminer la taille du disque, le nombre de partitions et les tailles des partitions. Les trois informations importantes permettant de calculer les tailles du disque et des partitions sont :


      Bytes/sector : 512
      Sectors/cylinder : 2889
      Accessible cylinders : 24620

Calculer la taille d'un cylindre en Mb :

`text{Taille d'un cylindre (Mb)}=frac(text{"sectors/cylinder"} xx text{"bytes/sector"})(1024000)`

Pour l'exemple ci-dessus :

`text{Taille d'un cylindre}=frac(2899 xx 512)(1024000) = 1,44 text{Mb}`

Calculer la taille du disque en Mb :

`text{Taille du disque (Mb)}=text{"taille d'un cylindre"} xx text{"accessible cylinders"}`

Pour l'exemple ci-dessus :

`text{Taille du disque}=1,44 xx 24260 = 35452,8 text{ Mb} ~= 35,5 text{ Gb}`

Calculer les tailles des partitions ou slice en Mb :

`text{Taille d'une partition (Mb)}=frac(text{"sector count"} xx text{"bytes/sector"})(1024000)`

Pour l'exemple ci-dessus :

`text{Taille du slice c3t3d0s0}=frac(8389656 xx 512)(1024000) ~= 4,19 text{ Gb}` `text{Taille du slice c3t3d0s1}=frac(62737524 xx 512)(1024000) ~= 31,36 text{ Gb}`

Mise en œuvre du cas pratique

Le disque c3t3d0 correspond parfaitement aux besoins : ce dernier dispose en effet de 35 Gb et la partition c3t3d0s1 correspondant au point de montage /dba/datadevices/part3 n'est plus nécessaire.

En revanche il se pose le problème du slice c3t3d0s0 correspondant à l'actuel point de montage /Software, lequel n'est pas vide et pour lequel nous ne souhaitons pas perdre les fichiers qui appartiennent à sybase. Ces fichiers devront être transvasés dans le futur filesystem /Software/sybase taillé à 14 Gb.

La cinématique de redéfinition des partitions sur le disque c3t3d0 est donc la suivante :

  • démontage du filesystem /dba/datadevices/part3 sur le slice c3t3d0s1 (31 Gb)
  • dimensionnement du slice c3t3d0s1 à 14 Gb pour le futur point de montage /Software/sybase
  • dimensionnement du slice c3t3d0s3 à 14 Gb pour le futur point de montage /Software/oracle
  • création temporaire du filesystem /new/sybase sur le slice c3t3d0s1 (14 Gb)
  • transvasement des données dans le slice /Software (slice c3t3d0s0) vers le slice c3t3d0s1 (/new/sybase)
  • démontage du filesystem /Software
  • redéfinition du filesystem /new/sybase en /Software/sybase sur le slice c3t3d0s1 (14 Gb)
  • montage du filesystem /Software/mysql sur le slice c3t3d0s0 (4 Gb)
  • montage du filesystem /Software/oracle sur le slice c3t3d0s3 (14 Gb)

Démontage du filesystem /dba/datadevices/part3

Le filesystem /dba/datadevices/part3 rattaché au slice c3t3d0s1 n'étant plus nécessaire, ce filesystem va être démonté avec la commande umount :

root@SRVUNXFR1> umount /dba/datadevices/part3

et ce filesystem est retiré du fichier /etc/vfstab :

# /dev/dsk/c3t3d0s1 /dev/rdsk/c3t3d0s1 /dba/datadevices/part3 ufs 2 yes -

Si la commande prtvtoc est relancée pour /dev/dsk/c3t3d0s2 : le point de montage /dba/datadevices/part3 n'apparaît plus sur la partition 1.

Création des filesystems /Software/sybase, /Software/mysql et /Software/oracle

Dimensionnement des slices c3t3d0s1 et c3t3d0s3

Le filesystem /Software/sybase va être créé sur le slice c3t3d0s1 taillé à 14 Gb et le filesystem /Software/oracle sera créé sur le slice c3t3d0s3 taillé à 14 Gb. Pour tailler ces partitions, la commande format est lancée :

root@SRVUNXFR1> format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
        0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@1f,4000/scsi@3/sd@0,0
        1. c2t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@4,4000/scsi@2/sd@0,0
        2. c2t3d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248>
           /pci@4,4000/scsi@2/sd@3,0
        3. c3t0d0 <drive type unknown>
           /pci@4,4000/scsi@4/sd@0,0
        4. c3t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@1,0
        5. c3t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@2,0
        6. c3t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4/sd@3,0
        7. c4t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@0,0
        8. c4t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@1,0
        9. c4t2d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@2,0
        10. c4t3d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
           /pci@4,4000/scsi@4,1/sd@3,0

Sélectionner à cette étape le disque n°6 (c3t3d0).


Specify disk (enter its number): 6
selecting c3t3d0
[disk formatted]
Warning: Current Disk has mounted partitions.

FORMAT MENU:
        disk - select a disk
        type - select (define) a disk type
        partition - select (define) a partition table
        current - describe the current disk
        format - format and analyze the disk
        repair - repair a defective sector
        label - write label to the disk
        analyze - surface analysis
        defect - defect list management
        backup - search for backup labels
        verify - read and display labels
        save - save new disk/partition definitions
        inquiry - show vendor, product and revision
        volname - set 8-character volume name
        !<cmd> - execute <cmd>, then return
        quit

format>

Un avertissement est affiché pour bien indiquer que le disque possède des partitions montées (/Software sur le slice c3t3d0s0) : Warning: Current Disk has mounted partitions.

Taper ensuite la commande partition pour accéder au sous menu partition, menu de dimensionnement des partitions du disque :


format> partition

PARTITION MENU:

        0 - change '0' partition
        1 - change '1' partition
        2 - change '2' partition
        3 - change '3' partition
        4 - change '4' partition
        5 - change '5' partition
        6 - change '6' partition
        7 - change '7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name - name the current table
        print - display the current table
        label - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit

La commande print dans le menu partition permet de visualiser la table des partitions du disque c3t3d0 :


partition> print
Current partition table (original):
Total disk cylinders available: 24620 + 2 (reserved cylinders)

Part    Tag      Flag      Cylinders     Size      Blocks
  0  unassigned  wm         0 - 2903      4.00GB (2904/0/0)   8389656
  1  unassigned  wm      2904 - 24619    29.92GB (21716/0/0) 62737524
  2      backup  wu         0 - 24619    33.92GB (24620/0/0) 71127180
  3  unassigned  wm         0             0      (0/0/0)            0
  4  unassigned  wm         0             0      (0/0/0)            0
  5  unassigned  wm         0             0      (0/0/0)            0
  6  unassigned  wm         0             0      (0/0/0)            0
  7  unassigned  wm         0             0      (0/0/0)            0

On retrouve dans la table des partitions du disque c3t3d0, les 8 partitions possibles :

  • la partition 1 c3t3d0s0 a une taille de 4Gb (elle correspond au point de montage /Software).
  • la partition 2 c3t3d0s1 a une taille de 30 Gb (elle correspond à l'ancien point de montage /dba/datadevices/part3).
  • la partition 3 c3t3d0s2 correspond au disque dans son intégralité : elle ne peut pas être modifiée et présente toujours le statut backup dans la colonne Tag de la table des partitions.
  • les 5 autres partitions présentent un statut vierge.

A présent, les partitions 1 (c3t3d0s1) et 3 (c3t3d0s3) vont être taillées à 14 Gb pour les futurs filesystems /Software/sybase et /Software/oracle.

Pour retailler la partition 1, taper 1 dans le menu partition :


partition> 1
Part    Tag       Flag      Cylinders     Size      Blocks
  1   unassigned   wm       2904 - 24619  29.92GB (21716/0/0) 62737524

Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[2904]: 2904
Enter partition size[62737524b, 21716c, 30633.56mb, 29.92gb]: 14.00gb

La taille de la partition est fixée à 14 Gb. La valeur à saisir pour l'option 'new starting cyl' correspond au dernier numéro de cylindre de la partition qui précède (sauf si il s'agit de la partition 2) + 1 : la partition qui précède la partition c3t3d0s1 étant la partition c3t3d0s0 pour laquelle le dernier numéro de cylindre est 2903, la valeur à saisir pour 'new starting cyl' est donc 2904 :


Part    Tag       Flag      Cylinders       Size         Blocks
  0   unassigned   wm        0 - 2903       4.00GB   (2904/0/0)   8389656
  1   unassigned   wm        2904 - 24619  29.92GB   (21716/0/0) 62737524

Taper à nouveau la commande print dans le menu partition pour visualiser la table des partitions du disque c3t3d0 :


partition> print
Current partition table (unnamed):
Total disk cylinders available: 24620 + 2 (reserved cylinders)

Part    Tag       Flag      Cylinders       Size         Blocks
  0 unassigned    wm         0 - 2903       4.00GB   (2904/0/0)   8389656
  1 unassigned    wm      2904 - 13066     14.00GB   (10163/0/0) 29360907
  2     backup    wu         0 - 24619     33.92GB   (24620/0/0) 71127180
  3 unassigned    wm         0              0        (0/0/0) 0
  4 unassigned    wm         0              0        (0/0/0) 0
  5 unassigned    wm         0              0        (0/0/0) 0
  6 unassigned    wm         0              0        (0/0/0) 0
  7 unassigned    wm         0              0        (0/0/0) 0

La table des partitions du disque c3t3d0 montre bien que le slice 1 (c3t3d0s1) a été retaillé à 14.00 Gb et le dernier cylindre pour ce slice est le numéro 13066. Cette valeur est importante, car pour la construction du slice 3 (c3t3d0s3), le premier cylindre sera donc 13067.

Pour tailler la partition c3t3d0s3, taper 3 dans le menu partition :


partition> 3
Part    Tag       Flag      Cylinders       Size         Blocks
  3  unassigned    wm        0              0           (0/0/0) 0

Enter partition id tag[unassigned]:
Enter partition permission flags[wm]:
Enter new starting cyl[0]: 13067
Enter partition size[0b, 0c, 0.00mb, 0.00gb]: 14.00gb

Taper à nouveau la commande print dans le menu partition pour visualiser la nouvelle table des partitions du disque c3t3d0 :


partition> print
Current partition table (unnamed):
Total disk cylinders available: 24620 + 2 (reserved cylinders)

Part    Tag       Flag      Cylinders       Size         Blocks
  0 unassigned    wm         0 - 2903       4.00GB   (2904/0/0)   8389656
  1 unassigned    wm      2904 - 13066     14.00GB   (10163/0/0) 29360907
  2     backup    wu         0 - 24619     33.92GB   (24620/0/0) 71127180
  3 unassigned    wm     13067 - 23229     14.00GB   (10163/0/0) 29360907
  4 unassigned    wm         0              0        (0/0/0) 0
  5 unassigned    wm         0              0        (0/0/0) 0
  6 unassigned    wm         0              0        (0/0/0) 0
  7 unassigned    wm         0              0        (0/0/0) 0

Pour valider définitivement la table des partitions du disque c3t3d0, taper la commande label dans le menu partition et en validant avec y à la demande de confirmation :


partition> label
Ready to label disk, continue? y

partition> quit
format > quit

Création du filesystem /Software/sybase (c3t3d0s1, 14 Gb)

Le nouveau filesystem c3t3d0s1 taillé à 14 Gb est d'abord créé avec la commande newfs :

root@SRVUNXFR1> newfs /dev/dsk/c3t3d0s1

newfs: /dev/rdsk/c3t3d0s1 last mounted as /dba/datadevices/part3
newfs: construct a new file system /dev/rdsk/c3t3d0s1: (y/n)? y
Cylinder groups must have a multiple of 16 cylinders with the given parameters
Rounded cgsize up to 256
Warning: 1 sector(s) in last cylinder unallocated
/dev/rdsk/c3t3d0s1:   29360906 sectors in 10163 cylinders of 27 tracks, 107 sectors

                14336.4MB in 318 cyl groups (32 c/g, 45.14MB/g, 5632 i/g)
super-block backups (for fsck -F ufs -o b=#) at:

La commande newfs confirme que le slice c3t3d0s1 a été monté pour la dernière fois sur le point de montage /dba/datadevices/part3.

Pour monter le filesystem /new/sybase sur le slice c3t3d0s1, le répertoire /new/sybase est créé :


root@SRVUNXFR1> cd /
root@SRVUNXFR1> mkdir new
root@SRVUNXFR1> cd /new
root@SRVUNXFR1> mkdir sybase
root@SRVUNXFR1> cd /

Ensuite le fichier /etc/vfstab est mis à jour pour attribuer le point de montage /new/sybase au slice c3t3d3s1 :

/dev/dsk/c3t3d0s1 /dev/rdsk/c3t3d0s1 /new/sybase/ ufs 2 yes -

et le filesystem /new/sybase est monté avec la commande mount :

root@SRVUNXFR1> mount /new/sybase

Toutes les données dans le filesystem /Software (c3t3d0s0) sont alors transvasées dans le filesystem /new/sybase (c3t3d0s1) avec les commandes ufsdump / ufsrestore :

root@SRVUNXFR1> ufsdump 0f - /Software | cd (/new/sybase ; ufsrestore rf -)

Toutes les données dans le filesystem /Software (c3t3d3s0) peuvent alors être supprimées et le point de montage /Software peut être démonté :


root@SRVUNXFR1> cd /Software
root@SRVUNXFR1> rm -rf *
root@SRVUNXFR1> cd /
root@SRVUNXFR1> umount /Software

A ce stade, le point de montage /new/sybase sur le slice c3t3d0s1 peut être démonté pour être remonté en /Software/sybase. Pour cela le filesystem /new/sybase est d'abord démonté avec la commande umount et le répertoire /Software/sybase est créé :

root@SRVUNXFR1> umount /new/sybase
root@SRVUNXFR1> mkdir /Software/sybase

Le fichier /etc/vfstab est ensuite modifié pour attribuer le filesystem /Software/sybase au slice /dev/dsk/c3t3d0s1 :

# /dev/dsk/c3t3d0s1 /dev/rdsk/c3t3d0s1 /new/sybase ufs 2 yes -
/dev/dsk/c3t3d0s1 /dev/rdsk/c3t3d0s1 /Software/sybase ufs 2 yes -

Le filesystem /Software/sybase peut alors être monté sur le slice c3t3d0s1 avec la commande mount :

root@SRVUNXFR1> mount /Software/sybase

Création du filesystem /Software/mysql (c3t3d0s0, 4Gb)

Pour créer le filesystem /Software/mysql sur le slice c3t3d0s0, un répertoire /Software/mysql est créé :

root@SRVUNXFR1> mkdir /Software/mysql

Le fichier /etc/vfstab est mis à jour pour affecter le point de montage /Software/mysql au slice c3t3d0s0 :

/dev/dsk/c3t3d0s0 /dev/rdsk/c3t3d0s0 /Software/mysql ufs 2 yes -

Il ne reste plus qu'à monter /Software/mysql avec la commande mount, à créer le nouvel utilisateur mysql ayant pour répertoire par défaut /Software/mysql et à réinitialiser le mot de passe du user mysql :

root@SRVUNXFR1> mount /Software/mysql
root@SRVUNXFR1> useradd -d /Software/mysql -gdba -s /bin/ksh mysql
root@SRVUNXFR1> passwd -d -f mysql
root@SRVUNXFR1> chown -R mysql:dba /Software/mysql

Création du filesystem /Software/oracle (c3t3d0s3, 14 Gb)

Pour créer le filesystem /Software/oracle sur le slice c3t3d0s3, un répertoire /Software/oracle est créé :

root@SRVUNXFR1> mkdir /Software/oracle

Le nouveau filesystem c3t3d0s3 est créé avec la commande newfs :

root@SRVUNXFR1> newfs /dev/dsk/c3t3d0s3

newfs: construct a new file system /dev/rdsk/c3t3d0s3: (y/n)? y
Cylinder groups must have a multiple of 16 cylinders with the given parameters
Rounded cgsize up to 256
Warning: 1 sector(s) in last cylinder unallocated
/dev/rdsk/c3t3d0s3: 29360906 sectors in 10163 cylinders of 27 tracks, 107 sectors

     14336.4MB in 318 cyl groups (32 c/g, 45.14MB/g, 5632 i/g)
super-block backups (for fsck -F ufs -o b=#) at:

Le fichier /etc/vfstab est mis à jour pour affecter le point de montage /Software/oracle au slice c3t3d0s3 :

/dev/dsk/c3t3d0s3 /dev/rdsk/c3t3d0s3 /Software/oracle ufs 2 yes -

Il ne reste plus qu'à monter /Software/oracle avec la commande mount, à créer le nouvel utilisateur oracle ayant pour répertoire par défaut /Software/oracle et à réinitialiser le mot de passe du compte oracle :


root@SRVUNXFR1> mount /Software/oracle
root@SRVUNXFR1> useradd -d /Software/oracle -gdba -s /bin/ksh oracle
root@SRVUNXFR1> passwd -d -f oracle
root@SRVUNXFR1> chown -R oracle:dba /Software/oracle

Création du filesystem /dba/oracle

Pour la création du filesystem /dba/oracle, le disque c4t1d0 va être envisagé. La commande prtvtoc sur le slice c4t1d0s0 du disque c4t1d0 donne les informations ci-dessous :

root@SRVUNXFR1> prtvtoc /dev/dsk/c4t1d0s0

* /dev/dsk/c4t1d0s0 partition map
*
* Dimensions:
*     512 bytes/sector
*     107 sectors/track
*      27 tracks/cylinder
*    2889 sectors/cylinder
*   24622 cylinders
*   24620 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
*                                    First      Sector      Last
* Partition    Tag       Flags       Sector      Count      Sector   Mount Directory
       0        0          00            0    71127180    71127179
       2        5          01            0    71127180    71127179

Il n'existe donc qu'une seule partition sur le disque c4t1d0 ayant une taille de 35 Gb et pour laquelle aucun point de montage n'existe.

La commande newfs peut donc être lancée sur le slice c4t1d0s0 pour créer un filesystem de 35 Gb :

root@SRVUNXFR1> newfs /dev/dsk/c4t1d0s0

newfs: /dev/rdsk/c4t1d0s0 last mounted as /export/home/sybase/TMS_V12_ASE
newfs: construct a new file system /dev/rdsk/c4t1d0s0: (y/n)? y
Cylinder groups must have a multiple of 16 cylinders with the given
parameters
Rounded cgsize up to 256
/dev/rdsk/c4t1d0s0: 71127180 sectors in 24620 cylinders of 27 tracks, 107
sectors
            34730.1MB in 770 cyl groups (32 c/g, 45.14MB/g, 5632 i/g)
super-block backups (for fsck -F ufs -o b=#) at:

La commande newfs indique que le slice c4t1d0s0 a été monté pour la dernière fois sur le point de montage /export/home/sybase/TMS_V12_ASE.

Il reste alors à mettre à jour le fichier /etc/vfstab pour indiquer que le point de montage /dba/oracle est attribué au slice c4t1d0s0 et à monter le filesystem /dba/oracle :

Fichier /etc/vfstab
/dev/dsk/c4t1d0s0 /dev/rdsk/c4t1d0s0 /dba/oracle ufs 2 yes -
root@SRVUNXFR1> mount /dba/oracle
root@SRVUNXFR1> df -k | grep '/dba/oracle'

Filesystem          kbytes       used       avail     capacity       Mounted on
/dev/dsk/c4t1d0s0   35009161        9    34659061           1%      /dba/oracle