1. Tổng quan.
2. Tìm hiểu các thông báo của lệnh ceph -s.
2.1. Trường hợp hệ thống bình thường.
shell> ceph -s
cluster:
id: a5c33f84-8710-476b-9924-2a76e0395a73
health: HEALTH_OK
services:
mon: 3 daemons, quorum pve01,pve02,pve03 (age 46h)
mgr: pve01(active, since 47h), standbys: pve02, pve03
osd: 12 osds: 12 up (since 46h), 12 in (since 3d)
data:
pools: 6 pools, 1153 pgs
objects: 41.24k objects, 161 GiB
usage: 341 GiB used, 21 TiB / 22 TiB avail
pgs: 1153 active+clean
io:
client: 0 B/s rd, 150 KiB/s wr, 0 op/s rd, 8 op/s wr
2.2. Trường hợp khi có device hỏng và hệ thống đang thực hiện rebalance.
Chúng ta hãy sử dụng output này để phân tích nhé.
shell> ceph -s
cluster:
id: a5c33f84-8710-476b-9924-2a76e0395a73
health: HEALTH_WARN
clock skew detected on mon.pve02, mon.pve03
Reduced data availability: 1 pg inactive
Degraded data redundancy: 36979/120408 objects degraded (30.711%), 627 pgs degraded, 627 pgs undersized
services:
mon: 3 daemons, quorum pve01,pve02,pve03 (age 12s)
mgr: pve03(active, since 94m), standbys: pve01, pve02
osd: 12 osds: 12 up (since 2s), 12 in (since 2d); 604 remapped pgs
data:
pools: 2 pools, 1025 pgs
objects: 60.20k objects, 234 GiB
usage: 465 GiB used, 21 TiB / 22 TiB avail
pgs: 0.098% pgs unknown
6.244% pgs not active
1 unknown
27 peering
36 remapped+peering
1 undersized+degraded+peered
36979/120408 objects degraded (30.711%)
626 active+undersized+degraded+remapped+backfill_wait
4 active+undersized+degraded+remapped+backfilling
334 active+clean
12 active+clean+scrubbing
9 active+clean+scrubbing+deep
345/120408 objects misplaced (0.029%)
io:
recovery: 12 MiB/s, 2 objects/s
2.2.1. Trạng thái Cluster.
Clock skew detected.
Lỗi clock skew detected
trên các monitor (như mon.pve02, mon.pve03) trong Ceph là một cảnh báo thời gian trên các máy chủ này không đồng bộ với nhau. Lỗi clock skew là quan trọng và không nên bỏ qua, dù cụm của bạn vẫn đang hoạt động bình thường. Đồng bộ thời gian là yếu tố quan trọng để đảm bảo sự ổn định và nhất quán của cụm Ceph.
- Tầm quan trọng của lỗi clock skew:
- Ảnh hưởng đến hoạt động: Dù cluster vẫn có thể chạy được khi có sự chênh lệch thời gian nhỏ, nhưng nếu thời gian lệch quá nhiều, nó có thể dẫn đến các vấn đề nghiêm trọng trong hệ thống. Ceph dựa vào đồng bộ thời gian để đảm bảo sự nhất quán dữ liệu, đồng bộ các giao dịch và quản lý trạng thái của các OSD và PGs.
- Quản lý trạng thái: Các monitor sử dụng thời gian hệ thống để xác định thứ tự các sự kiện và quản lý các phiên bản của bản đồ (maps) như OSDMap, PGMap, v.v. Nếu thời gian không đồng bộ, có thể xảy ra xung đột về trạng thái, gây khó khăn trong việc đồng bộ và quản lý trạng thái của cụm.
- Tại sao khi gặp lỗi mà cluster vẫn chạy được:
- Tolerances: Ceph có khả năng chịu đựng một mức độ chênh lệch thời gian nhỏ giữa các monitor mà không gây ra vấn đề nghiêm trọng ngay lập tức. Tuy nhiên, chênh lệch này cần được duy trì trong giới hạn cho phép.
- Tự động đồng bộ: Thường thì các cụm Ceph được cấu hình để sử dụng NTP (Network Time Protocol) hoặc một cơ chế đồng bộ thời gian khác để giữ cho thời gian của các node đồng bộ. Nếu hệ thống bị lệch thời gian nhỏ, hệ thống có thể tự điều chỉnh.
- Khuyến nghị:
- Kiểm tra và đồng bộ thời gian: Đảm bảo rằng các node trong cụm sử dụng cùng một nguồn đồng bộ thời gian (như NTP) và thời gian được đồng bộ chính xác.
- Theo dõi lỗi: Dù cụm vẫn chạy bình thường, nếu bạn thường xuyên thấy lỗi này, bạn nên xử lý nó để tránh các vấn đề tiềm ẩn trong tương lai.
Reduced data availability: 1 pg inactive.
Thông báo Reduced data availability: 1 pg inactive
chỉ ra rằng hiện tại bạn không thể truy cập dữ liệu trong PG đó, nhưng cũng chưa chắc dữ liệu đã bị mất hoàn toàn.
- PG bị mất kết nối hoặc bị lỗi: PG có thể không hoạt động do một hoặc nhiều OSD lưu trữ các bản sao của PG này gặp sự cố hoặc bị mất kết nối. Trong trường hợp này, dữ liệu có thể vẫn còn nhưng không thể truy cập được cho đến khi các OSD hoặc PG trở lại hoạt động bình thường.
- Mất toàn bộ dữ liệu: Nếu tất cả các bản sao của PG này trên các OSD đã bị hỏng hoặc không thể khôi phục được, dữ liệu trong PG đó có thể đã bị mất hoàn toàn. Tuy nhiên, điều này ít phổ biến nếu bạn có cấu hình dự phòng tốt (replica hoặc erasure coding).
Để xác định chính xác, bạn nên kiểm tra:
- Trạng thái của các OSD liên quan: Kiểm tra xem các OSD có chứa bản sao của PG này có gặp sự cố không và liệu chúng có thể khôi phục lại được không.
- Trạng thái đồng bộ lại (recovery): Nếu các OSD quay trở lại hoạt động, Ceph có thể tự động khôi phục lại PG đó và dữ liệu có thể được truy cập lại.
- Backup: Nếu bạn có bản sao lưu, bạn có thể khôi phục dữ liệu từ đó nếu xác nhận rằng dữ liệu trong PG này đã bị mất hoàn toàn.
Trong nhiều trường hợp, inactive
chỉ là trạng thái tạm thời và dữ liệu có thể được khôi phục khi hệ thống tính toán và đồng bộ lại xong.
Degraded data redundancy: 36979/120408 objects degraded (30.711%), 627 pgs degraded, 627 pgs undersized.
Lỗi Degraded data redundancy
với thông báo chi tiết 36979/120408 objects degraded (30.711%), 627 pgs degraded, 627 pgs undersized
chỉ ra rằng hệ thống Ceph của bạn đang gặp vấn đề với sự suy giảm về khả năng bảo vệ dữ liệu.
- Degraded Objects:
- 36979/120408 objects degraded (30.711%): Trong tổng số 120.408 object dữ liệu, có 36.979 object bị thiếu bản sao, chiếm khoảng 30.71%. Điều này có nghĩa là các bản sao dữ liệu dự phòng (replica) của các object này chưa được đồng bộ hoặc mất mát.
- Degraded PGs:
- 627 pgs degraded: Trong cụm của bạn, có 627 placement groups (PGs) bị thiếu bản sao. Một PG bị thiếu bản sao nghĩa là một số hoặc tất cả các bản sao dữ liệu trong PG đó không ở trạng thái tốt (không đủ bản sao cần thiết).
- Undersized PGs:
- 627 pgs undersized: Số lượng PG bị “undersized” trùng khớp với số lượng PG bị suy giảm. “Undersized” nghĩa là số lượng bản sao của dữ liệu trong các PG đó ít hơn số lượng yêu cầu (thường là do mất một hoặc nhiều OSDs hoặc do một phần của hệ thống không khả dụng).
- Nguyên nhân có thể xảy ra:
- OSD Failure: Một hoặc nhiều OSDs có thể đã gặp sự cố, dẫn đến việc mất bản sao dữ liệu.
- Network Issues: Vấn đề mạng có thể khiến một số OSDs không khả dụng, làm cho các PG bị thiếu bản sao.
- Recovery Process: Ceph có thể đang trong quá trình khôi phục dữ liệu sau sự cố, nhưng chưa hoàn thành việc khôi phục.
- Ảnh hưởng:
- Rủi ro mất dữ liệu: Khi hệ thống ở trạng thái degraded và undersized, rủi ro mất mát dữ liệu tăng cao nếu có thêm bất kỳ OSD nào bị lỗi.
- Hiệu suất giảm: Hệ thống có thể bị ảnh hưởng về hiệu suất khi đang cố gắng khôi phục các bản sao dữ liệu.
345/120408 objects misplaced (0.029%).
Có 345/120408 objects đang được lưu trữ trên các OSD sai vị trí so với vị trí mà Ceph dự định. Điều này có thể xảy ra khi hệ thống thực hiện rebalance dữ liệu, chẳng hạn như khi thêm hoặc gỡ bỏ OSD, hoặc khi có thay đổi cấu trúc trong cluster (như thêm host hoặc thay đổi crush map).
Mặc dù các misplaced objects đang ở sai vị trí so với vị trí mà Ceph dự định, nhưng chúng vẫn có thể được sử dụng để phục vụ các yêu cầu đọc và ghi dữ liệu từ phía người dùng. Ceph đảm bảo rằng các objects này vẫn được truy cập bình thường ngay cả khi chúng đang nằm ở vị trí không mong muốn.
Tuy nhiên, hệ thống Ceph sẽ tự động xử lý các misplaced objects này bằng cách di chuyển chúng đến vị trí đúng (theo quá trình rebalance hoặc backfilling) để đảm bảo tính toàn vẹn dữ liệu và tuân thủ các quy tắc dự phòng. Trong quá trình này, dữ liệu vẫn có thể được sử dụng và không bị gián đoạn đối với người dùng.
Misplaced objects trong Ceph có thể xuất hiện trong một số tình huống sau:
- Thay đổi cấu hình cluster: Khi bạn thêm hoặc loại bỏ OSDs, Ceph sẽ cần phải rebalance lại dữ liệu để đảm bảo rằng các objects được phân bố đều trên các OSD. Trong quá trình rebalance này, có thể xảy ra tình trạng misplaced objects, tức là các objects tạm thời nằm ở các OSD không được chỉ định trong mapping hiện tại của cluster.
- Thay đổi CRUSH map: CRUSH map quyết định vị trí lưu trữ của các objects trong cluster. Nếu có bất kỳ thay đổi nào đối với CRUSH map (ví dụ: thay đổi cấu trúc hierarchy, thay đổi trọng số OSDs), điều này có thể làm cho một số objects bị “misplaced” khi Ceph cố gắng điều chỉnh lại vị trí lưu trữ theo mapping mới.
- Sự cố OSD: Nếu một OSD gặp sự cố và sau đó được đưa trở lại online, các objects mà nó lưu trữ có thể bị coi là misplaced cho đến khi Ceph hoàn tất quá trình rebalance hoặc backfilling để khôi phục lại sự phân bố dữ liệu hợp lý.
- PG remapping: Khi một Placement Group (PG) được ánh xạ lại (remapped) do thay đổi trong cấu trúc cluster hoặc do sự cố OSD, các objects nằm trong PG đó có thể bị misplaced cho đến khi chúng được chuyển đến các OSD mới theo mapping đã điều chỉnh.
- Tạm thời ngừng hoạt động OSD: Khi một OSD bị đánh dấu là “out” nhưng sau đó được đưa trở lại “in” trước khi quá trình rebalance hoàn tất, các objects trên OSD đó có thể bị misplaced.
Các misplaced objects là dấu hiệu của quá trình rebalance hoặc điều chỉnh dữ liệu đang diễn ra và Ceph sẽ tự động xử lý chúng để đưa chúng về đúng vị trí theo mapping mới của cluster.
2.2.2. Lệnh thông báo về trạng thái services.
2.2.3. Lệnh thông báo về trạng thái data (cụ thể là PGs).
Các mục dưới đây mô tả một trạng thái khác nhau của các PGs. Các thông tin trên cho thấy hệ thống Ceph đang gặp phải nhiều vấn đề, đặc biệt là với một số PG không hoạt động, không đủ bản sao. Đây là những vấn đề cần được giải quyết để đảm bảo tính toàn vẹn và sẵn sàng của dữ liệu.
0.098% pgs unknown.
Một phần nhỏ các PG (0.098%) đang ở trạng thái unknown
, nghĩa là hệ thống không thể xác định chính xác trạng thái của các PG này. Điều này có thể xảy ra nếu các OSD liên quan bị mất kết nối hoặc gặp sự cố nghiêm trọng khiến Ceph không thể xác minh được tình trạng của PG.
6.244% pgs not active.
Khoảng 6.244% PGs không hoạt động (not active). Khi một PG không hoạt động, điều đó có nghĩa là dữ liệu trong PG đó không thể truy cập được. Đây là một tình huống cần khắc phục, vì dữ liệu không thể được đọc hoặc ghi vào các PG này.
334 active+clean.
- Thông báo pgs
334 active+clean
trong báo cáo trạng thái của Ceph cho biết rằng có1025 Placement Groups (PGs)
đang ở trạng tháiactive
vàclean
. Đây là trạng thái tốt nhất cho một PG và nó có nghĩa như sau:- Active: PG đang hoạt động bình thường và có thể truy cập được. Điều này có nghĩa là dữ liệu trong PG này có thể được đọc và ghi một cách bình thường.
- Clean: Tất cả các bản sao dữ liệu trong PG này đều được đồng bộ hóa hoàn toàn trên các OSD được chỉ định. Không có dữ liệu nào bị mất hoặc cần phải khôi phục. Khi một PG ở trạng thái
clean
, điều này có nghĩa là Ceph đã đảm bảo rằng tất cả các bản sao của dữ liệu đã được ghi đầy đủ và không có sự cố nào với dữ liệu trong PG này.
36979/120408 objects degraded (30.711%).
Trong tổng số 120408
objects
được lưu trữ, có 36979
object đang ở trạng thái degraded
, chiếm khoảng 30.711%
. Điều này có nghĩa là các object này không có đủ số bản sao dự phòng do một hoặc nhiều OSD không hoạt động hoặc bị lỗi. Ceph sẽ cố gắng khôi phục các object này bằng cách tái tạo các bản sao bị thiếu nếu có đủ tài nguyên.
626 active+undersized+degraded.
- Có 626 PGs đang ở trạng thái
active
, nhưngundersized
vàdegraded
:- Undersized: PG không có đủ số lượng bản sao như mong muốn. Điều này có thể xảy ra khi một hoặc nhiều OSD không hoạt động.
- Degraded: Dữ liệu trong PG không được sao lưu đầy đủ, làm giảm tính dự phòng.
36 remapped+peering.
- Có 36 PGs đang ở trạng thái
remapped
vàpeering
:- Remapped: Đây là giai đoạn đầu tiên khi Ceph nhận ra rằng một hoặc nhiều PGs cần được ánh xạ lại, có thể do các OSD cũ gặp sự cố hoặc cluster cấu hình lại. Quá trình remapping giúp xác định vị trí mới (OSD mới) mà các PGs sẽ được di chuyển hoặc sao chép đến. Tuy nhiên, trong giai đoạn này, chỉ có việc xác định vị trí mới được thực hiện và chưa có sự đồng bộ hóa dữ liệu.
- Peering: Sau khi PGs đã được remapped, chúng chuyển sang trạng thái peering. Peering là quá trình quan trọng trong đó Ceph bắt đầu xác định dữ liệu gốc nằm ở đâu và đồng thời xác nhận dữ liệu hiện có trên các OSD mới được ánh xạ. Trong giai đoạn này, Ceph sẽ quyết định bản sao nào là chính xác nhất và từ đó bắt đầu quá trình đồng bộ dữ liệu với các OSD mới. Đây là giai đoạn mà dữ liệu thực sự được sao chép hoặc di chuyển để đạt được trạng thái nhất quán và đảm bảo rằng tất cả các bản sao dữ liệu đều được bảo vệ theo yêu cầu của cluster.
27 peering
Có 27 PGs đang ở trạng thái peering
, tức là đang trong quá trình trao đổi thông tin giữa các OSD để đồng bộ và xác định dữ liệu nằm ở đâu.
1 undersized+degraded+peered
- Có 1 PG đang ở trạng thái undersized, degraded và đã peered:
- Undersized: PG thiếu số lượng bản sao dự phòng cần thiết.
- Degraded: Dữ liệu trong PG không được sao lưu đầy đủ.
- Peered: Quá trình trao đổi thông tin giữa các OSD đã hoàn tất, nhưng PG vẫn chưa đạt được số lượng bản sao cần thiết và vẫn bị thiếu.
1 unknown
Có 1 PG ở trạng thái unknown
, nghĩa là hệ thống không thể xác định chính xác trạng thái của PG này. Điều này có thể do mất kết nối với các OSD liên quan hoặc các lỗi nghiêm trọng khác.
Scrubbing và deep.
Hai trạng thái scrubbing và deep scrubbing diễn ra thường xuyên như một phần của quy trình bảo trì tự động trong Ceph, chứ không phải chỉ khi cụm (cluster) gặp lỗi. Đây là các quá trình chủ động nhằm duy trì tính toàn vẹn và đảm bảo rằng dữ liệu được lưu trữ không bị lỗi hoặc hư hỏng theo thời gian.
- Scrubbing:
- Mục đích: Kiểm tra tính toàn vẹn của dữ liệu trên các (objects trong Placement Group (PG) bằng cách so sánh các bản sao của dữ liệu để tìm kiếm các lỗi không nhất quán.
- Cách thức: Quá trình này chỉ kiểm tra metadata và sử dụng một mức độ checksum đơn giản hơn để so sánh dữ liệu giữa các bản sao.
- Tần suất: Scrubbing diễn ra thường xuyên hơn và mất ít thời gian hơn so với deep scrubbing. Đây là một bước quan trọng trong việc duy trì tính nhất quán của dữ liệu mà không cần quá nhiều tài nguyên hệ thống.
- Deep Scrubbing:
- Mục đích: Kiểm tra sâu hơn tính toàn vẹn của dữ liệu, bao gồm việc so sánh toàn bộ nội dung của các object để phát hiện các lỗi tiềm ẩn mà quá trình scrubbing thông thường có thể bỏ sót.
- Cách thức: Deep scrubbing so sánh checksum chi tiết của toàn bộ dữ liệu (thay vì chỉ metadata) giữa các bản sao để đảm bảo không có sự sai lệch hoặc hư hỏng dữ liệu.
- Tần suất: Quá trình này diễn ra ít thường xuyên hơn do yêu cầu tài nguyên cao hơn và thời gian thực hiện lâu hơn. Tuy nhiên, nó là cần thiết để phát hiện các vấn đề tiềm ẩn mà quá trình scrubbing thông thường có thể không phát hiện được.
Trong output trên, hệ thống Ceph đang thực hiện cả hai quá trình này, với các PG trong trạng thái “active+clean+scrubbing” và “active+clean+scrubbing+deep”, tương ứng với quá trình scrubbing và scrubbing deep. Điều này giúp bảo vệ và duy trì tính toàn vẹn của dữ liệu được lưu trữ trên hệ thống.
Backfill Wait.
Trạng thái backfill_wait
xảy ra khi một PG đã bắt đầu quá trình sao chép (backfilling) nhưng phải đợi một số điều kiện trước khi tiếp tục hoặc hoàn thành sao chép. Điều này có thể xảy ra vì lý do như tài nguyên hệ thống hạn chế hoặc các yếu tố khác ảnh hưởng đến tốc độ sao chép.
Giúp quản lý và điều phối quá trình sao chép dữ liệu trong các điều kiện hệ thống hạn chế hoặc khi có nhu cầu cân bằng tải để tránh quá tải hệ thống.
Backfilling.
Trạng thái backfilling
xảy ra khi Ceph đang sao chép dữ liệu từ các bản sao hiện có của PGs sang các OSDs mới để đảm bảo tính nhất quán và đủ số lượng bản sao cần thiết. Quá trình này bắt đầu khi PGs được ánh xạ lại sang các OSDs mới hoặc khi các bản sao của PG bị thiếu.
Trạng thái này thường xuất hiện khi có sự thay đổi cấu hình hoặc khi hệ thống cần khôi phục dữ liệu để đạt được mức độ sao chép cần thiết. Ví dụ, khi một OSD mới được thêm vào, dữ liệu từ các bản sao hiện có sẽ được sao chép sang OSD mới đó để đảm bảo rằng dữ liệu có sẵn trên tất cả các OSD theo cấu hình.
Đảm bảo rằng tất cả các bản sao của PG đều được sao chép đầy đủ và đồng bộ với các OSD mới để đạt được tính toàn vẹn dữ liệu và phục hồi khả năng chống mất mát dữ liệu.
3. Tìm hiểu các thông báo của lệnh ceph health detail.
3.1. Trường hợp khi hệ thống bình thường.
shell> ceph health detail
HEALTH_OK
3.2. Trường hợp khi có device hỏng nhưng hệ thống chưa thực hiện rebalance.
Thông báo này từ lệnh ceph health detail
cung cấp thông tin chi tiết về tình trạng hiện tại của cụm Ceph của bạn, bao gồm các cảnh báo liên quan đến tính sẵn sàng và độ toàn vẹn của dữ liệu.
shell> ceph health detail
HEALTH_WARN 1/3 mons down, quorum pve02,pve03; 4 osds down; 1 host (4 osds) down; Degraded data redundancy: 867579/2618374 objects degraded (33.134%), 678 pgs degraded, 678 pgs undersized
[WRN] MON_DOWN: 1/3 mons down, quorum pve02,pve03
mon.pve01 (rank 0) addr [v2:10.10.20.1:3300/0,v1:10.10.20.1:6789/0] is down (out of quorum)
[WRN] OSD_DOWN: 4 osds down
osd.0 (root=nvme-01,host=pve01) is down
osd.1 (root=nvme-01,host=pve01) is down
osd.2 (root=nvme-01,host=pve01) is down
osd.3 (root=nvme-01,host=pve01) is down
[WRN] OSD_HOST_DOWN: 1 host (4 osds) down
host pve01 (root=nvme-01) (4 osds) is down
[WRN] PG_DEGRADED: Degraded data redundancy: 867579/2618374 objects degraded (33.134%), 678 pgs degraded, 678 pgs undersized
pg 2.3b7 is active+undersized+degraded, acting [4]
pg 2.3b9 is stuck undersized for 5m, current state active+undersized+degraded, last acting [7]
pg 2.3ba is stuck undersized for 5m, current state active+undersized+degraded, last acting [6]
pg 2.3bb is stuck undersized for 5m, current state active+undersized+degraded, last acting [4]
<đã lược bỏ bớt logs>
pg 2.3fb is stuck undersized for 5m, current state active+undersized+degraded, last acting [11]
pg 2.3fd is stuck undersized for 5m, current state active+undersized+degraded, last acting [9]
pg 2.3fe is stuck undersized for 5m, current state active+undersized+degraded, last acting [8]
pg 2.3ff is stuck undersized for 5m, current state active+undersized+degraded, last acting [9]
HEALTH_WARN
Cụm Ceph đang trong trạng thái cảnh báo (HEALTH_WARN), có nghĩa là có một số vấn đề cần được khắc phục nhưng hệ thống vẫn hoạt động. Điều này báo hiệu rằng dữ liệu có thể gặp rủi ro nếu vấn đề không được giải quyết kịp thời.
MON_DOWN: 1/3 mons down, quorum pve02,pve03
Một trong ba Monitor (monitor pve01
đã bị mất kết nối và không còn nằm trong quorum) của cụm Ceph không hoạt động (mon.pve01). Các Monitor đóng vai trò quan trọng trong việc duy trì trạng thái và đồng thuận của cụm. Mặc dù cụm vẫn duy trì được quorum (tức là vẫn có đủ số lượng monitor để đưa ra quyết định), nhưng việc mất một monitor làm giảm độ dự phòng và tăng nguy cơ nếu một monitor khác gặp sự cố.
OSD_DOWN: 4 osds down.
Có 4 OSD (Object Storage Daemon) không hoạt động. Các OSD osd.0
, osd.1
, osd.2
, osd.3
đều không hoạt động. Tất cả các OSD này đều nằm trên cùng một máy chủ pve01
. OSD chịu trách nhiệm lưu trữ dữ liệu và khi chúng không hoạt động, khả năng truy cập và an toàn của dữ liệu có thể bị ảnh hưởng.
OSD_HOST_DOWN: 1 host (4 osds) down.
Một máy chủ (host) chứa 4 OSD không hoạt động. Máy chủ pve01
chứa các OSD osd.0
, osd.1
, osd.2
, osd.3
đã bị mất kết nối. Điều này thường xảy ra khi máy chủ gặp sự cố, khiến toàn bộ OSD trên máy chủ đó không thể truy cập được.
PG_DEGRADED: Degraded data redundancy: 867579/2618374 objects degraded (33.134%), 678 pgs degraded, 678 pgs undersized.
Có một lượng lớn các object (33.134%) đang trong tình trạng degraded
, nghĩa là dữ liệu của chúng không được sao lưu đầy đủ và có nguy cơ mất mát nếu các OSD khác cũng gặp sự cố. Có 678 Placement Groups (PG) bị đánh dấu là thiếu bản sao (degraded
) do không có đủ bản sao (undersized
).
- Chi tiết:
- Mỗi PG trong danh sách đều ở trạng thái
active+undersized+degraded
. Điều này có nghĩa là chúng vẫn đang hoạt động nhưng không có đủ số bản sao cần thiết, và dữ liệu không được sao lưu đầy đủ. - Ví dụ:
pg 2.3b7 is active+undersized+degraded, acting [4]
: PG2.3b7
đang ở trạng thái hoạt động, thiếu bản sao (undersized) và dữ liệu bị đánh dấu là thiếu bản sao (degraded). Hiện tại nó đang hoạt động trên OSD4
.pg 2.3c1 is stuck undersized for 5m, current state active+undersized+degraded, last acting [4]
: PG2.3c1
đã bị stusk (kẹt) trong trạng thái thiếu bản sao trong 5 phút qua, chúng vẫn đang hoạt động nhưng thiếu bản sao cần thiết và dữ liệu không an toàn.
- Mỗi PG trong danh sách đều ở trạng thái
3.3. Tường hợp khi có device hỏng nhưng hệ thống chưa thực hiện rebalance.
Đầu ra của lệnh ceph health detail
trường hợp này và trường hợp trên thể hiện các vấn đề liên quan đến tình trạng của cluster Ceph, nhưng chúng có những khác biệt về số liệu và trạng thái.
shell> ceph health detail
HEALTH_WARN 1/3 mons down, quorum pve02,pve03; 4 osds down; 1 host (4 osds) down; 1 root (4 osds) down; Degraded data redundancy: 802670/2618380 objects degraded (30.655%), 630 pgs degraded, 630 pgs undersized
[WRN] MON_DOWN: 1/3 mons down, quorum pve02,pve03
mon.pve01 (rank 0) addr [v2:10.10.20.1:3300/0,v1:10.10.20.1:6789/0] is down (out of quorum)
[WRN] OSD_DOWN: 4 osds down
osd.0 (root=default,host=pve01) is down
osd.1 (root=default,host=pve01) is down
osd.2 (root=default,host=pve01) is down
osd.3 (root=default,host=pve01) is down
[WRN] OSD_HOST_DOWN: 1 host (4 osds) down
host pve01 (root=default) (4 osds) is down
[WRN] OSD_ROOT_DOWN: 1 root (4 osds) down
root default (4 osds) is down
[WRN] PG_DEGRADED: Degraded data redundancy: 802670/2618380 objects degraded (30.655%), 630 pgs degraded, 630 pgs undersized
pg 2.3b2 is active+undersized+degraded+remapped+backfill_wait, acting [5]
pg 2.3b3 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [6]
pg 2.3b4 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [8]
pg 2.3b7 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [4]
pg 2.3b9 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [7]
pg 2.3ba is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [6]
<đã lược bỏ bớt logs>
pg 2.3f7 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [6]
pg 2.3f8 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [6]
pg 2.3fb is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [11]
pg 2.3fe is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [8]
pg 2.3ff is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [9]
Trong trường hợp này, có thông tin thêm về OSD_ROOT_DOWN
lý do là mình đã move host down về root default, trường hợp này là pve01. Khi một host bị đánh dấu là down và nếu được di chuyển về “root default”, hệ thống Ceph sẽ tính toán lại và xử lý lại dữ liệu theo cách khác.
Sau khi di chuyển host down về “root default”, Ceph sẽ thực hiện tính toán lại và xử lý dữ liệu. Điều này có thể dẫn đến tình trạng OSD_ROOT_DOWN, nơi Ceph tính toán lại và cập nhật các thông tin về tình trạng PGs. Trong trường hợp này, các PGs bị ảnh hưởng sẽ được xử lý và có thể có thêm các trạng thái như “remapped” hoặc “backfill_wait”, thể hiện quá trình điều chỉnh và đồng bộ lại dữ liệu từ các OSD mới.
Bạn hãy để ý ví dụ cách nó xử lý PGs dưới đây.
pg 2.3f7 is stuck undersized for 4m, current state active+undersized+degraded+remapped+backfill_wait, last acting [6]
Kết quả của pg 2.3f7
cho ta thấy các thông tin như sau:
active
: PG này đang hoạt động và có thể thực hiện các thao tác đọc/ghi.undersized
: PG này thiếu bản sao vì một hoặc nhiều OSDs không có mặt.degraded
: Một số dữ liệu bị mất hoặc không có sẵn, do đó PG không đáp ứng được mức độ dự phòng.remapped
: PG đã được ánh xạ lại sang các OSD khác, thường là do OSD bị hỏng hoặc bị gỡ bỏ.backfill_wait
: PG đang chờ quá trình backfilling (đồng bộ hóa) bắt đầu.
Khi PG đang ở trạng thái backfill_wait
, điều đó có nghĩa là quá trình đồng bộ hóa dữ liệu cho PG này vẫn chưa bắt đầu, có thể là do chờ đợi quá trình backfilling được khởi động hoặc có thể có vấn đề khác đang xảy ra.
last acting
chỉ ra OSDs đã phục vụ các thao tác cuối cùng cho PG đó tại thời điểm lệnh ceph health detail
được thực thi. Cụ thể:
last acting [n]
: Là OSDs đã thực hiện các thao tác cuối cùng trên PG này. Đây không phải là trạng thái hiện tại của OSD mà chỉ là OSD đã phục vụ dữ liệu gần nhất.- OSD bị hỏng hoặc không có mặt: Nếu OSD này bị hỏng hoặc không còn hoạt động, nó có thể dẫn đến tình trạng
undersized
vàdegraded
cho PG, vì PG cần có đủ bản sao trên các OSD khác. - OSD đang hoạt động nhưng thiếu bản sao: Nếu OSD này đang hoạt động nhưng thiếu bản sao của PG, tình trạng
undersized
vàdegraded
có thể xảy ra vì dữ liệu không đủ dự phòng trên tất cả các OSD.
Như vậy, last acting
giúp xác định OSD nào đã tham gia vào các thao tác gần nhất đối với PG, nhưng để hiểu rõ tình trạng hiện tại của PG, cần kiểm tra trạng thái của OSD này (nó có hoạt động hay không) và các vấn đề liên quan đến đồng bộ hóa hoặc tái cân bằng dữ liệu.
4. Tìm hiểu các thông báo của lệnh ceph pg dump_stuck.
4.1. Trường hợp hệ thống bình thường.
shell> ceph pg dump_stuck
ok
4.2. Trường hợp khi có device hỏng nhưng hệ thống chưa thực hiện rebalance.
Lệnh ceph pg dump_stuck
tiếp tục liệt kê các Placement Groups (PGs) đang trong trạng thái bị kẹt (stuck
). Đây là các PG vẫn ở trạng thái “active”, nhưng thiếu bản sao (undersized) và bị hỏng dữ liệu (degraded). Các trạng thái này cho thấy rằng các PG đang hoạt động, nhưng không đáp ứng đủ số lượng bản sao cần thiết, dẫn đến khả năng mất dữ liệu nếu các OSD đang giữ bản sao này gặp sự cố.
shell> ceph pg dump_stuck
PG_STAT STATE UP UP_PRIMARY ACTING ACTING_PRIMARY
2.21a active+undersized+degraded [11] 11 [11] 11
2.219 active+undersized+degraded [5] 5 [5] 5
2.218 active+undersized+degraded [9] 9 [9] 9
2.217 active+undersized+degraded [9] 9 [9] 9
2.216 active+undersized+degraded [5] 5 [5] 5
<đã lược bỏ bớt logs>
2.142 active+undersized+degraded [8] 8 [8] 8
2.147 active+undersized+degraded [5] 5 [5] 5
2.148 active+undersized+degraded [6] 6 [6] 6
2.14b active+undersized+degraded [5] 5 [5] 5
2.14f active+undersized+degraded [5] 5 [5] 5
ok
- PG_STAT: Tên hoặc ID của PG.
- STATE: Trạng thái hiện tại của PG.
- active: PG đang hoạt động và có thể phục vụ các yêu cầu đọc/ghi.
- undersized: PG không có đủ số bản sao cần thiết. Điều này có thể làm giảm độ tin cậy và an toàn của dữ liệu.
- degraded: Một số bản sao của dữ liệu không có sẵn, nghĩa là nếu có thêm lỗi xảy ra, dữ liệu có thể bị mất.
- UP và UP_PRIMARY
- UP: Danh sách các OSD hiện đang chịu trách nhiệm cho PG này. Ví dụ:
[11]
nghĩa là OSD số 11 đang chịu trách nhiệm cho PG này. - UP_PRIMARY: OSD chịu trách nhiệm chính (primary) cho PG. Ví dụ:
11
nghĩa là OSD số 11 là OSD primary cho PG này.
- UP: Danh sách các OSD hiện đang chịu trách nhiệm cho PG này. Ví dụ:
- ACTING và ACTING_PRIMARY
- ACTING: Danh sách các OSD hiện tại đang acting cho PG này, tức là các OSD này đang giữ dữ liệu thực tế. Ví dụ:
[11]
nghĩa là OSD số 11 đang giữ dữ liệu cho PG này. - ACTING_PRIMARY: OSD acting chính (primary) cho PG này. Ví dụ:
11
nghĩa là OSD số 11 là acting primary cho PG này.
Tất cả các PG được liệt kê đều ở trạng thái active+undersized+degraded
, nghĩa là chúng vẫn đang hoạt động nhưng thiếu số lượng bản sao cần thiết và dữ liệu không được sao lưu đầy đủ.
Mỗi PG chỉ có một OSD duy nhất đang giữ dữ liệu (undersized
), dẫn đến trạng thái degraded
. Điều này làm giảm độ an toàn và độ tin cậy của dữ liệu, vì nếu OSD duy nhất này gặp sự cố, dữ liệu có thể bị mất.
Các OSD 11
, 5
, 9
, 8
đang chịu trách nhiệm chính cho các PG này. Nếu bạn có thể khôi phục thêm OSD hoặc cải thiện tình trạng của cụm, trạng thái undersized
và degraded
có thể được giải quyết.
- Ví dụ:
- PG 2.21a:
- Trạng thái:
active+undersized+degraded
. - OSD chịu trách nhiệm:
[11]
– OSD số 11 đang là OSD duy nhất giữ dữ liệu cho PG này. - Primary OSD:
11
– OSD số 11 là primary.
- Trạng thái:
- PG 2.219:
- Trạng thái:
active+undersized+degraded
. - OSD chịu trách nhiệm:
[5]
– OSD số 5 đang giữ dữ liệu cho PG này. - Primary OSD:
5
– OSD số 5 là primary.
- Trạng thái:
- PG 2.21a:
Bạn cần phải khôi phục các OSD bị lỗi hoặc thêm OSD mới để tăng số lượng bản sao của các PG, giúp giải quyết trạng thái undersized
và degraded
.
4.3. Trường hợp khi có device hỏng và hệ thống đang thực hiện rebalance.
Log này cho ta biết Ceph đang cố gắng chuyển dữ liệu từ các OSD cũ sang các OSD mới và đảm bảo rằng dữ liệu được sao chép đầy đủ và nhất quán trước khi hoàn tất quá trình rebalance.
Ở cột STATE chúng ta nhìn log ở phần trên (4.1) khi cluster chưa bắt đầu rebalance, các PG ở trạng thái active+undersized+degraded
. Còn log ở dưới đây là đang trong quá trình rebalance, trạng thái remapped
, backfill_wait
, và backfilling
xuất hiện, thể hiện rằng Ceph đang tìm cách đồng bộ lại dữ liệu.
shell> ceph pg dump_stuck
PG_STAT STATE UP UP_PRIMARY ACTING ACTING_PRIMARY
2.21a active+undersized+degraded+remapped+backfill_wait [11,5] 11 [11] 11
2.211 active+undersized+degraded+remapped+backfill_wait [8,7] 8 [8] 8
2.210 active+undersized+degraded+remapped+backfill_wait [7,11] 7 [4] 4
2.20e active+remapped+backfill_wait [7,11] 7 [7,8] 7
2.20d active+undersized+degraded+remapped+backfill_wait [10,4] 10 [10] 10
2.209 active+undersized+degraded+remapped+backfill_wait [5,11] 5 [5] 5
<đã lược bỏ bớt logs>
2.36b active+undersized+degraded+remapped+backfill_wait [6,9] 6 [6] 6
2.14e active+undersized+degraded+remapped+backfilling [5,10] 5 [5] 5
2.284 active+undersized+degraded+remapped+backfilling [5,9] 5 [9] 9
2.6b active+undersized+degraded+remapped+backfill_wait [10,7] 10 [10] 10
2.22 active+undersized+degraded+remapped+backfill_wait [11,4] 11 [4] 4
2.1f active+undersized+remapped [4,10] 4 [4] 4
2.1c active+undersized+degraded+remapped+backfill_wait [7,11] 7 [7] 7
2.14f active+undersized+degraded+remapped+backfill_wait [7,11] 7 [5] 5
ok
Ở cột UP, khi rebalance chưa bắt đầu, chỉ có một OSD được liệt kê. Khi rebalance diễn ra, nhiều OSD có thể xuất hiện trong cột này, cho thấy rằng PG đã được ánh xạ lại và đang trong quá trình đồng bộ sang OSD mới.
Tương tự, ở cột ACTING khi rebalance chưa diễn ra, cột này giống với cột UP
. Trong quá trình rebalance, cột ACTING
có thể khác với cột UP
, điều này cho thấy rằng dữ liệu đang được di chuyển từ các OSD cũ sang các OSD mới.
5. Tìm hiểu các thông báo của lệnh ceph pg dump.
5.1. Trường hợp hệ thống bình thường.
shell> ceph pg dump
version 84559
stamp 2024-08-20T22:07:40.370182+0700
last_osdmap_epoch 0
last_pg_scan 0
PG_STAT OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES OMAP_BYTES* OMAP_KEYS* LOG LOG_DUPS DISK_LOG STATE STATE_STAMP VERSION REPORTED UP UP_PRIMARY ACTING ACTING_PRIMARY LAST_SCRUB SCRUB_STAMP LAST_DEEP_SCRUB DEEP_SCRUB_STAMP SNAPTRIMQ_LEN LAST_SCRUB_DURATION SCRUB_SCHEDULING OBJECTS_SCRUBBED OBJECTS_TRIMMED
2.21b 47 0 0 0 0 197132288 0 0 1563 3000 1563 active+clean 2024-08-20T00:23:57.362078+0700 4867'135137 4867:185181 [11,7] 11 [11,7] 11 4858'135033 2024-08-20T00:23:57.361921+0700 110'2142 2024-08-16T05:58:10.880874+0700 0 1 periodic scrub scheduled @ 2024-08-21T04:18:40.301212+0700 50 0
2.21a 54 0 0 0 0 226492416 0 0 1735 3000 1735 active+clean 2024-08-19T21:23:41.456774+0700 4867'69602 4867:116034 [2,11] 2 [2,11] 2 4858'68458 2024-08-19T21:23:41.456614+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-21T04:26:31.534849+0700 58 0
2.219 46 0 0 0 0 192937984 0 0 1690 3000 1690 active+clean 2024-08-20T00:38:38.674371+0700 4867'23306 4867:78640 [0,5] 0 [0,5] 0 4860'23274 2024-08-20
2.3fa 41 0 0 0 0 170483712 0 0 1594 3000 1594 active+clean 2024-08-20T00:47:07.776808+0700 4867'21439 4867:68879 [10,4] 10 [10,4] 10 4860'21246 2024-08-20T00:47:07.776636+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-21T04:13:41.747577+0700 41 0
2.3fb 35 0 0 0 0 145268736 0 0 1576 3000 1576 active+clean 2024-08-19T17:49:46.831820+0700 4867'24062 4867:78140 [11,3] 11 [11,3] 11 4856'24046 2024-08-19T17:49:46.831660+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-21T04:06:31.573126+0700 35 0
2.3fc 42 0 0 0 0 176160768 0 0 1521 3000 1521 active+clean 2024-08-19T18:25:20.652957+0700 4867'22321 4867:66463 [11,6] 11 [11,6] 11 4856'22229 2024-08-19T18:25:20.652764+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-21T03:30:19.394611+0700 42 0
2.3fd 32 0 0 0 0 134217728 0 0 1740 3000 1740 active+clean 2024-08-20T00:19:31.024382+0700 4867'19062 4867:60052 [0,9] 0 [0,9] 0 4860'19014 2024-08-20T00:19:31.024338+0700 4860'19014 2024-08-20T00:19:31.024338+0700 0 1 periodic scrub scheduled @ 2024-08-21T02:43:41.842658+0700 36 0
2.3fe 46 0 0 0 0 192937984 0 0 1636 3000 1636 active+clean 2024-08-19T18:59:51.501613+0700 4867'27928 4867:76418 [8,1] 8 [8,1] 8 4857'27913 2024-08-19T18:59:51.501445+0700 4776'24049 2024-08-18T18:56:01.071912+0700 0 1 periodic scrub scheduled @ 2024-08-20T22:20:07.912254+0700 47 0
2.3ff 33 0 0 0 0 138412032 0 0 1588 3000 1588 active+clean 2024-08-19T20:09:56.388231+0700 4867'25081 4867:72733 [3,9] 3 [3,9] 3 4857'24270 2024-08-19T20:09:56.388081+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-21T06:29:30.967150+0700 42 0
6 0 0 0 0 0 0 0 0 0 0
5 8 0 0 0 0 0 0 0 27 27
4 2 0 0 0 0 182 0 0 4 4
3 4 0 0 0 0 1386 0 0 4 4
2 41223 0 0 0 0 172488838549 900 96 1652348 1652348
1 2 0 0 0 0 1114656 0 0 1564 1564
sum 41239 0 0 0 0 172489954773 900 96 1653947 1653947
OSD_STAT USED AVAIL USED_RAW TOTAL HB_PEERS PG_SUM PRIMARY_PG_SUM
10 28 GiB 1.8 TiB 28 GiB 1.8 TiB [0,1,2,3,4,5,6,7,9,11] 200 108
8 28 GiB 1.8 TiB 28 GiB 1.8 TiB [0,1,2,3,4,5,6,7,9,11] 191 96
11 29 GiB 1.8 TiB 29 GiB 1.8 TiB [0,1,2,3,4,5,6,7,9,10] 201 94
9 28 GiB 1.8 TiB 28 GiB 1.8 TiB [0,1,2,3,4,5,6,7,8,10] 189 98
7 29 GiB 1.8 TiB 29 GiB 1.8 TiB [0,1,2,3,5,6,8,9,10,11] 197 94
6 29 GiB 1.8 TiB 29 GiB 1.8 TiB [0,1,2,3,5,7,8,9,10,11] 189 96
5 28 GiB 1.8 TiB 28 GiB 1.8 TiB [0,1,2,3,4,6,8,9,10,11] 194 86
4 29 GiB 1.8 TiB 29 GiB 1.8 TiB [0,1,2,3,5,7,8,9,10,11] 191 94
3 28 GiB 1.8 TiB 28 GiB 1.8 TiB [1,2,4,5,6,7,8,9,10,11] 194 103
2 28 GiB 1.8 TiB 28 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 182 96
1 29 GiB 1.8 TiB 29 GiB 1.8 TiB [0,2,4,5,6,7,8,9,10,11] 197 94
0 28 GiB 1.8 TiB 28 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 181 94
sum 341 GiB 21 TiB 341 GiB 22 TiB
* NOTE: Omap statistics are gathered during deep scrub and may be inaccurate soon afterwards depending on utilization. See http://docs.ceph.com/en/latest/dev/placement-group/#omap-statistics for further details.
dumped all
5.2. Trường hợp khi có device hỏng nhưng hệ thống chưa thực hiện rebalance.
Lệnh ceph pg dump
xuất ra thông tin chi tiết về trạng thái của các Placement Groups (PGs) trong hệ thống Ceph.
shell> ceph pg dump
version 74633
stamp 2024-08-18T17:34:37.801050+0700
last_osdmap_epoch 0
last_pg_scan 0
PG_STAT OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES OMAP_BYTES* OMAP_KEYS* LOG LOG_DUPS DISK_LOG STATE STATE_STAMP VERSION REPORTED UP UP_PRIMARY ACTING ACTING_PRIMARY LAST_SCRUB SCRUB_STAMP LAST_DEEP_SCRUB DEEP_SCRUB_STAMP SNAPTRIMQ_LEN LAST_SCRUB_DURATION SCRUB_SCHEDULING OBJECTS_SCRUBBED OBJECTS_TRIMMED
2.3ff 1276 0 1276 0 0 5339127808 0 0 1882 3000 1882 active+undersized+degraded 2024-08-18T17:26:43.010369+0700 3817'19723 3817:64272 [9] 9 [9] 9 3808'19177 2024-08-18T14:22:28.716088+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T15:22:17.657537+0700 1276 0
2.3fe 1303 0 1303 0 0 5459230720 0 0 1838 3000 1838 active+undersized+degraded 2024-08-18T17:26:43.005287+0700 3817'23551 3817:68106 [8] 8 [8] 8 3755'19438 2024-08-17T16:02:17.497942+0700 3755'19438 2024-08-17T16:02:17.497942+0700 0 33 periodic scrub scheduled @ 2024-08-19T01:04:08.180901+0700 1363 0
2.3fd 1253 0 1253 0 0 5245313024 0 0 1247 3000 1247 active+undersized+degraded 2024-08-18T17:26:43.009870+0700 3810'17540 3817:55614 [9] 9 [9] 9 3737'17486 2024-08-17T17:51:28.395987+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T03:31:15.452418+0700 28 0
2.3fc 1320 0 0 0 0 5527199744 0 0 1727 3000 1727 active+clean 2024-08-18T08:52:12.779167+0700 3812'20525 3817:60779 [11,6] 11 [11,6] 11 3805'20337 2024-08-18T08:52:12.779021+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T08:57:06.051963+0700 1320 0
2.3fb 1295 0 1295 0 0 5426122752 0 0 1753 3000 1753 active+undersized+degraded 2024-08-18T17:26:43.008079+0700 3812'22396 3817:72548 [11] 11 [11] 11 3810'22002 2024-08-18T15:20:29.611084+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T01:30:23.579622+0700 1295 0
2.3fa 1240 0 0 0 0 5191311360 0 0 1772 3000 1772 active+clean 2024-08-18T16:50:47.416119+0700 3810'19320 3817:59411 [10,5] 10 [10,5] 10 3810'19320 2024-08-18T16:50:47.415911+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T21:22:24.376709+0700 1240 0
2.3f9 1282 0 0 0 0 5370003456 0 0 1765 3000 1765 active+clean 2024-08-18T06:19:12.873413+0700 3812'26599 3817:75389 [5,11] 5 [5,11] 5 3805'26588 2024-08-18T06:19:12.873121+0700 106'3090 2024-08-16T04:01:04.041522+0700 0 1 periodic scrub scheduled @ 2024-08-19T13:10:15.653924+0700 1282 0
<đã lược bỏ bớt logs>
2.214 1305 0 0 0 0 5470228480 0 0 1760 3000 1760 active+clean 2024-08-17T23:36:09.093391+0700 3807'20037 3817:68525 [11,6] 11 [11,6] 11 909'15590 2024-08-17T06:55:29.432149+0700 106'2847 2024-08-16T02:54:30.542013+0700 0 1 periodic scrub scheduled @ 2024-08-18T18:31:23.890040+0700 1354 0
2.215 1296 0 0 0 0 5428994048 0 0 1779 3000 1779 active+clean 2024-08-17T23:36:11.181998+0700 3812'18942 3817:60581 [7,8] 7 [7,8] 7 2070'18490 2024-08-17T19:50:33.760411+0700 115'2667 2024-08-16T11:24:22.596630+0700 0 1 periodic scrub scheduled @ 2024-08-18T21:28:46.963793+0700 1353 0
2.216 1280 0 1280 0 0 5350797312 0 0 1789 3000 1789 active+undersized+degraded 2024-08-18T17:26:46.340401+0700 3808'18612 3817:58445 [5] 5 [5] 5 3750'17946 2024-08-17T13:52:29.002353+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-18T20:59:48.160541+0700 35 0
2.217 1208 0 1208 0 0 5060395008 0 0 1821 1241 1821 active+undersized+degraded 2024-08-18T17:26:43.006934+0700 3805'17035 3817:54475 [9] 9 [9] 9 3737'16974 2024-08-17T20:22:49.600828+0700 115'2684 2024-08-16T10:22:04.659219+0700 0 1 periodic scrub scheduled @ 2024-08-19T04:55:05.440969+0700 34 0
2.218 1249 0 1249 0 0 5216612369 0 0 1872 3000 1872 active+undersized+degraded 2024-08-18T17:26:43.009735+0700 3811'18055 3817:53916 [9] 9 [9] 9 3811'18055 2024-08-18T16:46:06.984188+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T00:00:19.129574+0700 2360 0
2.219 1300 0 1300 0 0 5436641280 0 0 1840 1585 1840 active+undersized+degraded 2024-08-18T17:26:46.338647+0700 3811'21493 3817:70294 [5] 5 [5] 5 2070'21068 2024-08-17T15:17:43.262771+0700 114'4482 2024-08-16T09:36:28.893066+0700 0 1 periodic scrub scheduled @ 2024-08-18T18:14:04.812925+0700 1365 0
2.21a 1219 0 1219 0 0 5102120960 0 0 1858 3000 1858 active+undersized+degraded 2024-08-18T17:26:43.011033+0700 3812'66407 3817:109120 [11] 11 [11] 11 3810'66400 2024-08-18T16:09:56.703016+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T03:07:46.805483+0700 1219 0
2.21b 1247 0 0 0 0 5224353792 0 0 1803 3000 1803 active+clean 2024-08-17T23:36:15.000379+0700 3812'133134 3817:178931 [11,7] 11 [11,7] 11 2070'39866 2024-08-17T10:22:50.378729+0700 110'2142 2024-08-16T05:58:10.880874+0700 0 1 periodic scrub scheduled @ 2024-08-18T19:07:27.211814+0700 23 0
2 1309185 0 867579 0 0 5480615525155 674 72 1800828 1800828
1 2 0 0 0 0 983584 0 0 1138 1138
sum 1309187 0 867579 0 0 5480616508739 674 72 1801966 1801966
OSD_STAT USED AVAIL USED_RAW TOTAL HB_PEERS PG_SUM PRIMARY_PG_SUM
11 869 GiB 994 GiB 869 GiB 1.8 TiB [4,5,6,7,8,9,10] 175 123
10 852 GiB 1011 GiB 852 GiB 1.8 TiB [4,5,6,7,8,9,11] 172 129
9 824 GiB 1.0 TiB 824 GiB 1.8 TiB [4,5,6,7,8,10,11] 166 135
8 822 GiB 1.0 TiB 822 GiB 1.8 TiB [4,5,6,7,9,10,11] 167 120
7 853 GiB 1010 GiB 853 GiB 1.8 TiB [4,5,6,8,9,10,11] 172 131
6 867 GiB 996 GiB 867 GiB 1.8 TiB [4,5,7,8,9,10,11] 175 132
5 869 GiB 994 GiB 869 GiB 1.8 TiB [4,6,7,8,9,10,11] 176 126
4 836 GiB 1.0 TiB 836 GiB 1.8 TiB [5,6,7,8,9,10,11] 169 129
3 826 GiB 1.0 TiB 826 GiB 1.8 TiB [1,2,4,5,6,7,8,9,10,11] 0 0
2 834 GiB 1.0 TiB 834 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 0 0
1 871 GiB 992 GiB 871 GiB 1.8 TiB [0,2,4,5,6,7,8,9,10,11] 0 0
0 833 GiB 1.0 TiB 833 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 0 0
sum 9.9 TiB 12 TiB 9.9 TiB 22 TiB
* NOTE: Omap statistics are gathered during deep scrub and may be inaccurate soon afterwards depending on utilization. See http://docs.ceph.com/en/latest/dev/placement-group/#omap-statistics for further details.
dumped all
- PG_STAT Section
- OBJECTS: Số lượng object trong PG.
- MISSING_ON_PRIMARY: Số lượng object bị mất trên OSD chính.
- DEGRADED: Số lượng object đang ở trạng thái không đủ bản sao.
- MISPLACED: Số lượng object không nằm ở vị trí mong muốn.
- BYTES: Dung lượng dữ liệu được lưu trữ trong PG.
- STATE: Trạng thái của PG. Trạng thái
active+undersized+degraded
cho biết PG đang hoạt động nhưng thiếu bản sao và có một số object chưa đủ số lượng bản sao yêu cầu.active+clean
cho biết PG đang ở trạng thái tốt, tất cả dữ liệu đã được đồng bộ.
Ví dụ:
- PG
2.3ff
có 1276 object, tất cả đều ở trạng thái suy giảm (degraded
) và trạng thái chung của PG làactive+undersized+degraded
. - PG
2.3fc
có 1320 object, tất cả đều ở trạng tháiactive+clean
, nghĩa là PG này không gặp vấn đề nào.
- OSD_STAT Section
- USED: Dung lượng đã sử dụng trên OSD.
- AVAIL: Dung lượng còn trống trên OSD.
- USED_RAW: Tổng dung lượng đã sử dụng bao gồm cả dữ liệu và các bản sao.
- TOTAL: Tổng dung lượng lưu trữ của OSD.
- HB_PEERS: Danh sách các OSD mà OSD hiện tại duy trì kết nối heartbeat.
- PG_SUM: Tổng số PG mà OSD hiện tại đang tham gia.
- PRIMARY_PG_SUM: Số lượng PG mà OSD hiện tại là OSD chính.
Ví dụ OSD 11
đã sử dụng 869 GiB, còn trống 994 GiB, và tổng dung lượng là 1.8 TiB. OSD này tham gia vào 175 PG, trong đó nó là OSD chính cho 123 PG.
- Sự cố cần chú ý.
- PGs ở trạng thái degraded và undersized: Các PG này thiếu một số bản sao cần thiết. Điều này có thể xảy ra khi một hoặc nhiều OSD gặp sự cố hoặc bị mất.
- Sự phân bố dung lượng không đồng đều: Cần kiểm tra xem các OSD có được phân bố tải trọng một cách hợp lý hay không, vì một số OSD có thể đầy trong khi các OSD khác vẫn còn nhiều dung lượng trống.
5.3. Trường hợp khi có device hỏng và hệ thống đang thực hiện rebalance.
Trong khi quá trình rebalance, các PG trong trạng thái bị degraded đang được xử lý để trở về trạng thái clean
, và quá trình này thường đi kèm với việc remap và backfill dữ liệu giữa các OSD.
shell> ceph pg dump
version 75031
stamp 2024-08-18T17:45:49.551069+0700
last_osdmap_epoch 0
last_pg_scan 0
PG_STAT OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES OMAP_BYTES* OMAP_KEYS* LOG LOG_DUPS DISK_LOG STATE STATE_STAMP VERSION REPORTED UP UP_PRIMARY ACTING ACTING_PRIMARY LAST_SCRUB SCRUB_STAMP LAST_DEEP_SCRUB DEEP_SCRUB_STAMP SNAPTRIMQ_LEN LAST_SCRUB_DURATION SCRUB_SCHEDULING OBJECTS_SCRUBBED OBJECTS_TRIMMED
2.3ff 1276 0 1276 0 0 5339127808 0 0 1078 3000 1078 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.049563+0700 3878'19811 3878:64435 [9,5] 9 [9] 9 3808'19177 2024-08-18T14:22:28.716088+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T01:38:37.673790+0700 1276 0
2.3fe 1303 0 1303 0 0 5460398080 0 0 1845 3000 1845 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.035725+0700 3817'23658 3878:68288 [8,4] 8 [8] 8 3755'19438 2024-08-17T16:02:17.497942+0700 3755'19438 2024-08-17T16:02:17.497942+0700 0 33 periodic scrub scheduled @ 2024-08-18T19:46:32.675801+0700 1363 0
2.3fd 1253 0 0 0 0 5245313024 0 0 1247 1753 1247 active+clean 2024-08-18T17:42:54.950787+0700 3810'17540 3877:58199 [6,9] 6 [6,9] 6 3737'17486 2024-08-17T17:51:28.395987+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-18T19:58:51.890561+0700 28 0
2.3fc 1320 0 0 0 0 5527199744 0 0 1727 3000 1727 active+clean 2024-08-18T08:52:12.779167+0700 3812'20525 3877:60846 [11,6] 11 [11,6] 11 3805'20337 2024-08-18T08:52:12.779021+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T08:57:06.051963+0700 1320 0
2.3fb 1295 0 1295 0 0 5426122752 0 0 1753 3000 1753 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.039240+0700 3812'22396 3877:72622 [11,7] 11 [11] 11 3810'22002 2024-08-18T15:20:29.611084+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T02:52:08.557304+0700 1295 0
2.3fa 1240 0 0 0 0 5191311360 0 0 1772 3000 1772 active+clean 2024-08-18T16:50:47.416119+0700 3810'19320 3877:59477 [10,5] 10 [10,5] 10 3810'19320 2024-08-18T16:50:47.415911+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T21:22:24.376709+0700 1240 0
2.3f9 1282 0 0 0 0 5370003456 0 0 1765 3000 1765 active+clean 2024-08-18T06:19:12.873413+0700 3812'26599 3877:75454 [5,11] 5 [5,11] 5 3805'26588 2024-08-18T06:19:12.873121+0700 106'3090 2024-08-16T04:01:04.041522+0700 0 1 periodic scrub scheduled @ 2024-08-19T13:10:15.653924+0700 1282 0
2.3f8 1261 0 1261 0 0 5279813632 0 0 1313 3000 1313 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.031405+0700 3807'19685 3877:63255 [6,9] 6 [6] 6 2087'19492 2024-08-17T10:26:59.076999+0700 2087'19492 2024-08-17T10:26:59.076999+0700 0 32 queued for scrub 1317 0
2.3f7 1291 0 1291 1291 0 5409898496 0 0 1863 2540 1863 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.061602+0700 3812'21768 3877:71822 [7,10] 7 [6] 6 3805'20818 2024-08-18T06:51:06.902219+0700 1928'14789 2024-08-17T05:18:43.034554+0700 0 1 periodic scrub scheduled @ 2024-08-19T12:57:39.620256+0700 1291 0
2.3f6 1239 0 0 0 0 5190410240 0 0 1818 3000 1818 active+clean 2024-08-18T16:20:21.916985+0700 3811'18277 3877:62555 [8,4] 8 [8,4] 8 3811'18277 2024-08-18T16:20:21.916826+0700 3767'18132 2024-08-17T16:13:53.266704+0700 0 1 periodic scrub scheduled @ 2024-08-19T20:34:34.806079+0700 1239 0
<đã lược bỏ bớt logs>
2.3f5 1254 0 0 0 0 5251915776 0 0 1562 3000 1562 active+clean 2024-08-17T23:36:13.126830+0700 3805'17580 3878:54663 [9,5] 9 [9,5] 9 3750'17119 2024-08-17T16:13:18.849637+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T01:14:42.018423+0700 1306 0
2.3f4 1303 0 1303 1303 0 5460103168 0 0 1857 1529 1857 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.172935+0700 3812'22998 3877:74820 [10,6] 10 [11] 11 2070'22612 2024-08-17T10:28:43.205879+0700 112'3081 2024-08-16T08:19:11.139041+0700 0 1 periodic scrub scheduled @ 2024-08-18T22:01:50.449066+0700 30 0
2.3f3 1226 0 1226 0 0 5138169856 0 0 1810 3000 1810 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.145352+0700 3812'19294 3877:59672 [10,7] 10 [7] 7 3805'19292 2024-08-18T12:11:50.536841+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T21:37:03.637722+0700 1226 0
2.3f2 1222 0 0 0 0 5116051456 0 0 1816 3000 1816 active+clean 2024-08-17T23:36:12.088302+0700 3807'22533 3877:71989 [8,4] 8 [8,4] 8 3787'22069 2024-08-17T20:46:58.484150+0700 3787'22069 2024-08-17T20:46:58.484150+0700 0 31 periodic scrub scheduled @ 2024-08-19T00:11:14.300982+0700 1287 0
2.3f1 1277 0 1277 0 0 5343719424 0 0 1133 3000 1133 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:46.368781+0700 3876'95689 3877:148656 [5,11] 5 [5] 5 3807'89927 2024-08-18T12:26:06.956675+0700 3318'69263 2024-08-17T12:21:54.386697+0700 0 1 periodic scrub scheduled @ 2024-08-19T14:29:05.276827+0700 1277 0
2.3f0 1288 0 1288 0 0 5386256384 0 0 1756 3000 1756 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.039127+0700 3812'20312 3877:55507 [9,7] 9 [9] 9 3811'20253 2024-08-18T16:52:08.544963+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T04:26:27.558210+0700 1288 0
2.3ef 1301 0 1301 0 0 5450989568 0 0 1840 3000 1840 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:44.048400+0700 3812'18762 3879:63230 [4,11] 4 [4] 4 2070'17717 2024-08-17T16:02:06.154360+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 queued for scrub 25 0
2.3ee 1292 0 1292 0 0 5404332032 0 0 1860 3000 1860 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.129017+0700 3811'20625 3877:67073 [10,7] 10 [7] 7 2070'20175 2024-08-17T11:59:59.862404+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-18T21:50:18.855500+0700 38 0
2.3ed 1237 0 1237 1237 0 5180698624 0 0 1248 1814 1248 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.154907+0700 3807'17674 3877:57147 [10,4] 10 [9] 9 3807'17674 2024-08-18T12:24:00.019618+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-19T12:25:45.250610+0700 1284 0
2.219 1300 0 1300 1300 0 5436641280 0 0 1840 1585 1840 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:33.160140+0700 3811'21493 3877:70364 [4,11] 4 [5] 5 2070'21068 2024-08-17T15:17:43.262771+0700 114'4482 2024-08-16T09:36:28.893066+0700 0 1 periodic scrub scheduled @ 2024-08-18T22:24:42.057179+0700 1365 0
2.21a 1219 0 1219 0 0 5102120960 0 0 1858 3000 1858 active+undersized+degraded+remapped+backfill_wait 2024-08-18T17:42:43.038735+0700 3812'66407 3877:109193 [11,5] 11 [11] 11 3810'66400 2024-08-18T16:09:56.703016+0700 0'0 2024-08-14T23:51:37.352595+0700 0 1 periodic scrub scheduled @ 2024-08-20T01:32:56.649742+0700 1219 0
2.21b 1247 0 0 0 0 5224353792 0 0 1803 3000 1803 active+clean 2024-08-17T23:36:15.000379+0700 3812'133134 3877:178997 [11,7] 11 [11,7] 11 2070'39866 2024-08-17T10:22:50.378729+0700 110'2142 2024-08-16T05:58:10.880874+0700 0 1 periodic scrub scheduled @ 2024-08-18T19:07:27.211814+0700 23 0
2 1309187 0 818009 215243 0 5480623373091 674 72 1749546 1749546
1 2 0 0 0 0 983584 0 0 1138 1138
sum 1309189 0 818009 215243 0 5480624356675 674 72 1750684 1750684
OSD_STAT USED AVAIL USED_RAW TOTAL HB_PEERS PG_SUM PRIMARY_PG_SUM
11 884 GiB 979 GiB 884 GiB 1.8 TiB [4,5,6,7,8,9,10] 178 114
10 886 GiB 977 GiB 886 GiB 1.8 TiB [4,5,6,7,8,9,11] 178 126
9 819 GiB 1.0 TiB 819 GiB 1.8 TiB [4,5,6,7,8,10,11] 165 142
8 848 GiB 1015 GiB 848 GiB 1.8 TiB [4,5,6,7,9,10,11] 172 123
7 899 GiB 964 GiB 899 GiB 1.8 TiB [4,5,6,8,9,10,11] 181 135
6 902 GiB 961 GiB 902 GiB 1.8 TiB [4,5,7,8,9,10,11] 181 130
5 889 GiB 974 GiB 889 GiB 1.8 TiB [4,6,7,8,9,10,11] 180 115
4 857 GiB 1006 GiB 857 GiB 1.8 TiB [5,6,7,8,9,10,11] 173 140
3 826 GiB 1.0 TiB 826 GiB 1.8 TiB [1,2,4,5,6,7,8,9,10,11] 0 0
2 834 GiB 1.0 TiB 834 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 0 0
1 871 GiB 992 GiB 871 GiB 1.8 TiB [0,2,4,5,6,7,8,9,10,11] 0 0
0 833 GiB 1.0 TiB 833 GiB 1.8 TiB [1,3,4,5,6,7,8,9,10,11] 0 0
sum 10 TiB 12 TiB 10 TiB 22 TiB
* NOTE: Omap statistics are gathered during deep scrub and may be inaccurate soon afterwards depending on utilization. See http://docs.ceph.com/en/latest/dev/placement-group/#omap-statistics for further details.
dumped all
Trước khi Rebalance:
- PG States:
- Có một số PG ở trạng thái
active+undersized+degraded
, nghĩa là các PG này có một số OSD bị mất hoặc thiếu replica, khiến dữ liệu không được sao lưu đầy đủ. - Các PG ở trạng thái
active+clean
là các PG ổn định và đã hoàn tất việc sao lưu dữ liệu.
- Có một số PG ở trạng thái
Trong khi Rebalance:
- PG States:
- Một số PG trước đây ở trạng thái
active+undersized+degraded
đã chuyển sang trạng thái phức tạp hơn làactive+undersized+degraded+remapped+backfill_wait
. Điều này cho thấy các PG này đang trong quá trình di chuyển hoặc sao chép dữ liệu để khôi phục số lượng replica. - Một số PG đã trở về trạng thái
active+clean
, nghĩa là chúng đã hoàn tất việc cân bằng lại và đã ổn định.
- Một số PG trước đây ở trạng thái
Sự khác biệt:
- Trạng thái PG: Trong khi rebalance, xuất hiện thêm trạng thái
remapped
vàbackfill_wait
bên cạnh các trạng thái cũ. Điều này chỉ ra rằng dữ liệu đang được phân phối lại giữa các OSD để đảm bảo tính toàn vẹn dữ liệu. - Log PG: Log PG trong trạng thái trước và trong khi rebalance có sự thay đổi về số lượng và chi tiết của log, phản ánh các hoạt động chuyển dữ liệu và backfill.
6. Tìm hiểu các thông báo của lệnh ceph osd dump
Thông tin ceph osd dump
cung cấp toàn cảnh về cấu hình và trạng thái hoạt động của các thành phần trong cụm Ceph của bạn, bao gồm trạng thái OSD, cấu hình pool, và các quy tắc ánh xạ thủ công đã thiết lập cho các PG.
6.1. Trường hợp hệ thống bình thường.
Thông tin từ lệnh ceph osd dump
cung cấp chi tiết về cấu hình và trạng thái hiện tại của các OSD trong cụm Ceph của bạn bao gồm:
- Thông tin chung của cụm.
- Thông tin về Pool (Mỗi pool là một tập hợp các objects được lưu trữ và quản lý trong cụm Ceph. Dưới đây là các trường quan trọng trong thông tin pool):
- name: Tên của pool, ví dụ:
.mgr
,CEPH-NVME-01
,.rgw.root
. - replicated size: Số bản sao của mỗi objects được lưu trữ trong pool.
- pg_num và pgp_num: Số lượng PG (Placement Groups) được phân bổ cho pool.
- crush_rule: Quy tắc CRUSH được sử dụng để xác định cách các objects được phân bố trên các OSD
- .flags: Các cờ đặc biệt của pool, ví dụ
hashpspool
,selfmanaged_snaps
. - application: Ứng dụng sử dụng pool, ví dụ
rbd
,rgw
.
- name: Tên của pool, ví dụ:
- Thông tin về các OSD (Mỗi OSD là một daemon quản lý một thiết bị lưu trữ trong cụm Ceph):
- osd.X: Tên của OSD, ví dụ
osd.0
,osd.1
. - up/in: Trạng thái của OSD,
up
(hoạt động) hoặcdown
(không hoạt động) vàin
(được đưa vào sử dụng trong cluster) hoặcout
(không được sử dụng). - weight: Trọng số của OSD trong CRUSH map, xác định phần dung lượng của OSD được sử dụng.
- last_clean_interval: Khoảng thời gian mà OSD được xem là không có lỗi hoặc vấn đề gì xảy ra.
- addresses: Địa chỉ IP mà OSD sử dụng để giao tiếp.
- osd.X: Tên của OSD, ví dụ
shell> ceph osd dump
epoch 4867
fsid a5c33f84-8710-476b-9924-2a76e0395a73
created 2024-08-14T22:41:17.102990+0700
modified 2024-08-20T17:11:43.565766+0700
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit
crush_version 71
full_ratio 0.95
backfillfull_ratio 0.9
nearfull_ratio 0.85
require_min_compat_client luminous
min_compat_client luminous
require_osd_release reef
stretch_mode_enabled false
pool 1 '.mgr' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 2065 flags hashpspool stripe_width 0 pg_num_max 32 pg_num_min 1 application mgr read_balance_score 11.76
pool 2 'CEPH-NVME-01' replicated size 2 min_size 2 crush_rule 1 object_hash rjenkins pg_num 1024 pgp_num 1024 autoscale_mode off last_change 4829 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd read_balance_score 1.10
pool 3 '.rgw.root' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4805 flags hashpspool stripe_width 0 application rgw read_balance_score 2.63
pool 4 'default.rgw.log' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4807 flags hashpspool stripe_width 0 application rgw read_balance_score 1.88
pool 5 'default.rgw.control' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4809 flags hashpspool stripe_width 0 application rgw read_balance_score 2.25
pool 6 'default.rgw.meta' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4811 flags hashpspool stripe_width 0 pg_autoscale_bias 4 application rgw read_balance_score 1.88
max_osd 12
osd.0 up in weight 1 up_from 4818 up_thru 4843 down_at 4815 last_clean_interval [3779,4814) [v2:10.10.20.1:6824/4174,v1:10.10.20.1:6825/4174] [v2:10.10.20.1:6826/4174,v1:10.10.20.1:6827/4174] exists,up 7e8b8f4d-6d13-4257-b10a-81b32734d0da
osd.1 up in weight 1 up_from 4822 up_thru 4843 down_at 4815 last_clean_interval [3779,4814) [v2:10.10.20.1:6802/4183,v1:10.10.20.1:6806/4183] [v2:10.10.20.1:6810/4183,v1:10.10.20.1:6814/4183] exists,up f0d66fe2-b73e-4830-9f37-94b27a43e7b1
osd.2 up in weight 1 up_from 4819 up_thru 4843 down_at 4815 last_clean_interval [3782,4814) [v2:10.10.20.1:6800/4186,v1:10.10.20.1:6803/4186] [v2:10.10.20.1:6805/4186,v1:10.10.20.1:6807/4186] exists,up 9334c599-a46f-42b3-9359-9ee554f061a7
osd.3 up in weight 1 up_from 4822 up_thru 4843 down_at 4815 last_clean_interval [3782,4814) [v2:10.10.20.1:6801/4189,v1:10.10.20.1:6804/4189] [v2:10.10.20.1:6808/4189,v1:10.10.20.1:6812/4189] exists,up 3f3cbd9d-8a18-45dc-8e54-f79b5eeb225c
osd.4 up in weight 1 up_from 3796 up_thru 4843 down_at 3790 last_clean_interval [3763,3789) [v2:10.10.20.2:6821/4136,v1:10.10.20.2:6824/4136] [v2:10.10.20.2:6826/4136,v1:10.10.20.2:6827/4136] exists,up 99b4c7a6-f990-4aaa-bf67-625e49722077
osd.5 up in weight 1 up_from 3797 up_thru 4843 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6800/4139,v1:10.10.20.2:6802/4139] [v2:10.10.20.2:6805/4139,v1:10.10.20.2:6808/4139] exists,up 97be6d8d-439c-440b-a56d-04e7f3e1c2f7
osd.6 up in weight 1 up_from 3793 up_thru 4843 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6803/4138,v1:10.10.20.2:6807/4138] [v2:10.10.20.2:6810/4138,v1:10.10.20.2:6814/4138] exists,up 1a516367-a28d-42a7-941e-1f26b3047e3f
osd.7 up in weight 1 up_from 3796 up_thru 4843 down_at 3790 last_clean_interval [3760,3789) [v2:10.10.20.2:6801/4133,v1:10.10.20.2:6804/4133] [v2:10.10.20.2:6806/4133,v1:10.10.20.2:6809/4133] exists,up 27790b1b-476f-4972-8d06-2d30ea856d8b
osd.8 up in weight 1 up_from 4842 up_thru 4842 down_at 4835 last_clean_interval [48,4834) [v2:10.10.20.3:6816/4246,v1:10.10.20.3:6817/4246] [v2:10.10.20.3:6818/4246,v1:10.10.20.3:6819/4246] exists,up 9dcf9cc4-cd94-4d68-8c62-109e3dbedab8
osd.9 up in weight 1 up_from 4840 up_thru 4840 down_at 4835 last_clean_interval [53,4834) [v2:10.10.20.3:6800/4247,v1:10.10.20.3:6801/4247] [v2:10.10.20.3:6802/4247,v1:10.10.20.3:6803/4247] exists,up 20a95da0-9827-417b-ae8b-b807f00761d1
osd.10 up in weight 1 up_from 4843 up_thru 4843 down_at 4836 last_clean_interval [57,4834) [v2:10.10.20.3:6820/4237,v1:10.10.20.3:6822/4237] [v2:10.10.20.3:6824/4237,v1:10.10.20.3:6826/4237] exists,up 1f16a8c0-5832-4cd0-be49-4f350ef9e755
osd.11 up in weight 1 up_from 4841 up_thru 4841 down_at 4836 last_clean_interval [61,4834) [v2:10.10.20.3:6808/4245,v1:10.10.20.3:6809/4245] [v2:10.10.20.3:6810/4245,v1:10.10.20.3:6811/4245] exists,up 0f3ef01a-295b-428d-89dc-47757e2e532f
pg_upmap_items 2.3 [11,8]
pg_upmap_items 2.33 [1,2]
pg_upmap_items 2.3c [5,4]
pg_upmap_items 2.52 [10,8]
pg_upmap_items 2.77 [1,2]
<đã lược bỏ bớt logs>
pg_upmap_items 2.350 [1,2]
pg_upmap_items 2.3ce [1,2]
pg_upmap_items 2.3ea [1,2]
pg_upmap_items 2.3fa [5,4]
pg_upmap_items 6.10 [10,9]
pg_upmap_items 6.1a [10,8]
pg_upmap_items thể hiện kế hoạch phân bổ lại các objects trong PG đến các OSD cụ thể. Đây là cơ chế giúp Ceph tối ưu hóa phân bổ dữ liệu và cân bằng tải. Nó cho phép Ceph xác định và thực hiện kế hoạch di chuyển dữ liệu từ các OSD không ổn định hoặc quá tải đến các OSD khác có thể đáp ứng tốt hơn. Đây là một phần của chiến lược để duy trì sự cân bằng và hiệu suất của hệ thống lưu trữ.
- Cách Thức Hoạt Động:
- Dự Đoán:
pg_upmap_items
thể hiện các OSD mà Ceph dự định phân bổ lại các objects của PG. Nếu một OSD hiện tại có sự cố hoặc không hoạt động, các objects trong PG sẽ được phân bổ lại đến các OSD khác. - Lập Kế Hoạch: Ceph sử dụng thông tin từ
pg_upmap_items
để lên kế hoạch cho việc di chuyển các objects và cập nhật cấu hình của PG sao cho các OSD mới nhận trách nhiệm lưu trữ.
- Dự Đoán:
Giả sử bạn có một PG với pg_upmap_items
như sau:
pg_upmap_items 6.1a [10,8]
Và kết quả của lệnh osdmap.
shell> ceph pg map 6.1a
osdmap e5094 pg 6.1a (6.1a) -> up [8,1] acting [8,1]
Với osdmap
, nó cho thấy trạng thái hiện tại của PG 6.1a
. Trong trường hợp này, PG 6.1a
hiện tại đang hoạt động với các OSD [8,1]
, có nghĩa là các OSD này hiện tại đang lưu trữ các objects của PG và có vai trò chính trong việc duy trì dữ liệu. Như vậy osdmap
sẽ cung cấp thông tin về trạng thái thực tế hiện tại của PG, bao gồm các OSD đang hoạt động và đang chịu trách nhiệm xử lý dữ liệu của PG.
6.2. Trường hợp khi có device hỏng và hệ thống chưa thực hiện rebalance.
Khi một OSD node gặp sự cố (down), hệ thống sẽ thực hiện một cơ chế gọi là “blocklisting” để đảm bảo rằng các OSD hoặc client trước đây đã kết nối với OSD đó không thể tiếp tục gửi yêu cầu đến nó, ngay cả khi nó quay trở lại trực tuyến. Điều này được thực hiện nhằm ngăn chặn các vấn đề nhất quán dữ liệu và bảo vệ hệ thống khỏi các sự cố tiềm ẩn.
Cụ thể:
- Blocklist: Đây là danh sách các địa chỉ (IP và port) bị cấm truy cập vào một OSD nhất định. Khi một OSD bị down, các client hoặc OSD khác đã từng kết nối với nó sẽ bị blocklist, nghĩa là bất kỳ yêu cầu nào từ các địa chỉ này đều sẽ bị từ chối cho đến khi blocklist hết hạn.
- Expires: Thời gian hết hạn của blocklist, sau thời gian này, các địa chỉ bị blocklist sẽ được phép kết nối lại với OSD nếu OSD đó trở lại trực tuyến.
shell> ceph osd dump
epoch 4870
fsid a5c33f84-8710-476b-9924-2a76e0395a73
created 2024-08-14T22:41:17.102990+0700
modified 2024-08-20T22:36:02.083062+0700
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit
crush_version 71
full_ratio 0.95
backfillfull_ratio 0.9
nearfull_ratio 0.85
require_min_compat_client luminous
min_compat_client luminous
require_osd_release reef
stretch_mode_enabled false
pool 1 '.mgr' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 2065 flags hashpspool stripe_width 0 pg_num_max 32 pg_num_min 1 application mgr read_balance_score 11.76
pool 2 'CEPH-NVME-01' replicated size 2 min_size 2 crush_rule 1 object_hash rjenkins pg_num 1024 pgp_num 1024 autoscale_mode off last_change 4829 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd read_balance_score 1.58
pool 3 '.rgw.root' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4805 flags hashpspool stripe_width 0 application rgw read_balance_score 3.36
pool 4 'default.rgw.log' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4807 flags hashpspool stripe_width 0 application rgw read_balance_score 2.61
pool 5 'default.rgw.control' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4809 flags hashpspool stripe_width 0 application rgw read_balance_score 2.61
pool 6 'default.rgw.meta' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4811 flags hashpspool stripe_width 0 pg_autoscale_bias 4 application rgw read_balance_score 3.36
max_osd 12
osd.0 down in weight 1 up_from 4818 up_thru 4843 down_at 4868 last_clean_interval [3779,4814) [v2:10.10.20.1:6824/4174,v1:10.10.20.1:6825/4174] [v2:10.10.20.1:6826/4174,v1:10.10.20.1:6827/4174] exists 7e8b8f4d-6d13-4257-b10a-81b32734d0da
osd.1 down in weight 1 up_from 4822 up_thru 4843 down_at 4868 last_clean_interval [3779,4814) [v2:10.10.20.1:6802/4183,v1:10.10.20.1:6806/4183] [v2:10.10.20.1:6810/4183,v1:10.10.20.1:6814/4183] exists f0d66fe2-b73e-4830-9f37-94b27a43e7b1
osd.2 down in weight 1 up_from 4819 up_thru 4843 down_at 4868 last_clean_interval [3782,4814) [v2:10.10.20.1:6800/4186,v1:10.10.20.1:6803/4186] [v2:10.10.20.1:6805/4186,v1:10.10.20.1:6807/4186] exists 9334c599-a46f-42b3-9359-9ee554f061a7
osd.3 down in weight 1 up_from 4822 up_thru 4843 down_at 4868 last_clean_interval [3782,4814) [v2:10.10.20.1:6801/4189,v1:10.10.20.1:6804/4189] [v2:10.10.20.1:6808/4189,v1:10.10.20.1:6812/4189] exists 3f3cbd9d-8a18-45dc-8e54-f79b5eeb225c
osd.4 up in weight 1 up_from 3796 up_thru 4868 down_at 3790 last_clean_interval [3763,3789) [v2:10.10.20.2:6821/4136,v1:10.10.20.2:6824/4136] [v2:10.10.20.2:6826/4136,v1:10.10.20.2:6827/4136] exists,up 99b4c7a6-f990-4aaa-bf67-625e49722077
osd.5 up in weight 1 up_from 3797 up_thru 4868 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6800/4139,v1:10.10.20.2:6802/4139] [v2:10.10.20.2:6805/4139,v1:10.10.20.2:6808/4139] exists,up 97be6d8d-439c-440b-a56d-04e7f3e1c2f7
osd.6 up in weight 1 up_from 3793 up_thru 4868 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6803/4138,v1:10.10.20.2:6807/4138] [v2:10.10.20.2:6810/4138,v1:10.10.20.2:6814/4138] exists,up 1a516367-a28d-42a7-941e-1f26b3047e3f
osd.7 up in weight 1 up_from 3796 up_thru 4868 down_at 3790 last_clean_interval [3760,3789) [v2:10.10.20.2:6801/4133,v1:10.10.20.2:6804/4133] [v2:10.10.20.2:6806/4133,v1:10.10.20.2:6809/4133] exists,up 27790b1b-476f-4972-8d06-2d30ea856d8b
osd.8 up in weight 1 up_from 4842 up_thru 4868 down_at 4835 last_clean_interval [48,4834) [v2:10.10.20.3:6816/4246,v1:10.10.20.3:6817/4246] [v2:10.10.20.3:6818/4246,v1:10.10.20.3:6819/4246] exists,up 9dcf9cc4-cd94-4d68-8c62-109e3dbedab8
osd.9 up in weight 1 up_from 4840 up_thru 4868 down_at 4835 last_clean_interval [53,4834) [v2:10.10.20.3:6800/4247,v1:10.10.20.3:6801/4247] [v2:10.10.20.3:6802/4247,v1:10.10.20.3:6803/4247] exists,up 20a95da0-9827-417b-ae8b-b807f00761d1
osd.10 up in weight 1 up_from 4843 up_thru 4868 down_at 4836 last_clean_interval [57,4834) [v2:10.10.20.3:6820/4237,v1:10.10.20.3:6822/4237] [v2:10.10.20.3:6824/4237,v1:10.10.20.3:6826/4237] exists,up 1f16a8c0-5832-4cd0-be49-4f350ef9e755
osd.11 up in weight 1 up_from 4841 up_thru 4868 down_at 4836 last_clean_interval [61,4834) [v2:10.10.20.3:6808/4245,v1:10.10.20.3:6809/4245] [v2:10.10.20.3:6810/4245,v1:10.10.20.3:6811/4245] exists,up 0f3ef01a-295b-428d-89dc-47757e2e532f
pg_upmap_items 2.3 [11,8]
pg_upmap_items 2.33 [1,2]
pg_upmap_items 2.3c [5,4]
pg_upmap_items 2.52 [10,8]
pg_upmap_items 2.77 [1,2]
<đã lược bỏ bớt logs>
pg_upmap_items 2.3ea [1,2]
pg_upmap_items 2.3fa [5,4]
pg_upmap_items 6.10 [10,9]
pg_upmap_items 6.1a [10,8]
blocklist 10.10.20.1:0/3404511472 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/474711669 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/2633451350 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/23462215 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:6833/3586 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:6832/3586 expires 2024-08-21T22:36:02.083017+0700
Ví dụ, với blocklist như sau:
blocklist 10.10.20.1:6833/3586 expires 2024-08-21T22:36:02.083017+0700
Cụ thể:
- 10.10.20.1: Địa chỉ IP của client hoặc OSD đã kết nối.
- 6833: Port mà client hoặc OSD đã sử dụng khi kết nối với OSD bị down.
- 3586: Session ID, một định danh duy nhất của phiên kết nối.
- expires: Thời gian blocklist sẽ hết hạn.
Trong trường hợp này, blocklist là một biện pháp ngăn chặn các kết nối từ địa chỉ 10.10.20.1
thông qua port 6833
với session ID 3586
đến OSD cho đến khi thời gian blocklist hết hạn vào ngày 21/08/2024
lúc 22:36:02
.
Blocklist này đảm bảo rằng ngay cả khi OSD khởi động lại, nó sẽ không phục vụ các yêu cầu từ phiên kết nối cũ, giúp bảo vệ sự toàn vẹn của dữ liệu trong hệ thống Ceph.
Với pg_upmap_items trong trường hợp có device hỏng mình có ví dụ pg_upmap_items 2.33 [1,2]
:
pg_upmap_items 2.33 [1,2]
Bạn thấy rằng osd.1
và osd.2
đang ở trạng thái “down”, nhưng trong pg_upmap_items
ta thấy các objects của PG 2.33
vẫn đang được phân bổ lại tới các OSD này. Tuy nhiên, nếu osd.1
và osd.2
đang down, Ceph sẽ không thực hiện việc di chuyển ngay lập tức đến các OSD này.
Ceph sẽ xem xét trạng thái của các OSD và điều chỉnh kế hoạch phân bổ lại các objects khi cần thiết. Nếu các OSD down không phục hồi, Ceph sẽ chọn các OSD thay thế để phân bổ các objects.
Khi PG remap, Ceph sẽ cập nhật các kế hoạch phân bổ lại và pg_upmap_items
theo trạng thái thực tế của các OSD và khả năng của cluster. Nếu các OSD bị down
không phục hồi, Ceph sẽ cập nhật kế hoạch để phân bổ lại các objects tới các OSD khác.
6.3. Trường hợp khi có device hỏng và hệ thống đang thực hiện rebalance.
shell> ceph osd dump
epoch 4909
fsid a5c33f84-8710-476b-9924-2a76e0395a73
created 2024-08-14T22:41:17.102990+0700
modified 2024-08-20T22:40:13.231229+0700
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit
crush_version 72
full_ratio 0.95
backfillfull_ratio 0.9
nearfull_ratio 0.85
require_min_compat_client luminous
min_compat_client luminous
require_osd_release reef
stretch_mode_enabled false
pool 1 '.mgr' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 2065 flags hashpspool stripe_width 0 pg_num_max 32 pg_num_min 1 application mgr read_balance_score 8.00
pool 2 'CEPH-NVME-01' replicated size 2 min_size 2 crush_rule 1 object_hash rjenkins pg_num 1024 pgp_num 1024 autoscale_mode off last_change 4829 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd read_balance_score 1.11
pool 3 '.rgw.root' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4805 flags hashpspool stripe_width 0 application rgw read_balance_score 2.00
pool 4 'default.rgw.log' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4807 flags hashpspool stripe_width 0 application rgw read_balance_score 1.75
pool 5 'default.rgw.control' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4809 flags hashpspool stripe_width 0 application rgw read_balance_score 1.50
pool 6 'default.rgw.meta' replicated size 2 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode off last_change 4811 flags hashpspool stripe_width 0 pg_autoscale_bias 4 application rgw read_balance_score 1.50
max_osd 12
osd.0 down in weight 1 up_from 4818 up_thru 4843 down_at 4868 last_clean_interval [3779,4814) [v2:10.10.20.1:6824/4174,v1:10.10.20.1:6825/4174] [v2:10.10.20.1:6826/4174,v1:10.10.20.1:6827/4174] exists 7e8b8f4d-6d13-4257-b10a-81b32734d0da
osd.1 down in weight 1 up_from 4822 up_thru 4843 down_at 4868 last_clean_interval [3779,4814) [v2:10.10.20.1:6802/4183,v1:10.10.20.1:6806/4183] [v2:10.10.20.1:6810/4183,v1:10.10.20.1:6814/4183] exists f0d66fe2-b73e-4830-9f37-94b27a43e7b1
osd.2 down in weight 1 up_from 4819 up_thru 4843 down_at 4868 last_clean_interval [3782,4814) [v2:10.10.20.1:6800/4186,v1:10.10.20.1:6803/4186] [v2:10.10.20.1:6805/4186,v1:10.10.20.1:6807/4186] exists 9334c599-a46f-42b3-9359-9ee554f061a7
osd.3 down in weight 1 up_from 4822 up_thru 4843 down_at 4868 last_clean_interval [3782,4814) [v2:10.10.20.1:6801/4189,v1:10.10.20.1:6804/4189] [v2:10.10.20.1:6808/4189,v1:10.10.20.1:6812/4189] exists 3f3cbd9d-8a18-45dc-8e54-f79b5eeb225c
osd.4 up in weight 1 up_from 3796 up_thru 4908 down_at 3790 last_clean_interval [3763,3789) [v2:10.10.20.2:6821/4136,v1:10.10.20.2:6824/4136] [v2:10.10.20.2:6826/4136,v1:10.10.20.2:6827/4136] exists,up 99b4c7a6-f990-4aaa-bf67-625e49722077
osd.5 up in weight 1 up_from 3797 up_thru 4908 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6800/4139,v1:10.10.20.2:6802/4139] [v2:10.10.20.2:6805/4139,v1:10.10.20.2:6808/4139] exists,up 97be6d8d-439c-440b-a56d-04e7f3e1c2f7
osd.6 up in weight 1 up_from 3793 up_thru 4908 down_at 3790 last_clean_interval [3762,3789) [v2:10.10.20.2:6803/4138,v1:10.10.20.2:6807/4138] [v2:10.10.20.2:6810/4138,v1:10.10.20.2:6814/4138] exists,up 1a516367-a28d-42a7-941e-1f26b3047e3f
osd.7 up in weight 1 up_from 3796 up_thru 4908 down_at 3790 last_clean_interval [3760,3789) [v2:10.10.20.2:6801/4133,v1:10.10.20.2:6804/4133] [v2:10.10.20.2:6806/4133,v1:10.10.20.2:6809/4133] exists,up 27790b1b-476f-4972-8d06-2d30ea856d8b
osd.8 up in weight 1 up_from 4842 up_thru 4908 down_at 4835 last_clean_interval [48,4834) [v2:10.10.20.3:6816/4246,v1:10.10.20.3:6817/4246] [v2:10.10.20.3:6818/4246,v1:10.10.20.3:6819/4246] exists,up 9dcf9cc4-cd94-4d68-8c62-109e3dbedab8
osd.9 up in weight 1 up_from 4840 up_thru 4908 down_at 4835 last_clean_interval [53,4834) [v2:10.10.20.3:6800/4247,v1:10.10.20.3:6801/4247] [v2:10.10.20.3:6802/4247,v1:10.10.20.3:6803/4247] exists,up 20a95da0-9827-417b-ae8b-b807f00761d1
osd.10 up in weight 1 up_from 4843 up_thru 4908 down_at 4836 last_clean_interval [57,4834) [v2:10.10.20.3:6820/4237,v1:10.10.20.3:6822/4237] [v2:10.10.20.3:6824/4237,v1:10.10.20.3:6826/4237] exists,up 1f16a8c0-5832-4cd0-be49-4f350ef9e755
osd.11 up in weight 1 up_from 4841 up_thru 4907 down_at 4836 last_clean_interval [61,4834) [v2:10.10.20.3:6808/4245,v1:10.10.20.3:6809/4245] [v2:10.10.20.3:6810/4245,v1:10.10.20.3:6811/4245] exists,up 0f3ef01a-295b-428d-89dc-47757e2e532f
pg_upmap_items 2.3 [11,8]
pg_upmap_items 2.3c [5,4]
pg_upmap_items 2.52 [10,8]
pg_upmap_items 2.178 [5,4]
pg_upmap_items 2.19d [5,4]
pg_upmap_items 2.1dc [10,8]
pg_upmap_items 2.211 [10,8]
<đã lược bỏ bớt logs>
pg_temp 2.3f0 [9]
pg_temp 2.3f1 [5]
pg_temp 2.3f4 [11]
pg_temp 2.3f8 [6]
pg_temp 2.3fd [9]
pg_temp 2.3fe [8]
pg_temp 2.3ff [9]
blocklist 10.10.20.1:0/3404511472 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/474711669 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/2633451350 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:0/23462215 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:6833/3586 expires 2024-08-21T22:36:02.083017+0700
blocklist 10.10.20.1:6832/3586 expires 2024-08-21T22:36:02.083017+0700
Khi hệ thống tiến hành rebalance, bạn có thể thấy thông tin về pg_temp
trong trạng thái của các Placement Groups (PGs). Các dòng như:
pg_temp 2.3f0 [9]
pg_temp 2.3f1 [5]
pg_temp 2.3f4 [11]
Nó diễn tả việc tạm thời di chuyển hoặc gán lại các OSD cho các PG trong quá trình rebalance.
Cụ thể:
pg_temp
: Chỉ định rằng đây là một cấu hình tạm thời cho một PG cụ thể.2.3f0
,2.3f1
,2.3f4
: Đây là các ID của PGs. Trong đó,2
là pool ID và phần sau dấu.
(như3f0
,3f1
,3f4
) là ID của chính PG trong pool đó.[9]
,[5]
,[11]
: Là danh sách các OSD hiện đang chịu trách nhiệm lưu trữ dữ liệu của PG đó trong cấu hình tạm thời.
Khi hệ thống Ceph tiến hành rebalance (ví dụ, khi thêm, xóa hoặc một OSD không hoạt động), các PG có thể cần được phân bổ lại cho các OSD khác để duy trì sự cân bằng trong hệ thống. Trong quá trình này, pg_temp
được sử dụng để theo dõi tạm thời nơi mà PG đang được gán hoặc chuyển dữ liệu, trước khi hệ thống đạt được trạng thái cân bằng mới và ổn định.
Ví dụ như dòng pg_temp 2.3f0 [9]
cho ta thấy hệ thống Ceph đã xác định một bản sao của PG 2.3f0
đang thiếu (có thể do một OSD down hoặc xảy ra một sự kiện khác) và đã quyết định tạm thời chỉ định OSD 9
để chứa bản sao thiếu này. Đây là cách Ceph đảm bảo rằng dữ liệu luôn có đủ số lượng bản sao theo cấu hình (replication) của cluster, ngay cả khi có OSD gặp sự cố.
Như vậypg_temp
là một cơ chế tạm thời giúp Ceph điều chỉnh và cân bằng lại dữ liệu khi các OSD trong cluster thay đổi, đảm bảo rằng dữ liệu luôn được phân bổ đúng và an toàn.