2 पॉइंट द्वारा GN⁺ 2024-09-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सर्वर, PC जैसे सामान्य-purpose hardware पर आ जाने के बाद भी, faults, booting और remote installation को संभालने वाला out-of-band management क्लाइंट और सर्वर के बीच का एक अहम फर्क बना हुआ है
  • IPMI कोई product name नहीं बल्कि एक specification है; HP iLO और Dell DRAC जैसे vendor-specific management systems, IPMI से overlap करते हैं, लेकिन उनकी अपनी अलग history और extended features हैं
  • IPMI, BMC पर चलता है और network/serial-आधारित out-of-band interfaces के साथ-साथ operating system drivers के जरिए in-band interface भी देता है
  • वास्तविक implementations में web UI, SSH, VNC, UDP 623-आधारित commands, remote console, virtual media, sensor/power/fan/watchdog control मिलते हैं, लेकिन ये security exposure के लिए खास तौर पर कमजोर रहे हैं
  • Intel ME और Intel AMT, client PC पक्ष की समान तकनीकें हैं, लेकिन AMT और vPro की शर्तों के कारण आम consumer devices में sideband network access संभव होने की धारणा आम तौर पर सही नहीं है

सर्वर “बड़ा कंप्यूटर” कैसे बने

  • क्लाइंट-सर्वर कंप्यूटिंग की शुरुआत time-sharing computing के विकास से हुई, जहाँ कई terminals एक ही कंप्यूटर से जुड़े होते थे
  • terminals के लिए कंप्यूटर जैसी ही architecture होना जरूरी नहीं था, और यही सोच शुरुआती क्लाइंट-सर्वर सिस्टम्स में भी जारी रही
  • 1990 के दशक के मध्य की PC क्रांति ने क्लाइंट पक्ष में WinTel की एकल संस्कृति बना दी, लेकिन 2000 के दशक तक सर्वर अब भी अलग operating systems और architectures पर चलना आम बात थी
    • सर्वरों में SPARC और Solaris का संयोजन व्यापक रूप से इस्तेमाल होता था
    • IBM की minicomputer architecture और उसके कई operating systems भी महत्वपूर्ण server platforms थे
    • Java ने Solaris/SPARC backend और Windows/x86 clients के बीच code reuse संभव बनाया, जिससे enterprise applications को बढ़ावा मिला
  • समय के साथ, server-specific architectures, PC architecture की cost/performance competition में कमजोर पड़ने लगे
  • server software भी vertical scaling और high uptime से हटकर horizontal scaling और कम कड़े reliability requirements की ओर बढ़ा, जिससे enterprise-grade computers के फायदे घटने लगे
  • आज सर्वरों की मुख्य विशेषताएँ multi-socket SMP/NUMA, जटिल storage controllers और topologies, और out-of-band management features में दिखती हैं

out-of-band management क्या हल करता है

  • out-of-band management वह क्षमता है जिसमें operating system या सामान्य components के सही से काम न करने पर भी एक अलग management computer के जरिए server तक पहुँचा जा सकता है
  • SSH, operating system के ऊपर चलने वाले software द्वारा दी जाने वाली in-band management का एक सामान्य उदाहरण है
  • out-of-band management के लिए अलग hardware/software stack होता है, और परंपरागत रूप से उसे operating system या CPU के सहयोग की जरूरत नहीं होती थी
  • आज यह क्षमता सबसे साफ रूप में server के remote console में दिखती है
    • यह built-in IP KVM की तरह काम करता है, जिससे server को ऐसे चलाया जा सकता है जैसे local monitor और keyboard जुड़े हों
    • “virtual media” feature से ISO file upload करके उसे physical device जैसा दिखाया जा सकता है, जो operating system installation में उपयोगी है
  • ये क्षमताएँ नई नहीं हैं; business computing के पूरे इतिहास में इनके समान रूप मिलते हैं
  • अपेक्षाकृत आधुनिक servers में आम तौर पर management की कई परतें साथ मौजूद रहती थीं
    • local operator interfaces, जैसे LCD या LED, जो hardware status दिखाते थे
    • serial console, जिससे शुरुआती bootloader और persistent low-level management systems तक पहुँचा जा सके
    • machine workloads को remotely manage करने वाले higher-level management systems
  • आज भी front-panel fault indicators और serial management बचे हुए हैं, लेकिन hot-swappable redundant parts की रेंज पहले की तुलना में कम हो गई है

IPMI और BMC का संबंध

  • IPMI कोई खास product नहीं बल्कि Intel IPMI specification है
  • बड़े server vendors आम तौर पर अपना खुद का IPMI implementation रखते हैं और HP iLO या Dell DRAC जैसे नाम इस्तेमाल करते हैं
    • ऐसे systems कुछ मामलों में IPMI से पहले भी मौजूद थे, इसलिए उन्हें बस “IPMI” कहना पूरी तरह सटीक नहीं है
    • नए manufacturers अक्सर firmware vendor के standard offering को ही इस्तेमाल करते हैं और उसे IPMI कह देते हैं
  • IPMI software आम तौर पर उस processor पर चलता है जिसे BMC (Baseboard Management Controller) कहा जाता है
  • IPMI और BMC शब्द कभी-कभी एक-दूसरे के स्थान पर भी इस्तेमाल होते हैं
  • LOM (Lights-Out Management) अब अपेक्षाकृत पुराना शब्द है, लेकिन HP(E) के Integrated Lights-Out नाम के चलते यह अभी भी प्रचलन में है
  • BMC को client computers में fan speed control जैसे काम करने वाले SMC (System Management Controller) से अलग समझना चाहिए
    • दोनों components का ऐतिहासिक संबंध है
    • servers में इन कामों का अधिकांश हिस्सा BMC ही संभालता है
  • IPMI दो तरह के access approaches को define करता है
    • network या serial connection के जरिए out-of-band interface
    • operating system द्वारा driver के माध्यम से access किया जाने वाला in-band interface
  • in-band access की वजह से Linux के ipmitool जैसे tools, चल रहे operating system से ही IPMI के साथ interact कर सकते हैं
  • IPMI एक स्वतंत्र management system होने के साथ-साथ सुविधा के लिए operating system को local interface भी देता है, इसलिए इस संरचना को समझने से terminology confusion कम होता है

वास्तविक IPMI उपयोग और security constraints

  • IPMI products धीरे-धीरे अपनी functionality को web applications के रूप में ज्यादा देने लगे हैं
  • कई products में dedicated client software भी होता है, लेकिन रुझान built-in web apps की ओर है
  • web interface की quality implementation के अनुसार बहुत बदलती है और आम तौर पर अच्छी नहीं होती
  • अधिकांश servers में IPMI या management नाम से चिह्नित dedicated Ethernet interface होता है
  • security और reliability के लिहाज से IPMI management interface को अलग physical network पर रखना सबसे अच्छा माना जाता है
    • मुख्य network में performance या stability की समस्या आने पर भी IPMI तक पहुँचना संभव होना चाहिए
    • अलग physical network के लिए समय, जगह और लागत लगती है
  • एक आम समझौता यह है कि management network को सामान्य network equipment पर VLAN के रूप में बनाया जाए
    • यह स्वतंत्र private network जैसा काम करता है, लेकिन वास्तविक equipment साझा रहता है
    • isolation software के जरिए लागू की जाती है
  • अतिरिक्त cables से बचने के लिए IPMI sideband networking भी देता है
    • BMC, उसी NIC के साथ सीधे communicate करता है जिसे operating system इस्तेमाल करता है
    • NIC ऐसा दिखा सकता है मानो दो अलग interfaces हों; IPMI traffic, host traffic के उसी packet stream में मिल जाता है, लेकिन अलग MAC address इस्तेमाल करता है
    • इससे IPMI और application traffic के बीच separation कमजोर हो जाती है, इसलिए security पर विशेष ध्यान चाहिए
  • कई IPMI implementations में गंभीर security समस्याएँ देखी गई हैं, इसलिए इन्हें untrusted users की पहुँच में नहीं होना चाहिए
  • network features implementation के अनुसार अलग होते हैं, लेकिन आम तौर पर UDP 623 पर आधारित standard interface discovery और basic commands के लिए इस्तेमाल होता है
  • SSH और web interfaces आम हैं, और remote console के लिए VNC भी अक्सर इस्तेमाल होता है
  • IPMI से किए जा सकने वाले बुनियादी काम इस प्रकार हैं
    • FRU या vendor part-number स्तर पर hardware modules की सूची देखना
    • sensors, power state और fans जैसे बुनियादी hardware functions को नियंत्रित करना
    • standard watchdog timer का उपयोग
  • watchdog timer को operating system के ऊपर चलने वाले software के साथ जोड़कर ऐसा बनाया जा सकता है कि application के असामान्य स्थिति में फँसने पर server reset हो जाए
  • watchdog timeout इतना लंबा होना चाहिए कि system को boot होने और login के बाद उसे disable करने का पर्याप्त समय मिल सके

