Scale-Up X200 - Add HBA Card and JBOD
Due to supply chain constraints, some X200 4U90 Twin Servers were shipped without HBA cards installed. In addition, with the release of ActiveScale 7.0 software, new X200 systems may be shipped and initially installed without the HBA card. The HBA card willbe installed when a capacity scale out occurs post-installation.
Important Information - X200 HBA Cards
-
If you are replacing an existing HBA card with the exact same HBA card type, you DO NOT need to perform the software changes outlined below. Refer to the Replace NIC and HBA Cards CRU replacement procedure.
-
The HBA 9500 card (AOC-SAS3-9500-8E) is only supported on ActiveScale OS version 6.3 and higher. Installing this on any older version of ActiveScale OS will yield in an unsable HBA card as there are no software drivers and kernel support. Upgrade to ActiveScale OS 6.3 or higher before starting the HBA card install procedure.
-
The HBA 9405 card (AOC-SAS3-9405W-16E) does not require a minimum ActiveScale OS version.
WARNING: You must check that the customer’s storage policy allows 2 nodes in the same site to be down at the same time. If not, the procedure should be done on X200 Twin member at a time (first top and then bottom node, or vice versa). If the customer storage policy allows 2 nodes to be down at the site at the same time, you should execute this procedure for each of the X200 Twin Server nodes (top node and bottom node) at the same time. Doing this procedure for nodes at the same time will allow you to simultaneously rack and connect the JBOD and 4U90 Twin Server.
Step 1 - Migrate Hardware Type
Important Information
If you are adding the HBA card to a system that is running ActiveScale 7.0 software and above, you do not need to do this step. Go to Step 2 - Add HBA Card below.
-
Stop the mona service on both members of the twin server. On both nodes, execute the following:
Copysudo service mona stop -
Make sure systemscan is no longer running on both nodes of the twin server. Run following on both nodes:
Copysudo ps faux | grep systemscanExample of systemscan still running:
marvin 15506 0.0 0.0 14224 988 pts/0 S+ 11:34 0:00 _ grep --color=auto system
mona 13836 0.0 0.0 4504 772 ? Ss 11:28 0:00 /bin/sh -c sudo -s -- <<"EC_EOF" /opt/ampli/apps/marvinbase/tools/systemscan.py --update-existing --prerequisites EC_EOF
root 13855 10.0 0.0 431396 59160 ? Rl 11:28 0:32 \_ /opt/ampli/apps/marvinbase/venv/bin/python /opt/ampli/apps/marvinbase/tools/systemscan.py --update-existing --prerequisites
Example of systemscan no longer running:
marvin 20291 0.0 0.0 14224 964 pts/0 S+ 11:35 0:00
-
Start sherpa on both nodes and update the node hardwaretype to X200 with SAS HBA (SMC_4U90_DE1CR90). Run following code on each node:
Copy%cpaste
from marvin_lib.machine import get_machine_hwtype, set_machine_hwtype, get_machine_guid
from marvin_lib.system.utils import get_fru
hwtype = 'SMC_4U90_DE1CR90'
old_hwtype = get_machine_hwtype()
m_guid = get_machine_guid()
m = cli.marvin.machine.get(m_guid)
if old_hwtype != hwtype or m['hardwaretype'] != hwtype:
set_machine_hwtype(hwtype)
m = cli.marvin.machine.update(m_guid, hardwaretype=hwtype)
print "Machine %s (%s) hardwaretype was updated from %s to %s" % (m['name'], m['guid'], old_hwtype, m['hardwaretype'])
else:
print "Machine %s (%s) hardwaretype was already the correct type: %s" % (m['name'], m['guid'], old_hwtype)
diskgroup_update = []
diskgroup_status_reset = []
machine_serial = get_fru(read_type='machine-serial', hwtype=hwtype)
for diskgroup in m['diskgroup']:
new_diskgroup_serial = machine_serial + '_' + diskgroup['group_id']
if diskgroup['serial'] != new_diskgroup_serial:
print "Change machine %s (%s) diskgroup serial %s (%s) to %s" % (m['name'], m['guid'], diskgroup['serial'], diskgroup['guid'], new_diskgroup_serial)
diskgroup_update.append({"guid": diskgroup['guid'], "status": "ONLINE", "serial": new_diskgroup_serial})
diskgroup_status_reset.append({"guid": diskgroup['guid'], "status": diskgroup['status']})
else:
print "Machine %s (%s) diskgroup %s (%s) is as expected" % (m['name'], m['guid'], diskgroup['serial'], diskgroup['guid'])
if diskgroup_update:
print "Updating Machine %s (%s) diskgroups" % (m['name'], m['guid'])
m = cli.marvin.machine.update(m_guid, diskgroup=diskgroup_update)
m = cli.marvin.machine.update(m_guid, diskgroup=diskgroup_status_reset)
print "Update successful"
else:
print "No update needed for machine %s (%s) diskgroups" % (m['name'], m['guid'])
--
Step 2 - Add HBA Card
-
Shut down the system to continue with the FRU SAS HBA card installment:
WARNING: Before shutting down the system, confirm the customer's storage policy! If there is already a node down and the customer does not support a 2-node down configuration, do not proceed with this procedure!
Copy%cpaste
from marvin_lib.machine import get_machine_guid
m_guid = get_machine_guid()
cli.marvin.machine.shutdown(m_guid)
-- -
Install the 9405 HBA card AOC-SAS3-9405W-16E) or 9500 HBA card (AOC-SAS3-9500-8E) into the 4U90 Twin Server. The 9500 HBA card is only supported in ActiveScale OS version 6.3 and higher!
Tools Required: Phillips Screwdriver
Step 1: Remove Node from Chassis
-
Disconnect all power supply cords and all network and system cables from the node.
Note: Before disconnecting cables, document the cable configuration. The cabling must be reconnected to the module in the exact same configuration.
-
Unlock the left and right latches on the side of the node.
-
Remove the node from the chassis and place on a flat surface.
Step 2: Remove Mezzanine Module
To access the card slots in the node, you will need to remove the mezzanine module from the node.
-
Unscrew the four screw thumbs on top of the module.
-
Lift the left and right latches to the unlock position.
-
Vertically lift the module out of the chassis. You will now have access to the card slots in node.
Item Name 1 HBA Card Slot
Step 3: Install New Card
-
Install the card by carefully pushing it down until it is completely seated into the appropriate keyed slot in the motherboard.
-
Insert the clip to connect the chassis to the card.
-
Tighten the captive screw where the top of the card meets the chassis.
Step 4: Install Mezzanine Module
-
Make sure the left and right latches are in the unlocked position. Align the mezzanine module vertically and lower into the compute module.
-
Rotate the left and right latches forward to the lock positions.
-
Carefully push down the middle section of the module to ensure connectors are fully engaged.
-
Fasten the 4 blue thumb screws on top of the module.
Step 5: Install Node into Chassis
-
Carefully slide the node back into the chassis.
-
Lock the left and right latches on the side of the compute module.
-
Reconnect the power cable to the power supply and all network and system cables to the compute node.
-
-
If you need to add additional drive sets to the system, refer to Scale Up X200 - Add Drives.
Note: Adding drives requires ActiveScale OS 6.3 and above to be installed on the system.
-
Follow the X200 Rack Installation documentation below to rack and connect a JBOD.
Note: JBOD Cabling instructions are available in the Hardware Installation instructions.
-
Power on the node. Wait for the node to completely boot up and allow up to 15 minutes for the inventoryscan to complete.
-
Check if the SAS HBA is recognised on the system:
sudo lspci | grep -i "Serial Attached SCSI controller" | wc -lIf the command returns 2, the SAS HBA is not recognised. Contact Quantum support to assist with troubleshooting.
If the command returns 3, the SAS card is recognised and the scale out is complete.
-
Assert that the JBOD is visible in the model and that it has the expected number of disks. Open sherpa on the twin member and run following snippet. Before proceeding make sure that it says JBOD FOUND and that the number of disks is as expected:
Copy%cpaste
from marvin_lib.machine import get_machine_guid
m_guid = get_machine_guid()
m = cli.marvin.machine.get(m_guid)
if not len(m['enclosure']) == 1:
print "NO JBOD FOUND!"
else:
print "JBOD FOUND!"
enclosure = m['enclosure'][0]
total_disks = sum([len(dg['disk']) for dg in enclosure['diskgroup']] or [0])
print "Number of disks in JBOD: %s" % str(total_disks)
--
If JBODs with disks where attached as part of this procedure, you still have to run the actual scale up API. Make sure that all nodes have a new JBOD and that step 10 above outputs the expected state for each node. Once that’s done, apply Provision the Newly Added Disks in Scale Up X200 - Add Drives.