Tôi có một số máy ảo (hoạt động như một máy chủ web) đằng sau một nhóm ví dụ trên GCloud của tôi.
Như bảo trì thông thường, tôi đã cập nhật (nâng cấp apt dist
) "vm-source-image" của tôi, đã tạo một cái mới mẫu và thêm nó vào nhóm của tôi.
Các thành viên mới sử dụng mẫu này không bao giờ nhận được bất kỳ yêu cầu làm việc thực tế nào từ bộ cân bằng tải và nó đang hoạt động nhưng thất nghiệp.
Bản vá tạm thời
Tôi chỉ cập nhật một phần (phần bảo mật) qua:
sudo nâng cấp không giám sát -d
Đây là danh sách các gói còn lại tạo ra sự cố:
# danh sách apt --upgradable
cloud-init/bionic-updates 21.3-1-g6803368d-0ubuntu1~18.04.4 tất cả [có thể nâng cấp từ: 21.2-3-g899bfaa9-0ubuntu2~18.04.1]
dnsmasq-base/bionic-updates 2.79-1ubuntu0.5 AMD64 [có thể nâng cấp từ: 2.79-1ubuntu0.4]
gce-compute-image-packages/bionic-updates 20210629.00-0ubuntu1~18.04.0 tất cả [có thể nâng cấp từ: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine/bionic-updates 20210629.00-0ubuntu1~18.04.0 tất cả [có thể nâng cấp từ: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine-oslogin/bionic-updates 20210728.00-0ubuntu1~18.04.0 AMD64 [có thể nâng cấp từ: 20210429.00-0ubuntu1~18.04.0]
google-guest-agent/bionic-updates 20210629.00-0ubuntu1~18.04.1 AMD64 [có thể nâng cấp từ: 20210414.00-0ubuntu1~18.04.0]
libgnutls30/bionic-updates 3.5.18-1ubuntu1.5 AMD64 [có thể nâng cấp từ: 3.5.18-1ubuntu1.4]
libnetplan0/bionic-updates 0.99-0ubuntu3~18.04.5 AMD64 [có thể nâng cấp từ: 0.99-0ubuntu3~18.04.4]
libpcre2-8-0/bionic 10.39-1+ubuntu18.04.1+deb.sury.org+1 amd64 [có thể nâng cấp từ: 10.36-2+ubuntu18.04.1+deb.sury.org+2]
netplan.io/bionic-updates 0.99-0ubuntu3~18.04.5 AMD64 [có thể nâng cấp từ: 0.99-0ubuntu3~18.04.4]
nplan/bionic-updates 0.99-0ubuntu3~18.04.5 tất cả [có thể nâng cấp từ: 0.99-0ubuntu3~18.04.4]
snapd/bionic-updates 2.51.1+18.04 AMD64 [có thể nâng cấp từ: 2.49.2+18.04]
ubuntu-advantage-tools/bionic-updates 27.3~18.04.1 AMD64 [có thể nâng cấp từ: 27.2.2~18.04.1]
MỘT GIẢI PHÁP THỰC SỰ
Vì tôi không có gói "tùy chỉnh" trên máy và nguồn gốc của sự cố này xuất phát từ bản cập nhật hệ thống nên tôi không thấy giải pháp nào ngoại trừ chỉ ra sự cố bằng bài đăng này.
Tất nhiên, tôi đang theo dõi các bản cập nhật mới với hy vọng rằng phiên bản mới của gói này sẽ giải quyết được sự cố, nhưng có thể không có lựa chọn nào tốt hơn?
Thêm thông tin
- Nhóm này là phần phụ trợ của "bộ cân bằng tải TCP nội bộ".
- Địa chỉ IP giao diện người dùng của bộ cân bằng tải là 10.0.0.116
- Địa chỉ IP thành viên cũ (và đang hoạt động) là 10.0.0.48 (có thể xem các bản ghi)
- Địa chỉ IP thành viên mới (và thất nghiệp) là 10.0.0.54 (có thể xem các bản ghi)
- Bộ cân bằng tải có một kiểm tra tình trạng HTTP đơn giản được gọi là HTTPHC1.
- Nhóm phiên bản có một kiểm tra tình trạng HTTP đơn giản khác được gọi là HTTPHC2.
So sánh nhật ký truy cập của thành viên cũ (và đang hoạt động) với thành viên mới:
Nhật ký của một thành viên VM cũ
35.191.1.148 "/" - - - [04/Nov/2021:10:34:59 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.144 "/" - - - [04/Nov/2021:10:35:00 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.154 "/" - - - [04/Nov/2021:10:35:00 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.147 "/" - - - [04/Nov/2021:10:35:01 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.145 "/" - - - [04/Nov/2021:10:35:01 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.151 "/" - - - [04/Nov/2021:10:35:02 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.153 "/" - - - [04/Nov/2021:10:35:02 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
Nhật ký của một thành viên VM mới
35.191.1.152 "/" - - - [04/Nov/2021:10:31:01 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.154 "/" - - - [04/Nov/2021:10:31:02 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.148 "/" - - - [04/Nov/2021:10:31:02 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
Sự khác biệt cho thấy sự thiếu sót của các bản ghi của HTTPHC1.
Vì vậy, cái mới không trả lời kiểm tra sức khỏe của bộ cân bằng tải (HTTPHC1) và không nhận được yêu cầu và đó là vấn đề.
trục trặc khác
Máy mới cũng không thể truy cập được bằng browser-window-SSH
THÊM tcpdump
Ở giữa HTTPHC1 thành viên kiểm tra sức khỏe và thất nghiệp:
# tcpdump -n máy chủ 35.191.1.151
tcpdump: đầu ra dài dòng bị chặn, sử dụng -v hoặc -vv để giải mã giao thức đầy đủ
nghe trên ens4, loại liên kết EN10MB (Ethernet), kích thước chụp 262144 byte
11:30:35.109469 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:36.119470 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:38.167436 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:40.110784 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:41.111176 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:43.159164 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
11:30:45.112162 IP 35.191.1.151.36064 > 10.0.0.116.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
Lưu ý rằng đích là IP giao diện người dùng cân bằng tải: 10.0.0.116 và tất nhiên chúng chỉ là các gói Đồng bộ hóa.
Ở giữa HTTPHC2 thành viên kiểm tra sức khỏe và thất nghiệp:
# tcpdump -n máy chủ 35.191.1.148
tcpdump: đầu ra dài dòng bị chặn, sử dụng -v hoặc -vv để giải mã giao thức đầy đủ
nghe trên ens4, loại liên kết EN10MB (Ethernet), kích thước chụp 262144 byte
10:46:12.475724 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [S], win 65535, tùy chọn [mss 1420,sackOK,TS ecr 0,nop,wscale 8], độ dài 0
10:46:12.475788 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [S.], win 64768, tùy chọn [mss 1420,sackOK,TS,nop,wscale 7], độ dài 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 1, win 256, tùy chọn [nop,nop,TS], độ dài 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [P.], seq 1:117, ack 1, win 256, tùy chọn [nop,nop,TS], độ dài 116: HTTP: GET /?id=HTTPHC2 HTTP/1.1
10:46:12.476301 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [.], ack 117, win 506, tùy chọn [nop,nop,TS], độ dài 0
10:46:12.476546 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [P.], seq 1:867, ack 117, win 506, tùy chọn [nop,nop,TS], độ dài 866: HTTP: HTTP /1.1 200 được
10:46:12.476659 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 867, win 267, tùy chọn [nop,nop,TS], độ dài 0
10:46:12.476679 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [F.], seq 117, ack 867, win 267, tùy chọn [nop,nop,TS], độ dài 0
10:46:12.476707 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [F.], seq 867, ack 118, win 506, tùy chọn [nop,nop,TS], độ dài 0
10:46:12.476879 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 868, win 267, tùy chọn [nop,nop,TS], độ dài 0
Ở đây mọi thứ đều ổn.
THÊM 2021-11-16
Sau một số nghiên cứu, tôi đã tìm thấy bí danh IP bị thiếu trong địa phương bảng, không có gì ngạc nhiên khi thấy đó là địa chỉ IP của bộ cân bằng tải giao diện người dùng, được hiển thị dưới dạng máy chủ DST trong tcpdump
!
Đây là máy làm việc:
# lộ trình ip hiển thị bảng dev ens4 cục bộ
local 10.0.0.48 máy chủ phạm vi kernel proto src 10.0.0.48
máy chủ phạm vi 10.0.0.116 proto 66 cục bộ
# uname -r
5.4.0-1056-gcp
Và đây là máy Đã cập nhật đầy đủ:
# lộ trình ip hiển thị bảng dev ens4 cục bộ
local 10.0.0.54 máy chủ phạm vi kernel proto src 10.0.0.54
# uname -r
5.4.0-1057-gcp
THÊM 2021-11-20
Bây giờ nó trở thành một vấn đề được biết đến: [Mạng đám mây] Sự cố dịch vụ tiềm ẩn: Đang điều tra
Bộ cân bằng tải proxy Google Cloud Global TCP có thể không phân phối được
lưu lượng truy cập qua các quy tắc chuyển tiếp được định cấu hình bằng IP trong 34.111.0.0/17
phạm vi. Bản sửa lỗi vĩnh viễn cho dải IP đang được tiến hành