Wednesday, September 11, 2024

Giải thích các thành phần trong ceph.conf

-

1. Tổng quan.

Ceph.conf là file cấu hình chính của Ceph, được sử dụng để định cấu hình toàn bộ hệ thống Ceph cluster. Nó chứa thông tin về các thành phần khác nhau của cluster, cách chúng tương tác với nhau và các thiết lập an ninh và mạng.

Hãy xem ví dụ dưới đây để có một cái nhìn tổng quan về cách ceph.conf hoạt động và vai trò của nó:

[global]
	 auth_client_required = cephx
	 auth_cluster_required = cephx
	 auth_service_required = cephx
	 cluster_network = fc00::/126
	 fsid = c83fa570-ef43-4d9a-aaf4-51aeed96aa15
	 mon_allow_pool_delete = true
	 mon_host = fc00::3 fc00::1 fc00::2
	 ms_bind_ipv4 = false
	 ms_bind_ipv6 = true
	 osd_pool_default_min_size = 2
	 osd_pool_default_size = 3
	 public_network = fc00::/126

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

[mon.pve1]
	 public_addr = fc00::1

[mon.pve2]
	 public_addr = fc00::2

[mon.pve3]
	 public_addr = fc00::3

2. Thiết lập Chung ([global]):

Cấu hình global xác định các thông số cơ bản cho việc xác thực, giao tiếp nội bộ và bên ngoài, cũng như cách mà các OSDs và MDSs liên kết với địa chỉ IP trong Ceph cluster.

Ví dụ:

 auth_client_required = cephx
 auth_cluster_required = cephx
 auth_service_required = cephx
 cluster_network = fc00::/126
 fsid = c83fa570-ef43-4d9a-aaf4-51aeed96aa15
 mon_allow_pool_delete = true
 mon_host = fc00::3 fc00::1 fc00::2
 ms_bind_ipv4 = false
 ms_bind_ipv6 = true
 osd_pool_default_min_size = 2
 osd_pool_default_size = 3
 public_network = fc00::/126
  • auth_client_required = cephx, auth_cluster_required = cephx, auth_service_required = cephx:
    • Xác định cách xác thực được yêu cầu cho client, cluster và service là thông qua giao thức xác thực CephX.
  • cluster_network = fc00::/126:
    • Đặt địa chỉ mạng sử dụng cho giao tiếp nội bộ giữa các thành phần trong Ceph cluster. Trong trường hợp này, là fc00::/126.
  • fsid = c83fa570-ef43-4d9a-aaf4-51aeed96aa15:
    • Là UUID định danh duy nhất của cluster. Được sử dụng để đảm bảo mỗi cluster có một định danh duy nhất.
  • mon_allow_pool_delete = true:
    • Cho phép xoá pool trong quá trình runtime của Monitor. Nếu được đặt là true, bạn có thể xoá pool mà không cần restart các Monitor.
  • mon_host = fc00::3 fc00::1 fc00::2:
    • Địa chỉ IPv6 của các Monitor trong cluster. Điều này là quan trọng để các thành phần khác biết cách kết nối với các Monitor.
  • ms_bind_ipv4 = false, ms_bind_ipv6 = true:
    • Điều chỉnh cách OSDs và MDSs liên kết với địa chỉ IP. Trong trường hợp này, OSDs liên kết với địa chỉ IPv6 (ms_bind_ipv6 = true) và không liên kết với IPv4 (ms_bind_ipv4 = false).
  • Hai tham số osd_pool_default_min_sizeosd_pool_default_size quy định cách mà dữ liệu được phân phối và đảm bảo sẽ có bao nhiêu bản sao của dữ liệu (replicas) được lưu trữ trong hệ thống.
    • osd_pool_default_min_size:
      • Mặc định: 2 (tức là cần ít nhất 2 OSD để lưu mỗi đối tượng).
      • Mỗi đối tượng cần ít nhất 2 OSD để lưu trữ. Điều này không đồng nghĩa với việc mỗi đối tượng sẽ được lưu trữ trên 2 OSD. Thay vào đó, đối tượng sẽ có ít nhất 2 bản sao, và các bản sao này sẽ được phân phối trên ít nhất 2 OSD khác nhau để đảm bảo sự an toàn.
    • osd_pool_default_size:
      • Mặc định: 3 (tức là mỗi đối tượng sẽ có 3 bản sao được lưu trữ).
      • Mỗi đối tượng sẽ có tổng cộng 3 bản sao. Các bản sao này sẽ được phân phối trên ít nhất 3 OSD khác nhau. Có thể có một OSD chứa 2 bản sao, và hai OSD còn lại mỗi OSD chứa 1 bản sao khác nhau.
    • Cấu hình này đảm bảo mỗi đối tượng sẽ có ít nhất 2 bản sao và mặc định có tổng cộng 3 bản sao, và chúng sẽ được phân phối trên ít nhất 2 hoặc 3 OSD khác nhau tùy thuộc vào mức độ sẵn sàng và đồng đều của hệ thống.
    • Việc này giúp tăng tính sẵn sàng và độ tin cậy của hệ thống, vì nó cho phép hệ thống tiếp tục hoạt động ngay cả khi một số OSD hoặc thiết bị lưu trữ gặp sự cố. Tuy nhiên, cũng cần lưu ý rằng việc tăng số lượng bản sao cũng tăng nhu cầu về lưu trữ và băng thông mạng.
  • public_network = fc00::/126:
    • Địa chỉ mạng sử dụng cho giao tiếp bên ngoài và giữa các thành phần trong Ceph cluster. Trong trường hợp này là fc00::/126.

