User Tools

Site Tools


zfs_appliance

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
zfs_appliance [2018/12/06 21:05] – created 91.177.234.129zfs_appliance [2019/01/30 11:32] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== ZFS_Appliance ====== +==== List the sizes and available space in all filesystems on ZFS appliance ==== 
- +  *  [[https://docs.oracle.com/cd/E51475_01/html/E52872/user_interface__cli__scripting__interacting_with_the_system.html#scrolltoc|ZFS Appliance scripting]]\\
-=====List the sizes and available space in all filesystems on ZFS appliance===== +
-  * [[https://docs.oracle.com/cd/E51475_01/html/E52872/user_interface__cli__scripting__interacting_with_the_system.html#scrolltoc|ZFS Appliance scripting]]<br />+
 Make sure to be in the root context before running this. Make sure to be in the root context before running this.
-<code>0@@</code>+<code> 
 +script 
 +       run('shares'); 
 +       projects = list(); 
 + 
 +       printf('%-40s %-10s %-10s\ 
 +', 'SHARE', 'USED', 'AVAILABLE'); 
 + 
 +       for (i = 0; i < projects.length; i++) { 
 +               run('select ' + projects[[i]]); 
 +               shares = list(); 
 + 
 +               for (j = 0; j < shares.length; j++) { 
 +                       run('select ' + shares[[j]]); 
 + 
 +                       share = projects[[i]] + '/' + shares[[j]]; 
 +                       used = run('get space_data').split(/\\s+/)[[3]]; 
 +                       avail = run('get space_available').split(/\\s+/)[[3]]; 
 + 
 +                       printf('%-40s %-10s %-10s\ 
 +', share, used, avail); 
 +                       run('cd ..'); 
 +               } 
 + 
 +               run('cd ..'); 
 +       } 
 +
 +</code>
 and the same information but "machine readable" sizes and the same information but "machine readable" sizes
-<code>1@@</code> +<code> 
-=====Create a pool===== +script 
-<code>2@@</code> +fmt = '%-40s %-15s %-15s\ 
-=====Create a ZFS filesystem / dataset in the pool===== +'; 
-<code>3@@</code>+printf(fmt, 'SHARE', 'USED', 'AVAILABLE'); 
 +run('cd /'); 
 +run('shares'); 
 +pools = choices('pool'); 
 +for (p = 0; p < pools.length; p++) { 
 +        set('pool', pools[[p]]); 
 +        projects = list(); 
 +        for (i = 0; i < projects.length; i++) { 
 +                run('select ' + projects[[i]]); 
 +                shares = list(); 
 +                for (j = 0; j < shares.length; j++) { 
 +                        run('select ' + shares[[j]]); 
 +                        share = pools[[p]] + ':' + projects[[i]] + '/' + shares[[j]]; 
 +                        printf(fmt, share, get('space_data'), 
 +                            get('space_available')); 
 +                        run('cd ..'); 
 +                } 
 +                run('cd ..'); 
 +        } 
 +
 +
 +</code> 
 +==== Create a pool ==== 
 +<code> 
 +[[sudo]] zfs create datapool mirror /dev/sdc /dev/sdd 
 +[[sudo]] zfs list 
 +</code> 
 +==== Create a ZFS filesystem / dataset in the pool ==== 
 +<code> 
 +[[sudo]] zfs create datapool/scripts -o mountpoint=/scripts</code>
 [[sudo]] zfs list -r datapool [[sudo]] zfs list -r datapool
-=====Create a snapshot of the filesystem===== +==== Create a snapshot of the filesystem ==== 
-<code>4@@</code> +<code> 
-=====Destroy a snapshot===== +[[sudo]] zfs snapshot datapool/scripts@snap1 
-<code>5@@</code> +[[sudo]] zfs list -t snapshot 
-=====Rollback a snapshot===== +</code> 
-====Create a file followed by a snapshot to preserve situation==== +==== Destroy a snapshot ==== 
-<code>6@@</code> +<code> 
-====Change the contents of the file==== +[[sudo]] zfs destroy datapool/scripts@snap1 
-<code>7@@</code> +[[sudo]] zfs list -t snapshot 
-=====Rename a snapshot===== +</code> 
-<code>8@@</code> +==== Rollback a snapshot ==== 
-=====Destroy a filesystem===== +=== Create a file followed by a snapshot to preserve situation === 
-<code>9@@</code>+<code> 
 +[[sudo]] echo "hello" >/scripts/test1.txt 
 +[[sudo]] cat /scripts/test1.txt 
 +[[sudo]] zfs snapshot datapool/scripts@before 
 +[[sudo]] zfs list -t snapshot 
 +</code> 
 +=== Change the contents of the file === 
 +<code> 
 +[[sudo]] echo "goodbee" >/scripts/test1.txt 
 +[[sudo]] cat /scripts/test1.txt 
 +=== Rollback to previous snapshot and see original file contents === 
 +<code> 
 +[[sudo]] zfs list -t snapshot 
 +[[sudo]] zfs rollback datapool/scripts@before 
 +[[sudo]] cat /scripts/test1.txt 
 +[[sudo]] zfs list -t snapshot 
 +</code> 
 +==== Rename a snapshot ==== 
 +<code> 
 +[[sudo]] zfs rename datapool/scripts@before datapool/scripts@after 
 +[[sudo]] zfs list -t snapshot 
 +</code> 
 +==== Destroy a filesystem ==== 
 +<code> 
 +[[sudo]] zfs destroy datapool/scripts 
 +[[sudo]] zfs list -r datapool 
 +</code>
 If there are snapshots of the filesystem, add -r to force the destruction If there are snapshots of the filesystem, add -r to force the destruction
-<code>10@@</code> +<code> 
-=====Create a clone===== +[[sudo]] zfs destroy -r datapool/scripts 
-Clones can only be created from a snapshot.<br /> +[[sudo]] zfs list -t snapshot 
-Snapshots cannot be deleted unless the clone is deleted.<br />+</code> 
 +==== Create a clone ==== 
 +Clones can only be created from a snapshot.\\ 
 +Snapshots cannot be deleted unless the clone is deleted.\\
 Clone the snapshot datapool/scripts@before Clone the snapshot datapool/scripts@before
-<code>11@@</code> +<code> 
-====Attempt to destroy underlying snapshot==== +[[sudo]] zfs clone datapool/scripts@before datapool/clone1 
-<code>12@@</code> +zfs list 
-====Attempt to destroy underlying snapshot==== +ls /datapool/clone1 
-<code>13@@</code> +</code> 
-====Destroy clone first==== +=== Attempt to destroy underlying snapshot === 
-<code>14@@</code> +<code> 
-====Attempt to destroy underlying snapshot again==== +</code> 
-<code>15@@</code>+=== Attempt to destroy underlying snapshot === 
 +<code> 
 +[[sudo]] zfs destroy datapool/scripts@before 
 +</code> 
 +=== Destroy clone first === 
 +<code> 
 +[[sudo]] zfs destroy datapool/clone1 
 +</code> 
 +=== Attempt to destroy underlying snapshot again === 
 +<code> 
 +[[sudo]] zfs destroy datapool/scripts@before 
 +</code> 
zfs_appliance.1544130327.txt.gz · Last modified: 2018/12/06 21:05 by 91.177.234.129

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki