नेस्टेड RDP और VMWare और ILO कंसोल सत्र: कीस्ट्रोक पुनरावृत्ति और विलंबता


17

मैं पूरी तरह से ILO के माध्यम से एक दूरस्थ सर्वर इंस्टॉलेशन पर काम कर रहा हूं (लेकिन यह IPMI और VMWare कंसोल सत्रों पर भी लागू होता है)। सॉफ़्टवेयर एप्लिकेशन और वातावरण के कारण, मेरी पहुंच एक Windows सर्वर तक सीमित है जिसे मुझे RDP के माध्यम से एक्सेस करना होगा। उस सिस्टम से टारगेट सर्वर पर जा कर HP ILO2 या ILO3 के माध्यम से पूरा किया जाता है।

मैं एक ऐसे वातावरण में एक CentOS इंस्टालेशन चलाने की कोशिश कर रहा हूँ जहाँ मैं पूरी तरह से स्वचालित परिनियोजन प्रणाली का उपयोग नहीं कर सकता। मैं यह पाठ मोड के माध्यम से कर रहा हूं, लेकिन कीस्ट्रोक्स यादृच्छिक रूप से दोहरा रहे हैं और उचित स्थापना विकल्पों का चयन करना मुश्किल है। उदाहरण के लिए:

ks=http://all.yourbase.org/kickstart/ks.cfg

समाप्त होता है:

ks====httttttp://allll..yourbaseee.....org/kicksstart/ks.cccfg

मैं Microsoft के RDP क्लाइंट (मैक और विंडोज पर) का उपयोग कर रहा हूं। मैंने इसे पहले भी देखा है जब इंस्टॉलेशन चलाने या नेस्टेड सत्र में रिमोट काम करना।

यहां छवि विवरण दर्ज करें

वहाँ इस के लिए एक अच्छा तय है, या यह बस प्रोटोकॉल का एक कार्य है?


3
मुझे लगता है कि जिन लोगों के पास रिमोट सिस्टम या सलाहकारों की एक अच्छी संख्या है, उन्हें यह अनुभव करने के लिए सिस्टम की एक किस्म में रिमोट की आवश्यकता है।
इविहित

2
मुझे यह कहने से नफरत है, लेकिन मुझे भी यह समस्या नियमित रूप से है और अभी तक इसके चारों ओर एक रास्ता खोजने के लिए खेद है।
चॉपर 3

3
यह आपकी समस्या का समाधान नहीं करता है, लेकिन यदि आपका दूरस्थ समापन बिंदु VMware कंसोल है, तो VMware का यह दस्तावेज़ समाधान सुझाता है।
लार्क्स 22

क्या यह बार-बार कीस्ट्रोकेक मुद्दा केवल RDP सत्र और ilo कंसोल के बीच हो रहा है?
रकॉमी

@ Rqomey मुझे यकीन नहीं है कि इस मुद्दे पर कौन सी परत है। अंतिम परिणाम एक जैसा है। कुछ इस तरह मानें: मैक -> RDP विंडोज सत्र ILO या vSphere क्लाइंट कंसोल से कनेक्शन चल रहा है।
ewwhite

जवाबों:


10

जबकि SSH कनेक्शन प्रमुख स्ट्रोक प्रसारित करता है , एक HP ILO कनेक्शन प्रमुख राज्यों को प्रसारित करता है । हर बार जब आप एक कुंजी दबाते हैं, तो सर्वर को अलग-अलग KeyDown और KeyUp ईवेंट प्राप्त होते हैं। KeyUp ईवेंट देर से प्राप्त होने पर दोहराया कीस्ट्रोक्स परिणाम।

KeyUp ईवेंट के देर से प्राप्त होने के दो सबसे संभावित कारण हैं:

  1. नेटवर्क की भीड़ / प्रदर्शन मुद्दों।
  2. ग्राहक प्रणाली का खराब प्रदर्शन ILO कनेक्शन आरंभ करता है। यदि क्लाइंट एक वर्चुअल मशीन है, तो अंतर्निहित होस्ट सिस्टम अतिभारित है, या क्या वीएम के पास अपर्याप्त मेमोरी / सीपीयू संसाधन आवंटित हैं?

यदि मूल कारण को संबोधित नहीं किया जा सकता है:

  1. कुंजी दोहराने की समस्या को "की अप / डाउन" नामक एक ILO2 सेटिंग को अक्षम करके चारों ओर काम किया जा सकता है। यह ILO2 को प्रमुख राज्यों के बजाय कीस्ट्रोक्स संचारित करने का कारण बनेगा। दुर्भाग्य से, यह सेटिंग ILO3 से हटा दी गई थी।
  2. यदि लक्ष्य ऑपरेटिंग सिस्टम लिनक्स है, तो आप ttyS0वर्चुअल कंसोल के बजाय वर्चुअल सीरियल पोर्ट (VSP) सत्र के कंसोल को पुनर्निर्देशित करके और उपयोग करके समस्या को हल करने में सक्षम हो सकते हैं । यह कुंजी अप / डाउन समस्या को समाप्त करेगा, क्योंकि सीरियल कनेक्शन कुंजी अप / डाउन घटनाओं के बजाय कीस्ट्रोक्स को प्रसारित करते हैं।
  3. यह महत्वपूर्ण दोहराने की दर को समायोजित करने और / या लक्ष्य प्रणाली पर पूरी तरह से ऑटोरेपेट को अक्षम करने में मददगार हो सकता है। मैं स्वीकार करता हूं कि यह प्रमुख रिपीट समस्या की गंभीरता के आधार पर पूरा करना आसान नहीं हो सकता है।
  4. यह देखते हुए कि आप अपने स्थानीय कार्य केंद्र के रूप में एक मैक का उपयोग कर रहे हैं, कमांड-वी का उपयोग करके अपने मैक आरडीपी क्लाइंट में पूर्ण कमांड चिपकाने का प्रयास करना सार्थक हो सकता है। मुझे नहीं पता कि यह एक व्यवहार्य समाधान है, लेकिन इसका एक दिलचस्प प्रभाव हो सकता है। मैंने अक्सर मैक वर्कस्टेशन से दूरस्थ विंडोज मशीनों पर काम करने की सराहना की है, क्योंकि स्थानीय कमांड-हॉटकी संयोजन भविष्यवाणियां काम करना जारी रखता है।

संदर्भ:


VMWare रिमोट कंसोल पक्ष पर कोई अंतर्दृष्टि? मैं वहीं देखता हूं।
ewwhite

2
वीएमवेयर के आसपास काम करना बहुत आसान है बस 2 सेकंड की देरी को बदलकर। /…
स्काईवॉक

1
इन समान पंक्तियों के साथ, यह YET ANOTHER Windows सत्र को घोंसला बनाने में सहायक हो सकता है। एक ही नेटवर्क सेगमेंट पर एक सर्वर पर RDP'ing करना, क्योंकि iLO आपकी अंतर-कुंजी देरी को कम कर सकता है जो समस्या नहीं है।
लॉन्गनेक

5

ऐसा लगता है कि यह प्रोटोकॉल के साथ सिर्फ एक समस्या है। मैंने कुछ हद तक एरिकॉम ब्लेज़ का उपयोग करके इस मुद्दे को कम कर दिया है क्योंकि मैं जिस केंद्रीय सर्वर से जुड़ता हूं उसके लिए आरडीपी परिवहन; उदाहरण के लिए "जंप बॉक्स"।

अन्य बातें:

मैं कई नेस्टेड सत्रों से बचने की कोशिश कर रहा हूं।

मैं अपने मैक पर विंडोज 7 के साथ VMWare फ़्यूज़न चला रहा हूं ताकि मुझे कुछ मामलों में विंडोज से देशी आरडीपी का उपयोग करने की अनुमति मिल सके।

अब मैं देख सकता हूं।


2

आपको निम्न पंक्ति जोड़ने के लिए .vmx फ़ाइल को संपादित करने की आवश्यकता है:

keyboard.typematicMinDelay = "2000000"

यह "उछाल" को बाहर निकालता है।

Vmware के अपने संस्करण के साथ, मुझे यह परिवर्तन करना है जब VM नीचे है। मैं समझता हूं कि इसे एडिट विंडो से बनाया जा सकता है, लेकिन मुझे वह जगह नहीं मिल पाई है।


1

क्या समस्या आपके कनेक्शन के rdp के साथ हो रही है (क्या आप नोटपैड में सही तरीके से टाइप कर सकते हैं?) या RDP और iLO के बीच)?

अगर आरडीपी और आईएलओ के बीच (मुझे पता है कि आपने यह पहले ही कर लिया है)

  1. जावा रिमोट कंसोल का उपयोग करना असंभव था। मैंने पाया कि अगर मैंने "रिमोट कंसोल" (इसे .Net कहा जा सकता है) का उपयोग किया, जिसके परिणामस्वरूप बड़े पैमाने पर सुधार हुआ। विलंबता कम थी, विलंबता ईर्ष्या नहीं थी, और दोहराया और खो कीस्ट्रोक्स नहीं हुआ।

  2. लाइव सीडी से बूट करें, ओपनश सर्वर स्थापित करें, और कनेक्ट करने के लिए ssh का उपयोग करें। हमारे ssh पर स्थापित करें (यदि कनेक्शन खराब उपयोग स्क्रीन भी है।

अगर आपके और RDP के बीच:

अपने विंडोज़ बॉक्स में लो बैंडविथ के लिए ट्यून किए गए फ़्रीनक्स या वीएनसी का उपयोग करें। यह कम से कम कीस्ट्रोक्स को साफ करना चाहिए। आरडीपी ठीक करने के लिए कनेक्शन है (यह है कि जहां कीस्ट्रोक समस्याएं हो रही हैं?

यदि दोनों: नोटपैड में कमांड लिखें, तो कॉपी और पेस्ट करें यदि आप कर सकते हैं, तो उम्मीद है कि यह टाइपिंग से बेहतर काम करेगा।


मैं निश्चित रूप से .NET कंसोल का उपयोग कर रहा हूं।
19

1

याद रखने वाली पहली महत्वपूर्ण बात यह है कि अपने कीस्ट्रोक्स को संसाधित करने वाली हर चीज पर कुंजी रिपीट को अक्षम करें, जिसमें आप जिस वर्चुअल मशीन या आरडीपी सत्र से जुड़ रहे हैं, साथ ही साथ शीर्ष स्तर की मेजबान मशीन भी शामिल है। यह अंतिम लक्ष्य मशीन को ठीक नहीं करता है लेकिन यह स्थिति को सुधारने के लिए बहुत कुछ करता है।

लक्ष्य मशीन के लिए के रूप में:

ऐसी रिपोर्टें हैं कि HP iLO के SSH पोर्ट से कनेक्ट करने के लिए ssh का उपयोग करने से मुख्य रिपीट मुद्दों से बचा जाता है, लेकिन मैं इस पद्धति का उपयोग नहीं कर सका क्योंकि मेरे होस्ट (online.net) ने अपने iLO फ़ायरवॉल के माध्यम से पोर्ट 22 को नहीं होने दिया। लेकिन अगर आपके पास आईएलओ के एसएसएच पोर्ट (संभावित 22) तक पहुंच है, तो यह सबसे आसान तरीका है।

मैंने कीबोर्ड पर रिपीट रेट और विलंब समय को सेट करने के लिए एक systemd इकाई का उपयोग करने की कोशिश की:

# Note that kbdrate only affects existing keyboards, and HP iLO attaches a new
# USB keyboard when you connect, so you may have to reboot (with the iLO console
# attached) to get the keyboard delay and repeat rate to take effect.

[Unit]
Description=Set longer delay time for key repeat

[Service]
Type=oneshot
RemainAfterExit=yes
StandardInput=tty
StandardOutput=tty
ExecStart=/sbin/kbdrate -d 1000 -r 2

[Install]
WantedBy=multi-user.target
WantedBy=rescue.target

(सुनिश्चित करें कि /sbin/kbdrateआपके पास कहां है kbdrate। लिखें /etc/systemd/systemd/slower-keyboard-repeat.serviceऔर लिखें systemctl daemon-reload && systemctl enable slower-keyboard-repeat.service)

लेकिन जैसा कि टिप्पणी में उल्लेख किया गया है, यह केवल एक आंशिक सफलता थी क्योंकि इसे नए कीबोर्ड पर दोहराए जाने वाले दर को सेट करने के लिए रीबूट की आवश्यकता होती है जो iS को जोड़ता है। लेकिन यह काफी अच्छा है अगर आप मशीन को रिबूट करने के साथ ठीक हैं।

अंत में, मैंने सभी कीबोर्ड पर डिफ़ॉल्ट दोहराने की दर और विलंब समय को बदलने के लिए लिनक्स कर्नेल को पैचिंग समाप्त कर दिया:

From 78c32f539b89bf385985bea47a7058a540d31da0 Mon Sep 17 00:00:00 2001
From: Ivan Kozik <ivan@ludios.org>
Date: Thu, 30 Mar 2017 13:31:17 +0000
Subject: [PATCH] Increase the default keyboard repeat delay from 250ms to
 1000ms and repeat rate from 1000/33 Hz to 1000/500 Hz to avoid unintentional
 repeated keystrokes when using remote consoles such as HP iLO over
 high-latency links.  These consoles (HP iLO included) often transmit key
 states (up/down) instead of keystrokes, making it impossible to even enter a
 password and log in.

Fixing this in the kernel avoids problems with kbdrate where the parameters
passed to kbdrate don't apply to the new keyboards attached by HP iLO.
---
 drivers/input/input.c          | 2 +-
 drivers/input/keyboard/atkbd.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index 880605959aa6..a195af2d062a 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -2126,7 +2126,7 @@ int input_register_device(struct input_dev *dev)
     * is handled by the driver itself and we don't do it in input.c.
     */
    if (!dev->rep[REP_DELAY] && !dev->rep[REP_PERIOD])
-       input_enable_softrepeat(dev, 250, 33);
+       input_enable_softrepeat(dev, 1000, 500);

    if (!dev->getkeycode)
        dev->getkeycode = input_default_getkeycode;
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index ec876b5b1382..9dd04c2215b3 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -1096,8 +1096,8 @@ static void atkbd_set_device_attrs(struct atkbd *atkbd)
            BIT_MASK(LED_MUTE) | BIT_MASK(LED_MISC);

    if (!atkbd->softrepeat) {
-       input_dev->rep[REP_DELAY] = 250;
-       input_dev->rep[REP_PERIOD] = 33;
+       input_dev->rep[REP_DELAY] = 1000;
+       input_dev->rep[REP_PERIOD] = 500;
    }

    input_dev->mscbit[0] = atkbd->softraw ? BIT_MASK(MSC_SCAN) :
-- 
2.11.0

और मेरे लिए यह समस्या हल हो गई।


0

मुझे पता है कि आपने कहा था कि आप प्रतिबंधित हैं, लेकिन मैं इससे बेहतर कुछ नहीं सोच सकता: वीएनसी या टीमव्यूअर स्थापित करें, कम से कम सिर्फ आपके इंस्टॉल के महत्वपूर्ण हिस्से को करने के लिए।

दूसरा उपाय इनपुट संदेशों के लिए मीडिया सेंटर प्रकार अग्रेषण प्रॉक्सी का उपयोग करना है, इसलिए आप अपने कंप्यूटर पर एक दूसरा कीबोर्ड हुक करेंगे, और HID का उपयोग करते हुए, केवल उस कीबोर्ड को टीसीपी / एसओएपी के सर्वर पर भेज देंगे। लेकिन जैसा कि सर्वर पर सॉफ़्टवेयर डेमॉन स्थापित करना शामिल है, आप वीएनसी के साथ शुरू कर सकते हैं।

मैंने कभी भी बार-बार कीस्ट्रोक्स का अनुभव नहीं किया है, लेकिन आरडीपी पर वीएमवेयर के साथ काम करते समय मुझे बड़े माउस लैग मिलते हैं, जब गेस्ट ओएस में वीएमवेयर टूल्स लोड नहीं होते हैं।

अंतिम विकल्प मेरे पास है, अगर ऊपर कोई भी उपयुक्त नहीं है, तो Microsoft समर्थन से संपर्क करना है, और वे आपको यहां दिए गए रिज़ॉल्यूशन की रिपोर्ट करते हैं .. जैसे कि एक ओपनसोर्स टिकट।


0

मेरे अनुभव में इसने मेरी मदद की है अगर मैं उन सभी को भूलने की कोशिश करता हूं जो मैंने टच टाइपिंग के बारे में सीखे हैं और एक-एक करके चाबियों को पंच करने की कोशिश करते हैं और बहुत जल्दी। अधिमानतः केवल एक उंगली का उपयोग करें ताकि आप बहुत सहज न हों और बहुत तेजी से टाइप करना शुरू करें। यह आपको कुंजी को जल्दी से दबाने की कोशिश करने पर ध्यान केंद्रित करने की सुविधा देता है । यह पूरी बात एक मजाक की तरह लग सकती है, लेकिन मैंने पाया है कि मेरी दाहिनी मध्य उंगली (मैं दाहिने हाथ की हूं) सबसे ज्यादा तेजी से चाबियों को धक्का देने में सक्षम है।

और हां, मैं कोशिश करता हूं कि एसएसएच उठ जाए और उसके बाद जितनी जल्दी हो सके। यदि ऐसा करने के लिए अनुमति दी जाती है, तो भी ... ouch।

इसके अलावा विभिन्न कंसोल का उपयोग करने का प्रयास करें। आम तौर पर जावा संस्करण सबसे खराब होगा, लेकिन अगर आपको .NET संस्करण के साथ समस्या हो रही है, तो आप जावा को एक कोशिश देना चाह सकते हैं। बस तैयार रहें कि java plugin आपके ब्राउज़र को क्रैश कर सकता है (यह केवल iLO 2 के साथ एक समस्या है; iLO 3 एक प्लगइन से वेब स्टार्ट ऐप में स्थानांतरित हो गया है)।


यह एक मोटा समाधान है। किसी भी विचार क्यों ऐसा होता है?
ewwhite

1
इसे "समाधान" कहना काफी उदार है। नहीं, मुझे नहीं पता कि ऐसा क्यों होता है, लेकिन मैंने हमेशा रिमोट कनेक्शन प्रोटोकॉल को दोषी ठहराया। अब जब आपने मुझे इसके बारे में सोचा, हालांकि, मेरे पास यह दूसरा विचार था ... क्या आपने कभी एक्सेसबिलिटी विंडो ऐप्स से ऑन स्क्रीन कीबोर्ड के साथ इसे पुन: पेश करने की कोशिश की है? मुझे लग रहा है कि ऑन-स्क्रीन कीबोर्ड ऐप त्रुटिपूर्ण रूप से काम कर सकता है।
चुतज २ ch

मैंने इस सप्ताह VMWare vCloud मुद्दे के साथ ऑन-स्क्रीन कीबोर्ड दृष्टिकोण की कोशिश की। पॉप-अप कंसोल फोकस के लिए ऑन-स्क्रीन कीबोर्ड के साथ विवाद में था, इसलिए वे संगत नहीं थे।
ewwhite
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.