3. Thiết lập Client ([client]):

Chứa thông tin xác thực cho các client kết nối đến Ceph cluster. Bao gồm đường dẫn đến file keyring, chứa các thông tin xác thực cần thiết.

Ví dụ.

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

Trong phần cấu hình của [client]:

  • keyring = /etc/pve/priv/$cluster.$name.keyring:
    • Đây là đường dẫn đến file keyring cho client. Keyring chứa thông tin xác thực cần thiết để client có thể kết nối với Ceph cluster. Trong đường dẫn này, $cluster$name là các biến thay thế được sử dụng để tạo ra tên file keyring dựa trên tên của cluster và tên của client.
    • $cluster: Được thay thế bằng tên của cluster.
    • $name: Được thay thế bằng tên của client.
    Ví dụ, nếu tên cluster là “ceph_cluster” và tên client là “client1”, thì đường dẫn thực tế sẽ là /etc/pve/priv/ceph_cluster.client1.keyring.File keyring chứa thông tin mật khẩu và khóa xác thực cần thiết để client có thể truy cập và tương tác với Ceph cluster một cách an toàn và bảo mật. Điều này bao gồm các quyền truy cập và chữ ký để xác nhận danh tính của client khi truy cập dữ liệu trong cluster.

3. Thiết lập Monitors ([mon.*]):

Mỗi Monitor trong cluster có một phần cấu hình riêng.

Bao gồm địa chỉ public của Monitor để các thành phần khác biết cách kết nối với nó.

Ví dụ:

[mon.pve1]
	 public_addr = fc00::1

[mon.pve2]
	 public_addr = fc00::2

[mon.pve3]
	 public_addr = fc00::3

Phần cấu hình cho các Monitor trong [mon.pve1], [mon.pve2][mon.pve3] xác định địa chỉ public của từng Monitor trong Ceph cluster. Dưới đây là giải thích chi tiết:

  • [mon.pve1]:
    • public_addr = fc00::1:
      • Đây là địa chỉ IPv6 public của Monitor có tên pve1 trong cluster. Điều này là địa chỉ mà các thành phần khác trong cluster sẽ sử dụng để kết nối đến Monitor pve1. Các OSD và MDS cũng sẽ biết đến địa chỉ này để gửi bản sao và truy vấn trạng thái.
  • [mon.pve2]:
    • public_addr = fc00::2:
      • Tương tự như trên, đây là địa chỉ IPv6 public của Monitor pve2.
  • [mon.pve3]:
    • public_addr = fc00::3:
      • Đây là địa chỉ IPv6 public của Monitor pve3.

Thông qua việc xác định địa chỉ public của từng Monitor, Ceph cluster có thể duy trì sự nhất quán và tương tác hiệu quả giữa các thành phần khác nhau trong hệ thống. Các thành phần khác, như OSDs và MDSs sẽ sử dụng thông tin này để kết nối và truyền thông giữa các Monitor, đảm bảo rằng hệ thống hoạt động đúng cách và duy trì trạng thái của các OSD và dữ liệu trong cluster.

4. Cấu hình OSD và MDS (nếu có):

Các thiết lập cụ thể cho OSDs (Object Storage Daemons) và MDSs (Metadata Servers) có thể được đặt trong file này, nhưng chúng thường được quản lý thông qua cách cấu hình khác.

Dưới đây là một ví dụ về phần cấu hình OSD và MDS trong file ceph.conf:

[osd.0]
	host = osd-node-1
	public_addr = 192.168.1.1
	osd_journal_size = 1024

[osd.1]
	host = osd-node-2
	public_addr = 192.168.1.2
	osd_journal_size = 1024

[osd.2]
	host = osd-node-3
	public_addr = 192.168.1.3
	osd_journal_size = 1024

[mds.myfilesystem]
	host = mds-node

Trong đó:

  • OSDs:
    • Trong ví dụ này, có ba OSD (osd.0, osd.1, osd.2).
    • Mỗi OSD được định cấu hình trên một máy chủ khác nhau (host) và có địa chỉ public (public_addr) tương ứng.
    • osd_journal_size là kích thước của journal của OSD, trong trường hợp này là 1024 MB.
  • MDS:
    • Nếu hệ thống có Metadata Server (MDS), bạn sẽ có phần cấu hình cho MDS. Trong ví dụ, có một MDS với tên là myfilesystem và nó được đặt trên máy chủ mds-node.

Lưu ý rằng cấu hình OSD và MDS có thể phụ thuộc vào cụm Ceph cluster của bạn và cách bạn triển khai nó. Các thông số cụ thể và chi tiết cấu hình sẽ phụ thuộc vào nhu cầu cụ thể của hệ thống và cấu hình hardware của bạn.

Kết Luận:

  • ceph.conf là trái tim của cấu hình Ceph, chứa thông tin chi tiết về cách các thành phần tương tác với nhau.
  • Nó đảm bảo sự nhất quán giữa các thành phần của cluster, giúp định rõ cách dữ liệu được lưu trữ, đồng bộ và bảo mật.
  • Cấu hình đúng đắn giúp đảm bảo hiệu suất và sẵn sàng cao cho hệ thống Ceph cluster.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories