Sunday, October 6, 2024

Ceph Monitors trong hệ thống lưu trữ phân tán Ceph

-

1. Tổng quan.

Ceph Monitor (hoặc Ceph MON) là một phần quan trọng trong hệ thống lưu trữ phân tán Ceph. Chúng có nhiệm vụ quản lý thông tin về cụm Ceph, giám sát trạng thái của các nút trong cụm và đảm bảo tính nhất quán của dữ liệu trong cụm.

Tổng quan về vai trò và chức năng của Ceph Monitor:

  • Quản lý Metadata Cluster Map: Ceph Monitor lưu trữ thông tin về cụm, bao gồm metadata cluster map, mô tả cách dữ liệu được phân bố trong hệ thống và nơi lưu trữ dữ liệu. Metadata cluster map đóng vai trò quan trọng trong việc xác định cách các dữ liệu được phân tán và truy cập.
  • Quản lý Consensus: Ceph Monitor sử dụng thuật toán Paxos để duy trì sự đồng thuận về thông tin quan trọng trong cụm, bao gồm metadata cluster map và thông tin quorum (tập hợp các monitor có khả năng tham gia vào quá trình đồng thuận).
  • Giám sát Tình trạng Hệ thống: Ceph Monitor theo dõi trạng thái của các phần tử trong cụm, bao gồm OSD (Object Storage Daemon), RADOS (Reliable Autonomic Distributed Object Store), và PG (Placement Group). Nó có khả năng phát hiện và báo cáo lỗi và sự cố trong cụm.
  • Đảm Bảo Tính Nhất Quán: Ceph Monitor giúp đảm bảo rằng hệ thống duy trì tính nhất quán, tức là dữ liệu luôn đồng nhất và không bị hỏng trong trường hợp sự cố hoặc lỗi.
  • Xác Định Quorum: Ceph Monitor làm việc cùng nhau để xác định quorum (sự thống nhất) trong cụm. Quorum cần thiết để đảm bảo rằng dữ liệu được duyệt và cập nhật một cách đáng tin cậy.
  • Quản lý Tiến trình: Ceph Monitor cũng quản lý tiến trình cho các monitor daemons trong cụm, bao gồm việc thêm hoặc loại bỏ các monitor khi cần thiết.

Tổng cộng, Ceph Monitor đóng vai trò quan trọng trong việc duy trì tính nhất quán và hiệu suất của hệ thống lưu trữ Ceph và đảm bảo rằng các dữ liệu trong cụm luôn sẵn sàng và an toàn.

2. Lựa chọn địa chỉ IP cho Ceph Mon.

Trong một cụm Ceph, Ceph Monitor có thể sử dụng cả public IP và private IP, nhưng việc lựa chọn phụ thuộc vào yêu cầu cụm Ceph của bạn và môi trường cụm.

Dưới đây là một số yếu tố để xem xét:

  • Public IP: Sử dụng public IP cho Ceph Monitor có thể hữu ích nếu bạn muốn truy cập các monitor từ mạng bên ngoài cụm hoặc nếu bạn cần quản lý cụm từ xa. Điều này cung cấp tính linh hoạt cho việc quản lý cụm, nhưng đòi hỏi biện pháp bảo mật thích hợp để bảo vệ giao tiếp qua public IP.
  • Private IP: Sử dụng private IP cho Ceph Monitor thường được ưa chuộng trong môi trường nội bộ của cụm. Nó có thể tối ưu hóa hiệu suất và bảo mật bởi vì truy cập đến monitor sẽ diễn ra trên mạng riêng tư và cách ly khỏi public network. Điều này thích hợp cho các trường hợp mà sự bảo mật và hiệu suất là ưu tiên.
  • High-Speed Private Network: Trong môi trường có yêu cầu về tốc độ cao và độ tin cậy, sử dụng private network tốc độ cao có thể là lựa chọn tốt. Nếu Ceph Monitor nằm trên một private network với băng thông cao nó có thể cải thiện hiệu suất và thời gian phản hồi của cụm Ceph.

