Sesi konsol NDP RDP dan VMWare dan ILO: pengulangan keystroke dan latensi

17

Saya sedang mengerjakan instalasi server jarak jauh sepenuhnya melalui ILO (tetapi ini juga berlaku untuk sesi konsol IPMI dan VMWare). Karena aplikasi dan lingkungan perangkat lunak, akses saya terbatas ke server Windows yang harus saya akses melalui RDP. Beralih dari sistem itu ke server target dicapai melalui HP ILO2 atau ILO3.

Saya mencoba menjalankan instalasi CentOS di lingkungan di mana saya tidak dapat menggunakan sistem penyebaran yang sepenuhnya otomatis. Saya melakukan ini melalui mode teks, tetapi penekanan tombol berulang secara acak dan sulit untuk memilih opsi instalasi yang tepat. Sebagai contoh:

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

akhirnya tampak seperti:

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

Saya melakukan ini menggunakan klien RDP Microsoft (pada Mac dan Windows). Saya juga memperhatikan ini sebelumnya ketika menjalankan instalasi atau melakukan pekerjaan jarak jauh di sesi bersarang.

masukkan deskripsi gambar di sini

Apakah ada perbaikan yang bagus untuk ini, atau itu hanya fungsi dari protokol?

putih
sumber
3
Saya berharap admin yang memiliki sejumlah sistem remote yang baik, atau konsultan yang perlu remote ke berbagai sistem untuk mengalami ini.
ewwhite
2
Aku benci mengatakan ini, tapi aku juga punya masalah ini secara rutin dan belum menemukan jalan keluarnya.
Chopper3
3
Ini tidak menyelesaikan masalah Anda, tetapi jika titik akhir jarak jauh Anda adalah konsol VMware, dokumen dari VMware ini menyarankan solusi.
larsks
Apakah masalah keystroke berulang ini hanya terjadi antara sesi RDP dan konsol ilo?
Rqomey
@Rqomey Saya tidak yakin di mana lapisan masalah muncul. Hasil akhirnya adalah sama. Asumsikan sesuatu seperti: Mac -> sesi RDP Windows menjalankan koneksi ke ILO atau konsol klien vSphere.
ewwhite

Jawaban:

10

Sedangkan koneksi SSH mentransmisikan stroke kunci , koneksi HP ILO mentransmisikan status kunci . Setiap kali Anda menekan tombol, server menerima acara KeyDown dan KeyUp yang terpisah. Pengulangan penekanan terjadi ketika acara KeyUp diterima terlambat.

Dua alasan yang paling mungkin untuk acara KeyUp diterima terlambat adalah:

  1. Masalah kemacetan jaringan / kinerja.
  2. Buruknya kinerja sistem klien yang memulai koneksi ILO. Jika klien adalah mesin virtual, apakah sistem host yang mendasari kelebihan beban, atau apakah VM memiliki sumber daya memori / CPU yang tidak memadai dialokasikan?

Jika akar penyebabnya tidak dapat diatasi:

  1. Masalah pengulangan kunci dapat diselesaikan dengan menonaktifkan pengaturan ILO2 yang disebut "Key Up / Down". Ini akan menyebabkan ILO2 mengirimkan penekanan tombol dan bukannya status kunci. Sayangnya, pengaturan ini dihapus dari ILO3.
  2. Jika sistem operasi target adalah Linux, Anda mungkin dapat mengatasi masalah dengan mengarahkan ulang konsol ke ttyS0dan menggunakan sesi Virtual Serial Port (VSP) alih-alih konsol virtual. Ini akan menghilangkan masalah Key Up / Down, karena koneksi serial mentransmisikan penekanan tombol bukan peristiwa kunci atas / bawah.
  3. Mungkin bermanfaat untuk menyesuaikan tingkat pengulangan kunci dan / atau menonaktifkan pengulangan otomatis sepenuhnya pada sistem target. Saya mengakui bahwa ini mungkin tidak mudah untuk diselesaikan, tergantung pada tingkat keparahan masalah pengulangan kunci.
  4. Mengingat Anda menggunakan Mac sebagai workstation lokal Anda, mungkin ada baiknya mencoba menyisipkan perintah lengkap ke klien Mac RDP Anda menggunakan Command-V. Saya tidak tahu apakah ini solusi yang layak, tetapi mungkin memiliki efek yang menarik. Saya sering menghargai bekerja pada mesin Windows jarak jauh dari workstation Mac secara khusus karena kombinasi hotkey perintah lokal terus berfungsi seperti yang diperkirakan.

Referensi:

Skyhawk
sumber
Adakah wawasan tentang sisi konsol jarak jauh VMWare ini? Saya melihat hal yang sama di sana.
ewwhite
2
Cukup mudah untuk bekerja di VMware hanya dengan mengubah penundaan kunci berulang menjadi 2 detik, tetapi tidak ada cara untuk melakukannya secara global (file .vmx
Skyhawk
1
Sepanjang baris yang sama ini, mungkin berguna untuk bersarang BELUM sesi Windows lainnya. Melakukan RDP ke server pada segmen jaringan yang sama dengan iLO dapat mengurangi penundaan antar-kunci Anda agar tidak menjadi masalah.
longneck
5

Sepertinya ini hanya masalah dengan protokol. Saya agak mengurangi masalah dengan menggunakan Ericom Blaze sebagai transportasi RDP untuk server pusat tempat saya terhubung; mis. "kotak melompat".

Hal-hal lain:

Saya mencoba menghindari beberapa sesi bersarang.

Saya menjalankan VMWare Fusion dengan Windows 7 pada Mac saya untuk memungkinkan saya menggunakan RDP asli dari Windows dalam kasus tertentu.

Hanya itu yang bisa saya lihat untuk saat ini.

putih
sumber
2

Anda perlu mengedit file .vmx untuk menambahkan baris berikut:

keyboard.typematicMinDelay = "2000000"

itu mengeluarkan "bouncing".

Dengan versi vmware saya, saya harus melakukan perubahan ini ketika VM sedang down. Saya mengerti bahwa itu dapat dibuat dari jendela edit, tetapi saya belum dapat menemukan tempat itu.

Bob Leder
sumber
1

Apakah masalah terjadi dengan koneksi Anda ke rdp (dapatkah Anda mengetikkan notepad dengan benar?) Atau antara RDP dan iLO)?