Intel ME, AMD ST, AMT और client PC के अपवाद

  • IPMI enterprise servers में आम है, लेकिन सामान्य client computers या छोटे/low-power computers में दुर्लभ है
  • Intel ME और AMD ST लगभग सभी Intel और AMD processors में मौजूद OOB management controller जैसे उल्लेखनीय अपवाद हैं
  • Intel ME, Intel AMT (Active Management Technology) को संभव बनाने वाला एक component है
  • AMT, client machines में out-of-band management को व्यापक बनाने की कोशिश थी, और यह IPMI जैसी अधिकांश capabilities देता है
  • AMT बहुत सफल नहीं हुआ; मुख्य कारण यह था कि Intel ने AMT की अधिकांश सुविधाओं को महंगे enterprise management platforms के साथ बाँध दिया
  • open source AMT clients मौजूद हैं, लेकिन वास्तव में AMT इस्तेमाल कर सकने वाली machines ढूँढना अब भी एक समस्या है
  • AMT की sideband management ने security community में चिंता पैदा की, लेकिन व्यवहार में इसके लिए नीचे की सभी शर्तें पूरी होनी चाहिए
    • processor AMT-capable होना चाहिए
    • motherboard chipset AMT-capable होना चाहिए
    • NIC AMT-capable होना चाहिए
    • ये तीनों ही devices vPro badge वाले Intel products तक सीमित होते हैं
  • consumer devices में Intel NICs की सीमित लोकप्रियता के कारण भी sideband access बहुत आम नहीं है
  • vPro आम तौर पर अपेक्षाकृत high-end processors और chipsets तक सीमित है
  • consumer devices में Intel ME के sideband networking से accessible होने की व्यापक “fact” जैसी धारणा आम तौर पर सही नहीं है, और इसका कारण सिर्फ Intel software licensing नहीं है
  • Intel ME में खुद AMT के बिना लगभग कोई out-of-band management capability नहीं होती, लेकिन यह Secure Boot और DRM जैसे trusted execution components को host और manage करने के लिए एक सुविधाजनक आधार के रूप में इस्तेमाल होता दिखता है
  • Intel ME का third-party audit संभव नहीं है, और अतीत में इसमें गंभीर security vulnerabilities रही हैं
  • आधुनिक consumer ARM SoCs में भी ऐसी ही क्षमताएँ होती हैं, इसलिए यह केवल किसी खास x86 vendor तक सीमित समस्या नहीं है