Trong nhiều trường hợp, sử dụng cả public IP và private IP có thể hữu ích để cung cấp tính linh hoạt và bảo mật. Tuy nhiên, quyết định nên sử dụng địa chỉ nào sẽ phụ thuộc vào yêu cầu cụm và chiến lược bảo mật của bạn. Đảm bảo rằng bạn đã cấu hình network và bảo mật một cách thích hợp để đáp ứng các nhu cầu cụm Ceph của bạn.

3. Hiểu sâu hơn về Ceph monitors.

Ceph monitors chịu trách nhiệm duy nhất về bản đồ của cụm. Bạn có thể chạy một cụm với chỉ một monitor nhưng khuyến nghị có ít nhất ba monitor và chúng phải nằm trong trạng thái quorum. Ceph monitors sử dụng biến thể của thuật toán Paxos để duy trì sự đồng thuận về bản đồ và thông tin quan trọng khác trên toàn bộ cụm. Do tính chất của Paxos, Ceph có thể duy trì quorum (và do đó thiết lập đồng thuận) chỉ khi có ít nhất một monitor đang hoạt động.

Lời khuyên là tốt nhất số lượng monitor là số lẻ. Điều này là do một cụm chạy số monitor lẻ có tính chất bền hơn so với cụm chạy số monitor chẵn. Ví dụ, trong một cụm với hai monitor, không thể chịu được bất kỳ sự cố nào nếu muốn duy trì quorum; trong một cụm ba monitor, có thể chịu được một sự cố; trong một cụm bốn monitor, có thể chịu được một sự cố; và trong một cụm năm monitor, có thể chịu được hai sự cố. Một cụm Ceph có thể hoạt động chỉ khi có đa số monitor đang hoạt động và có khả năng giao tiếp với nhau (ví dụ: cần phải có một monitor, hai trong hai monitor, hai trong ba monitor, ba trong năm monitor, hoặc tương tự).

Đối với cụm Ceph nhỏ hoặc không quan trọng, người ta khuyến nghị triển khai ba monitor. Đối với cụm lớn hơn hoặc cụm mục tiêu là chịu được hai sự cố, người ta khuyến nghị triển khai năm monitor. Chỉ trong trường hợp hiếm hoi mới có lý do để triển khai bảy hoặc nhiều hơn monitor.

Có thể chạy một monitor trên cùng máy chủ đang chạy OSD. Tuy nhiên, cách tiếp cận này có nhược điểm: ví dụ như vấn đề fsync với kernel có thể làm suy yếu hiệu suất, các tiến trình monitor và OSD có thể không hoạt động cùng lúc và gây sự cố nếu máy chủ gặp sự cố, bị khởi động lại hoặc tắt để bảo trì. Vì những rủi ro này, người ta khuyến nghị chạy monitor và quản lý trên các máy chủ riêng biệt.

4. Triển khai phần cứng và cài đặt phần mềm cho một máy chủ monitor trong một cụm Ceph.

Phần cứng.

  • Một số quản trị viên chọn cài đặt một máy chủ monitor mới vào cùng một thời điểm mà họ thêm một monitor mới.
  • Trước khi thêm máy chủ monitor vào cụm, đảm bảo máy chủ đã được cài đặt phiên bản Linux mới nhất.
  • Thêm máy chủ monitor đã cài đặt mới vào một rack trong cụm của bạn và đảm bảo máy chủ có kết nối mạng.

Cài đặt các gói Ceph cần thiết.

  • Nếu bạn triển khai bằng cách thủ công, bạn cần phải cài đặt các gói Ceph bằng tay. Bạn có thể tìm hiểu chi tiết bằng cách xem hướng dẫn Installing Packages.
  • Hãy cấu hình SSH để nó có thể được sử dụng bởi một người dùng bất kỳ và có xác thực không cần mật khẩu và có quyền root. Điều này giúp quản trị viên có thể thực hiện các tác vụ quản lý hệ thống từ xa mà không cần mật khẩu cho việc xác thực.