Jika antara RDP dan iLO (saya tahu Anda sudah melakukan ini)

  1. Menggunakan konsol jarak jauh Java hampir mustahil. Saya menemukan jika saya menggunakan "konsol jarak jauh" (mungkin disebut. Net), menghasilkan peningkatan besar-besaran. Latensi kurang, latensi tidak gelisah, dan penekanan tombol berulang dan hilang tidak terjadi.

  2. Boot live cd, instal openssh server, dan gunakan ssh untuk terhubung. Lakukan pemasangan kami di atas ssh (jika koneksi juga menggunakan layar.

Jika antara Anda dan RDP:

Gunakan freenx atau vnc yang disetel ke bandwidth rendah ke kotak windows Anda. Setidaknya ini harus membersihkan penekanan tombol. Apakah koneksi ke RDP baik-baik saja (di mana masalah keystroke terjadi?

Jika keduanya: Tuliskan perintah di notepad, lalu salin dan tempel jika Anda bisa, semoga akan berfungsi lebih baik daripada mengetik.

Rqomey
sumber
Saya pasti menggunakan .NET console.
ewwhite
1

Hal penting pertama yang harus diingat adalah untuk menonaktifkan pengulangan kunci pada semua yang memproses penekanan tombol Anda, termasuk pada mesin virtual atau sesi RDP yang Anda hubungkan, serta mesin host tingkat atas. Ini tidak memperbaiki mesin target akhir tetapi tidak banyak memperbaiki situasi.

Adapun mesin target:

Ada laporan yang menggunakan ssh untuk terhubung ke port SSH HP iLO menghindari masalah berulang, tetapi saya tidak bisa menggunakan metode ini karena host saya (online.net) tidak membiarkan port 22 melalui firewall iLO mereka. Tetapi jika Anda memiliki akses ke port SSH iLO (kemungkinan 22), itu sepertinya pendekatan yang paling mudah.

Saya mencoba menggunakan unit systemd untuk mengatur tingkat pengulangan keyboard dan waktu tunda saat boot:

# 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

(Pastikan di /sbin/kbdratemana Anda memiliki kbdrate. Menulis ke /etc/systemd/systemd/slower-keyboard-repeat.servicedan systemctl daemon-reload && systemctl enable slower-keyboard-repeat.service)

tetapi seperti yang disebutkan dalam komentar, ini hanya sebagian keberhasilan karena diperlukan reboot untuk mengatur tingkat pengulangan pada keyboard baru yang dilampirkan iLO. Tapi itu cukup bagus jika Anda OK dengan me-reboot mesin.

Pada akhirnya, saya akhirnya menambal kernel Linux untuk mengubah tingkat pengulangan standar dan waktu tunda pada semua keyboard:

From 78c32f539b89bf385985bea47a7058a540d31da0 Mon Sep 17 00:00:00 2001
From: Ivan Kozik <[email protected]>
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

dan itu memecahkan masalah bagi saya.

Ivan Kozik
sumber
0

Saya tahu Anda mengatakan Anda dibatasi, tetapi saya tidak dapat memikirkan hal yang lebih baik daripada: instal VNC atau TeamViewer, setidaknya hanya untuk melakukan bagian penting dari instalasi Anda.

Solusi kedua adalah dengan menggunakan proxy penerusan tipe Media Center untuk pesan input, sehingga Anda akan menghubungkan keyboard kedua ke komputer Anda, dan menggunakan HID, hanya meneruskan keyboard melalui TCP / SOAP ke server. Tetapi karena itu melibatkan menginstal daemon perangkat lunak di server, Anda mungkin juga mulai dengan VNC.

Saya tidak pernah mengalami penekanan tombol berulang, tapi saya mendapatkan lag mouse utama ketika bekerja dengan VMware lebih dari RDP, ketika OS Guest tidak memiliki Alat VMware dimuat.

Opsi terakhir yang saya miliki, jika tidak ada yang sesuai, adalah untuk menghubungi Dukungan Microsoft, dan melaporkan resolusi yang mereka berikan di sini .. seperti tiket opensource.

kegagalan server
sumber
0

Dalam pengalaman saya, itu membantu saya jika saya mencoba melupakan semua yang telah saya pelajari tentang mengetik sentuh dan mencoba memencet tombol satu per satu dan sangat, sangat cepat. Sebaiknya gunakan hanya satu jari agar Anda tidak terlalu nyaman dan mulai mengetik terlalu cepat. Ini juga memungkinkan Anda berkonsentrasi untuk mencoba menekan tombol dengan cepat . Semua ini mungkin terdengar seperti lelucon, tetapi saya telah menemukan bahwa jari tengah kanan saya (saya tangan kanan) sejauh ini paling mampu menekan tombol dengan cepat.

Dan tentu saja, saya mencoba untuk mengaktifkan dan menjalankan SSH secepat mungkin setelah itu. Jika terlalu dibatasi untuk diizinkan melakukan itu ... aduh.

Coba juga menggunakan konsol yang berbeda. Biasanya versi Java akan menjadi yang terburuk, tetapi jika Anda mengalami masalah dengan versi .NET, maka Anda mungkin ingin mencoba Java. Bersiaplah bahwa plugin java dapat merusak browser Anda (ini hanya masalah dengan iLO 2; iLO 3 dipindahkan dari sebuah plugin ke aplikasi mulai web).

chutz
sumber
Itu solusi kasar. Adakah yang tahu mengapa ini terjadi?
ewwhite
1
Menyebutnya "solusi" cukup murah hati. Tidak, saya tidak tahu mengapa itu terjadi, tetapi saya selalu menyalahkan protokol koneksi jarak jauh. Sekarang setelah Anda membuat saya berpikir tentang hal itu, saya punya ide lain ... apakah Anda pernah mencoba mereproduksi ini dengan On Screen Keyboard dari aplikasi windows Aksesibilitas? Saya memiliki perasaan yang mengganggu bahwa aplikasi keyboard di layar mungkin berfungsi dengan sempurna.
chutz
Saya mencoba pendekatan keyboard di layar dengan masalah VMWare vCloud minggu ini. Konsol pop-up berselisih dengan keyboard di layar untuk fokus, sehingga tidak kompatibel.
ewwhite