Tại sao khóa máy chủ sẽ đánh bật các máy chủ khác khỏi mạng?


9

Chúng tôi có vài chục máy chủ Proxmox (Proxmox chạy trên Debian) và khoảng một tháng một lần, một trong số họ sẽ có kernel hoảng loạn và khóa máy. Điều tồi tệ nhất về các khóa này là khi một máy chủ nằm trên một công tắc riêng biệt so với chủ cụm, tất cả các máy chủ Proxmox khác trên công tắc đó sẽ ngừng đáp ứng cho đến khi chúng tôi có thể tìm thấy máy chủ đã thực sự gặp sự cố và khởi động lại nó.

Khi chúng tôi báo cáo vấn đề này trên diễn đàn Proxmox, chúng tôi được khuyên nên nâng cấp lên Proxmox 3.1 và chúng tôi đã trong quá trình thực hiện điều đó trong nhiều tháng qua. Thật không may, một trong những máy chủ mà chúng tôi đã chuyển sang Proxmox 3.1 đã bị khóa với sự hoảng loạn hạt nhân vào thứ Sáu và một lần nữa tất cả các máy chủ Proxmox trên cùng một công tắc đó đều không thể truy cập được qua mạng cho đến khi chúng tôi có thể xác định vị trí máy chủ bị sập và khởi động lại nó.

Chà, hầu như tất cả các máy chủ Proxmox trên switch ... Tôi thấy thật thú vị khi các máy chủ Proxmox trên cùng một switch đó vẫn còn trên Proxmox phiên bản 1.9 không bị ảnh hưởng.

Dưới đây là ảnh chụp màn hình bảng điều khiển của máy chủ bị sập:

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

Khi máy chủ bị khóa, phần còn lại của các máy chủ trên cùng một công tắc cũng đang chạy Proxmox 3.1 trở nên không thể truy cập được và được đưa ra như sau:

e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
...etc...

uname - một đầu ra của máy chủ bị khóa:

Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux

pveversion -v output (viết tắt):

proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)
pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)
pve-kernel-2.6.32-23-pve: 2.6.32-109

Hai câu hỏi:

  1. Bất kỳ manh mối nào sẽ gây ra sự hoảng loạn hạt nhân (xem hình trên)?

  2. Tại sao các máy chủ khác trên cùng một công tắc và phiên bản Proxmox sẽ bị loại khỏi mạng cho đến khi máy chủ bị khóa được khởi động lại? (Lưu ý: Có các máy chủ khác trên cùng một công tắc đang chạy phiên bản Proxmox 1.9 cũ không bị ảnh hưởng. Ngoài ra, không có máy chủ Proxmox nào khác trong cùng cụm 3.1 bị ảnh hưởng mà không phải trên cùng một công tắc đó.)

Cảm ơn trước cho tất cả lời khuyên.


Bạn có thể cung cấp cho các crashdump đầy đủ? Hình ảnh trên cắt bỏ những phần thú vị. Ngoài ra, bạn đã đăng các vụ tai nạn trên lkml ? Tuy nhiên, nhìn lại, đây là một kernel khá cũ, có kế hoạch nâng cấp Debian lên bản phát hành ổn định hiện tại không?
ckujau

Thật không may, chúng tôi không có một bãi chứa sự cố. Tôi đã thêm nó vào danh sách của mình để định cấu hình bảng điều khiển nối tiếp và / hoặc kdump. Đối với kernel đã cũ, Proxmox sử dụng kernel của OpenVZ, một nhánh nằm ngoài kernel chính. Vì vậy, một khi tôi có thể làm cho các bãi đổ vỡ hoạt động, tôi sẽ liên hệ với các nhà phát triển OpenVZ để được giúp đỡ. Cảm ơn bình luận của bạn ... nó đã giúp tôi đi đúng hướng.
Curtis

Những loại công tắc?
ETL

Vấn đề đã xảy ra với 3 công tắc khác nhau (một dlink và 2 cisco). Tôi không có số kiểu trên hai thiết bị chuyển mạch trước đó, nhưng mới nhất là Cisco SG102-24. Vì nó chỉ ảnh hưởng đến các máy chủ trên switch đang chạy cùng kernel và vì tôi đang chuyển đổi thứ ba nên dường như công tắc không có lỗi (mặc dù đó cũng là suy nghĩ ban đầu của tôi).
Curtis

Tôi đã nhận được một thông báo qua email rằng ai đó đã đăng bình luận sau đây ở đây ... "Tôi có một vấn đề tương tự ngoại trừ việc tôi có thể khiến tôi gặp sự cố với một vài container làm lõi cứng ..." Thật không may, nó đã bị cắt ở đó và khi tôi đến Ở đây, tác giả đã xóa bình luận của họ để tôi không biết phần còn lại của nó là gì. Nhưng, tôi sẽ nói thêm rằng tôi đã lưu ý rằng vấn đề dường như xảy ra thường xuyên nhất khi có lưu lượng mạng lớn (như khi sao lưu đang chạy). Có lẽ nhận xét đó là "chuyển mạng cứng"?
Curtis

Câu trả lời:


2

Tôi gần như chắc chắn vấn đề của bạn không chỉ do một yếu tố duy nhất mà là do sự kết hợp của nhiều yếu tố. Những yếu tố riêng lẻ đó là không chắc chắn, nhưng rất có thể một yếu tố là giao diện mạng hoặc trình điều khiển và một yếu tố khác được tìm thấy trên chính công tắc. Do đó, rất có thể vấn đề chỉ có thể được sao chép với thương hiệu chuyển đổi cụ thể này kết hợp với thương hiệu giao diện mạng cụ thể này.

Bạn có vẻ như gây ra vấn đề là một cái gì đó xảy ra trên một máy chủ riêng lẻ, sau đó có một sự hoảng loạn hạt nhân có tác động bằng cách nào đó quản lý để truyền qua chuyển đổi. Điều này nghe có vẻ có khả năng, nhưng tôi muốn nói rằng rất có thể, đó là kích hoạt ở một nơi khác.

Nó có thể là một cái gì đó đang xảy ra trên chuyển đổi hoặc giao diện mạng, điều này đồng thời gây ra sự hoảng loạn hạt nhân và các vấn đề liên kết trên chuyển đổi. Nói cách khác, ngay cả khi kernel không có kernel hoảng loạn, bộ kích hoạt rất có thể đã làm giảm kết nối trên công tắc.

Người ta phải hỏi, những gì có thể xảy ra trên từng máy chủ, có thể có hiệu ứng này trên các máy chủ khác. Không nên, vì vậy lời giải thích phải liên quan đến một lỗ hổng ở đâu đó trong hệ thống.

Nếu đó chỉ là liên kết giữa máy chủ bị sập và công tắc bị hỏng hoặc không ổn định, thì điều đó sẽ không ảnh hưởng đến trạng thái liên kết đến các máy chủ khác. Nếu có, điều đó sẽ được tính là một lỗ hổng trong chuyển đổi. Và lưu lượng truy cập, các máy chủ khác sẽ thấy lưu lượng truy cập ít hơn một chút khi máy chủ bị sập mất kết nối, điều này không thể giải thích tại sao họ thấy vấn đề họ làm.

Điều này khiến tôi tin rằng một lỗ hổng thiết kế trên công tắc có khả năng.

Tuy nhiên, một vấn đề liên kết không phải là lời giải thích đầu tiên mà người ta sẽ tìm kiếm khi cố gắng giải thích làm thế nào một vấn đề trên một máy chủ có thể gây ra sự cố cho các máy chủ khác trên switch. Một cơn bão phát sóng sẽ là một lời giải thích rõ ràng hơn. Nhưng có thể có một liên kết giữa một máy chủ có kernel hoảng loạn và một cơn bão phát sóng?

Multicast và các gói tin dành cho các địa chỉ MAC không xác định ít nhiều được xử lý giống như các chương trình phát sóng, do đó, một cơn bão của các gói như vậy cũng sẽ được tính. Máy chủ hoảng loạn có thể đang cố gắng gửi một sự cố trên mạng đến một địa chỉ MAC không được công tắc nhận ra không?

Nếu đó là kích hoạt, thì có gì đó không ổn trên các máy chủ khác. Bởi vì một cơn bão gói không gây ra loại lỗi này trên giao diện mạng. Reset adapter unexpectedlykhông có vẻ như là một cơn bão gói (điều này sẽ làm giảm hiệu suất nhưng không có lỗi như vậy) và nó không giống như một vấn đề liên kết (điều này sẽ dẫn đến thông báo về các liên kết đi xuống, nhưng không phải là lỗi của bạn nhìn thấy).

Vì vậy, có khả năng có một số lỗ hổng trong phần cứng hoặc trình điều khiển giao diện mạng, được kích hoạt bởi chuyển đổi.

Một vài gợi ý có thể cung cấp thêm manh mối:

  1. Bạn có thể kết nối một số thiết bị khác với công tắc và xem lưu lượng truy cập bạn nhìn thấy trên công tắc khi sự cố xuất hiện (tôi dự đoán thiết bị sẽ im lặng hoặc bạn thấy lũ lụt).
  2. Có thể thay thế giao diện mạng trên một trong các máy chủ bằng một nhãn hiệu khác bằng cách sử dụng trình điều khiển khác để xem kết quả khác nhau như thế nào không?
  3. Có thể thay thế một trong những thiết bị chuyển mạch bằng một thương hiệu khác không? Tôi hy vọng thay thế chuyển đổi sẽ đảm bảo vấn đề không còn ảnh hưởng đến nhiều máy chủ. Điều thú vị hơn để biết là nếu nó cũng ngăn chặn sự hoảng loạn hạt nhân xảy ra.