Quy trình thêm monitor.

Phần này nói về quy trình thêm một monitor vào một cụm Ceph bằng cách thủ công. Điều này bao gồm tạo thư mục dữ liệu cho monitor, lấy map monitor và keyring của monitor và thêm một daemon monitor vào cụm. Quá trình này có thể dẫn đến việc cụm Ceph có chỉ hai daemon monitor. Để thêm nhiều monitor hơn cho đến khi có đủ daemon ceph-mon để thiết lập quorum, bạn phải lặp lại quy trình này.

Đầu tiên, bạn cần tạo thư mục dữ liệu trên máy chủ mới sẽ chứa monitor. Sử dụng lệnh sau trên máy chủ đó:

ssh {new-mon-host}
sudo mkdir /var/lib/ceph/mon/ceph-{mon-id}

Tạo một thư mục tạm thời {tmp} để chứa các file cần thiết trong quá trình này. Thư mục này phải khác với thư mục dữ liệu đã tạo ở bước trước. Vì đây là một thư mục tạm thời, nó có thể bị xóa sau khi quá trình hoàn thành:

mkdir {tmp}

Lấy keyring cho các monitor của bạn và lưu vào thư mục tạm thời ({tmp}). Trong đó, {key-filename} là tên của file chứa keyring:

ceph auth get mon. -o {tmp}/{key-filename}

Lấy map của monitor ({map-filename} là tên file) và lưu vào thư mục tạm thời ({tmp}):

ceph mon getmap -o {tmp}/{map-filename}

Chuẩn bị thư mục dữ liệu cho monitor đã tạo ở bước đầu. Lệnh sau cần phải chỉ định đường dẫn đến map của monitor (để có thông tin về quorum của các monitor và fsid của họ) và chỉ định đường dẫn đến keyring của monitor:

sudo ceph-mon -i {mon-id} --mkfs --monmap {tmp}/{map-filename} --keyring {tmp}/{key-filename}

Khởi động monitor mới, nó sẽ tự động tham gia vào cụm. Để cung cấp thông tin cho daemon về địa chỉ mà nó sẽ liên kết, bạn có thể sử dụng tùy chọn --public-addr {ip:port} hoặc --public-network {network}. Ví dụ:

ceph-mon -i {mon-id} --public-addr {ip:port}
Lưu ý rằng bạn có thể đặt tên {mon-id} của monitor theo ý muốn. Thông thường, monitor được đặt tên bằng một chữ cái (a, b, c, vv.), nhưng bạn có tự do đặt tên theo cách bạn muốn.

5. Quy trình xóa monitor.

Cách loại bỏ một monitor khỏi một cụm Ceph bằng cách thủ công. Trong quá trình này, quan trọng phải nhớ rằng Ceph monitors sử dụng thuật toán Paxos để duy trì sự đồng thuận về bản đồ của cụm. Sự đồng thuận này chỉ có thể xảy ra nếu số lượng monitor đủ để thiết lập quorum.

Loại bỏ một monitor (bằng tay).

Bước 1 – Lấy Monitors ID cần loại bỏ.

Để liệt kê tất cả các monitors (quản lý) trong Ceph, bạn có thể sử dụng lệnh ceph hoặc cephadm, tùy thuộc vào phiên bản Ceph mà bạn đang sử dụng.

Sử dụng lệnh ceph (cho các phiên bản Ceph trước v14):

ceph mon dump

Ví dụ.

$ ceph mon dump
epoch 11
fsid 37a599e4-599e-4aef-ac0d-ab9e788de377
last_changed 2023-11-03T22:19:25.405569+0700
created 2023-11-01T22:25:16.663994+0700
min_mon_release 17 (quincy)
election_strategy: 1
0: [v2:192.168.100.201:3300/0,v1:192.168.100.201:6789/0] mon.pve01
1: [v2:192.168.100.202:3300/0,v1:192.168.100.202:6789/0] mon.pve02
2: [v2:192.168.100.203:3300/0,v1:192.168.100.203:6789/0] mon.pve03

