Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
LAMI DBA

Articles autour des SGBD Oracle, SQL Server & PostgreSQL

ACFS - Snapshot

Hello

Dans un article précédent, nous avons vu comment créer un volume ACFS :(http://www.lami-dba.com/2018/02/rac-creer-un-volume-acfs.html). 

Ceci, étant fait, nous allons voir qu'un des avantages du volume ACFS est de pouvoir un peu comme votre virtualBox ou VmWare, créer des snapshots de votre volume, et ainsi sécuriser des opérations de modification de scripts, ou autres.

Ci-dessous le contenu de mon volume ACFS (/ora/export)

[oracle@jumbo export]$ ll

total 4128

-rw-r----- 1 oracle dba      3346432 Feb 25 20:30 expDB.dmp
-rw-r--r-- 1 oracle dba         8370 Feb 25 20:30 expDB.log
-rw-r--r-- 1 oracle oinstall      90 Feb 25 20:25 exp.par
drwx------ 2 root   root       65536 Feb 20 21:11 lost+fund
drwxr-xr-x 2 oracle oinstall    4096 Feb 25 20:19 scripts_new
drwxr-xr-x 2 oracle oinstall    4096 Feb 25 20:19 scripts_prod
-rw-r--r-- 1 oracle oinstall      44 Feb 25 20:07 test.log



Me sachant amené à intervenir sur certain fichiers, je vais donc créer un snasphot du volume.

[oracle@jumbo export]$ /sbin/acfsutil snap create snap_AvtModif /ora/export/
acfsutil snap create: Snapshot operation is complete.


Le snapshot a bien été crée. D'ailleurs, si je regarde les informations de mon volume, je peux apercevoir que les deux dernières lignes m'indiquent le nombre de snapshots et l'espace utilisé par le snapshot.

[oracle@jumbo export]$ /sbin/acfsutil info fs /ora/export/
/ora/export/
    ACFS Version: 12.2.0.1.0
    on-disk version:       40.0
    compatible.advm:       11.2.0.2.0
    ACFS compatibility:    11.2.0.2.0
    flags:        MountPoint,Available
    mount time:   Sun Feb 25 19:13:39 2018
    mount sequence number: 0
    allocation unit:       4096
    metadata block size:   512
    volumes:      1
    total size:   5368709120  (   5.00 GB )
    total free:   5211295744  (   4.85 GB )
    file entry table allocation: 49152
    primary volume: /dev/asm/export-277
        label:
        state:                 Available
        major, minor:          252, 141825
        logical sector size:   512
        size:                  5368709120  (   5.00 GB )
        free:                  5211295744  (   4.85 GB )
        metadata read I/O count:         1404
        metadata write I/O count:        1282
        total metadata bytes read:       137186816  ( 130.83 MB )
        total metadata bytes written:    1685504  (   1.61 MB )
        ADVM diskgroup:        ACFSDISK1
        ADVM resize increment: 536870912
        ADVM redundancy:       unprotected
        ADVM stripe columns:   8
        ADVM stripe width:     1048576
    number of snapshots:  1
    snapshot space usage: 49152  (  48.00 KB )


Remarque : On constate que la taille du snapshot est light. C'est le principe même du snapshot. La taille du snapshot va évoluer en fonction du différentiel des modifications.

Après quelques manipulations malencontreuses, je me rends compte que j'ai supprimé mon fichier exp.par. 

[oracle@jumbo export]$ ls -lht
total 4.1M
-rw-r----- 1 oracle dba      3.2M Feb 25 20:30 expDB.dmp
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_new
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_prod
-rw-r--r-- 1 oracle oinstall   44 Feb 25 20:07 test.log



Cependant, si j'interroge, l'état du volume au moment du snapshot, je vois  qu'il est bien présent. Encore heureux, c'était quand même le but de faire un snapshot.

[oracle@jumbo export]$
[oracle@jumbo export]$ ls -lht .ACFS/snaps/snap_AvtModif/
total 4.0M
-rw-r--r-- 1 oracle dba      8.2K Feb 25 20:30 expDB.log
-rw-r----- 1 oracle dba      3.2M Feb 25 20:30 expDB.dmp
-rw-r--r-- 1 oracle oinstall   90 Feb 25 20:25 exp.par
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_new
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_prod
-rw-r--r-- 1 oracle oinstall   44 Feb 25 20:07 test.log

Il ne me reste donc plus qu'à récuperer le fichier via un cp classique.J'inclus ici la clause -p afin de conserver les droits sur les fichiers.

[oracle@jumbo export]$
[oracle@jumbo export]$ cp -p .ACFS/snaps/snap_AvtModif/exp.par /ora/export/
[oracle@jumbo export]$

Je vous épargne la vérification que le fichier est de nouveau présent, et identique à l'état d'avant le snapshot. Ayant terminé mes opérations, il ne me reste plus qu'à ne pas oublier de supprimer le snapshot.

[oracle@jumbo export]$ /sbin/acfsutil snap delete snap_AvtModif /ora/export/
acfsutil snap delete: Snapshot operation is complete.



Dernière vérification sur l'état de mon volume ACFS.

[oracle@jumbo export]$
[oracle@jumbo export]$ /sbin/acfsutil info fs /ora/export/
/ora/export/
    ACFS Version: 12.2.0.1.0
    on-disk version:       40.0
    compatible.advm:       11.2.0.2.0
    ...
    number of snapshots:  0
    snapshot space usage: 0  ( 0.00 )
    replication status: DISABLED
    compression status: DISABLED

[oracle@jumbo export]$


On voit bien qu'il n'y a plus de snapshot en cours sur le volume.

Remarque: Rien ne m'aurait empeché de faire plusieurs snapshots sur le même volume, afin de valider des étapes intermédiaires & ainsi pouvoir revenir en arrière facilement.

Enjoy.

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article