Điểm:1

CentOS 7 (bản nháp) đang tìm thấy các tên thiết bị mạng không nhất quán gây ra sự cố khi khởi động

lá cờ id

Tôi sử dụng các tùy chọn khởi động biosdevname=1 net.ifnames=1 để có được tên thiết bị nhất quán, có thể dự đoán được. Tôi bắt đầu nhận thấy sự cố trong một số trường hợp, tên thiết bị mạng không nhất quán. Ví dụ: nếu tôi chuyển sang trình bao gỡ lỗi dracut và xem kết quả đầu ra của rdsosreport.txt, tôi sẽ thấy điều này:

+ địa chỉ ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    inet6 ::1/128 máy chủ phạm vi
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: p3p1: <BROADCAST,MULTICAST> mtu 1500 qdisc trạng thái noop DOWN nhóm mặc định qlen 1000
    liên kết/ether a8:b4:56:50:97:08 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 trạng thái qdisc noop DOWN nhóm mặc định qlen 1000
    liên kết/ether a8:b4:56:50:97:09 brd ff:ff:ff:ff:ff:ff

Lưu ý rằng có sự kết hợp giữa cách đặt tên nhất quán (p3p1) và kiểu kế thừa (eth1).Tuy nhiên, nếu tôi nhìn vào các giao diện từ trình gỡ lỗi dracut, tôi sẽ thấy điều này:

initqueue:/run/initramfs# địa chỉ ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    inet6 ::1/128 máy chủ phạm vi
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: p3p1: <BROADCAST,MULTICAST> mtu 1500 qdisc trạng thái noop DOWN nhóm mặc định qlen 1000
    liên kết/ether a8:b4:56:50:97:08 brd ff:ff:ff:ff:ff:ff
3: p3p2: <BROADCAST,MULTICAST> mtu 1500 qdisc trạng thái noop DOWN nhóm mặc định qlen 1000
    liên kết/ether a8:b4:56:50:97:09 brd ff:ff:ff:ff:ff:ff

p3p1/p3p2 là tên dự kiến ​​chính xác. Vì lý do nào đó, ngay từ đầu trình tự initrd, chúng xuất hiện ở định dạng hỗn hợp. Giả định của tôi là có một số loại cuộc đua đang diễn ra ở đây và nếu có thêm một chút thời gian, nó (udev?) Sẽ ổn định ở trạng thái chính xác, nhưng tôi không chắc chính xác nó ở đâu. Thật không may, điều này đang gây ra sự cố cho một số bản dựng máy chủ tự động của chúng tôi, bởi vì các máy chủ sẽ xuất hiện sau lần khởi động đầu tiên (cài đặt sau) và cố gắng khởi động eth1 khi tên giao diện thực là p3p2.

Tôi đã tìm hiểu kỹ các mô-đun dracut để thử và tìm ra vấn đề có thể nằm ở đâu, nhưng vẫn chưa thể xác định nó một cách thuyết phục, vì vậy hãy tìm kiếm các đề xuất.

Ngoài ra, hành vi này không xảy ra mọi lúc. Cùng một máy chủ, khởi động cùng một hình ảnh đôi khi hoạt động tốt và những lần khác có hành vi đặt tên hỗn hợp này. Điều đó cũng cho tôi biết đây là một loại cuộc đua nào đó - có lúc thắng, có lúc thua.

Michael Hampton avatar
lá cờ cz
Tên có chính xác khi hệ thống đã cài đặt khởi động không?
guzzijason avatar
lá cờ id
@MichaelHampton không. Hệ thống đã cài đặt sẽ có các tệp cấu hình `ifcfg-p3p1` và `ifcfg-eth1`, nhưng eth1 sẽ không tồn tại. Vì vậy, để hệ thống đã cài đặt hoạt động bình thường, tôi cần chỉnh sửa cấu hình mạng bằng tay. Ngoài ra, tôi vừa thêm vào bài đăng gốc của mình - hành vi không nhất quán, nghĩa là đôi khi sự cố xảy ra và đôi khi thì không. Mà nói với tôi, chủng tộc.
Michael Hampton avatar
lá cờ cz
Có vẻ như vào thời điểm bạn vượt qua initramfs và vào trình cài đặt, tên thiết bị đã ổn định từ lâu, trước bất kỳ điều gì bạn có thể làm trong quá trình khởi động. Bạn có thể nói cụ thể về những gì bạn đang làm dẫn đến cấu hình mạng không thành công này không?
guzzijason avatar
lá cờ id
Vâng, tôi sử dụng initramfs được tạo tùy chỉnh, tự động định cấu hình liên kết LACP. Chúng tôi có một số máy chủ một nhà, một số máy chủ hai nhà và một số có nhiều giao diện được tổng hợp thành một liên kết duy nhất. Nó "thường" hoạt động, trừ khi sự cố này xảy ra.
Michael Hampton avatar
lá cờ cz
Nội dung tùy chỉnh này được viết dưới dạng mô-đun dracut? Chúng sẽ tải lâu sau khi tên udev đã ổn định.Ngoài ra, hãy lưu ý rằng dracut có thể tự thiết lập liên kết với tùy chọn dòng lệnh để làm như vậy.
guzzijason avatar
lá cờ id
Chúng tôi đã thực hiện các sửa đổi đối với các mô-đun nháp `40network` cho các nhu cầu tùy chỉnh của chúng tôi.
guzzijason avatar
lá cờ id
Tôi nghĩ vấn đề chủng tộc có thể là do biosdevname. Cho đến nay, tôi vẫn chưa thể tái tạo sự cố khi sử dụng `biosdevname=0 net.ifnames=1`, đây có thể là một tùy chọn cho chúng tôi.
Điểm:0
lá cờ id

Trả lời câu hỏi của riêng tôi ở đây. Hóa ra, vấn đề là (một phần) tự gây ra.

Phần chúng tôi không thể kiểm soát:

Sử dụng tùy chọn khởi động biosdevname=1 có khả năng gây ra các cuộc đua trong giai đoạn đổi tên giao diện. Nếu bạn có thể sống mà không có nó, chỉ cần sử dụng net.ifnames=1 biosdevname=0 có thể thích hợp hơn, ngay cả khi tên kết quả là "kém đẹp".

Phần chúng ta CÓ THỂ kiểm soát:

Trang web của chúng tôi sử dụng bản nháp được sửa đổi tùy chỉnh 40mạng mô-đun. Một trong những điều chính mà phiên bản của chúng tôi thực hiện là nó thăm dò nội dung của /sys/lớp/mạng/ tìm kiếm các giao diện khả thi để tự động thêm vào một liên kết. (không phải lúc nào chúng tôi cũng biết trước tên thiết bị, đó là lý do tại sao mô-đun cần một số logic để tự nhận dạng chúng). Cuộc đua được đề cập ở trên có thể gây ra sự chậm trễ trong việc đổi tên các tệp trong /sys/lớp/mạng/. Giải pháp rất đơn giản: thêm 5 giây ngủ vào tập lệnh trước khi thăm dò /sys/lớp/mạng/. điều này mang lại tên sinh học (hy vọng là quá đủ) thời gian để hoàn tất việc đổi tên thiết bị. Thử nghiệm cho đến nay có vẻ A-OK.

Michael Hampton avatar
lá cờ cz
Hấp dẫn. Bạn nhận được tên gì với `biosdevname=0`? Có lẽ đã một năm kể từ khi tôi nâng cấp hộp CentOS 7 cuối cùng mà tôi có (lên 8).
guzzijason avatar
lá cờ id
Với `net.ifnames=1 biosdevname=1`, chúng tôi nhận được các tên như "p3p1", "p3p2" (khe cắm và cổng, khá đơn giản). Với `net.ifnames=1 biosdevname=0`, những tên đó thay đổi thành những thứ như "enp193s0f0", "enp193s0f1".
Michael Hampton avatar
lá cờ cz
À, vậy là các tên thông thường sẽ quay trở lại khi bạn sử dụng `biosdevname=0`. Có lẽ tốt nhất là chuyển về đó vì đó là thứ mà mọi người khác đang sử dụng. Những cái tên cũ đó phần lớn đã bị bỏ rơi nhiều năm trước.
guzzijason avatar
lá cờ id
Tôi biết các tên "eth0", "eth1" kế thừa đã bị bỏ vì lý do chính đáng. `biosdevname=1` thực sự là hành vi mặc định trên phần cứng của Dell, trừ khi bị vô hiệu hóa một cách rõ ràng.
Michael Hampton avatar
lá cờ cz
Xin lỗi, ý tôi là tên Dell `biosdevname=1` đã bị loại bỏ. Với giá trị này được đặt thành 0, tên thiết bị sử dụng các định dạng chung giống nhau trên tất cả các nhà cung cấp phần cứng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.