{"id":366,"date":"2015-02-24T16:48:00","date_gmt":"2015-02-24T21:48:00","guid":{"rendered":"http:\/\/www.hpux.ws\/?p=366"},"modified":"2015-10-28T17:13:22","modified_gmt":"2015-10-28T22:13:22","slug":"server-backplane-layout-for-rx-class-servers","status":"publish","type":"post","link":"https:\/\/www.hpux.ws\/?p=366","title":{"rendered":"Server backplane layout for rx class servers"},"content":{"rendered":"<p>HP-UX hardware is a bit Byzantine in nature. The following script demystifies things a bit and allows us to work at remote data centers with accuracy on cable issues both fiber and copper.<\/p>\n<p>If you want to use this script, use the contact form to reach out to me. Most people will find cutting and pasting from the website very frustrating.<\/p>\n<p>I am also reaching out to the community, dare I say fan base for assistance. I am fairly certain that the fiber side accurately reports status of hba connections. I am fairly certain that the copper side needs to be improved.<\/p>\n<p>This is tested on rx7640 and rx8640 systems. I am fairly confident that it will work on superdomes. I just do not happen to have any around to test on.<\/p>\n<p>Script includes an environment plugin called .scriptenv . I will provide relevant code from it as some of what it does is customer specific and can not be released into the wild. If functionality is needed everywhere, I try to provide it via a centrally managed file. I provide functionality to both command prompts and scripting this way. It allows me to make the scripts generic and change one file with environment customizations.<\/p>\n<p>Script is based on olrad -q output. It uses several deprecated utilities such as lanadmin and lanscan. Since I currently doubt HP-UX v4 is in the works, this should not be a problem.<\/p>\n<p>The output then the script:<\/p>\n<p>IP addresses and mac addresses have been changed to protect the innocent:<\/p>\n<p>.\/backplane.layout.ksh<br \/>\nExecuting HP-UX specific environment parameters&#8230;<br \/>\nm rx8640<br \/>\nml ia64 hp server rx8640<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nValid model found: rx8640<br \/>\n8-0-1-1 3\/0\/8\/1<br \/>\nNework info:<br \/>\ninfo lan3: 192.189.44.111 3\/0\/8\/1\/0\/6\/0 0x0025B3E86088 UP up(1) up(1)<br \/>\ninfo lan4: 192.101.0.155 3\/0\/8\/1\/0\/6\/1 0x0025B3E86089 UP up(1) up(1)<br \/>\nHBA info:<br \/>\nhba dev: \/dev\/fcd2<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/8\/1\/0\/4\/0<br \/>\nWWN sys: 0x500143800542b4f9<br \/>\nWWP sys: 0x500143800542b4f8<br \/>\nSwitch port: 0x20280027f8a26cd4<br \/>\nSwitch node: 0x10000027f8a26cd4<br \/>\nhba dev: \/dev\/fcd3<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/8\/1\/0\/4\/1<br \/>\nWWN sys: 0x500143800542b4fb<br \/>\nWWP sys: 0x500143800542b4fa<br \/>\nSwitch port: 0x20a80027f8a09ff8<br \/>\nSwitch node: 0x10000027f8a09ff8<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n8-0-1-7 3\/0\/2\/1<br \/>\nNework info:<br \/>\ninfo lan1: 192.8.0.95 3\/0\/2\/1\/0\/6\/0 0x0025B3E86066 UP up(1) up(1)<br \/>\ninfo lan2: 119.101.3.71 3\/0\/2\/1\/0\/6\/1 0x0025B3E86067 UP up(1) up(1)<br \/>\nHBA info:<br \/>\nhba dev: \/dev\/fcd0<br \/>\ndrviver state: AWAITING_LINK_UP<br \/>\nfcms device: 3\/0\/2\/1\/0\/4\/0<br \/>\nWWN sys: 0x500143800542b4b5<br \/>\nWWP sys: 0x500143800542b4b4<br \/>\nSwitch port: 0000000000000000<br \/>\nSwitch node: 0000000000000000<br \/>\nhba dev: \/dev\/fcd1<br \/>\ndrviver state: AWAITING_LINK_UP<br \/>\nfcms device: 3\/0\/2\/1\/0\/4\/1<br \/>\nWWN sys: 0x500143800542b4b7<br \/>\nWWP sys: 0x500143800542b4b6<br \/>\nSwitch port: 0000000000000000<br \/>\nSwitch node: 0000000000000000<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n8-0-1-5 3\/0\/6\/0\/0\/0<br \/>\nNework info:<br \/>\nifconfig: no such interface<br \/>\ninfo lan7:  3\/0\/6\/0\/0\/0\/0\/2\/0\/0\/0 0x001E0B5186F0 UP up(1) up(1)<br \/>\ninfo lan8: 0.0.0.0 3\/0\/6\/0\/0\/0\/0\/2\/0\/0\/1 0x001E0B5186F1 UP up(1) up(1)<br \/>\nHBA info:<br \/>\nhba dev: \/dev\/fclp6<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/6\/0\/0\/0\/0\/4\/0\/0\/0<br \/>\nWWN sys: 0x5001438001314ad5<br \/>\nWWP sys: 0x5001438001314ad4<br \/>\nSwitch port: 0x20260027f8a09ff8<br \/>\nSwitch node: 0x10000027f8a09ff8<br \/>\nhba dev: \/dev\/fclp7<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/6\/0\/0\/0\/0\/4\/0\/0\/1<br \/>\nWWN sys: 0x5001438001314ad7<br \/>\nWWP sys: 0x5001438001314ad6<br \/>\nSwitch port: 0x20950027f8a26cd4<br \/>\nSwitch node: 0x10000027f8a26cd4<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n8-0-1-6 3\/0\/4\/0\/0\/0<br \/>\nNework info:<br \/>\ninfo lan5: 0.0.0.0 3\/0\/4\/0\/0\/0\/0\/2\/0\/0\/0 0x001E0B5186B4 UP up(1) up(1)<br \/>\ninfo lan6: 0.0.0.0 3\/0\/4\/0\/0\/0\/0\/2\/0\/0\/1 0x001E0B5186B5 UP up(1) up(1)<br \/>\nHBA info:<br \/>\nhba dev: \/dev\/fclp4<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/4\/0\/0\/0\/0\/4\/0\/0\/0<br \/>\nWWN sys: 0x5001438001314a99<br \/>\nWWP sys: 0x5001438001314a98<br \/>\nSwitch port: 0x200f0027f8a09ff8<br \/>\nSwitch node: 0x10000027f8a09ff8<br \/>\nhba dev: \/dev\/fclp5<br \/>\ndrviver state: ONLINE<br \/>\nfcms device: 3\/0\/4\/0\/0\/0\/0\/4\/0\/0\/1<br \/>\nWWN sys: 0x5001438001314a9b<br \/>\nWWP sys: 0x5001438001314a9a<br \/>\nSwitch port: 0x20140027f8a09ff8<br \/>\nSwitch node: 0x10000027f8a09ff8<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>Key output is this:<br \/>\n8-0-1-6<br \/>\nThis is how the backplane is actually labeled.<\/p>\n<p>cat backplane.layout.ksh<br \/>\n#!\/usr\/bin\/ksh<br \/>\n#<br \/>\n# vgfiberswitch.ksh<br \/>\n# Steven &#8220;Shmuel&#8221; Protter steven.protter@hcl.com<br \/>\n#<br \/>\n. \/var\/adm\/bin\/.scriptenv<br \/>\nPATH=\/opt\/fcms\/bin:${PATH}<br \/>\n####<br \/>\n# binary location<br \/>\n#<br \/>\nLS=\/usr\/sbin\/lanscan<br \/>\nIS=\/usr\/sbin\/ioscan<br \/>\nNW=\/usr\/sbin\/nwmgr<br \/>\nIF=\/usr\/sbin\/ifconfig<br \/>\nFU=\/opt\/fcms\/bin\/fcmsutil<br \/>\nLL=\/usr\/sbin\/linkloop<br \/>\nLA=\/usr\/sbin\/lanadmin<\/p>\n<p>echo &#8220;m ${modinfo}&#8221;<br \/>\necho &#8220;ml ${modinfol}&#8221;<br \/>\necho &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;<br \/>\nif [ &#8220;${modinfo}&#8221; = &#8220;rx8640&#8221; ] ||[ &#8220;${modinfo}&#8221; = &#8220;rx7640&#8221; ]<br \/>\nthen<br \/>\n  echo &#8220;Valid model found: ${modinfo}&#8221;<br \/>\nelse<br \/>\n  echo &#8220;INVALID model found: ${modinfo}&#8221;<br \/>\n  echo &#8220;Exiting return code 1 &#8230;&#8230;&#8230;&#8221;<br \/>\n  exit 1<br \/>\nfi<br \/>\n  ## determine number of multifunction cards to expect<br \/>\n  ncards=$(olrad -n);<br \/>\nolrad -q| awk &#8216;\/Yes\/{ printf &#8220;%s %s\\n&#8221;,$1,$2 }&#8217; | while read -r slot hwp<br \/>\ndo<br \/>\n  echo &#8220;${slot} ${hwp}&#8221;<br \/>\n  echo &#8220;Nework info:&#8221;<br \/>\n  ## network info<br \/>\n  ${LS} | grep &#8220;${hwp}&#8221; | awk &#8216;{ printf &#8220;%s %s %s %s %s\\n&#8221;,$1,$2,$3,$4,$5 }&#8217; | while read -r fwp mad nn st ln<br \/>\n  do<br \/>\n    ###    echo &#8220;hwp: ${fwp} mad: ${mad} netnum: ${nn} status ${st} lan:${ln}&#8221;<br \/>\n    ipady=$(ifconfig ${ln} |awk &#8216;\/inet\/{print $2}&#8217;);<br \/>\n    last1=$(lanadmin -g $nn |awk &#8216;\/Administration Status\/{ print $NF}&#8217;);<br \/>\n    last2=$(lanadmin -g $nn |awk &#8216;\/Operation Status\/{ print $NF}&#8217;);<br \/>\n    echo &#8220;info ${ln}: ${ipady} ${fwp} ${mad} ${st} ${last1} ${last2}&#8221;<br \/>\n  done<br \/>\n  echo &#8220;HBA info:&#8221;<br \/>\n  ioscan -fnCfc -H ${hwp} | awk &#8216;\/dev\/{print $NF}&#8217; |while read -r dv<br \/>\n  do<br \/>\n    nnwwn=$(${FU} ${dv}|awk &#8216;\/N_Port Node World Wide Name\/{print $NF}&#8217;);<br \/>\n    npwwn=$(${FU} ${dv}|awk &#8216;\/N_Port Port World Wide Name\/{print $NF}&#8217;);<br \/>\n    spwwn=$(${FU} ${dv}|awk &#8216;\/Switch Port World Wide Name\/{print $NF}&#8217;);<br \/>\n    snwwn=$(${FU} ${dv}|awk &#8216;\/Switch Node World Wide Name\/{print $NF}&#8217;);<br \/>\n    drst=$(${FU} ${dv}|awk &#8216;\/Driver state\/{print $NF}&#8217;);<br \/>\n    fchw=$(${FU} ${dv}|awk &#8216;\/Hardware Path is\/{print $NF}&#8217;);<br \/>\n    echo &#8220;hba dev: ${dv}&#8221;<br \/>\n    echo &#8220;drviver state: ${drst}&#8221;<br \/>\n    echo &#8220;fcms device: ${fchw}&#8221;<br \/>\n    echo &#8220;WWN sys: ${nnwwn}&#8221;<br \/>\n    echo &#8220;WWP sys: ${npwwn}&#8221;<br \/>\n    echo &#8220;Switch port: ${spwwn}&#8221;<br \/>\n    echo &#8220;Switch node: ${snwwn}&#8221;<br \/>\n  done<\/p>\n<p>echo &#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8221;<br \/>\ndone<\/p>\n<p>relevant parts of .scriptenv<\/p>\n<p>OSM=$(uname -s);<br \/>\nOSV=$(uname -r);<\/p>\n<p># determine the third octet<br \/>\nhn=$(hostname);<\/p>\n<p>## \/Depots\/B.11.31\/2014midyear_depot<br \/>\n## \/Depots\/B.11.23\/2014midyear_depot<\/p>\n<p>if [ &#8220;${OSM}&#8221; = &#8220;HP-UX&#8221; ]<br \/>\nthen<br \/>\n  echo &#8220;Executing HP-UX specific environment parameters&#8230;&#8221;<br \/>\n  modinfo=$(model | awk &#8216;{print $NF}&#8217;);<br \/>\n  modinfol=$(model | awk &#8216;{printf &#8220;%s %s %s %s\\n&#8221;,$1,$2,$3,$4}&#8217;);<br \/>\n  isvirt=$(model | awk &#8216;\/Virtual\/{print $NF}&#8217; | wc -l);<br \/>\nfi<\/p>\n<p>Script is provided without warranty.<\/p>\n<p><a href=\"http:\/\/www.hpux.ws\/scripts\/backplane.layout.ksh\" title=\"backplane.layout.ksh\">Link to script..<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HP-UX hardware is a bit Byzantine in nature. The following script demystifies things a bit and allows us to work at remote data centers with accuracy on cable issues both fiber and copper. If you want to use this script, use the contact form to reach out to me. Most people will find cutting and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"categories":[43,39,8],"tags":[121,122,3,120],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-hardware","category-scripting","category-sysadmin","tag-backplane-info","tag-harware-layout","tag-hpux","tag-rx-class-hardware-info"],"_links":{"self":[{"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/posts\/366"}],"collection":[{"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":2,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":404,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/404"}],"wp:attachment":[{"href":"https:\/\/www.hpux.ws\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hpux.ws\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}