{"id":2011,"date":"2024-11-18T11:21:39","date_gmt":"2024-11-18T19:21:39","guid":{"rendered":"https:\/\/wp.c9h.org\/cj\/?p=2011"},"modified":"2024-12-09T23:41:44","modified_gmt":"2024-12-10T07:41:44","slug":"managing-hpe-sas-controllers","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=2011","title":{"rendered":"Managing HPE SAS Controllers"},"content":{"rendered":"<p>Notes to self.  And anyone else who might find them useful.  Following are some ssacli commands which I use infrequently enough that they fall out of cache.  This may repeat information in other blogs, but since I search my posts first when commands slip my mind, I thought I&#8217;d include them here, too.<\/p>\n<p><a href=\"https:\/\/cmdref.net\/hardware\/proliant\/hpacucli.html\">hpacucli<\/a> is the wrong command.  Use <a href=\"https:\/\/support.hpe.com\/connect\/s\/softwaredetails?language=en_US&#038;collectionId=MTX-0cb3f808e2514d3d&#038;tab=releaseNotes\">ssacli<\/a> instead.<\/p>\n<pre>\n$ KR='\/usr\/share\/keyrings\/hpe.gpg'\n$ for fingerprint in \\\n  882F7199B20F94BD7E3E690EFADD8D64B1275EA3 \\\n  57446EFDE098E5C934B69C7DC208ADDE26C2B797 \\\n  476DADAC9E647EE27453F2A3B070680A5CE2D476 ; do \\\n    curl \"https:\/\/keyserver.ubuntu.com\/pks\/lookup?op=get&search=0x${fingerprint}\" \\\n      | gpg --no-default-keyring --keyring \"${KR}\" --import ; \\\n  done\n$ gpg --list-keys --no-default-keyring --keyring \"${KR}\" \n\/usr\/share\/keyrings\/hpe.gpg\n---------------------------\npub   rsa2048 2012-12-04 [SC] [expired: 2022-12-02]\n      476DADAC9E647EE27453F2A3B070680A5CE2D476\nuid           [ expired] Hewlett-Packard Company RSA (HP Codesigning Service)\n\npub   rsa2048 2014-11-19 [SC] [expired: 2024-11-16]\n      882F7199B20F94BD7E3E690EFADD8D64B1275EA3\nuid           [ expired] Hewlett-Packard Company RSA (HP Codesigning Service) - 1\n\npub   rsa2048 2015-12-10 [SCEA] [expires: 2025-12-07]\n      57446EFDE098E5C934B69C7DC208ADDE26C2B797\nuid           [ unknown] Hewlett Packard Enterprise Company RSA-2048-25 <signhp@hpe.com>\n$ echo \"deb [signed-by=${KR}] http:\/\/downloads.linux.hpe.com\/SDR\/repo\/mcp bookworm\/current non-free\" \\\n  | sudo dd of=\/etc\/apt\/sources.list.d status=none\n$ sudo apt-get update\n$ sudo apt-get install -y -qq ssacli > \/dev\/null 2>&1\n$ sudo ssacli <b>ctrl all show status<\/b>\n\nHPE Smart Array P408i-p SR Gen10 in Slot 3\n   Controller Status: OK\n   Cache Status: OK\n   Battery\/Capacitor Status: OK\n\n$ sudo ssacli <b>ctrl all show detail<\/b>\nHPE Smart Array P408i-p SR Gen10 in Slot 3\n   Bus Interface: PCI\n   Slot: 3\n   Serial Number: PFJHD0ARCCR1QM\n   RAID 6 Status: Enabled\n   Controller Status: OK\n   Hardware Revision: B\n   Firmware Version: 2.65\n   Firmware Supports Online Firmware Activation: True\n   Driver Supports Online Firmware Activation: True\n   Rebuild Priority: High\n   Expand Priority: Medium\n   Surface Scan Delay: 3 secs\n   Surface Scan Mode: Idle\n   Parallel Surface Scan Supported: Yes\n   Current Parallel Surface Scan Count: 1\n   Max Parallel Surface Scan Count: 16\n   Queue Depth: Automatic\n   Monitor and Performance Delay: 60  min\n   Elevator Sort: Enabled\n   Degraded Performance Optimization: Disabled\n   Inconsistency Repair Policy: Disabled\n   Write Cache Bypass Threshold Size: 1040 KiB\n   Wait for Cache Room: Disabled\n   Surface Analysis Inconsistency Notification: Disabled\n   Post Prompt Timeout: 15 secs\n   Cache Board Present: True\n   Cache Status: OK\n   Cache Ratio: 10% Read \/ 90% Write\n   Configured Drive Write Cache Policy: Disable\n   Unconfigured Drive Write Cache Policy: Default\n   Total Cache Size: 2.0\n   Total Cache Memory Available: 1.8\n   Battery Backed Cache Size: 1.8\n   No-Battery Write Cache: Disabled\n   SSD Caching RAID5 WriteBack Enabled: True\n   SSD Caching Version: 2\n   Cache Backup Power Source: Batteries\n   Battery\/Capacitor Count: 1\n   Battery\/Capacitor Status: OK\n   SATA NCQ Supported: True\n   Spare Activation Mode: Activate on physical drive failure (default)\n   Controller Temperature (C): 53\n   Cache Module Temperature (C): 43\n   Capacitor Temperature  (C): 40\n   Number of Ports: 2 Internal only\n   Encryption: Not Set\n   Express Local Encryption: False\n   Driver Name: smartpqi\n   Driver Version: Linux 2.1.18-045\n   PCI Address (Domain:Bus:Device.Function): 0000:11:00.0\n   Negotiated PCIe Data Rate: PCIe 3.0 x8 (7880 MB\/s)\n   Controller Mode: Mixed\n   Port Max Phy Rate Limiting Supported: False\n   Latency Scheduler Setting: Disabled\n   Current Power Mode: MaxPerformance\n   Survival Mode: Enabled\n   Host Serial Number: 2M20040D1Q\n   Sanitize Erase Supported: True\n   Sanitize Lock: None\n   Sensor ID: 0\n      Location: Capacitor\n      Current Value (C): 40\n      Max Value Since Power On: 42\n   Sensor ID: 1\n      Location: ASIC\n      Current Value (C): 53\n      Max Value Since Power On: 55\n   Sensor ID: 2\n      Location: Unknown\n      Current Value (C): 43\n      Max Value Since Power On: 45\n   Sensor ID: 3\n      Location: Cache\n      Current Value (C): 43\n      Max Value Since Power On: 44\n   Primary Boot Volume: None\n   Secondary Boot Volume: None\n\n$ sudo ssacli <b>ctrl all show config<\/b>\n\nHPE Smart Array P408i-p SR Gen10 in Slot 3  (sn: PFJHD0ARCCR1QM)\n\n\n\n   Internal Drive Cage at Port 1I, Box 2, OK\n\n\n\n   Internal Drive Cage at Port 2I, Box 2, OK\n\n\n   Port Name: 1I (Mixed)\n\n   Port Name: 2I (Mixed)\n\n   Array A (SAS, Unused Space: 0  MB)\n\n      logicaldrive 1 (1.64 TB, RAID 6, OK)\n\n      physicaldrive 1I:2:1 (port 1I:box 2:bay 1, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 1.2 TB, OK)\n      physicaldrive 1I:2:3 (port 1I:box 2:bay 3, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:4 (port 1I:box 2:bay 4, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:5 (port 2I:box 2:bay 5, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:6 (port 2I:box 2:bay 6, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:7 (port 2I:box 2:bay 7, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:8 (port 2I:box 2:bay 8, SAS HDD, 1.2 TB, OK)\n\n   SEP (Vendor ID HPE, Model Smart Adapter) 379  (WWID: 51402EC013705E88, Port: Unknown)\n\n$ sudo ssacli <b>ctrl slot=3 pd 2I:2:7 show detail<\/b>\n\nHPE Smart Array P408i-p SR Gen10 in Slot 3\n\n   Array A\n\n      physicaldrive 2I:2:7\n         Port: 2I\n         Box: 2\n         Bay: 7\n         Status: OK\n         Drive Type: Data Drive\n         Interface Type: SAS\n         Size: 1.2 TB\n         Drive exposed to OS: False\n         Logical\/Physical Block Size: 512\/512\n         Rotational Speed: 10000\n         Firmware Revision: U850\n         Serial Number: KZGN1BDE\n         WWID: 5000CCA01D247239\n         Model: HGST    HUC101212CSS600\n         Current Temperature (C): 46\n         Maximum Temperature (C): 51\n         PHY Count: 2\n         PHY Transfer Rate: 6.0Gbps, Unknown\n         PHY Physical Link Rate: 6.0Gbps, Unknown\n         PHY Maximum Link Rate: 6.0Gbps, 6.0Gbps\n         Drive Authentication Status: OK\n         Carrier Application Version: 11\n         Carrier Bootloader Version: 6\n         Sanitize Erase Supported: False\n         Shingled Magnetic Recording Support: None\n         Drive Unique ID: 5000CCA01D247238\n\n<\/pre>\n<p>2024-12-09 update<\/p>\n<p>I was experiencing a disk failure or predictive failure when I walked into my office this afternoon.  I checked this blog post and found the command I used to check the status of the sas array.<\/p>\n<pre>\ncjac@server0:~$ sudo ssacli ctrl all show config\n\nHPE Smart Array P408i-p SR Gen10 in Slot 3  (sn: PFJHD0ARCCR1QM)\n\n\n\n   Internal Drive Cage at Port 1I, Box 2, OK\n\n\n\n   Internal Drive Cage at Port 2I, Box 2, OK\n\n\n   Port Name: 1I (Mixed)\n\n   Port Name: 2I (Mixed)\n\n   Array A (SAS, Unused Space: 0  MB)\n\n      logicaldrive 1 (1.64 TB, RAID 6, OK)\n\n      physicaldrive 1I:2:1 (port 1I:box 2:bay 1, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 1.2 TB, Predictive Failure)\n      physicaldrive 1I:2:3 (port 1I:box 2:bay 3, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:4 (port 1I:box 2:bay 4, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:5 (port 2I:box 2:bay 5, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:6 (port 2I:box 2:bay 6, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:7 (port 2I:box 2:bay 7, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:8 (port 2I:box 2:bay 8, SAS HDD, 300 GB, OK)\n\n   SEP (Vendor ID HPE, Model Smart Adapter) 379  (WWID: 51402EC013705E88, Port: Unknown)\n<\/pre>\n<p>At this point I engaged the <span id=\"understudy\">under-study<\/span> to have the flashing disk replaced<\/p>\n<pre>\ncjac@server0:~$ sudo ssacli ctrl all show config\n[sudo] password for cjac: \n\nHPE Smart Array P408i-p SR Gen10 in Slot 3  (sn: PFJHD0ARCCR1QM)\n\n\n\n   Internal Drive Cage at Port 1I, Box 2, OK\n\n\n\n   Internal Drive Cage at Port 2I, Box 2, OK\n\n\n   Port Name: 1I (Mixed)\n\n   Port Name: 2I (Mixed)\n\n   Array A (SAS, Unused Space: 0  MB)\n\n      logicaldrive 1 (1.64 TB, RAID 6, Recovering, 56.43% complete)\n\n      physicaldrive 1I:2:1 (port 1I:box 2:bay 1, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 300 GB, Rebuilding)\n      physicaldrive 1I:2:3 (port 1I:box 2:bay 3, SAS HDD, 300 GB, OK)\n      physicaldrive 1I:2:4 (port 1I:box 2:bay 4, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:5 (port 2I:box 2:bay 5, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:6 (port 2I:box 2:bay 6, SAS HDD, 300 GB, OK)\n      physicaldrive 2I:2:7 (port 2I:box 2:bay 7, SAS HDD, 1.2 TB, OK)\n      physicaldrive 2I:2:8 (port 2I:box 2:bay 8, SAS HDD, 300 GB, OK)\n\n   SEP (Vendor ID HPE, Model Smart Adapter) 379  (WWID: 51402EC013705E88, Port: Unknown)\n<\/pre>\n<p>In the next and future output, I will elide duplicate lines<\/p>\n<pre>\ncjac@server0:~$ date ; sudo ssacli ctrl all show config\nMon Dec  9 07:36:44 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, Recovering, 66.85% complete)...\nMon Dec  9 07:39:25 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, Recovering, 68.97% complete) ...\ncjac@server0:~$ date ; sudo ssacli ctrl all show config | grep Recovering\nMon Dec  9 07:43:05 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, Recovering, 71.85% complete)\nMon Dec  9 07:43:57 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, Recovering, 72.55% complete)\ncjac@server0:~$ sleep 5m ; date ; sudo ssacli ctrl all show config | grep Recovering\nMon Dec  9 07:49:43 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, Recovering, 77.00% complete)\ncjac@server0:~$ date ; sudo ssacli ctrl all show config | grep -e 1I:2:2 -e logicaldrive\nMon Dec  9 11:36:14 PM PST 2024 ... logicaldrive 1 (1.64 TB, RAID 6, OK)\nphysicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 300 GB, OK)\n<\/pre>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Notes to self. And anyone else who might find them useful. Following are some ssacli commands which I use infrequently enough that they fall out of cache. This may repeat information in other blogs, but since I search my posts first when commands slip my mind, I thought I&#8217;d include them here, too. hpacucli is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[322,188,60,17,171,311,47,140,125,261,226,101,166],"tags":[],"class_list":["post-2011","post","type-post","status-publish","format-standard","hentry","category-bookworm","category-cli","category-colliertech","category-debian","category-hardware","category-hp","category-linux","category-november","category-pgp","category-production","category-proliant","category-security","category-software"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-wr","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/2011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2011"}],"version-history":[{"count":10,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/2011\/revisions"}],"predecessor-version":[{"id":2027,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/2011\/revisions\/2027"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}