Hoặc lệnh cephadm (cho các phiên bản Ceph từ v14 trở lên):

cephadm mon status

Lệnh trên sẽ hiển thị thông tin về các monitor trong cụm Ceph của bạn, bao gồm tên và trạng thái của mỗi monitor. Bạn cũng có thể sử dụng các tùy chọn khác để tùy chỉnh đầu ra hoặc kiểm tra chi tiết hơn về từng monitor.

Bước 2 – Dừng daemon của monitor trên tất cả các máy chủ.

Để dừng một daemon của monitor (MON) trên tất cả các máy chủ trong cụm Ceph, bạn có thể sử dụng lệnh systemctl hoặc cephadm, tùy thuộc vào phiên bản Ceph mà bạn đang sử dụng. Dưới đây là cách bạn có thể thực hiện việc này:

Sử dụng lệnh systemctl (cho các phiên bản Ceph trước v14):

sudo systemctl stop ceph-mon.target

Lệnh trên sẽ dừng tất cả các daemon monitor trên tất cả các máy chủ trong cụm Ceph.

Sử dụng lệnh cephadm (cho các phiên bản Ceph từ v14 trở lên):

cephadm stop ceph.target --name mon

Lệnh trên sử dụng cephadm để dừng tất cả các daemon monitor trên tất cả các máy chủ trong cụm Ceph.

Hoặc cũng có thể sử dụng lệnh (tùy phiên bản).

service ceph -a stop mon.{mon-id}

Lưu ý rằng bạn cần có quyền quản trị để thực hiện các lệnh này. Đảm bảo sao lưu dữ liệu quan trọng trước khi dừng daemon monitor, và chỉ thực hiện việc này khi cần thiết. Sau khi dừng, bạn có thể khởi động lại daemon monitor bằng cách sử dụng start thay vì stop trong các lệnh trên.

Bước 3 – Loại bỏ monitor.

Dừng daemon của monitor trên tất cả các máy chủ và loại bỏ monitor khỏi cụm Ceph:

ceph mon remove {mon-id}

Lệnh này sẽ loại bỏ monitor có {mon-id} khỏi cụm.

Loại bỏ mục nhập của monitor từ file ceph.conf. Chỉnh sửa file ceph.conf để xóa thông tin về monitor đã bị loại bỏ. Dưới đây là nội dung trước khi xóa.

[global]
         auth_client_required = cephx
         auth_cluster_required = cephx
         auth_service_required = cephx
         cluster_network = 10.10.10.0/24
         fsid = 37a599e4-599e-4aef-ac0d-ab9e788de377
         mon_allow_pool_delete = true
         mon_host = 192.168.100.201 192.168.100.202 192.168.100.203
         ms_bind_ipv4 = true
         ms_bind_ipv6 = false
         osd_pool_default_min_size = 3
         osd_pool_default_size = 3
         public_network = 192.168.100.0/24

[client]
         keyring = /etc/pve/priv/$cluster.$name.keyring

[mon.pve01]
         public_addr = 192.168.100.201

[mon.pve02]
         public_addr = 192.168.100.202

[mon.pve03]
         public_addr = 192.168.100.203

Và sau khi xóa thông tin mon.pve03.

[global]
         auth_client_required = cephx
         auth_cluster_required = cephx
         auth_service_required = cephx
         cluster_network = 10.10.10.0/24
         fsid = 37a599e4-599e-4aef-ac0d-ab9e788de377
         mon_allow_pool_delete = true
         mon_host = 192.168.100.201 192.168.100.202
         ms_bind_ipv4 = true
         ms_bind_ipv6 = false
         osd_pool_default_min_size = 3
         osd_pool_default_size = 3
         public_network = 192.168.100.0/24

[client]
         keyring = /etc/pve/priv/$cluster.$name.keyring

[mon.pve01]
         public_addr = 192.168.100.201

[mon.pve02]
         public_addr = 192.168.100.202

Lưu ý rằng khi bạn loại bỏ một monitor, cụm Ceph có thể kết quả là chứa một số monitor không đủ để duy trì quorum, vì vậy hãy lên kế hoạch cẩn thận. Khi bạn muốn thay thế một monitor cũ bằng một monitor mới, hãy thêm monitor mới trước, chờ quorum được thiết lập và sau đó loại bỏ monitor cũ. Điều này đảm bảo rằng quorum không bị mất.

Loại bỏ một daemon ceph-mon từ một cụm Ceph không khỏe mạnh.

Phần này hướng dẫn cách loại bỏ một daemon ceph-mon từ một cụm Ceph không khỏe mạnh, chẳng hạn như một cụm mà các monitor không thể tạo ra quorum.

– Dừng tất cả các daemon ceph-mon trên tất cả các máy chủ monitor:

ssh {mon-host}
systemctl stop ceph-mon.target

Lặp lại bước này trên tất cả các máy chủ monitor.

– Xác định một monitor còn sống sót và đăng nhập vào máy chủ của monitor đó:

ssh {mon-host}

Trích xuất một bản sao của file monmap bằng cách chạy một lệnh theo dạng sau:

ceph-mon -i {mon-id} --extract-monmap {map-path}

Ví dụ cụ thể, nếu tên máy chủ là {mon-id} và /tmp/monpap là {map-path}, bạn có thể chạy lệnh sau:

ceph-mon -i `hostname` --extract-monmap /tmp/monmap

Loại bỏ các monitor không còn sống sót hoặc gặp vấn đề khác:

monmaptool {map-path} --rm {mon-id}

Ví dụ, giả sử có ba monitor – mon.a, mon.b và mon.c – và chỉ có mon.a sống sót, bạn có thể chạy các lệnh sau:

monmaptool /tmp/monmap --rm b
monmaptool /tmp/monmap --rm c

Inject map còn sống sót, bao gồm các monitor đã loại bỏ, vào monmap của các monitor còn lại:

ceph-mon -i {mon-id} --inject-monmap {map-path}

Tiếp tục ví dụ trước, inject một map vào monitor mon.a bằng cách chạy lệnh sau:

ceph-mon -i a --inject-monmap /tmp/monmap

Khởi động chỉ các monitor còn sống sót.

Xác minh rằng các monitor tạo ra quorum bằng cách chạy lệnh ceph -s.

Thư mục dữ liệu của các monitor đã bị loại bỏ nằm trong /var/lib/ceph/mon: bạn có thể lưu trữ thư mục dữ liệu này ở một vị trí an toàn hoặc xóa nó. Tuy nhiên, đừng xóa nó trừ khi bạn tin tưởng rằng các monitor còn lại khỏe mạnh và có đủ tính sao lưu. Đảm bảo rằng có đủ không gian cho DB thực sự để mở rộng và nén và đảm bảo rằng cũng có đủ không gian cho bản sao lưu của DB. Bản sao lưu có thể được nén.

6. Thay đổi địa chỉ IP của một monitor trong một cụm Ceph.

Phần này nói về việc thay đổi địa chỉ IP của một monitor trong một cụm Ceph. Tuy nhiên cảnh báo rằng các monitor hiện có không nên thay đổi địa chỉ IP của nó.

Monitor là một thành phần quan trọng của một cụm Ceph. Toàn bộ hệ thống chỉ có thể hoạt động bình thường nếu các monitor duy trì quorum và quorum chỉ có thể thiết lập nếu các monitor đã phát hiện lẫn nhau thông qua địa chỉ IP đã được thiết lập của Ceph monitor. Ceph có các yêu cầu nghiêm ngặt về việc phát hiện các monitor.

Mặc dù file ceph.conf được sử dụng bởi các khách hàng Ceph và các tiến trình Ceph khác để phát hiện các monitor, map monitor được sử dụng bởi các monitor để phát hiện lẫn nhau. Điều này là lý do tại sao cần phải có map monitor hiện tại vào thời điểm tạo một monitor mới.

Map monitor là một trong các đối số được yêu cầu bởi lệnh ceph-mon -i {mon-id} –mkfs. Các phần sau giải thích yêu cầu về tính nhất quán cho các monitor Ceph và cung cấn một số cách an toàn để thay đổi địa chỉ IP của monitor.

7. Một số yêu cầu về tính nhất quán trong việc phát hiện và cập nhật thông tin của các monitor trong cụm Ceph.

Có một số yêu cầu về tính nhất quán trong việc phát hiện và cập nhật thông tin của các monitor trong cụm Ceph.

  • Sử dụng Map Monitor cho tính nhất quán: Khi một monitor phát hiện các monitor khác trong cụm, nó luôn tham chiếu đến bản sao cục bộ của map monitor. Sử dụng map monitor thay vì sử dụng file ceph.conf giúp tránh những lỗi có thể làm hỏng cụm (ví dụ: lỗi chính tả hoặc các lỗi nhỏ khác trong ceph.conf khi chỉ định địa chỉ hoặc cổng của monitor). Bởi vì các monitor sử dụng map monitor cho việc phát hiện và bởi vì họ chia sẻ map monitor với khách hàng Ceph và các daemon Ceph khác, map monitor cung cấp cho các monitor một cam kết nghiêm ngặt rằng sự đồng thuận của họ là hợp lệ.
  • Tính nhất quán nghiêm ngặt đối với cập nhật monmap: Các cập nhật cho monmap luôn phải thông qua một thuật toán đồng thuận phân tán gọi là Paxos, giống như bất kỳ cập nhật nào trên monitor. Các thay đổi cho monmap luôn phải được sự đồng thuận của các monitor, chẳng hạn như thêm hoặc loại bỏ một monitor, để đảm bảo rằng mỗi monitor trong quorum có cùng phiên bản của monmap. Các cập nhật cho monmap là tăng dần để các monitor có phiên bản đã thống nhất mới nhất và một tập hợp các phiên bản trước đó, cho phép một monitor có phiên bản monmap cũ hơn có thể bắt kịp với trạng thái hiện tại của cụm.
  • Ưu điểm sử dụng map monitor: Sử dụng map monitor thay vì ceph.conf khi các monitor phát hiện lẫn nhau có nhiều lợi ích. Bởi vì ceph.conf không tự động được cập nhật và phân phối, việc sử dụng nó có thể mang theo một số rủi ro: các monitor có thể sử dụng một file ceph.conf cũ, có thể không nhận dạng được một monitor cụ thể, có thể rơi ra khỏi quorum và có thể tạo ra tình huống mà Paxos không thể xác định chính xác trạng thái hiện tại của hệ thống. Vì các rủi ro này, bất kỳ thay đổi nào đối với địa chỉ IP của monitor hiện có cần phải được thực hiện cẩn thận.

8. Phương pháp ưa thích để thay đổi địa chỉ IP của một monitor.

Phương pháp ưa thích để thay đổi địa chỉ IP của một monitor là thêm một monitor mới với địa chỉ IP mong muốn, đảm bảo rằng monitor mới thành công tham gia vào quorum, sau đó loại bỏ monitor đang sử dụng địa chỉ IP cũ và cập nhật file ceph.conf để đảm bảo rằng các khách hàng và các daemon khác được thông báo về địa chỉ IP mới của monitor.

Ví dụ, giả sử có ba monitor đã được thiết lập:

[mon.a]
    host = host01
    addr = 10.0.0.1:6789
[mon.b]
    host = host02
    addr = 10.0.0.2:6789
[mon.c]
    host = host03
    addr = 10.0.0.3:6789

Để thay đổi mon.c sao cho tên của nó là host04 và địa chỉ IP là 10.0.0.4: (1) thực hiện các bước trong phần “Thêm một Monitor (Bằng tay)” để thêm một monitor mới là mon.d, (2) đảm bảo rằng mon.d đang hoạt động trước khi loại bỏ mon.c, nếu không quorum sẽ bị hỏng, và (3) thực hiện các bước trong phần “Loại bỏ một Monitor (Bằng tay)” để loại bỏ mon.c. Để di chuyển cả ba monitor đến địa chỉ IP mới, lặp lại quá trình này.

Lưu ý rằng cách này đảm bảo tính nhất quán của hệ thống và tránh các vấn đề về quorum trong quá trình thay đổi địa chỉ IP của monitor.

9. Phương pháp tiên tiến để thay đổi địa chỉ IP của các monitor trong trường hợp cần di chuyển cụm monitor đến một network có subnet khác.

Phương pháp tiên tiến để thay đổi địa chỉ IP của các monitor trong trường hợp cần di chuyển cụm monitor đến một network có subnet khác, một phần khác của trung tâm dữ liệu hoặc một trung tâm dữ liệu hoàn toàn khác. Cách này yêu cầu tạo một map monitor mới với địa chỉ IP đã cập nhật cho mỗi monitor trong cụm, sau đó tiến hành tiêm vào từng monitor. Tuy nhiên, phương pháp này không dễ dàng và thường không phải là một nhiệm vụ thường xuyên. Như đã đề cập ở đầu phần này, các monitor hiện có không nên thay đổi địa chỉ IP của họ.

Tiếp tục với cấu hình monitor trong ví dụ từ phần 8 ở trên, giả sử tất cả các monitor sẽ được di chuyển từ dải 10.0.0.x sang dải 10.1.0.x và rằng hai mạng này không thể giao tiếp.

Thực hiện quy trình sau.

Trích xuất map monitor ({tmp} là đường dẫn đến map monitor đã trích xuất và {filename} là tên file chứa map monitor đã trích xuất):

ceph mon getmap -o {tmp}/{filename}

Kiểm tra nội dung của map monitor:

monmaptool --print {tmp}/{filename}
monmaptool: monmap file {tmp}/{filename}
epoch 1
fsid 224e376d-c5fe-4504-96bb-ea6332a19e61
last_changed 2012-12-17 02:46:41.591248
created 2012-12-17 02:46:41.591248
0: 10.0.0.1:6789/0 mon.a
1: 10.0.0.2:6789/0 mon.b
2: 10.0.0.3:6789/0 mon.c

Loại bỏ các monitor hiện có khỏi map monitor:

monmaptool --rm a --rm b --rm c {tmp}/{filename}

Ví dụ đầu ra của nó.

monmaptool: monmap file {tmp}/{filename}
monmaptool: removing a
monmaptool: removing b
monmaptool: removing c
monmaptool: writing epoch 1 to {tmp}/{filename} (0 monitors)

Thêm địa chỉ mới của các monitor vào map monitor:

monmaptool --add a 10.1.0.1:6789 --add b 10.1.0.2:6789 --add c 10.1.0.3:6789 {tmp}/{filename}

Kiểm tra nội dung mới của map monitor:

monmaptool --print {tmp}/{filename}

Ví dụ đầu ra của nó.

monmaptool: monmap file {tmp}/{filename}
epoch 1
fsid 224e376d-c5fe-4504-96bb-ea6332a19e61
last_changed 2012-12-17 02:46:41.591248
created 2012-12-17 02:46:41.591248
0: 10.1.0.1:6789/0 mon.a
1: 10.1.0.2:6789/0 mon.b
2: 10.1.0.3:6789/0 mon.c

Đảm bảo rằng các monitor đã dừng lại. Không bao giờ tiêm vào một monitor khi daemon monitor đang chạy.

Tiêm map monitor đã chỉnh sửa:

ceph-mon -i {mon-id} --inject-monmap {tmp}/{filename}

Khởi động lại tất cả các monitor.

Quá trình di chuyển đến vị trí mới đã hoàn tất. Các monitor nên hoạt động thành công tại vị trí mới.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories