Các phiên điều khiển RDP và VMWare và ILO lồng nhau: sự lặp lại và độ trễ của tổ hợp phím


17

Tôi đang làm việc trên một cài đặt máy chủ từ xa hoàn toàn thông qua ILO (nhưng điều này cũng áp dụng cho các phiên bảng điều khiển IPMI và VMWare). Do ứng dụng và môi trường phần mềm, quyền truy cập của tôi bị giới hạn ở máy chủ Windows mà tôi phải truy cập thông qua RDP. Đi từ hệ thống đó đến máy chủ mục tiêu được thực hiện thông qua HP ILO2 hoặc ILO3.

Tôi đang cố chạy cài đặt CentOS trong môi trường mà tôi không thể sử dụng hệ thống triển khai hoàn toàn tự động. Tôi đang thực hiện việc này thông qua chế độ văn bản, nhưng tổ hợp phím đang lặp lại ngẫu nhiên và thật khó để chọn các tùy chọn cài đặt phù hợp. Ví dụ:

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

kết thúc giống như:

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

Tôi đang thực hiện việc này bằng ứng dụng khách RDP của Microsoft (trên Mac và Windows). Tôi cũng đã nhận thấy điều này trước đây khi chạy cài đặt hoặc thực hiện công việc từ xa trong các phiên lồng nhau.

nhập mô tả hình ảnh ở đây

Có một sửa chữa tốt cho điều này, hoặc nó chỉ đơn giản là một chức năng của (các) giao thức?


3
Tôi mong các quản trị viên có số lượng hệ thống từ xa tốt hoặc các chuyên gia tư vấn cần điều khiển từ xa vào nhiều hệ thống khác nhau để trải nghiệm điều này.
ewwhite

2
Tôi ghét phải nói điều này, nhưng tôi cũng có vấn đề này thường xuyên và chưa tìm ra cách nào để xin lỗi.
Chopper3

3
Điều này không giải quyết được vấn đề của bạn, nhưng nếu điểm cuối từ xa của bạn là bàn điều khiển VMware, tài liệu này từ VMware gợi ý một giải pháp.
larsks

Có phải vấn đề gõ phím lặp đi lặp lại này chỉ xảy ra giữa phiên RDP và bảng điều khiển ilo?
Rqomey

@Rqomey Tôi không chắc chắn ở tầng nào vấn đề xuất hiện. Kết quả cuối cùng là như nhau. Giả sử một cái gì đó như: Mac -> RDP Windows phiên chạy kết nối với bảng điều khiển máy khách ILO hoặc vSphere.
ewwhite

Câu trả lời:


10

Trong khi kết nối SSH truyền các nét chính , kết nối HP ILO sẽ truyền các trạng thái chính . Mỗi lần bạn nhấn một phím, máy chủ sẽ nhận các sự kiện KeyDown và KeyUp riêng. Tổ hợp phím lặp đi lặp lại khi sự kiện KeyUp được nhận muộn.

Hai lý do rất có thể khiến sự kiện KeyUp được nhận muộn là:

  1. Vấn đề tắc nghẽn / hiệu suất mạng.
  2. Hiệu suất kém của hệ thống máy khách khởi tạo kết nối ILO. Nếu máy khách là một máy ảo, hệ thống máy chủ bên dưới có bị quá tải hay VM có đủ tài nguyên bộ nhớ / CPU không đủ?

Nếu nguyên nhân gốc rễ không thể được giải quyết:

  1. Vấn đề lặp lại khóa có thể được giải quyết bằng cách vô hiệu hóa cài đặt ILO2 có tên là "Khóa lên / xuống". Điều này sẽ khiến ILO2 truyền tổ hợp phím thay vì trạng thái chính. Thật không may, cài đặt này đã bị xóa khỏi ILO3.
  2. Nếu hệ điều hành đích là Linux, bạn có thể giải quyết vấn đề bằng cách chuyển hướng bảng điều khiển đến ttyS0và sử dụng phiên Cổng nối tiếp ảo (VSP) thay vì bảng điều khiển ảo. Điều này sẽ loại bỏ sự cố Khóa lên / Xuống, vì các kết nối nối tiếp truyền tổ hợp phím thay vì các sự kiện lên / xuống phím.
  3. Có thể hữu ích để điều chỉnh tốc độ lặp lại chính và / hoặc vô hiệu hóa hoàn toàn tự động gõ trên hệ thống đích. Tôi thừa nhận rằng điều này có thể không dễ thực hiện, tùy thuộc vào mức độ nghiêm trọng của vấn đề lặp lại chính.
  4. Cho rằng bạn đang sử dụng máy Mac làm máy trạm cục bộ, có thể đáng để thử dán các lệnh hoàn chỉnh vào máy khách Mac RDP của bạn bằng Command-V. Tôi không biết liệu đây có phải là một cách giải quyết khả thi hay không, nhưng nó có thể có một hiệu ứng thú vị. Tôi thường đánh giá cao việc làm việc trên các máy Windows từ xa từ máy trạm Mac vì các tổ hợp phím nóng lệnh cục bộ tiếp tục hoạt động có thể dự đoán được.

Người giới thiệu:


Bất kỳ cái nhìn sâu sắc về phía bảng điều khiển từ xa VMWare này? Tôi thấy điều tương tự ở đó.
ewwhite

2
Việc xử lý trong VMware khá dễ dàng chỉ bằng cách thay đổi độ trễ lặp lại thành 2 giây, nhưng không có cách nào để làm điều đó trên toàn cầu (tệp .vmx phải được thay đổi cho mỗi VM): kb.vmware.com/elfservice/microsites /
Lọ

1
Dọc theo những dòng này, có thể hữu ích để lồng phiên YET ANOTHER Windows. RDP đến một máy chủ trên cùng phân khúc mạng vì iLO có thể giảm độ trễ liên khóa của bạn đủ để không gặp vấn đề.
longneck

5

Điều này có vẻ như nó chỉ là một vấn đề với giao thức. Tôi đã giảm bớt vấn đề bằng cách sử dụng Ericom Blaze làm phương tiện vận chuyển RDP cho máy chủ trung tâm mà tôi kết nối từ đó; ví dụ "hộp nhảy".

Những thứ khác:

Tôi đang cố gắng tránh nhiều phiên lồng nhau.

Tôi đang chạy VMWare Fusion với Windows 7 trên máy Mac để cho phép tôi sử dụng RDP gốc từ Windows trong một số trường hợp nhất định.

Đó là tất cả những gì tôi có thể thấy bây giờ.


2

bạn cần chỉnh sửa tệp .vmx để thêm dòng sau:

keyboard.typIALMinDelay = "2000000"

nó đưa ra "nảy".

Với phiên bản vmware của tôi, tôi phải thực hiện thay đổi này khi VM ngừng hoạt động. Tôi hiểu rằng nó có thể được tạo từ cửa sổ chỉnh sửa, nhưng tôi không thể tìm thấy nơi đó.


1

Có phải sự cố xảy ra với kết nối của bạn với máy chủ (bạn có thể nhập notepad chính xác không?) Hoặc giữa RDP và iLO)?

Nếu giữa RDP và iLO (Tôi biết bạn đã thực hiện việc này rồi)

  1. Sử dụng bảng điều khiển từ xa Java là gần như không thể. Tôi đã tìm thấy nếu tôi sử dụng "bảng điều khiển từ xa" (nó có thể được gọi là .Net), dẫn đến một sự cải thiện lớn. Độ trễ ít hơn, độ trễ không bị xáo trộn, và các lần nhấn phím bị mất và lặp đi lặp lại đã không xảy ra.

  2. Khởi động cd trực tiếp, cài đặt máy chủ openssh và sử dụng ssh để kết nối. Thực hiện cài đặt của chúng tôi qua ssh (nếu kết nối cũng là màn hình sử dụng xấu.

Nếu giữa bạn và RDP:

Sử dụng freenx hoặc vnc điều chỉnh băng tần thấp vào hộp cửa sổ của bạn. Điều này ít nhất nên làm sạch các tổ hợp phím. Kết nối với RDP có ổn không (đó có phải là nơi xảy ra sự cố gõ phím không?

Nếu cả hai: Viết ra các lệnh trong notepad, sau đó sao chép và dán nếu bạn có thể, hy vọng nó sẽ hoạt động tốt hơn so với gõ.


Tôi chắc chắn đang sử dụng bảng điều khiển .NET.
ewwhite

1

Điều quan trọng đầu tiên cần nhớ là vô hiệu hóa lặp lại khóa trên mọi thứ đang xử lý tổ hợp phím của bạn, kể cả trên máy ảo hoặc phiên RDP mà bạn đang kết nối, cũng như máy chủ cấp cao nhất. Điều này không khắc phục được máy mục tiêu cuối cùng nhưng nó giúp cải thiện tình hình rất nhiều.

Đối với máy mục tiêu:

Có những báo cáo rằng việc sử dụng ssh để kết nối với cổng SSH của HP iLO sẽ tránh được các sự cố lặp lại chính, nhưng tôi không thể sử dụng phương pháp này vì máy chủ của tôi (online.net) đã không cho phép cổng 22 thông qua tường lửa iLO của họ. Nhưng nếu bạn có quyền truy cập vào cổng SSH của iLO (có thể là 22), thì đó có vẻ là cách tiếp cận dễ nhất.

Tôi đã thử sử dụng một đơn vị systemd để đặt tốc độ lặp lại của bàn phím và thời gian trễ khi khởi động:

# 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

(Hãy chắc chắn /sbin/kbdratelà nơi bạn cókbdrate . Viết cho /etc/systemd/systemd/slower-keyboard-repeat.servicesystemctl daemon-reload && systemctl enable slower-keyboard-repeat.service)

nhưng như đã đề cập trong bình luận, đây chỉ là một phần thành công vì nó yêu cầu khởi động lại để đặt tốc độ lặp lại trên bàn phím mới mà iLO đính kèm. Nhưng nó là đủ tốt nếu bạn ổn với việc khởi động lại máy.

Cuối cùng, tôi đã kết thúc việc vá nhân Linux để thay đổi tốc độ lặp lại mặc định và thời gian trễ trên tất cả các bàn phím:

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

và điều đó đã giải quyết vấn đề cho tôi.


0

Tôi biết bạn nói rằng bạn bị hạn chế, nhưng tôi không thể nghĩ gì tốt hơn: cài đặt VNC hoặc TeamViewer, ít nhất là chỉ để thực hiện phần quan trọng trong cài đặt của bạn.

Giải pháp thứ hai là sử dụng proxy chuyển tiếp loại Media Center cho các thông báo đầu vào, do đó bạn sẽ kết nối bàn phím thứ hai với máy tính của mình và sử dụng HID, chỉ chuyển tiếp bàn phím đó qua TCP / SOAP đến máy chủ. Nhưng vì điều đó liên quan đến việc cài đặt phần mềm daemon trên máy chủ, bạn cũng có thể bắt đầu với VNC.

Tôi chưa bao giờ trải qua các lần nhấn phím lặp đi lặp lại, nhưng tôi gặp phải độ trễ chuột lớn khi làm việc với VMware qua RDP, khi Hệ điều hành khách không tải VMware Tools.

Tùy chọn cuối cùng mà tôi có, nếu không có cách nào phù hợp ở trên, là liên hệ với bộ phận Hỗ trợ của Microsoft và báo cáo độ phân giải mà họ đưa ra cho bạn ở đây .. giống như một vé mở.


0

Theo kinh nghiệm của tôi, nó đã giúp tôi nếu tôi cố quên đi tất cả những gì tôi đã học về gõ phím cảm ứng và cố gắng bấm từng phím một và rất, rất nhanh. Tốt nhất chỉ sử dụng một ngón tay để bạn không cảm thấy quá thoải mái và bắt đầu gõ quá nhanh. Nó cũng cho phép bạn tập trung vào việc cố gắng nhấn phím nhanh chóng . Toàn bộ điều này nghe có vẻ như một trò đùa, nhưng tôi đã thấy rằng ngón giữa bên phải của tôi (tôi thuận tay phải) có khả năng đẩy phím nhanh nhất.

Và tất nhiên, tôi cố gắng khởi động SSH và chạy càng nhanh càng tốt sau đó. Nếu quá hạn chế để được phép làm điều đó ... ouch.

Cũng cố gắng sử dụng các bàn giao tiếp khác nhau. Thông thường phiên bản Java sẽ là tồi tệ nhất, nhưng nếu bạn gặp vấn đề với phiên bản .NET, thì bạn có thể muốn dùng thử Java. Chỉ cần chuẩn bị rằng plugin java có thể làm sập trình duyệt của bạn (đây chỉ là sự cố với iLO 2; iLO 3 được chuyển từ plugin sang ứng dụng khởi động web).


Đó là một giải pháp thô. Bất cứ ý tưởng tại sao điều này xảy ra?
ehite

1
Gọi nó là "một giải pháp" là khá hào phóng. Không, tôi không biết tại sao nó lại xảy ra, nhưng tôi luôn đổ lỗi cho giao thức kết nối từ xa. Bây giờ bạn đã khiến tôi suy nghĩ về nó, tôi đã có ý tưởng khác ... bạn đã bao giờ thử tái tạo điều này với Bàn phím trên màn hình từ các ứng dụng cửa sổ Trợ năng chưa? Tôi có cảm giác dai dẳng rằng ứng dụng bàn phím trên màn hình có thể hoạt động hoàn hảo.
chutz

Tôi đã thử cách tiếp cận bàn phím trên màn hình với sự cố VMWare vCloud trong tuần này. Bảng điều khiển bật lên gây tranh cãi với bàn phím trên màn hình để lấy nét, vì vậy chúng không tương thích.
ewwhite
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.