Cảm ơn bạn đã trả lời chu đáo của bạn. Xét về 3 gợi ý của bạn: 1) Loại thiết bị / phần mềm nào sẽ làm điều đó? 2) Ước gì tôi có thể, nhưng có rất nhiều máy chủ liên quan và tôi không biết vấn đề sẽ xảy ra tiếp theo ở đâu. 3) Tôi đã thử 3 công tắc khác nhau (3 mẫu khác nhau, 2 nhãn hiệu khác nhau). Điều thú vị nữa là chỉ các máy chủ trên cùng một phiên bản Proxmox bị ảnh hưởng. Proxmox không có cơ chế đồng bộ hóa cụm, vì vậy tôi nghi ngờ nó có liên quan đến điều đó. May mắn thay, đã một vài tháng kể từ khi vấn đề xảy ra.
Curtis

Để xem lưu lượng trên công tắc, tôi đã nghĩ đến việc kết nối một PC thông thường với tcpdump và / hoặc wireshark. Rõ ràng là bạn muốn tránh cài đặt phần mềm bị ảnh hưởng trên PC đó. Nhưng có vẻ như thực sự phải có một lỗi trong mã mà Proxmox cài đặt vào kernel. Nếu điều này hiếm khi xảy ra, rằng bạn chỉ nhìn thấy nó khoảng một lần mỗi tháng và chỉ trên một công tắc tại một thời điểm, thì có thể mất nhiều thời gian để theo dõi nó. Tôi sẽ suy nghĩ một chút về nó và bình luận, nếu có thêm ý tưởng.
kasperd

1

Nghe có vẻ như là một lỗi trong trình điều khiển ethernet hoặc phần cứng / phần sụn, đây là một lá cờ đỏ:

e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly

Tôi đã thấy những điều này trước đây và nó có thể đánh sập máy chủ ngoại tuyến. Tôi không nhớ chính xác liệu nó có trên thẻ ethernet intel hay không nhưng tôi tin là như vậy. Nó thậm chí có thể liên quan đến một lỗi trong chính các thẻ ethernet. Tôi nhớ đã đọc một cái gì đó về thẻ ethernet intel cụ thể có vấn đề như vậy. Nhưng tôi đã mất liên kết của bài viết.

Tôi sẽ tưởng tượng rằng kích hoạt cho điều này phụ thuộc một phần vào trình điều khiển (phiên bản) đang được sử dụng, thực tế là một phiên bản cũ hơn của phần mềm hoạt động tốt dường như xác nhận điều đó. Bạn nói rằng nhà cung cấp sử dụng hạt nhân tùy chỉnh của riêng họ, hãy thử cập nhật mô-đun trình điều khiển ethernet đang được sử dụng cho phần cứng ethernet cụ thể của bạn. Hoặc một từ nhà cung cấp của bạn hoặc một từ cây nguồn chính thức.

Cũng xem xét liên kết phần cứng ethernet của bạn, thông thường một máy chủ sẽ có hai cổng ethernet, trên bo mạch và / hoặc thêm vào (các) thẻ. Theo cách đó, nếu một thẻ ethernet gặp sự cố này thì thẻ kia sẽ nhận. Tôi sử dụng từ "thẻ" nhưng tất nhiên nó áp dụng cho bất kỳ phần cứng ethernet nào.

Ngoài ra thay thế phần cứng ethernet có thể sửa chữa nó. Thay thế hoặc thêm một thẻ ethernet (intel) mới hơn và sử dụng thay thế. Rất có thể nếu sự cố nằm ở phần cứng / phần sụn, thẻ mới hơn có cách khắc phục (hoặc cũ hơn?).


Tất cả các máy đều có cổng ethernet kép, tuy nhiên, lỗi này xảy ra trên nhiều máy chủ cùng một lúc trên cùng một công tắc tại thời điểm một trong các máy bị khóa. Khoảnh khắc một máy chủ bị khóa được cấp điện, tất cả các máy chủ bị ảnh hưởng ngay lập tức có thể truy cập lại được. Điều này dường như cho thấy rằng máy chủ bị khóa không bị khóa hoàn toàn nhưng bằng cách nào đó làm ngập thiết lập lại của các máy trên cùng một công tắc. Sẽ rất thú vị để xem liệu một bản cập nhật trình điều khiển có thể giúp ích hay không, nhưng tôi không nghĩ việc kích hoạt thẻ ethernet khác có thể giúp dựa trên bằng chứng.
Curtis

Chủ đề cũ, nhưng ngay cả với Intel e1000e NIC Model 82574L và một trong những phiên bản ProxMox mới hơn 5.0-23 / af4267bf, các sự cố mạng vẫn còn. Tôi có thể mở máy tính xách tay windows của mình (sau khi ngủ hoặc chỉ cần đăng nhập) được kết nối với cùng một công tắc và máy chủ ProxMox khởi động lại cơ bản mọi lúc. Tôi cũng đã thấy nó chỉ khởi động lại một cách rời rạc khi không được kết nối với công tắc. Và nó sẽ khởi động lại khi tôi lần đầu tiên kết nối nó với công tắc. Trình điều khiển hiện tại là 3.3.5.3 và có 3.3.5.10, 3.3.6 và 3.4.0.2 vì vậy tôi có thể sẽ thử xây dựng và sử dụng chúng. 0,02c của tôi.
JGlass
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.