Table of Contents
Esercitazione 1
Creazione del cluster e configurazione
Verifica che i nodi che apparterranno al cluster possano eseguire ssh senza password
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # for i in 1 2 3; do for j in 1 2 3; do ssh c16-serv${i} "ssh c16-serv${j} hostname"; done; done<br> c16-serv1<br> c16-serv2<br> c16-serv3<br> c16-serv1<br> c16-serv2<br> c16-serv3<br> c16-serv1<br> c16-serv2<br> c16-serv3<br> #<br> </p></html>
Crea il file di input per mmcrcluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # cat node.lis<br> c16-serv1:quorum-manager:<br> c16-serv2::<br> c16-serv3::<br> #<br> </p></html>
Crea il cluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmcrcluster -N node<br> node node.lis <br> [root@c16-serv1 ~]# mmcrcluster -N node.lis -p c16-serv1 -r /usr/bin/ssh -R /usr/bin/scp -C c16 -A<br> Tue Nov 25 20:57:29 CET 2014: mmcrcluster: Processing node c16-serv1.openlab.infn.it<br> Tue Nov 25 20:57:31 CET 2014: mmcrcluster: Processing node c16-serv2.openlab.infn.it<br> Tue Nov 25 20:57:34 CET 2014: mmcrcluster: Processing node c16-serv3.openlab.infn.it<br> mmcrcluster: Command successfully completed<br> mmcrcluster: Warning: Not all nodes have proper GPFS license designations.<br>
Use the mmchlicense command to designate licenses as needed.<br>
mmcrcluster: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
#<br> </p></html>
Configura le licenze per i nodi del cluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmchlicense server –accept -N c16-serv1,c16-serv2,c16-serv3<br> <br> The following nodes will be designated as possessing GPFS server licenses:<br>
c16-serv1.openlab.infn.it<br> c16-serv2.openlab.infn.it<br> c16-serv3.openlab.infn.it<br>
mmchlicense: Command successfully completed<br> mmchlicense: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
#<br> </p></html>
Visualizza il cluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmlscluster<br> <br> GPFS cluster information<br> ========================<br>
GPFS cluster name: c16.openlab.infn.it<br> GPFS cluster id: 7610410449082048296<br> GPFS UID domain: c16.openlab.infn.it<br> Remote shell command: /usr/bin/ssh<br> Remote file copy command: /usr/bin/scp<br>
<br> GPFS cluster configuration servers:<br>
Primary server: c16-serv1.openlab.infn.it<br> Secondary server: (none)<br>
<br> Node Daemon node name IP address Admin node name Designation<br> ——————————————————————————————<br>
1 c16-serv1.openlab.infn.it 192.168.200.246 c16-serv1.openlab.infn.it quorum-manager<br> 2 c16-serv2.openlab.infn.it 192.168.200.247 c16-serv2.openlab.infn.it <br> 3 c16-serv3.openlab.infn.it 192.168.200.248 c16-serv3.openlab.infn.it <br>
#<br> </p></html>
Fai partire GPFS su tutto il cluster e verifica
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmstartup -a<br> Tue Nov 25 21:02:29 CET 2014: mmstartup: Starting GPFS …<br> <br> # mmgetstate -a<br> <br> Node number Node name GPFS state <br> ——————————————<br>
1 c16-serv1 active<br> 2 c16-serv2 active<br> 3 c16-serv3 active<br>
#<br> </p></html>
Modifica il tipo di nodo di c16-serv2 e c16-serv3 in quorum e manager, e verifica
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmchnode –manager –quorum -N c16-serv2,c16-serv3<br> Tue Nov 25 21:04:30 CET 2014: mmchnode: Processing node c16-serv2.openlab.infn.it<br> Tue Nov 25 21:04:30 CET 2014: mmchnode: Processing node c16-serv3.openlab.infn.it<br> mmchnode: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
<br> # mmlscluster<br> <br> GPFS cluster information<br> ========================<br>
GPFS cluster name: c16.openlab.infn.it<br> GPFS cluster id: 7610410449082048296<br> GPFS UID domain: c16.openlab.infn.it<br> Remote shell command: /usr/bin/ssh<br> Remote file copy command: /usr/bin/scp<br>
<br> GPFS cluster configuration servers:<br> ———————————–<br>
Primary server: c16-serv1.openlab.infn.it<br> Secondary server: (none)<br>
<br> Node Daemon node name IP address Admin node name Designation<br> ——————————————————————————————<br>
1 c16-serv1.openlab.infn.it 192.168.200.246 c16-serv1.openlab.infn.it quorum-manager<br> 2 c16-serv2.openlab.infn.it 192.168.200.247 c16-serv2.openlab.infn.it quorum-manager<br> 3 c16-serv3.openlab.infn.it 192.168.200.248 c16-serv3.openlab.infn.it quorum-manager<br>
#<br> </p></html>
Aggiungi c16-serv2 come secondary configuration server
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmchcluster -s c16-serv2<br> mmchcluster: GPFS cluster configuration servers:<br> mmchcluster: Primary server: c16-serv1.openlab.infn.it<br> mmchcluster: Secondary server: c16-serv2.openlab.infn.it<br> mmchcluster: Propagating the new server information to the rest of the nodes.<br> mmchcluster: Command successfully completed<br> <br> # mmlscluster<br> <br> GPFS cluster information<br> ========================<br>
GPFS cluster name: c16.openlab.infn.it<br> GPFS cluster id: 7610410449082048296<br> GPFS UID domain: c16.openlab.infn.it<br> Remote shell command: /usr/bin/ssh<br> Remote file copy command: /usr/bin/scp<br>
<br> GPFS cluster configuration servers:<br> ———————————–<br>
Primary server: c16-serv1.openlab.infn.it<br> Secondary server: c16-serv2.openlab.infn.it<br>
<br> Node Daemon node name IP address Admin node name Designation<br> ——————————————————————————————<br>
1 c16-serv1.openlab.infn.it 192.168.200.246 c16-serv1.openlab.infn.it quorum-manager<br> 2 c16-serv2.openlab.infn.it 192.168.200.247 c16-serv2.openlab.infn.it quorum-manager<br> 3 c16-serv3.openlab.infn.it 192.168.200.248 c16-serv3.openlab.infn.it quorum-manager<br>
#<br> </p></html>
Visualizza la configurazione del cluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmlsconfig<br> Configuration data for cluster c16.openlab.infn.it:<br> —————————————————<br> myNodeConfigNumber 1<br> clusterName c16.openlab.infn.it<br> clusterId 7610410449082048296<br> autoload yes<br> dmapiFileHandleSize 32<br> minReleaseLevel 3.5.0.11<br> adminMode central<br> <br> File systems in cluster c16.openlab.infn.it:<br> ——————————————–<br> (none)<br> #<br> </p></html>
Creazione degli NSD
Visualizza i dischi visti dal nodo
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # fdisk -l | grep "^Disk /dev"<br> Disk /dev/vda: 21.5 GB, 21474836480 bytes<br> Disk /dev/vdb: 1073.7 GB, 1073741824000 bytes<br> Disk /dev/vdc: 1073.7 GB, 1073741824000 bytes<br> Disk /dev/vdd: 1073.7 GB, 1073741824000 bytes<br> Disk /dev/vde: 1073.7 GB, 1073741824000 bytes<br> Disk /dev/vdf: 42.9 GB, 42949673984 bytes<br> #<br> </p></html>
Crea il file di input per mmcrnsd: crea quattro nsd su vdb, vdc, vdd, vde
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # cat nsd.lis<br> %nsd: device=/dev/vdb<br>
nsd=nsd1<br> usage=dataAndMetadata<br> failureGroup=1<br> pool=system<br>
%nsd: device=/dev/vdc<br>
nsd=nsd2<br> usage=dataAndMetadata<br> failureGroup=2<br> pool=system<br>
%nsd: device=/dev/vdd<br>
nsd=nsd3<br> usage=dataAndMetadata<br> failureGroup=3<br> pool=system<br>
%nsd: device=/dev/vde<br>
nsd=nsd4<br> usage=dataAndMetadata<br> failureGroup=4<br> pool=system<br>
#<br> </p></html>
Crea gli NSD
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmcrnsd -F nsd.lis<br> mmcrnsd: Processing disk vdb<br> mmcrnsd: Processing disk vdc<br> mmcrnsd: Processing disk vdd<br> mmcrnsd: Processing disk vde<br> mmcrnsd: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
#<br> </p></html>
Verifica la visibilita’ degli NSD sui nodi del cluster
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmlsnsd -m<br> <br> Disk name NSD volume ID Device Node name Remarks <br> —————————————————————————————<br> nsd1 C0A8C8F65474E307 /dev/vdb c16-serv1.openlab.infn.it <br> nsd2 C0A8C8F65474E308 /dev/vdc c16-serv1.openlab.infn.it <br> nsd3 C0A8C8F65474E309 /dev/vdd c16-serv1.openlab.infn.it <br> nsd4 C0A8C8F65474E30A /dev/vde c16-serv1.openlab.infn.it <br> #<br> </p></html>
Modifica gli NSD configurando NSD server per ciascuno, e verifica
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmchnsd "nsd1:c16-serv1,c16-serv2,c16-serv3:;nsd2:c16-serv2,c16-serv3,c16-serv1:;nsd3:c16-serv3,c16-serv1,c16-serv2:;nsd4:c16-serv1,c16-serv3,c16-serv2:"<br> mmchnsd: Processing disk nsd1<br> mmchnsd: Processing disk nsd2<br> mmchnsd: Processing disk nsd3<br> mmchnsd: Processing disk nsd4<br> mmchnsd: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
<br> # mmlsnsd<br> <br> File system Disk name NSD servers <br> —————————————————————————<br> (free disk) nsd1 c16-serv1.openlab.infn.it,c16-serv2.openlab.infn.it,c16-serv3.openlab.infn.it <br> (free disk) nsd2 c16-serv2.openlab.infn.it,c16-serv3.openlab.infn.it,c16-serv1.openlab.infn.it <br> (free disk) nsd3 c16-serv3.openlab.infn.it,c16-serv1.openlab.infn.it,c16-serv2.openlab.infn.it <br> (free disk) nsd4 c16-serv1.openlab.infn.it,c16-serv3.openlab.infn.it,c16-serv2.openlab.infn.it <br> <br> #<br> </p></html>
Creazione del file system
Crea il file system /dev/c16fs, mount point /gpfs/c16fs
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmcrfs /dev/c16fs -F nsd.lis -A yes -B 1M -j scatter -M 2 -R 2 -T /gpfs/c16fs<br> <br> The following disks of c16fs will be formatted on node c16-serv1:<br>
nsd1: size 1048576000 KB<br> nsd2: size 1048576000 KB<br> nsd3: size 1048576000 KB<br> nsd4: size 1048576000 KB<br>
Formatting file system …<br> Disks up to size 9.1 TB can be added to storage pool system.<br> Creating Inode File<br> Creating Allocation Maps<br> Creating Log Files<br> Clearing Inode Allocation Map<br> Clearing Block Allocation Map<br> Formatting Allocation Map for storage pool system<br> Completed creation of file system /dev/c16fs.<br> mmcrfs: Propagating the cluster configuration data to all<br>
affected nodes. This is an asynchronous process.<br>
#<br> </p></html>
Visualizza NSD (ora appartengono ad un file system), dischi e file system
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmlsnsd<br> <br> File system Disk name NSD servers <br> —————————————————————————<br> c16fs nsd1 c16-serv1.openlab.infn.it,c16-serv2.openlab.infn.it,c16-serv3.openlab.infn.it <br> c16fs nsd2 c16-serv2.openlab.infn.it,c16-serv3.openlab.infn.it,c16-serv1.openlab.infn.it <br> c16fs nsd3 c16-serv3.openlab.infn.it,c16-serv1.openlab.infn.it,c16-serv2.openlab.infn.it <br> c16fs nsd4 c16-serv1.openlab.infn.it,c16-serv3.openlab.infn.it,c16-serv2.openlab.infn.it <br> <br> # mmlsdisk /dev/c16fs<br> disk driver sector failure holds holds storage<br> name type size group metadata data status availability pool<br> ———— ——– —— ———– ——– —– ————- ———— ————<br> nsd1 nsd 512 1 Yes Yes ready up system <br> nsd2 nsd 512 2 Yes Yes ready up system <br> nsd3 nsd 512 3 Yes Yes ready up system <br> nsd4 nsd 512 4 Yes Yes ready up system <br> <br> # mmlsfs /dev/c16fs<br> flag value description<br> ——————- ———————— ———————————–<br> -f 32768 Minimum fragment size in bytes<br> -i 512 Inode size in bytes<br> -I 32768 Indirect block size in bytes<br> -m 1 Default number of metadata replicas<br> -M 2 Maximum number of metadata replicas<br> -r 1 Default number of data replicas<br> -R 2 Maximum number of data replicas<br> -j scatter Block allocation type<br> -D nfs4 File locking semantics in effect<br> -k all ACL semantics in effect<br> -n 32 Estimated number of nodes that will mount file system<br> -B 1048576 Block size<br> -Q none Quotas enforced<br>
none Default quotas enabled<br>
–filesetdf No Fileset df enabled?<br> -V 13.23 (3.5.0.7) File system version<br> –create-time Tue Nov 25 21:24:23 2014 File system creation time<br> -u Yes Support for large LUNs?<br> -z No Is DMAPI enabled?<br> -L 4194304 Logfile size<br> -E Yes Exact mtime mount option<br> -S No Suppress atime mount option<br> -K whenpossible Strict replica allocation option<br> –fastea Yes Fast external attributes enabled?<br> –inode-limit 4098048 Maximum number of inodes<br> -P system Disk storage pools in file system<br> -d nsd1;nsd2;nsd3;nsd4 Disks in file system<br> –perfileset-quota no Per-fileset quota enforcement<br> -A yes Automatic mount option<br> -o none Additional mount options<br> -T /gpfs/c16fs Default mount point<br> –mount-priority 0 Mount priority<br> #<br> </p></html>
Monta il file system su tutti i nodi
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # mmmount /dev/c16fs -a<br> Tue Nov 25 21:26:48 CET 2014: mmmount: Mounting file systems …<br> <br> # mmlsmount /dev/c16fs <br> File system c16fs is mounted on 3 nodes.<br> <br> # mmlsmount /dev/c16fs -L<br>
<br>
File system c16fs is mounted on 3 nodes:<br>
192.168.200.246 c16-serv1 <br> 192.168.200.248 c16-serv3 <br> 192.168.200.247 c16-serv2 <br>
#<br> </p></html>
Crea un file
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # dd if=/dev/zero of=/gpfs/c16fs/datafile bs=1M count=1K<br> 1024+0 records in<br> 1024+0 records out<br> 1073741824 bytes (1.1 GB) copied, 5.75137 s, 187 MB/s<br> #<br> </p></html>
Verifica l’occupazione del file system
<html><p style="border:1px dashed; background-color:#D9D9D9;"> # df /gpfs/c16fs/<br> Filesystem 1K-blocks Used Available Use% Mounted on<br> /dev/c16fs 4194304000 1529856 4192774144 1% /gpfs/c16fs<br> <br> # mmdf /dev/c16fs <br> disk disk size failure holds holds free KB free KB<br> name in KB group metadata data in full blocks in fragments<br> ————— ————- ——– ——– —– ——————– ——————-<br> Disks in storage pool: system (Maximum disk size allowed is 8.3 TB)<br> nsd1 1048576000 1 Yes Yes 1048194048 (100%) 1952 ( 0%) <br> nsd2 1048576000 2 Yes Yes 1048193024 (100%) 992 ( 0%) <br> nsd3 1048576000 3 Yes Yes 1048193024 (100%) 992 ( 0%) <br> nsd4 1048576000 4 Yes Yes 1048194048 (100%) 2976 ( 0%) <br>
- ———— ——————– ——————-<br>
(pool total) 4194304000 4192774144 (100%) 6912 ( 0%)<br> <br> (total) 4194304000 4192774144 (100%) 6912 ( 0%)<br> <br> Inode Information<br> —————–<br> Number of used inodes: 4039<br> Number of free inodes: 503865<br> Number of allocated inodes: 507904<br> Maximum number of inodes: 4098048<br> <br> </p></html>