Corso Cloud Storage Es3

From Centro Calcolo
Revision as of 06:58, 4 October 2016 by Alessandro (talk | contribs)
Jump to navigation Jump to search

Esercitazione 3

Fileset

Comandi: mmcrfileset, mmlinkfileset, mmlsfileset, mmedquota, df, dd, mmunlinkfileset, mmrmfileset

Creazione di un dependent fileset e di un independent fileset

  • Create un dependent fileset di nome fileset1_fs e mount point /gpfs/fileset1
  • Create un independent fileset di nome fileset2_fs, inode limit 2048 e mount point /gpfs/fileset2
  • Visualizzate i due fileset, ed usate df per visualizzare l'occupazione
  • Definite una quota di 10MB sul fileset fileset1_fs, ed usate nuovamente df per visualizzare l'occupazione
  • Smontate e rimuovete i due fileset


[root@gpfs-srv-0 ~]# mmcrfileset gpfs_dev fileset1_fs
Fileset fileset1_fs created with id 3 root inode 24848.

[root@gpfs-srv-0 ~]# mmlinkfileset gpfs_dev fileset1_fs -J /gpfs/fileset1
Fileset fileset1_fs linked at /gpfs/fileset1
[root@gpfs-srv-0 ~]# mmcrfileset gpfs_dev fileset2_fs --inode-space new --inode-limit 2048
Fileset fileset2_fs created with id 4 root inode 393219.

[root@gpfs-srv-0 ~]# mmlinkfileset gpfs_dev fileset2_fs -J /gpfs/fileset2
Fileset fileset2_fs linked at /gpfs/fileset2
[root@gpfs-srv-0 ~]# ls /gpfs
fileset1  fileset2

[root@gpfs-srv-0 ~]# mmlsfileset gpfs_dev
Filesets in file system 'gpfs_dev':
Name                     Status    Path                                    
root                     Linked    /gpfs                                   
fileset1_fs              Linked    /gpfs/fileset1                          
fileset2_fs              Linked    /gpfs/fileset2                          

[root@gpfs-srv-0 ~]# mmlsfileset gpfs_dev -L
Filesets in file system 'gpfs_dev':
Name                            Id      RootInode  ParentId Created                      InodeSpace      MaxInodes    AllocInodes Comment
root                             0              3        -- Sun Oct  2 12:39:29 2016        0                72192          72192 root fileset
fileset1_fs                      3          24848         0 Mon Oct  3 22:31:36 2016        0                    0              0 
fileset2_fs                      4         393219         0 Mon Oct  3 22:32:16 2016        3                 2048           2048 
[root@gpfs-srv-0 ~]# df -h /gpfs
Filesystem      Size  Used Avail Use% Mounted on
/dev/gpfs_dev    50G  8.4G   42G  17% /gpfs

[root@gpfs-srv-0 ~]# df -h /gpfs/fileset1 /gpfs/fileset2
Filesystem      Size  Used Avail Use% Mounted on
/dev/gpfs_dev    50G  8.4G   42G  17% /gpfs
/dev/gpfs_dev    50G  8.4G   42G  17% /gpfs

[root@gpfs-srv-0 ~]# mmedquota -j gpfs_dev:fileset1_fs
Attention: In file system gpfs_dev, block soft limit (10485760) for fileset fileset1_fs is too small. Suggest setting it higher than 104857600.
Attention: In file system gpfs_dev, block hard limit (10485760) for fileset fileset1_fs is too small. Suggest setting it higher than 104857600.

[root@gpfs-srv-0 ~]# df -h /gpfs/fileset1 /gpfs/fileset2
Filesystem      Size  Used Avail Use% Mounted on
/dev/gpfs_dev    10M     0   10M   0% /gpfs
/dev/gpfs_dev    50G  8.4G   42G  17% /gpfs

