Friday, September 20, 2024

Tìm hiểu về lệnh swift-ring-builder

-

Tổng quan.

Lệnh swift-ring-builder object.builder sẽ hiển thị thông tin cấu hình của ring tại thời điểm mà ring được xây dựng, chứ không phải là trạng thái hiện tại của hệ thống.

Cụ thể, lệnh này cho phép bạn xem tổng quan các thông số như số lượng partition, số bản sao replicas, regions, zones, devices và tham số balance. Nó không phản ánh trạng thái tức thời của hệ thống (như dung lượng sử dụng hiện tại hay trạng thái hoạt động của các thiết bị).

Nếu bạn muốn xem thông tin cập nhật theo thời gian thực hoặc tình trạng hiện tại của các thiết bị trong hệ thống, bạn sẽ cần phải sử dụng các công cụ giám sát khác hoặc lệnh khác, chẳng hạn như swift-recon hoặc các công cụ tùy chỉnh khác được sử dụng cho giám sát và quản lý hệ thống Swift.

Dưới đây là 1 ví dụ output của lệnh swift-ring-builder object.builder.

shell> swift-ring-builder object.builder
object.builder, build version 13, id 8de5f3e3073649f898f86bd5231f54f3
1024 partitions, 2.000000 replicas, 1 regions, 4 zones, 12 devices, 0.39 balance, 0.00 dispersion
The minimum number of hours before a partition can be reassigned is 1 (0:00:00 remaining)
The overload factor is 0.00% (0.000000)
Ring file object.ring.gz is up-to-date
Devices:   id region zone  ip address:port replication ip:port  name weight partitions balance flags meta
            0      1   83 10.237.7.83:6200    10.237.7.83:6200   sdd 100.00        171    0.20
            1      1   83 10.237.7.83:6200    10.237.7.83:6200   sde 100.00        171    0.20
            2      1   83 10.237.7.83:6200    10.237.7.83:6200   sdf 100.00        170   -0.39
            3      1   84 10.237.7.84:6200    10.237.7.84:6200   sdd 100.00        171    0.20
            4      1   84 10.237.7.84:6200    10.237.7.84:6200   sde 100.00        171    0.20
            5      1   84 10.237.7.84:6200    10.237.7.84:6200   sdf 100.00        170   -0.39
            6      1   85 10.237.7.85:6200    10.237.7.85:6200   sdd 100.00        171    0.20
            7      1   85 10.237.7.85:6200    10.237.7.85:6200   sde 100.00        171    0.20
            8      1   85 10.237.7.85:6200    10.237.7.85:6200   sdf 100.00        170   -0.39
            9      1   86 10.237.7.86:6200    10.237.7.86:6200   sdd 100.00        171    0.20
           10      1   86 10.237.7.86:6200    10.237.7.86:6200   sde 100.00        171    0.20
           11      1   86 10.237.7.86:6200    10.237.7.86:6200   sdf 100.00        170   -0.39

Trong đó:

  • Ring File:
    • object.builder: Tên file cấu hình ring mà bạn đang xem.
    • Build version 13: Đây là phiên bản thứ 13 của file builder. Mỗi lần bạn thay đổi hoặc tái phân phối ring, phiên bản này sẽ tăng lên.
    • ID: Mã định danh duy nhất cho ring này (8de5f3e3073649f898f86bd5231f54f3).
  • Cấu trúc ring:
    • 1024 partitions: Ring này được chia thành 1024 phân vùng (partitions). Mỗi partition là một đơn vị dữ liệu cơ bản mà Swift quản lý.
    • 2.000000 replicas: Mỗi partition có 2 bản sao (replicas) để đảm bảo tính khả dụng và an toàn dữ liệu.
    • 1 regions: Ring chỉ thuộc về một vùng (region).
    • 4 zones: Ring này có 4 vùng (zone). Mỗi zone thường tương ứng với một cụm phần cứng độc lập (có thể là một tủ rack hoặc trung tâm dữ liệu).
    • 12 devices: Tổng cộng có 12 thiết bị lưu trữ (disk drives) trong ring này.
    • 0.39 balance: Tính cân bằng của ring, đo lường mức độ đồng đều của dữ liệu giữa các thiết bị. Giá trị gần 0 là tốt nhất, nghĩa là dữ liệu được phân phối đều.
    • 0.00 dispersion: Độ phân tán dữ liệu, giá trị càng thấp càng tốt, cho thấy dữ liệu không bị phân tán một cách bất hợp lý.
  • Thông tin cấu hình khác:
    • The minimum number of hours before a partition can be reassigned is 1: Thời gian tối thiểu trước khi một partition có thể được tái phân phối là 1 giờ.
    • The overload factor is 0.00%: Hệ số quá tải là 0%, nghĩa là không có thiết bị nào trong ring đang bị quá tải.
    • Ring file object.ring.gz is up-to-date: File ring (object.ring.gz) đã được cập nhật và khớp với cấu hình hiện tại.

Thông tin chi tiết về các thiết bị:

Mỗi dòng trong phần “Devices” cung cấp thông tin về từng thiết bị lưu trữ trong ring.

  • id: Mã định danh của thiết bị.
  • region: Vùng mà thiết bị thuộc về (ở đây tất cả đều thuộc vùng 1).
  • zone: Khu vực mà thiết bị thuộc về (các giá trị là 83, 84, 85, và 86).
  • ip address: Địa chỉ IP và cổng giao tiếp của thiết bị.
  • replication ip: Địa chỉ IP và cổng được sử dụng cho việc sao lưu dữ liệu (replication).
  • name: Tên của thiết bị (tên ổ đĩa).
  • weight: Trọng số của thiết bị, xác định mức độ dữ liệu mà thiết bị có thể xử lý (100.00 ở đây là trọng số mặc định).
  • partitions: Số lượng partition được ánh xạ đến thiết bị đó.
  • balance: Sự cân bằng của thiết bị đó so với sự phân bổ lý tưởng.
  • flags: Các cờ trạng thái (ở đây không có cờ nào được kích hoạt).
  • meta: Thông tin meta bổ sung, thường để trống trừ khi bạn cấu hình thêm.

Ví dụ:

Thiết bị có ID 0 thuộc vùng 1, khu vực 83, với địa chỉ IP 10.237.7.83 và cổng 6200. Tên thiết bị là sdd, trọng số là 100.00, và nó đang quản lý 171 partition với một độ cân bằng là 0.20.

Tổng kết.

Lệnh swift-ring-builder chỉ hiển thị thông tin về cấu hình của ring tại thời điểm nó được xây dựng hoặc cập nhật lần cuối, và không phản ánh trạng thái hiện tại của hệ thống. Thông tin mà lệnh này cung cấp là tĩnh, dựa trên các tính toán và phân bổ đã được thực hiện khi ring được xây dựng.

Do đó, bạn không thể sử dụng kết quả từ lệnh này để đánh giá tình trạng hoạt động hiện tại của hệ thống Swift, như dung lượng sử dụng, tình trạng các thiết bị, hay mức độ phân phối dữ liệu thực tế tại thời điểm hiện tại. Để theo dõi trạng thái thời gian thực của hệ thống, bạn sẽ cần sử dụng các công cụ khác, chẳng hạn như swift-recon hoặc các công cụ giám sát hệ thống khác.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories