Trả lời nhanh: Ceph gộp ổ đĩa nằm rải rác trên nhiều máy chủ thành một kho lưu trữ duy nhất mà cả cụm cùng thấy. Mỗi khối dữ liệu được giữ ba bản trên ba máy khác nhau, nên một máy chết thì dữ liệu vẫn nguyên. Cần tối thiểu ba máy chủ và một đường mạng riêng, dưới mức đó thì đừng dùng.
Muốn máy ảo chuyển giữa các máy chủ khi đang chạy thì cả cụm phải cùng thấy một kho lưu trữ. Cách cũ là mua một thiết bị lưu trữ chuyên dụng đắt tiền. Ceph là cách khác: dùng chính ổ đĩa cắm trong các máy chủ bạn đã có, và đó là lý do nó xuất hiện trong gần như mọi cụm Proxmox nhiều máy.
Nó giải quyết bài toán gì
Trong một cụm ảo hóa, mỗi máy chủ có ổ đĩa riêng. Máy ảo nằm trên ổ của máy nào thì gắn với máy đó. Máy chủ hỏng là máy ảo nằm im tới khi bạn khôi phục từ bản sao lưu.
Để máy ảo bật lại được ở máy khác trong vài giây, dữ liệu của nó phải nằm ở nơi mọi máy chủ đều thấy. Có ba đường làm việc này.
- Thiết bị lưu trữ chuyên dụng. Chạy tốt nhưng đắt, và bản thân nó lại thành một điểm chết duy nhất nếu không mua bản có hai bộ điều khiển.
- Máy chủ tệp dùng chung. Rẻ, dễ dựng, nhưng máy đó cũng là một điểm chết.
- Lưu trữ phân tán như Ceph. Không có điểm chết nào, dùng phần cứng thông thường, mở rộng bằng cách thêm máy.
Cách nó giữ dữ liệu an toàn
Ý tưởng cốt lõi rất đơn giản. Mỗi tệp bị cắt thành các khối nhỏ, mỗi khối được ghi thành ba bản trên ba máy chủ khác nhau.
Khi một ổ đĩa hỏng, hệ thống tự phát hiện và bắt đầu tạo lại bản thứ ba từ hai bản còn sống, đặt lên một ổ khác. Việc này chạy tự động, không ai phải bấm gì.
Khi cả một máy chủ chết, mọi khối từng nằm trên máy đó vẫn còn hai bản ở nơi khác, cụm tiếp tục phục vụ bình thường và bắt đầu nhân bản lại.
Cái giá của cơ chế này là dung lượng. Giữ ba bản nghĩa là mua ba mươi terabyte ổ để dùng được mười terabyte. Có chế độ mã hóa xóa tiết kiệm dung lượng hơn, nhưng nặng CPU và chậm hơn khi ghi, nên thường chỉ dùng cho dữ liệu ít đọc.
Cần bao nhiêu máy và phần cứng thế nào
Số máy chủ. Tối thiểu ba, vì cơ chế bỏ phiếu cần đa số. Nhưng ba máy nghĩa là mất một máy thì không còn chỗ để tạo lại bản thứ ba, cụm chạy trong tình trạng thiếu. Năm máy là con số dễ chịu hơn nhiều cho môi trường thật.
Mạng, và đây là chỗ hay bị làm sai nhất. Mỗi lần ghi dữ liệu, hệ thống phải gửi bản sao sang hai máy khác qua mạng. Dùng chung một đường gigabit với lưu lượng của máy ảo là công thức cho một cụm ì ạch. Cần một đường mạng riêng cho lưu trữ, nên từ mười gigabit trở lên.
Ổ đĩa. Ổ SSD doanh nghiệp có nguồn dự phòng khi mất điện chạy tốt hơn hẳn ổ tiêu dùng, chênh lệch không phải vài phần trăm mà nhiều lần, do cách hệ thống ghi nhật ký. Đây là chỗ đừng tiết kiệm.
RAM và CPU. Mỗi ổ tham gia cụm cần vài gigabyte RAM cho tiến trình quản lý nó. Máy chủ mười hai ổ cần dự trù thêm vài chục gigabyte chỉ riêng cho phần này.
Vận hành hằng ngày
Ceph phần lớn tự lo, nhưng có bốn thứ cần để mắt.
- Tình trạng cụm. Có ba mức: khỏe, cảnh báo và lỗi. Cần cảnh báo tự động khi rời khỏi mức khỏe, đừng chờ tới lúc ai đó tình cờ mở bảng điều khiển.
- Dung lượng còn trống. Đây là điểm nguy hiểm nhất. Cụm gần đầy sẽ chuyển sang chỉ đọc để tự bảo vệ, và lúc đó mọi máy ảo dừng ghi. Nên bắt đầu mở rộng khi còn khoảng ba mươi phần trăm trống.
- Cân bằng lại sau khi thay ổ. Việc này tạo tải nặng lên mạng và đĩa. Nên đặt giới hạn tốc độ để nó không làm chậm máy ảo trong giờ làm việc.
- Nâng cấp phiên bản. Phải theo đúng thứ tự các thành phần. Đọc tài liệu phiên bản trước khi bắt đầu, đừng nâng ngẫu hứng.
Khi nào đừng dùng Ceph
Nó mạnh nhưng không phải lúc nào cũng đúng. Bốn trường hợp nên chọn thứ khác.
- Cụm chỉ có một hoặc hai máy chủ. Không đủ máy để cơ chế bỏ phiếu và nhân bản có ý nghĩa. Dùng ZFS trên từng máy rồi nhân bản theo lịch hợp lý hơn.
- Không có mạng riêng cho lưu trữ. Chạy được nhưng chậm tới mức bạn sẽ hối hận. Hãy nâng mạng trước rồi mới tính tới Ceph.
- Không có người vận hành thường xuyên. Đây là hệ thống phân tán, khi có sự cố thì việc chẩn đoán đòi hỏi hiểu biết. Nơi không có người chuyên trách nên chọn giải pháp đơn giản hơn.
- Chỉ cần chỗ chứa tệp. Nếu nhu cầu là thư mục chia sẻ cho nhân viên chứ không phải kho cho máy ảo, một máy lưu trữ đơn giản là đủ.
Khi nào đừng dùng, nói trước cho rõ
| Tình huống | Có nên dùng không | Vì sao |
|---|---|---|
| Cụm dưới ba máy chủ | Không | Cơ chế giữ an toàn dữ liệu cần đủ số máy để hoạt động đúng |
| Mạng nội bộ chỉ có đường truyền tốc độ thấp | Không | Đây là hệ thống rất phụ thuộc vào mạng, mạng yếu là chậm toàn bộ |
| Không có ai trong đội hiểu cách nó hoạt động | Không | Khi có sự cố, đây không phải hệ thống bạn học được trong lúc chữa cháy |
| Cụm từ năm máy trở lên, mạng tốc độ cao, có người vận hành | Hợp lý | Đây đúng là môi trường nó được thiết kế cho |
| Chỉ cần chỗ chứa tệp cho vài chục người | Không | Một thiết bị lưu trữ thông thường đơn giản hơn nhiều và đủ dùng |
Đây là hệ thống mạnh nhưng phức tạp. Dùng nó cho bài toán nhỏ là tự tạo ra việc bảo trì mà không nhận lại lợi ích tương xứng.
Ba yếu tố quyết định nó chạy tốt hay không
- Mạng riêng cho việc đồng bộ dữ liệu. Tách khỏi mạng phục vụ người dùng. Dùng chung là nguyên nhân của phần lớn trường hợp chậm bất thường.
- Số bản sao dữ liệu. Càng nhiều bản càng an toàn nhưng càng tốn dung lượng và băng thông. Ba bản là mức thường dùng cho dữ liệu quan trọng.
- Đủ dung lượng dự phòng. Khi một máy hỏng, hệ thống tự tạo lại bản sao trên các máy còn lại. Không còn chỗ trống thì việc này không làm được và cụm rơi vào trạng thái nguy hiểm.
Việc kiểm hằng tuần
# Trang thai tong the, day la lenh dau tien moi khi vaoceph -s# Trang thai HEALTH_OK moi la binh thuong.# Bat ky canh bao nao cung nen xu ly trong tuan, dung de don lai. # Dung luong con laiceph df# Tren 70 phan tram la luc len ke hoach mo rong.# Tren 85 phan tram la vung nguy hiem: khi mot may hong,# he thong co the khong con cho de tao lai ban sao. # Danh sach o dia va trang thai tung oceph osd tree # Cac su kien gan dayceph health detail # Nguyen tac quan trong nhat: dung mo rong cum vao luc dang co canh bao.# Xu ly canh bao truoc, mo rong sau.Câu hỏi thường gặp
Ceph có miễn phí không
Có, đây là phần mềm mã nguồn mở miễn phí. Nó cũng được tích hợp sẵn trong Proxmox, cài và cấu hình được ngay từ giao diện web mà không cần công cụ ngoài. Chi phí nằm ở phần cứng và ở thời gian vận hành.
Mất bao nhiêu dung lượng cho việc chịu lỗi
Với chế độ giữ ba bản, bạn dùng được khoảng một phần ba tổng dung lượng thô, và nên tính thêm phần dự phòng cho lúc cân bằng lại. Đây là cái giá đổi lấy việc mất cả một máy chủ mà hệ thống vẫn chạy bình thường.
So với thiết bị lưu trữ chuyên dụng thì thế nào
Thiết bị chuyên dụng cho độ trễ thấp hơn và đơn giản hơn khi vận hành, nhưng đắt và mở rộng theo bước lớn. Ceph rẻ hơn ở quy mô lớn, mở rộng mượt bằng cách thêm máy, và không có điểm chết duy nhất, đổi lại đòi hỏi kỹ năng vận hành cao hơn.
Có dùng Ceph làm nơi cất bản sao lưu được không
Được về mặt kỹ thuật, nhưng đừng cất bản sao lưu của cụm ngay trên chính cụm đó. Bản sao lưu phải nằm ở hệ thống khác, nên ở địa điểm khác, để còn dùng được khi cả cụm gặp sự cố.