Snapshot

  • Popolate i due fileset fileset1_fs e fileset2_fs con il contenuto di /etc
  • Create un file da 1 GB in /gpfs/fileset1/testfile
  • Create una snapshot del file system, di nome global_snap, e navigate la snapshot
  • Visualizzate la snapshot, rimuovete il file /gpfs/fileset1/testfile e visualizzate nuovamente la snapshot
  • Create una snapshot del fileset fileset2_fs e visualizzatela
  • Rimuovete le snapshot e i due fileset (devono essere vuoti)

Comandi: mmcrsnapshot, mmlssnapshot, mmdelsnapshot, mmunlinkfileset, mmdelfileset


[root@gpfs-srv-0 ~]# cp -a /etc /gpfs/fileset1/
[root@gpfs-srv-0 ~]# cp -a /etc /gpfs/fileset2/

[root@gpfs-srv-0 ~]# mmcrsnapshot gpfs_dev global_snap
Flushing dirty data for snapshot global_snap...
Quiescing all file system operations.
Snapshot global_snap created with id 6.
[root@gpfs-srv-0 ~]# ls /gpfs/.snapshots/
global_snap
[root@gpfs-srv-0 ~]# ls /gpfs/.snapshots/global_snap/fileset1/
etc
[root@gpfs-srv-0 ~]# mmlssnapshot gpfs_dev -d -s all
Snapshots in file system gpfs_dev: [data and metadata in KB]
Directory                SnapId    Status  Created                   Fileset           Data  Metadata
global_snap              6         Valid   Tue Oct  4 06:02:59 2016                       0      8192

[root@gpfs-srv-0 ~]# rm -rf /gpfs/fileset1/etc
[root@gpfs-srv-0 ~]# cat /gpfs/fileset1/etc/redhat_release
cat: /gpfs/fileset1/etc/redhat_release: No such file or directory
[root@gpfs-srv-0 ~]# cat /gpfs/.snapshots/global_snap/fileset1/etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@gpfs-srv-0 ~]# mmlssnapshot gpfs_dev -d -s all
Snapshots in file system gpfs_dev: [data and metadata in KB]
Directory                SnapId    Status  Created                   Fileset           Data  Metadata
global_snap              6         Valid   Tue Oct  4 06:02:59 2016                   32512     24704
 
[root@gpfs-srv-0 ~]# ls /gpfs/.snapshots/global_snap/fileset2/
etc
[root@gpfs-srv-0 ~]# mmcrsnapshot gpfs_dev fileset_snap -j fileset2_fs
Flushing dirty data for snapshot fileset2_fs::fileset_snap...
Quiescing all file system operations.
Snapshot fileset2_fs::fileset_snap created with id 2.

[root@gpfs-srv-0 ~]# ls /gpfs/fileset2/.snapshots/
fileset_snap

[root@gpfs-srv-0 ~]# ls /gpfs/.snapshots/
global_snap
[root@gpfs-srv-0 ~]# mmdelsnapshot gpfs_dev global_snap
Invalidating snapshot files in global_snap...
Deleting files in snapshot global_snap...
 100.00 % complete on Mon Oct  3 23:00:04 2016  (    219648 inodes with total          6 MB data processed)
Invalidating snapshot files in global_snap/F/...
Delete snapshot global_snap complete, err = 0

[root@gpfs-srv-0 ~]# mmdelsnapshot gpfs_dev fileset_snap -j fileset2_fs
Invalidating snapshot files in fileset2_fs::fileset_snap...
Deleting files in snapshot fileset2_fs::fileset_snap...
 100.00 % complete on Mon Oct  3 23:00:25 2016  (      2048 inodes with total          1 MB data processed)
Invalidating snapshot files in fileset2_fs::fileset_snap/F/...
Delete snapshot fileset2_fs::fileset_snap complete, err = 0
[root@gpfs-srv-0 ~]# rm -rf /gpfs/fileset1/etc
[root@gpfs-srv-0 ~]# rm -rf /gpfs/fileset2/etc
[root@gpfs-srv-0 ~]# mmunlinkfileset gpfs_dev fileset1_fs
Fileset fileset1_fs unlinked.
[root@gpfs-srv-0 ~]# mmunlinkfileset gpfs_dev fileset2_fs
Fileset fileset2_fs unlinked.

[root@gpfs-srv-0 ~]# mmdelfileset gpfs_dev fileset1_fs
Checking fileset ...
Checking fileset complete.
Deleting fileset ...
Fileset fileset1_fs deleted.

[root@gpfs-srv-0 ~]# mmdelfileset gpfs_dev fileset2_fs
Checking fileset ...
Checking fileset complete.
Deleting fileset ...
Fileset fileset2_fs deleted.

Cloning

Eseguite le seguenti operazioni per verificare la funzionalita' del cloning.

Create una directory nel fileset fileset2_fs (independent), cioe' in /gpfs/fileset2/, e lavorate li'.

[root@gpfs-srv-0 gpfs]# mkdir /gpfs/fileset2/test_clone
[root@gpfs-srv-0 gpfs]# cd /gpfs/fileset2/test_clone/

[root@gpfs-srv-0 test_clone]# dd if=/dev/zero of=orig bs=1M count=4 4+0 records in 4+0 records out 4194304 bytes (4.2 MB) copied, 0.0102339 s, 410 MB/s [root@gpfs-srv-0 test_clone]# ls -lsi orig 394753 4096 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig [root@gpfs-srv-0 test_clone]# mmclone snap orig orig.snap [root@gpfs-srv-0 test_clone]# ls -lis orig orig.snap 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394754 4096 -rw-r--r--. 2 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# mmclone show orig orig.snap Parent Depth Parent inode File name


----- -------------- ---------

   no      1          394754  orig
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# mmclone copy orig.snap orig.copy [root@gpfs-srv-0 test_clone]# ls -lis * 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:38 orig.copy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# mmclone show * Parent Depth Parent inode File name


----- -------------- ---------

   no      1          394754  orig
   no      1          394754  orig.copy
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# dd if=/dev/zero bs=1M count=1 >> orig.copy 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.00402996 s, 260 MB/s [root@gpfs-srv-0 test_clone]# ls -lis * 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 0 -rw-r--r--. 1 root root 5242880 Oct 4 06:39 orig.copy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# ls -lis * 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 1024 -rw-r--r--. 1 root root 5242880 Oct 4 06:39 orig.copy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# echo OK >> orig.snap -bash: orig.snap: Read-only file system [root@gpfs-srv-0 test_clone]# mmclone snap orig.copy [root@gpfs-srv-0 test_clone]# mmclone show * Parent Depth Parent inode File name


----- -------------- ---------

   no      1          394754  orig
  yes      1          394754  orig.copy
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# mmclone copy orig.copy orig.newcopy [root@gpfs-srv-0 test_clone]# ls -lis * 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 1024 -rw-r--r--. 2 root root 5242880 Oct 4 06:39 orig.copy 394756 0 -rw-r--r--. 1 root root 5242880 Oct 4 06:41 orig.newcopy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# mmclone show * Parent Depth Parent inode File name


----- -------------- ---------

   no      1          394754  orig
  yes      1          394754  orig.copy
   no      2          394755  orig.newcopy
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# dd if=/dev/zero bs=1M count=2 >> orig.newcopy 2+0 records in 2+0 records out 2097152 bytes (2.1 MB) copied, 0.00638342 s, 329 MB/s [root@gpfs-srv-0 test_clone]# ls -lis * 394753 0 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 1024 -rw-r--r--. 2 root root 5242880 Oct 4 06:39 orig.copy 394756 2048 -rw-r--r--. 1 root root 7340032 Oct 4 06:41 orig.newcopy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# mmclone split orig [root@gpfs-srv-0 test_clone]# mmclone show orig Parent Depth Parent inode File name


----- -------------- ---------

                              orig

[root@gpfs-srv-0 test_clone]# ls -lis orig 394753 4096 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig [root@gpfs-srv-0 test_clone]# mmclone show * Parent Depth Parent inode File name


----- -------------- ---------

                              orig
  yes      1          394754  orig.copy
   no      2          394755  orig.newcopy
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# ls -lis * 394753 4096 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 1024 -rw-r--r--. 2 root root 5242880 Oct 4 06:39 orig.copy 394756 2048 -rw-r--r--. 1 root root 7340032 Oct 4 06:41 orig.newcopy 394754 4096 -rw-r--r--. 2 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# mmclone redirect orig.newcopy [root@gpfs-srv-0 test_clone]# mmclone show * Parent Depth Parent inode File name


----- -------------- ---------

                              orig
  yes      1          394754  orig.copy
   no      1          394754  orig.newcopy
  yes      0                  orig.snap

[root@gpfs-srv-0 test_clone]# ls -lis * 394753 4096 -rw-r--r--. 1 root root 4194304 Oct 4 06:36 orig 394755 1024 -rw-r--r--. 1 root root 5242880 Oct 4 06:39 orig.copy 394756 3072 -rw-r--r--. 1 root root 7340032 Oct 4 06:41 orig.newcopy 394754 4096 -rw-r--r--. 3 root root 4194304 Oct 4 06:37 orig.snap [root@gpfs-srv-0 test_clone]# rm -f orig.copy [root@gpfs-srv-0 test_clone]# [root@gpfs-srv-0 test_clone]# [root@gpfs-srv-0 test_clone]# rm -f orig.snap rm: cannot remove ‘orig.snap’: Read-only file system [root@gpfs-srv-0 test_clone]# mv orig.newcopy /gpfs/ [root@gpfs-srv-0 test_clone]# ls -lis /gpfs/orig.newcopy 60331 0 -rw-r--r--. 1 root root 7340032 Oct 4 06:41 /gpfs/orig.newcopy [root@gpfs-srv-0 test_clone]# ls -lis /gpfs/orig.newcopy 60331 0 -rw-r--r--. 1 root root 7340032 Oct 4 06:41 /gpfs/orig.newcopy [root@gpfs-srv-0 test_clone]# rm orig.snap rm: remove regular file ‘orig.snap’? y [root@gpfs-srv-0 test_clone]# ls orig [root@gpfs-srv-0 test_clone]# rm -f orig /gpfs/orig.newcopy



Creazione e configurazione del fileset per i servizi Glance, Cinder e Nova di OpenStack

Creazione di un fileset

Create e montate un fileset in gpfs_dev con le seguenti caratteristiche:

  • fileset name: openstack_fs
  • fileset inode space: new (independent fileset)
  • junction point: /gpfs/openstack

Comandi: mmcrfileset, mmlsfileset, mmlinkfileset

[root@gpfs-srv-0 ~]# mmcrfileset gpfs_dev openstack_fs --inode-space new
Fileset openstack_fs created with id 1 root inode 131075.

[root@gpfs-srv-0 ~]# ls /gpfs/

[root@gpfs-srv-0 ~]# mmlinkfileset gpfs_dev openstack_fs -J /gpfs/openstack
Fileset openstack_fs linked at /gpfs/openstack

[root@gpfs-srv-0 ~]# ls /gpfs/
openstack

[root@gpfs-srv-0 ~]# mmlsfileset gpfs_dev
Filesets in file system 'gpfs_dev':
Name                     Status    Path                                    
root                     Linked    /gpfs                                   
openstack_fs             Linked    /gpfs/openstack                         

[root@gpfs-srv-0 ~]# mmlsfileset gpfs_dev -L
Filesets in file system 'gpfs_dev':
Name                            Id      RootInode  ParentId Created                      InodeSpace      MaxInodes    AllocInodes Comment
root                             0              3        -- Sun Oct  2 12:39:29 2016        0                72192          72192 root fileset
openstack_fs                     1         131075         0 Sun Oct  2 12:46:20 2016        1               100096          72704