Site Tools


New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
gridkainfo

GridKa xCAT setup see here

netapp preps
create file with both controller IPs per line
set default gateway per controller:

cat all_arrays | while read line; do SMcli $line -c 'set controller[a] IPv4GatewayIP=10.254.254.254 ;'; done
cat all_arrays | while read line; do SMcli $line -c 'set controller[b] IPv4GatewayIP=10.254.254.254 ;'; done

set NTP Server per controller:

cat all_arrays | while read line; do SMcli $line -c 'set controller[a] IPv4GatewayIP=10.254.254.254 ;'; done
cat all_arrays | while read line; do SMcli $line -c 'set controller[b] IPv4GatewayIP=10.254.254.254 ;'; done

setup TFTP server and DHCP Server on support host

set automated setup via RHEL mechanisms

prepare storage arrays

check for correct cabling / numbering of the disk enclosures

create DDPs with 57 disks each. create smcli scripts to create the DDPs in optimal distribution. smcli input file:

show "Creating Disk Pool Disk_Pool_1.";
create diskPool drives=(99,1,1 99,2,1 99,3,1 99,4,1 99,5,1 99,1,2 99,2,2 99,3,2 99,4,2 99,5,2 0,1,1 0,2,1 0,3,1 0,4,1 0,5,1 0,1,2 0,2,2 0,3,2 0,4,2 0,5,2 1,1,1 1,2,1 1,3,1 1,4,1 1,5,1 1,1,2 1,2,2 1,3,2 1,4,2 1,5,2 2,1,1 2,2,1 2,3,1 2,4,1 2,5,1 2,1,2 2,2,2 2,3,2 2,4,2 2,5,2 3,1,1 3,2,1 3,3,1 3,4,1 3,5,1 3,1,2 3,2,2 3,3,2 3,4,2 3,5,2 99,1,11 0,1,11 1,1,11 2,1,11 3,1,11 99,1,12 99,2,12) userLabel="Disk_Pool_1" securityType=none dataAssurance=enabled warningThreshold=0 criticalThreshold=0 criticalPriority=highest degradedPriority=high backgroundPriority=low;
show "Setting the reserved drive count to 3.";
set diskPool ["Disk_Pool_1"] reservedDriveCount=3;

show "Creating Disk Pool Disk_Pool_2.";
create diskPool drives=(99,1,3 99,2,3 99,3,3 99,4,3 99,5,3 99,1,4 99,2,4 99,3,4 99,4,4 99,5,4 0,1,3 0,2,3 0,3,3 0,4,3 0,5,3 0,1,4 0,2,4 0,3,4 0,4,4 0,5,4 1,1,3 1,2,3 1,3,3 1,4,3 1,5,3 1,1,4 1,2,4 1,3,4 1,4,4 1,5,4 2,1,3 2,2,3 2,3,3 2,4,3 2,5,3 2,1,4 2,2,4 2,3,4 2,4,4 2,5,4 3,1,3 3,2,3 3,3,3 3,4,3 3,5,3 3,1,4 3,2,4 3,3,4 3,4,4 3,5,4 99,2,11 0,2,11 1,2,11 2,2,11 3,2,11 0,1,12 0,2,12 ) userLabel="Disk_Pool_2" securityType=none dataAssurance=enabled warningThreshold=0 criticalThreshold=0 criticalPriority=highest degradedPriority=high backgroundPriority=low;
show "Setting the reserved drive count to 3.";
set diskPool ["Disk_Pool_2"] reservedDriveCount=3;

show "Creating Disk Pool Disk_Pool_3.";
create diskPool drives=(99,1,5 99,2,5 99,3,5 99,4,5 99,5,5 99,1,6 99,2,6 99,3,6 99,4,6 99,5,6 0,1,5 0,2,5 0,3,5 0,4,5 0,5,5 0,1,6 0,2,6 0,3,6 0,4,6 0,5,6 1,1,5 1,2,5 1,3,5 1,4,5 1,5,5 1,1,6 1,2,6 1,3,6 1,4,6 1,5,6 2,1,5 2,2,5 2,3,5 2,4,5 2,5,5 2,1,6 2,2,6 2,3,6 2,4,6 2,5,6 3,1,5 3,2,5 3,3,5 3,4,5 3,5,5 3,1,6 3,2,6 3,3,6 3,4,6 3,5,6 99,3,11 0,3,11 1,3,11 2,3,11 3,3,11 1,1,12 1,2,12 ) userLabel="Disk_Pool_3" securityType=none dataAssurance=enabled warningThreshold=0 criticalThreshold=0 criticalPriority=highest degradedPriority=high backgroundPriority=low;
show "Setting the reserved drive count to 3.";
set diskPool ["Disk_Pool_3"] reservedDriveCount=3;

show "Creating Disk Pool Disk_Pool_4.";
create diskPool drives=(99,1,7 99,2,7 99,3,7 99,4,7 99,5,7 99,1,8 99,2,8 99,3,8 99,4,8 99,5,8 0,1,7 0,2,7 0,3,7 0,4,7 0,5,7 0,1,8 0,2,8 0,3,8 0,4,8 0,5,8 1,1,7 1,2,7 1,3,7 1,4,7 1,5,7 1,1,8 1,2,8 1,3,8 1,4,8 1,5,8 2,1,7 2,2,7 2,3,7 2,4,7 2,5,7 2,1,8 2,2,8 2,3,8 2,4,8 2,5,8 3,1,7 3,2,7 3,3,7 3,4,7 3,5,7 3,1,8 3,2,8 3,3,8 3,4,8 3,5,8 99,4,11 0,4,11 1,4,11 2,4,11 3,4,11 2,1,12 2,2,12) userLabel="Disk_Pool_4" securityType=none dataAssurance=enabled warningThreshold=0 criticalThreshold=0 criticalPriority=highest degradedPriority=high backgroundPriority=low;
show "Setting the reserved drive count to 3.";
set diskPool ["Disk_Pool_4"] reservedDriveCount=3;

show "Creating Disk Pool Disk_Pool_5.";
create diskPool drives=(99,1,9 99,2,9 99,3,9 99,4,9 99,5,9 99,1,10 99,2,10 99,3,10 99,4,10 99,5,10 0,1,9 0,2,9 0,3,9 0,4,9 0,5,9 0,1,10 0,2,10 0,3,10 0,4,10 0,5,10 1,1,9 1,2,9 1,3,9 1,4,9 1,5,9 1,1,10 1,2,10 1,3,10 1,4,10 1,5,10 2,1,9 2,2,9 2,3,9 2,4,9 2,5,9 2,1,10 2,2,10 2,3,10 2,4,10 2,5,10 3,1,9 3,2,9 3,3,9 3,4,9 3,5,9 3,1,10 3,2,10 3,3,10 3,4,10 3,5,10 99,5,11 0,5,11 1,5,11 2,5,11 3,5,11 3,1,12 3,2,12) userLabel="Disk_Pool_5" securityType=none dataAssurance=enabled warningThreshold=0 criticalThreshold=0 criticalPriority=highest degradedPriority=high backgroundPriority=low;
show "Setting the reserved drive count to 3.";
set diskPool ["Disk_Pool_5"] reservedDriveCount=3;

excute the smcli script using SMcli with the following syntax:

SMcli <IP controller #0> <IP controller #1> -f <script.smcli>

create volumes inside the DDPs. The capacity was optimized by trying out. The ownership of the volumes should be distributed equally.

show "Creating volume DDP01_01 on disk pool Disk_Pool_1.";
create volume diskPool="Disk_Pool_1" userLabel="DDP01_01" owner=A capacity=84430467104768 Bytes dataAssurance=enabled mapping=none;
show "Setting additional attributes for volume DDP01_01.";
set volume["DDP01_01"] cacheFlushModifier=10;
set volume["DDP01_01"] cacheWithoutBatteryEnabled=false;
set volume["DDP01_01"] mirrorEnabled=true;
set volume["DDP01_01"] readCacheEnabled=true;
set volume["DDP01_01"] writeCacheEnabled=true;
set volume["DDP01_01"] mediaScanEnabled=true;
set volume["DDP01_01"] redundancyCheckEnabled=true;
set volume["DDP01_01"] cacheReadPrefetch=true;
show "Creating volume DDP01_02 on disk pool Disk_Pool_1.";
create volume diskPool="Disk_Pool_1" userLabel="DDP01_02" owner=B capacity=84430467104768 Bytes dataAssurance=enabled mapping=none;
show "Setting additional attributes for volume DDP01_02.";
set volume["DDP01_02"] cacheFlushModifier=10;
set volume["DDP01_02"] cacheWithoutBatteryEnabled=false;
set volume["DDP01_02"] mirrorEnabled=true;
set volume["DDP01_02"] readCacheEnabled=true;
set volume["DDP01_02"] writeCacheEnabled=true;
set volume["DDP01_02"] mediaScanEnabled=true;
set volume["DDP01_02"] redundancyCheckEnabled=true;
set volume["DDP01_02"] cacheReadPrefetch=true;

[...]

create volume diskPool="Disk_Pool_5" userLabel="DDP05_03" owner=A capacity=84430467104768 Bytes dataAssurance=enabled mapping=none;
show "Setting additional attributes for volume DDP05_03.";
set volume["DDP05_03"] cacheFlushModifier=10;
set volume["DDP05_03"] cacheWithoutBatteryEnabled=false;
set volume["DDP05_03"] mirrorEnabled=true;
set volume["DDP05_03"] readCacheEnabled=true;
set volume["DDP05_03"] writeCacheEnabled=true;
set volume["DDP05_03"] mediaScanEnabled=true;
set volume["DDP05_03"] redundancyCheckEnabled=true;
set volume["DDP05_03"] cacheReadPrefetch=true;
show "Creating volume DDP05_04 on disk pool Disk_Pool_5.";
create volume diskPool="Disk_Pool_5" userLabel="DDP05_04" owner=B capacity=84430467104768 Bytes dataAssurance=enabled mapping=none;
show "Setting additional attributes for volume DDP05_04.";
set volume["DDP05_04"] cacheFlushModifier=10;
set volume["DDP05_04"] cacheWithoutBatteryEnabled=false;
set volume["DDP05_04"] mirrorEnabled=true;
set volume["DDP05_04"] readCacheEnabled=true;
set volume["DDP05_04"] writeCacheEnabled=true;
set volume["DDP05_04"] mediaScanEnabled=true;
set volume["DDP05_04"] redundancyCheckEnabled=true;
set volume["DDP05_04"] cacheReadPrefetch=true;

create LUN mapping file for each storage box. Example lun mappig file to be activated by SMcli:

// Creating Host Topology
show "Creating Host Group sbb00.";
create hostGroup userLabel="sbb00";

show "Creating Host f01-120-121 with Host Type Index 7 on Host Group sbb00.";
// This Host Type Index corresponds to Type Linux (DM-MP)
create host userLabel="f01-120-121" hostType=7 hostGroup="sbb00";

show "Creating Host f01-121-121 with Host Type Index 7 on Host Group sbb00.";
// This Host Type Index corresponds to Type Linux (DM-MP)
create host userLabel="f01-121-121" hostType=7 hostGroup="sbb00";

show "Creating Host Port f01-120-121-h1p0 on Host f01-120-121 with WWN 500605b00c25f6d1 and with interfaceType SAS.";
create hostPort host="f01-120-121" userLabel="f01-120-121-h1p0" identifier="500605b00c25f6d1" interfaceType=SAS;

show "Creating Host Port f01-120-121-h8p0 on Host f01-120-121 with WWN 500605b00c25fe61 and with interfaceType SAS.";
create hostPort host="f01-120-121" userLabel="f01-120-121-h8p0" identifier="500605b00c25fe61" interfaceType=SAS;

show "Creating Host Port f01-121-121-h1p0 on Host f01-121-121 with WWN 500605b00c260bb1 and with interfaceType SAS.";
create hostPort host="f01-121-121" userLabel="f01-121-121-h1p0" identifier="500605b00c260bb1" interfaceType=SAS;

show "Creating Host Port f01-121-121-h8p0 on Host f01-121-121 with WWN 500605b00c25f241 and with interfaceType SAS.";
create hostPort host="f01-121-121" userLabel="f01-121-121-h8p0" identifier="500605b00c25f241" interfaceType=SAS;

// Creating Volume-To-LUN Mappings
show "Creating Volume-to-LUN Mapping for Volume DDP01_01 to LUN 10 under Host Group sbb00.";
set volume ["DDP01_01"] logicalUnitNumber=10 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP01_02 to LUN 11 under Host Group sbb00.";
set volume ["DDP01_02"] logicalUnitNumber=11 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP01_03 to LUN 12 under Host Group sbb00.";
set volume ["DDP01_03"] logicalUnitNumber=12 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP01_04 to LUN 13 under Host Group sbb00.";
set volume ["DDP01_04"] logicalUnitNumber=13 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP02_01 to LUN 20 under Host Group sbb00.";
set volume ["DDP02_01"] logicalUnitNumber=20 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP02_02 to LUN 21 under Host Group sbb00.";
set volume ["DDP02_02"] logicalUnitNumber=21 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP02_03 to LUN 22 under Host Group sbb00.";
set volume ["DDP02_03"] logicalUnitNumber=22 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP02_04 to LUN 23 under Host Group sbb00.";
set volume ["DDP02_04"] logicalUnitNumber=23 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP03_01 to LUN 30 under Host Group sbb00.";
set volume ["DDP03_01"] logicalUnitNumber=30 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP03_02 to LUN 31 under Host Group sbb00.";
set volume ["DDP03_02"] logicalUnitNumber=31 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP03_03 to LUN 32 under Host Group sbb00.";
set volume ["DDP03_03"] logicalUnitNumber=32 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP03_04 to LUN 33 under Host Group sbb00.";
set volume ["DDP03_04"] logicalUnitNumber=33 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP04_01 to LUN 40 under Host Group sbb00.";
set volume ["DDP04_01"] logicalUnitNumber=40 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP04_02 to LUN 41 under Host Group sbb00.";
set volume ["DDP04_02"] logicalUnitNumber=41 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP04_03 to LUN 42 under Host Group sbb00.";
set volume ["DDP04_03"] logicalUnitNumber=42 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP04_04 to LUN 43 under Host Group sbb00.";
set volume ["DDP04_04"] logicalUnitNumber=43 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP05_01 to LUN 50 under Host Group sbb00.";
set volume ["DDP05_01"] logicalUnitNumber=50 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP05_02 to LUN 51 under Host Group sbb00.";
set volume ["DDP05_02"] logicalUnitNumber=51 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP05_03 to LUN 52 under Host Group sbb00.";
set volume ["DDP05_03"] logicalUnitNumber=52 hostGroup="sbb00";

show "Creating Volume-to-LUN Mapping for Volume DDP05_04 to LUN 53 under Host Group sbb00.";
set volume ["DDP05_04"] logicalUnitNumber=53 hostGroup="sbb00";

create multipath.conf from visible devices. Use script 'build_multipath.sh' to create according lines for /etc/multipath.conf on the systems. Restart multipathd. After that the volumes are visible.

[root@gxfs-admin scripts]# cexec "cp /root/multipath.conf_skel /etc/multipath.conf ; bash build_multipath.sh >> /etc/multipath.conf"
************************* default *************************
--------- f01-120-121---------
--------- f01-121-121---------
--------- f01-122-121---------
--------- f01-122-123---------
--------- f01-123-121---------
--------- f01-123-123---------
--------- f01-124-121---------
--------- f01-125-121---------
--------- f01-126-121---------
--------- f01-126-123---------
--------- f01-127-121---------
--------- f01-127-123---------
[root@gxfs-admin scripts]# cexec "multipath -l | grep -c DDP"
************************* default *************************
--------- f01-120-121---------
40
--------- f01-121-121---------
40
--------- f01-122-121---------
40
--------- f01-122-123---------
40
--------- f01-123-121---------
40
--------- f01-123-123---------
40
--------- f01-124-121---------
40
--------- f01-125-121---------
40
--------- f01-126-121---------
40
--------- f01-126-123---------
40
--------- f01-127-121---------
40
--------- f01-127-123---------
40
[root@gxfs-admin scripts]# 

create stanza files for all building blocks. script to be found on gxfs-admin:/repo/scripts/build_stanza

get mac address info from NEC server IPMI

ssh 10.192.126.121 -l Administrator show /admin1/system1/enetport1
gridkainfo.txt · Last modified: 2022/07/10 09:34 by 127.0.0.1