- होम
- मल्टी-क्लाउड नेटवर्किंग
- Customer Edge diagnostics
- Reaching a Customer Edge
- सीरियल कंसोल
सीरियल कंसोल
इस परिनियोजन के एक CE से 2026-07-28 को कैप्चर किया गया। sitecli/capture-manifest.json
यह दर्ज करता है कि कौन सा नोड था, और scripts/capture-sitecli.sh --check कमांड सतह को
एक लाइव CE के विरुद्ध पुनः सत्यापित करता है।
Azure Serial Console, Azure प्लेटफ़ॉर्म के माध्यम से नोड के एमुलेटेड सीरियल पोर्ट से जुड़ता है। यह F5 Distributed Cloud कंट्रोल प्लेन, नोड के डेटा प्लेन, या नोड द्वारा नियंत्रित किसी नेटवर्क पथ से नहीं गुजरता — और ठीक इसी कारण यह तब भी काम करता है जब कुछ और काम नहीं करता।
इसका सहारा तब लें जब कोई CE कभी ऊपर ही नहीं आया: रजिस्ट्रेशन विफल रहा, साइट टेनेंट में मौजूद नहीं है, या नोड चालू है पर बाहर जाने का कोई रास्ता नहीं है। इन सभी स्थितियों में debug API के पास रिले करने के लिए कोई टनल नहीं होता। SSH विफल रजिस्ट्रेशन के बाद भी बचा रहता है, लेकिन तभी जब उसकी कुंजी पहले बूट पर ही लिखी जा चुकी हो और आप VNet के भीतर से नोड के आंतरिक पते तक पहुँच सकें — और किसी ऐसे नोड के लिए, जिससे आप पहली बार मिल रहे हैं, इनमें से कोई भी सत्य नहीं होता।
यदि नोड के पास कोई भी कार्यशील नेटवर्क पथ है तो इससे पहले Site Console आज़माएँ: वह भी विफल रजिस्ट्रेशन के बाद बचा रहता है, उसे कोई कुंजी नहीं चाहिए, और वह उस व्यक्ति को बाहर नहीं करता जो पहले से नोड देख रहा है। सीरियल कंसोल तब बचता है जब नेटवर्क पथ ही टूटी हुई चीज़ हो।
पूर्वापेक्षा: बूट डायग्नोस्टिक्स
Section titled “पूर्वापेक्षा: बूट डायग्नोस्टिक्स”सीरियल कंसोल जोड़ने से पहले Azure को VM पर बूट डायग्नोस्टिक्स चाहिए।
यह terraform/modules/ce-node द्वारा सक्षम किया जाता है:
boot_diagnostics {}एक खाली ब्लॉक Azure-प्रबंधित स्टोरेज चुनता है, इसलिए कोई डायग्नोस्टिक्स स्टोरेज अकाउंट, लाइफसाइकल पॉलिसी या एक्सेस की अपने पास रखने की ज़रूरत नहीं। किसी नोड पर इसकी पुष्टि करें:
az vm show -g <resource-group> -n <vm-name> --query diagnosticsProfile{ "bootDiagnostics": { "enabled": true } }टर्मिनल के बिना उपलब्धता की जाँच
Section titled “टर्मिनल के बिना उपलब्धता की जाँच”अटैच करने के लिए इंटरैक्टिव सत्र चाहिए, लेकिन यह अटैच होगा या नहीं — इसका उत्तर दो API कॉल हैं। दोनों हेल्थ चेक में उपयोगी हैं।
सेवा सब्सक्रिप्शन के लिए सक्षम होनी चाहिए — कोई प्रशासक इसे पूरे टेनेंट में अक्षम कर सकता है:
az rest --method get --url \ "https://management.azure.com/subscriptions/<sub>/providers/Microsoft.SerialConsole/consoleServices/default?api-version=2018-05-01"{ "properties": { "disabled": false } }फिर किसी विशिष्ट नोड के सीरियल पोर्ट से कनेक्शन के लिए अनुरोध करें:
az rest --method post \ --headers "Content-Type=application/json" --body '{}' --url \ "https://management.azure.com/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.Compute/virtualMachines/<vm>/providers/Microsoft.SerialConsole/serialPorts/0/connect?api-version=2018-05-01"wss:// से शुरू होने वाला connectionString — इस परिनियोजन पर
eastus.gateway.serialconsole.azure.com — का अर्थ है कि कंसोल अभी अटैच किया जा सकता है।
बूट डायग्नोस्टिक्स सक्षम होने से पहले, इस कॉल के पास अटैच करने के लिए कुछ नहीं था।
अटैच करना
Section titled “अटैच करना”-
एक्सटेंशन एक बार इंस्टॉल करें:
Terminal window az extension add --name serial-console -
अटैच करें:
Terminal window az serial-console connect -g <resource-group> -n <vm-name> -
आप नोड के अपने लॉगिन प्रॉम्प्ट पर पहुँचते हैं, शेल पर नहीं, अप्लायंस के ऑडिट बैनर के पीछे। सीरियल कंसोल सिद्ध करता है कि चैनल काम करता है; यह प्रमाणीकरण को बायपास नहीं करता।
f5-xc-ce-vm-01 से कैप्चर किया गया, बीच में वह भाग हटा दिया गया जहाँ systemd यूनिट आउटपुट
कुछ नहीं जोड़ता:
+-----------------------------------------------+Connected to the serial port of the VM.If no login prompt is displayed, press ENTER.+-----------------------------------------------+
Probing EDD (edd=off to disable)... okMemory KASLR using RDRAND RDTSC...init_cea_offsets KASLR using RDRAND RDTSC...Poking KASLR using RDRAND RDTSC...
Welcome to Red Hat Enterprise Linux 9.2024.6.3 (Plow) dracut-057-44.git20230822.el9 (Initramfs)!
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
... [320 lines of systemd unit output elided]
[ OK ] Started Serial Getty on ttyS0.[ OK ] Reached target Login Prompts.[ OK ] Started OpenSSH server daemon.[ OK ] Started Container Runtime Interface for OCI (CRI-O).[ 19.960784] cloud-init[1311]: Cloud-init v. 23.1.1-12.el9_3 running 'modules:config' at Sun, 26 Jul 2026 13:13:54 +0000. Up 19.84 seconds.[ OK ] Finished Apply the settings specified in cloud-config. Starting Execute cloud user/final scripts...[ OK ] Started Docker Application Container Engine. Starting Argo Watch service... Starting VP Manager image load...[ OK ] Started Argo Watch service.[ 21.544663] cloud-init[1512]: Cloud-init v. 23.1.1-12.el9_3 running 'modules:final' at Sun, 26 Jul 2026 13:13:56 +0000. Up 21.41 seconds.[ 22.751629] cloud-init[1512]: Cloud-init v. 23.1.1-12.el9_3 finished at Sun, 26 Jul 2026 13:13:57 +0000. Datasource DataSourceAzure [seed=/var/lib/waagent]. Up 22.37 seconds[ OK ] Finished Execute cloud user/final scripts.[ OK ] Started libcontainer conta…f4b59f3b96c31ee10cd95f6eb371c.
UNAUTHORIZED ACCESS TO THIS DEVICE IS PROHIBITEDAll actions performed on this device are auditedf5-xc-ce-vm-01 login: [ 123.107074] Warning: Deprecated Driver is detected: iptables will not be maintained in a future major release and may be disabled[ 123.144641] Warning: Deprecated Driver is detected: ip6tables will not be maintained in a future major release and may be disabledउस ट्रांसक्रिप्ट में चार बातें ध्यान देने योग्य हैं, क्योंकि वे उन प्रश्नों का उत्तर देती हैं जो debug API नहीं दे सकता:
- cloud-init पूर्ण हुआ —
Datasource DataSourceAzure, 22.37 सेकंड पर समाप्त। जो नोड कभी रजिस्टर नहीं होता, वह प्रायः यहीं विफल हुआ था, और यही जगह है जहाँ आप इसे देखते हैं। - दोनों कंटेनर रनटाइम शुरू हुए।
Container Runtime Interface for OCI (CRI-O)औरDocker Application Container Engineदोनों[ OK ]हैं, जो उस दोहरे-रनटाइम व्यवहार का बूट-समय प्रमाण है जो crictl और docker में लोगों को चौंकाता है। VP Manager image loadऔरArgo Watch service—vpmऔर Argo का ऊपर आना।- प्रॉम्प्ट नोड का अपना है, उसके ऑडिट बैनर के पीछे। सीरियल कंसोल आपको एक लॉगिन प्रॉम्प्ट देता है, सत्र नहीं।
यहाँ आप क्या देख सकते हैं जो API आपको नहीं दिखा सकता
Section titled “यहाँ आप क्या देख सकते हैं जो API आपको नहीं दिखा सकता”- cloud-init का चलना, विफल होना, या कभी शुरू ही न होना — किसी ऐसे नोड का सामान्य कारण जो कभी रजिस्टर नहीं होता।
register.ves.volterra.ioके विरुद्ध रजिस्ट्रेशन प्रयास, जिसमें कोई कॉन्फ़िगरेशन त्रुटि या टेनेंट द्वारा अस्वीकृत टोकन शामिल है।- किसी भी एजेंट के चलने से पहले के कर्नेल और बूट संदेश।
- नोड जब उसके पास कोई कार्यशील नेटवर्क पथ न हो, जो हर दूसरे मार्ग को नाकाम कर देता है।
जो नोड ONLINE है, उसके लिए debug API को प्राथमिकता दें: यह स्क्रिप्ट योग्य है, यह ऐसा
प्रमाण उत्पन्न करता है जिसे आप दोबारा चला सकते हैं, और यह एकल सीरियल पोर्ट पर कब्ज़ा नहीं करता।