1 टिप्पणियां

 
GN⁺ 2024-09-04
Hacker News टिप्पणियाँ
  • इसमें कुछ हिस्से नवीनतम जानकारी से थोड़े अलग हैं। Intel CPU/GPU दोनों में AMD से पीछे रह गया है, और N100 सीरीज़ जैसे कम-शक्ति, fanless उपयोग के लिए उपयुक्त कुछ अपवाद ही खास दिखते हैं
    इसलिए Intel CPU ज़्यादातर वही संगठन खरीदते हैं जिन्हें अपने मौजूदा environment को उसी निर्माता के CPU से refresh करना होता है; उदाहरण के लिए vSphere की EVC की तरह, नए processor को उसी vendor के पुराने मॉडल की तरह behave कराकर अलग CPU architectures के बीच hot migration और hardware replacement के समय downtime को कम करने के लिए
    इसके अलावा लगभग हर जगह रुझान बेहतर price-to-performance वाले और सस्ते AMD CPU की ओर है। Intel NIC आम तौर पर अच्छे हैं, और consumer devices में भी इनका उपयोग बढ़ रहा है। लेकिन X710 एक अपवाद रहा है, जो VMware जैसे “enterprise” compatibility list में होने के बावजूद एक साल से अधिक समय तक driver issues के कारण चुपचाप network failures या crashes पैदा करता रहा
    server खरीदने वाली टीमों के लिए Supermicro अक्सर एक अच्छा विकल्प हो सकता है। यह सस्ता है, और form factor, chassis, parts, slot count आदि में अधिक flexibility देता है, तथा सामान्यतः भरोसेमंद भी है, लेकिन support, Dell/HPE के सैद्धांतिक support की तुलना में कम स्थिर है, इसलिए redundancy configuration में यह सबसे अच्छा बैठता है
    साथ ही IPMI spec को अब Redfish से बदला जा रहा है, जो अधिक पूर्ण, सुरक्षित, standardized और एक ठीक-ठाक API देता है। पिछले कुछ वर्षों के mainstream servers में IPMI के साथ Redfish भी होने की संभावना काफी अधिक है
    हाल ही में short-seller research firm Hindenburg ने Supermicro के संदिग्ध पहलुओं को उजागर करने वाली एक report जारी की, लेकिन hardware खुद अब भी top-tier है, और बड़े cloud providers भी इसका उपयोग करते हैं: https://hindenburgresearch.com/smci/

    • मैंने workstation उपयोग के लिए Supermicro और ASRock Rack दोनों के boards इस्तेमाल किए हैं, और Supermicro board ऐसा महसूस होता है जैसे वह 2024 का नहीं बल्कि 2005 में बना board हो
      ACPI sleep support नहीं, 4-pin/3-pin fan support कमजोर होने से 3-pin fan हमेशा 100% speed पर, 2010s में अटका हुआ IPMI web interface, heatsink इस्तेमाल न करने देने वाला NVMe layout, और board labels के बिना ढेर सारे अपारदर्शी jumpers
      जबकि उसी श्रेणी का ASRock Rack board तुलना से परे बेहतर था
    • Supermicro की असली समस्या short-seller report नहीं, बल्कि Secure Boot key leak है। trust root टूट जाने से काफी hardware को सुरक्षित बनाना संभव नहीं रह गया
      https://arstechnica.com/security/2024/07/secure-boot-is-comp...
    • हाल के Intel CPU कागज़ पर बुरे नहीं लगते, लेकिन व्यवहार में उनके जल जाने की समस्या है
      process node जितना सूक्ष्म होता जाता है, lifespan issues का बढ़ना स्वाभाविक है, इसलिए यह बहुत चौंकाने वाली बात नहीं है। mobility defects जैसी समस्याएँ भी आसानी से बड़े trouble का कारण बन सकती हैं। लोग कहते हैं कि microcode ने motherboard से जरूरत से ज्यादा voltage माँगा, और यह बात सही भी हो सकती है, लेकिन यह भी सच है कि chips environmental changes के प्रति अधिक sensitive हो जाती हैं
      पहले मुझे Intel NIC की performance और Linux compatibility पसंद थी, और Intel SSD भी अच्छे लगते थे। लेकिन सस्ते प्रतिद्वंद्वियों की तुलना में P95~P99 range में थोड़ा बेहतर performance जैसी बातों को पढ़कर समझना पड़ता था, और कंप्यूटर के धीमा लगने पर जो झुंझलाहट होती है, वही ठीक P95~P99 वाला हिस्सा था। Anandtech मुझे पसंद भी था और नापसंद भी, क्योंकि वह अक्सर यही अहम बिंदु छोड़ देता था
    • अच्छा होता अगर Supermicro PSU को proprietary IPMI utility के बिना PMBus से access किया जा सकता, लेकिन ऐसा नहीं है। ऊपर से यह केवल x86 के लिए है, इसलिए ppc64el पर interface करने का कोई तरीका नहीं है
      अगर यह open source होता, तो इसे आसानी से build किया जा सकता था
      https://www.supermicro.com/en/solutions/management-software/...
    • मैं Redfish के जरिए IPMI SSL certificates को up-to-date रखने के लिए automation कर रहा हूँ, लेकिन नया certificate लाने की प्रक्रिया vendor के हिसाब से Redfish implementation में थोड़ा-थोड़ा अलग जादू मांगती है
      सिर्फ certificate name, encoding आदि के साथ certificate upload और replacement के लिए ही मेरे पास हर vendor की अजीब भिन्नताओं को संभालने वाले Python modules का एक गुच्छा है। सिद्धांत रूप में यह हर जगह काम करने वाले कुछ standard PUT requests से खत्म हो जाना चाहिए, और Redfish API docs भी आपको यही मानने पर मजबूर करते हैं, लेकिन हक़ीक़त ऐसी नहीं है
      इसलिए यह standardized है या usable है, इस बात से सहमत होना कठिन है; यह उतना ही झुंझलाने वाला है जितना कभी web interface को सीधे चलाना हुआ करता था
  • अगर आप compact या low-power computers पर अड़े हैं, तो IPMI के बिना जीना पड़ेगा—इस बात का एक विकल्प है Atom-based Supermicro MicroATX board पर IPMI लेना और उसे कम गहराई वाले 1U chassis में छोटे Noctua fans से चुपचाप ठंडा करना
    मैं घर पर एक पुराना मॉडल इस्तेमाल कर रहा हूँ, और यह शांत व छोटा होने की वजह से मैंने देखे हुए Dell R2x0 models की तुलना में कहीं अधिक आकर्षक लगा। IPMI और ECC RAM जैसी server features होने से यह mini PC से बेहतर था, और ढीले-ढाले RasPi से अधिक स्थिर भी
    व्यक्तिगत रूप से मैं IPMI port को main LAN में plug नहीं करूँगा, लेकिन अलग-थलग स्थिति में यह काफी उपयोगी था और इसके साथ छेड़छाड़ करना भी मज़ेदार था

    • ASRock Rack के पास X470, X570, X670 जैसे chipsets पर standard AM4/AM5 chips के साथ ऐसे boards हैं जो IPMI और ECC जैसी कई server features देते हैं। AMD पक्ष में ECC पहले से ही काफी आम लगता है
      मेरे board में 5950X लगा है, लेकिन मैंने कुछ समय तक 5600G के साथ भी इसे अच्छी तरह चलाया। यह mATX/ATX है, इसलिए सामान्य case और सामान्य power supply में फिट हो जाता है, और rack की ज़रूरत नहीं पड़ती
    • IPMI और दूसरे management interfaces को अलग management VLAN में segregate किया जाता है, और उन्हें केवल dedicated VPN के माध्यम से ही accessible रखा जाता है
    • मेरे पास ऐसी Atom boards कई हैं। लेख पढ़ते ही सबसे पहले यही बात याद आई थी, और लेख को यह कहने में काफी समय लग गया कि IPMI का मतलब सिर्फ बड़ा equipment नहीं होता
  • अगर आप ऐसे हार्डवेयर में remote access जोड़ना चाहते हैं जिसमें IPMI नहीं है, तो 30 डॉलर वाला RISC-V NanoKVM जैसी चीज़ आज़मा सकते हैं
    यह HDMI capture और encoding, Ethernet/Wi-Fi, ATX power control देता है और सामान्य Linux distribution चलाता है
    https://www.aliexpress.com/item/1005007369816019.html
    https://github.com/sipeed/NanoKVM

    • मैं अभी इसे एक खिलौना mini PC पर full kit के साथ लगाकर इस्तेमाल कर रहा हूँ। यह कुछ ही watt खाने वाला छोटा RISC-V डिवाइस है, और अभी Wi-Fi नहीं है, लेकिन HDMI output को web UI में capture करते हुए PC पर चार डिवाइस के रूप में emulate होता है
      USB keyboard, USB mouse, install और recovery के लिए boot ISO स्टोर करने वाली USB flash drive, और एक काफ़ी बढ़िया USB NIC की तरह काम करता है
      इस USB NIC का इस्तेमाल PC से सिर्फ management SSH port expose करने के लिए किया जा सकता है, इसलिए ऐसा लगता है जैसे PC को एक तरह का dedicated IPMI interface मिल गया हो। नए software में WireGuard और Tailscale support भी है, इसलिए VPN से सीधे जुड़ा जा सकता है
      अभी कुछ छोटी-मोटी समस्याएँ हैं, लेकिन developers उन्हें तेज़ी से ठीक कर रहे हैं
    • ATX power control breakout इस्तेमाल करने के लिए 60 डॉलर वाला full version चाहिए। यह breakout ATX signals ले जाने वाले एक अजीब physical USB-C connector से जुड़ता है
      इसे खुद भी बनाया जा सकता है, लेकिन USB-C connector पर soldering करना सच में बहुत खराब अनुभव है
    • यह जानने की जिज्ञासा है कि AliExpress यह डिवाइस अमेरिकी ग्राहकों को क्यों नहीं बेचता
    • software की तरफ़ से यह open source नहीं है, इसलिए alternatives की तुलना में इसमें कोई खास बढ़त नहीं है
      यह बस एक और अविश्वसनीय KVM है
  • मैंने 1990 के दशक के आखिर में Intel द्वारा बनाए गए कई server install किए थे। Intel reference platform को “barebones” कंप्यूटर के रूप में ship किया जाता था और RAM व storage integrator जोड़ता था, और LANDesk Server Manager Pro तथा “Emergency Management Card”(EMC) से lights-out management किया जाता था
    ये AP450GX, BB440FX, RC440FX जैसे Pentium Pro से शुरुआती Pentium II दौर के सिस्टम थे
    x86 platform का reference code कभी सच में मरता नहीं है, यह सोचकर मैं अक्सर हैरान होता हूँ कि आज की IPMI संरचना का कितना हिस्सा इस hardware और software से चला आया होगा। Intel LANDesk Emergency Management Card का default password “calvin” था, और अगर आपने शुरुआती Dell iDRAC के साथ काम किया है तो यह password परिचित लगेगा। मुझे नहीं लगता कि यह महज़ संयोग है
    वैसे, मैंने एक Intel कर्मचारी से सुना था कि EMC का codename “Hobbes” था, लेकिन इसका कोई documented संदर्भ नहीं मिला
    EMC versions eBay पर अक्सर दिख जाते थे और ISA व PCI दोनों versions मौजूद थे। यह कार्ड पर मौजूद एक x86 PC था, और कुछ या शायद सभी में built-in UPS भी था। Out-of-band management जोड़ने के लिए PCMCIA slot, external power supply होता था, और यह कार्ड के host bus interface व proprietary connector के ज़रिए server motherboard से जुड़ता था
    मैंने कुछ EMC versions के firmware डाउनलोड करके देखे हैं, और उनमें से कुछ embedded DOS machine जैसे लगते थे। यह अभी भी उन खिलौना projects में से एक है जिन्हें मैं कभी करना चाहता हूँ, इसलिए मैंने अब तक code का reverse engineering या qemu में चलाने की कोशिश नहीं की, लेकिन करना चाहता हूँ
    Intel reference platform बेचने वाली third-party कंपनियाँ जैसे Unisys, Fujitsu, ALR/Gateway, NCR भी यह कार्ड देती थीं। बिक्री सूचियों में यह कार्ड दिखे तो वह Intel reference platform का अच्छा संकेत होता है, और “LDSM” का उल्लेख भी एक संकेत है
    अगर कोई इस वंशावली के बारे में जानता हो तो वह सच में दिलचस्प होगा
    https://www.intel.com/pressroom/archive/releases/1998/ld1030...
    https://web.archive.org/web/20240903131630/https://www.ebay....

  • Intel ME और AMD PSP, CPU को ऐसी x86 PC जैसी स्थिति में लाने में बड़ी भूमिका निभाते हैं जिसमें host firmware वास्तव में चल सके
    initialization की जटिलता इतनी बढ़ गई है कि परंपरागत शुरुआती BIOS code की तरह अजीब तरह से सीमित assembly में पूरा logic लिखने के बजाय, C में programmable किसी शांत अलग embedded core पर इसे software से संभालना ज़्यादा उचित लगता है
    कुछ HPE ProLiant सिस्टमों में लगता है कि इस low-level initialization का कुछ हिस्सा वास्तव में iLO करता है। उस boot stage में iLO framebuffer को भी सीधे control करता दिखता है, और G10 पर थोड़ी देर के लिए “console को host को सौंपा जा रहा है” जैसा संदेश दिखाई देता है, फिर display दोबारा initialize होकर function key hints दिखती हैं
    Dell शायद कुछ ऐसा ही करता होगा, लेकिन शुरुआती चरणों में सिर्फ “Please wait” और एक बड़ा loading indicator दिखता है, progress नहीं दिखती

  • IPMI और दूसरे समाधान ठीक हैं, लेकिन मैं हमेशा UEFI shell के लिए एक standard serial interface चाहता हूँ। उस serial port तक कैसे पहुँचना है, यह मेरी अपनी समस्या है

    • shell जिन UEFI boot services पर निर्भर करती है, वे bootloader या operating system द्वारा ExitBootServices() कॉल किए जाने के बाद इस्तेमाल नहीं की जा सकतीं
      code सचमुच RAM से हट जाता है और वह memory region operating system को वापस कर दी जाती है, इसलिए implementation आसान नहीं है
    • Sun SPARC और दूसरे Unix सिस्टमों की जो बात याद आती है, वह यह है कि बहुत निचले स्तर पर वास्तव में अच्छा remote access संभव था
      BIOS/UEFI remote console हमेशा झंझटभरा रहा है और उसकी सफलता अस्थिर रही है। Input/output मिलाने के लिए अक्सर GRUB या kernel settings में बदलाव करना पड़ता था
    • server hardware आमतौर पर serial के ज़रिए UEFI access करने देता है। फिर भी लगता है कि remote power control की ज़रूरत तो रहती ही है
  • IPMI उपयोगी है, लेकिन यह साफ दिखाता है कि commercial कंपनियों पर लंबे समय तक hardware को ठीक से support करने के लिए भरोसा नहीं किया जा सकता
    IPMI पर चलने वाला operating system सिस्टम नया होने पर आम तौर पर काफ़ी सुरक्षित होता है, लेकिन जैसे ही नया CPU socket आता है, निर्माता पुराने सिस्टम के updates में धीरे-धीरे रुचि खो देते हैं। वही IPMI hardware पुराने और नए दोनों boards में हो, तब भी यही होता है
    अगर IPMI hardware पर अपना खुद का operating system चलाया जा सके, तो यह कहीं अधिक उपयोगी होगा। तब इसे सीधे इंटरनेट से जोड़ना भी सुरक्षित हो सकता है। अभी VPN, SSH port forwarding, अलग network segment जैसे sideband communication की ज़रूरत पड़ती है, इसलिए IPMI को support करने के लिए बहुत सा अतिरिक्त hardware और configuration जुड़ जाता है
    बड़े पैमाने की installations में यह अतिरिक्त लागत अच्छी तरह बँट जाती है, लेकिन छोटे पैमाने की installations में यह काफ़ी बड़ा बोझ बन जाती है। अगर बस एक ही मशीन को colocation में रखना हो, तो यह लगभग बेकार हो जाता है
    IPMI को इंटरनेट पर सीधे सुरक्षित रूप से expose नहीं किया जा सकता, इसलिए आखिरकार हर मशीन के साथ किसी न किसी तरह का Pi जोड़ना पड़ा। ऐसा करने पर serial port इस्तेमाल करना उतना ही आसान, बल्कि और आसान हो जाता है। आख़िर में बात VAX, Sun, Alpha के ज़माने से चले आ रहे standard serial port control पर लौट आती है, और जितना सोचो, यह असुरक्षित network interface से कहीं ज़्यादा समझदारी भरा लगता है

  • अगर deployment छोटा हो, जैसे लगभग 10,000 cores के स्तर का, तो मैं integrator के ज़रिये सीधे build करूँगा
    Gigabyte/ASRock Rack motherboard, Epyc 9003 series, RAM 384GB, सामान्य dual power supply configuration के साथ प्रति node लगभग 7,000 डॉलर पड़ते हैं और power efficiency भी काफ़ी अच्छी हो सकती है
    built-in IPMI भी काफ़ी ठीक है, ipmitool के साथ अच्छा काम करता है, और आम तौर पर कुछ Redfish features भी शामिल होते हैं

  • मुझे IPMI सच में पसंद है, लेकिन homelab use में जो बात पसंद नहीं आती वह है idle power का लगभग 5W ज़्यादा होना
    Gigabyte MC12-LE0 board और Ryzen Pro 5650 का संयोजन home server के लिए लगभग 50 डॉलर में मिलता है, इसलिए यह साफ़ पसंद जैसा लगता है, लेकिन अधिक power consumption पूरी तरह पसंद नहीं आती
    Dell T20/T30 जैसे पुराने उपकरणों में Intel AMT है, जिसकी functionality काफ़ी कमज़ोर है और security flaws भी हैं, लेकिन MeshCommander के साथ कम से कम remote management का एक रास्ता मिल जाता है। अफ़सोस की बात है कि MeshCommander बंद हो चुका है और उसके releases इधर-उधर ग़ायब हो गए, लेकिन अच्छी किस्मत से मैंने MSI और Node packages अपने server पर सहेज रखे हैं
    Raspberry 4 और 8 डॉलर वाले साधारण USB-HDMI capture card के साथ PiKVM V2 आज़माने की योजना है: https://docs.pikvm.org/v2/
    कुछ features की कमी को छोड़ दें, तो यह उन devices पर भी अधिक सामान्य रूप से इस्तेमाल किया जा सकता है जो remote management को बिल्कुल support नहीं करते, इसलिए यह काफ़ी promising लगता है

    • अतिरिक्त power consumption काफी हद तक power supply की quality पर निर्भर करता है। ऊँचे load और idle दोनों स्थितियों में efficient power supply बनाना काफ़ी कठिन है
      यह शक है कि BMC, या कभी-कभी NIC में built-in BMC, वास्तव में इतना power खाएगा। ऊपर से Raspberry 4 के साथ PiKVM चलाएँ, तो वह 5W से ज़्यादा ही लेगा
    • अब जबकि firmware open है, मैं NanoKVM को देख रहा हूँ
      https://github.com/sipeed/NanoKVM
    • MeshCommander releases अभी भी https://www.meshcommander.com/ से मिल सकते हैं और NPM से install भी किए जा सकते हैं
      मैंने इसे इस्तेमाल नहीं किया है, लेकिन उसके successor के रूप में https://meshcentral.com/ लक्षित लगता है
    • MeshCommander 0.96 फिर से website से डाउनलोड किया जा सकता है। पढ़ा था कि developer नई नौकरी में ढलने में व्यस्त था
  • IPMI में बड़ा सवाल यह है कि default key क्या है
    अगर supply chain में कहीं किसी ने अतिरिक्त IPMI key install कर दी हो या कोई default key मौजूद हो, तो वह व्यक्ति कंप्यूटर को remotely manage कर सकता है
    https://www.rapid7.com/blog/post/2013/07/02/a-penetration-te...

    • उस लिंक के अतिरिक्त उद्धरण के अनुसार, IPMI 2.0 authentication process यह मांग करता है कि client के authenticate होने से पहले server requested user के password का salted SHA1 या MD5 hash client को भेजे
      IPMI में password की अधिकतम लंबाई भी 20 characters है। व्यवहार में इसका मतलब यह है कि hash केवल सीमित contract अवधि के भीतर काम करने वाले जाने-पहचाने penetration tester से ही गुप्त रहने की उम्मीद की जाती है, असीमित समय वाले वास्तविक attacker से नहीं
      इस हिस्से पर मेरी बहुत कड़ी आलोचना है। इसे specification में आए 20 साल हो चुके हैं। क्या software की खासियत यह नहीं कि उसे hardware की तुलना में बदलना आसान होता है। “इसे VLAN में रखना चाहिए” कहना आसान है, लेकिन assessment पर जाओ तो IPMI लगभग हमेशा business network से जुड़ा मिलता है
      अगर default में बेवकूफ़ी रखोगे, तो वही बेवकूफ़ configuration दुनिया भर में फैल जाएगी, और इसमें वह हर कंपनी शामिल है जिसके पास जानकार security manager नहीं है और जो बस “server खरीदती” है
    • इसे हमेशा physically isolated network पर होना चाहिए, और system तथा NIC share करने वाले BMC से बचना चाहिए