Fleet và nhiều máy chủ
Quản lý nhiều server ZoPanel từ một panel: fleet token, đăng nhập một chạm, tạo tài khoản trên server bất kỳ, chuyển website và cụm DNS.
Khi chạy nhiều server ZoPanel, bạn có thể kết nối chúng thành một fleet. Một panel đóng vai máy điều khiển (controller), theo dõi trạng thái các server còn lại, gọi là node. Từ máy điều khiển, bạn đăng nhập vào bất kỳ node nào bằng một chạm, tạo tài khoản hosting trên node và chuyển website giữa các server. Mỗi server vẫn hoạt động độc lập, và node không cần máy điều khiển để phục vụ website.
Cách hoạt động
- Node được kết nối bằng một fleet token (
zpf_…) do chính quản trị viên của node tạo. - Máy điều khiển nói chuyện với node qua HTTPS trên cổng panel. Chứng chỉ của node phải được tin cậy công khai cho hostname của nó, nếu không máy điều khiển sẽ ghim (pin) dấu vân tay chứng chỉ lúc kết nối.
- Máy điều khiển kiểm tra các node định kỳ. Node lỗi 3 lần liên tiếp sẽ được báo mất kết nối một lần, và báo lại khi trả lời trở lại.
Kết nối một server
1. Trên node: tạo fleet token
- Mở Cài đặt → Hệ thống → Quản lý tập trung.
- Chọn Quyền của máy chủ điều khiển:
- Đầy đủ: đăng nhập, chuyển website, tạo tài khoản. Máy điều khiển đăng nhập bằng đúng tài khoản quản trị của từng người, tự tạo trên node ở lần dùng đầu tiên.
- Chỉ giám sát. Máy điều khiển chỉ xem trạng thái của server này.
- Bấm Tạo token và sao chép. Token chỉ hiển thị một lần.
Nếu node có giới hạn IP truy cập panel, hãy thêm IP của máy điều khiển vào Cài đặt → Chung → Giới hạn truy cập panel.
Tạo lại token sinh token mới. Máy điều khiển đang dùng token cũ sẽ mất kết nối cho đến khi bạn cập nhật. Tắt để ngừng quản lý tập trung.
2. Trên máy điều khiển: thêm server
- Mở Máy chủ và bấm Thêm máy chủ.
- Nhập Tên, Địa chỉ panel (ví dụ
https://node2.example.com:8888) và Fleet token. - Bấm Kết nối.
Nếu node dùng chứng chỉ tự ký, máy điều khiển ghim chứng chỉ đó và hiện dấu vân tay. Hãy đối chiếu với chứng chỉ trên node. Khi bạn đổi chứng chỉ của node về sau, dùng Ghim lại chứng chỉ trên thẻ của node. Chỉ làm vậy khi chắc chắn chứng chỉ vừa được đổi, nếu không đó có thể là tấn công giả mạo.
Mỗi thẻ server hiển thị trạng thái trực tuyến, CPU, RAM, ổ đĩa, số website, số tài khoản, thời gian chạy và trạng thái agent.
Fleet token và phạm vi quyền
| Phạm vi | Máy điều khiển được làm |
|---|---|
| Đầy đủ | Xem trạng thái, đăng nhập quản trị, tạo tài khoản, nhận website được chuyển tới |
| Chỉ giám sát | Chỉ xem trạng thái |
Trên node, token chỉ được lưu dưới dạng hash. Trên máy điều khiển, token được mã hoá cùng các dữ liệu bí mật khác của panel. API token không tạo được fleet token và không kết nối được node. Các thao tác đó cần quản trị viên đang đăng nhập.
Đăng nhập một chạm
Trên thẻ của node, bấm Mở panel. Máy điều khiển xin node một link đăng nhập dùng một lần, hiệu lực 60 giây, rồi mở panel của node trong tab mới.
Trên node, bạn được đăng nhập bằng một tài khoản quản trị riêng, đặt theo tên đăng nhập của bạn trên máy điều khiển kèm tiền tố fl. Tài khoản này có mật khẩu ngẫu nhiên và chỉ đăng nhập được qua máy điều khiển, nơi 2FA của bạn đã được kiểm tra. Hai người trên máy điều khiển không bao giờ dùng chung một tài khoản trên node, nhật ký hoạt động của node ghi đúng người thao tác, và máy điều khiển không bao giờ đăng nhập bằng tài khoản quản trị gốc của node.
Tạo tài khoản trên node
- Trên thẻ của node, bấm Tạo tài khoản.
- Nhập username, mật khẩu, email và chọn gói. Danh sách gói được tải từ node đó.
- Có thể nhập Website đầu tiên (tuỳ chọn).
- Bấm Tạo.
Tài khoản được tạo trên node dưới tên bạn và được ghi vào nhật ký hoạt động của cả hai server. Giới hạn license của node vẫn được áp dụng.
Chuyển website giữa các server
Website được chuyển kèm mọi thứ ứng dụng cần. Tài khoản giữ nguyên tên và mật khẩu panel, database giữ nguyên tên, user và mật khẩu, nên wp-config.php và .env không cần sửa. Website trên server nguồn được giữ nguyên cho đến khi bạn tự gỡ.
Có hai cách chuyển:
- Nhiều website cùng lúc: trên thẻ của server đích trong Máy chủ, bấm Chuyển website, chọn các website rồi xác nhận.
- Một website: mở website, trong thẻ Chuyển sang máy chủ khác ở trang tổng quan, chọn server đích rồi bấm Bắt đầu chuyển.
Sau đó:
- Theo dõi log của tác vụ cho đến khi xong. Nếu một website lỗi, website tiếp theo vẫn được chuyển.
- Kiểm tra website trên server đích.
- Trỏ DNS sang server mới. Chứng chỉ SSL được cấp trên server mới khi tên miền đã trỏ về đó.
- Gỡ website khỏi server cũ khi không còn cần.
Website từ Kho ứng dụng (Docker) và website Lưu trữ S3 không chuyển theo cách này được, hãy cài lại chúng trên server đích. Server đích phải đang trực tuyến với token quyền Đầy đủ, và giới hạn license của nó vẫn được áp dụng.
Mọi bản sao lưu tài khoản cũng mang theo cùng thông tin đó, nên file sao lưu tạo trên server này có thể khôi phục trên server khác bằng Sao lưu → Khôi phục từ file.
Cụm DNS
Nếu bạn tự chạy DNS trên các server (PowerDNS, cài từ trang DNS), bạn có thể phục vụ cùng một vùng DNS từ nhiều server. Phần này thiết lập trên trang DNS, ở thẻ Cụm DNS, và hoạt động độc lập với fleet.
Trên server chính, nơi giữ các vùng DNS:
- Trong Máy chủ phụ (IP), liệt kê IP các server phụ. Chúng được phép chuyển mọi vùng của server này và được báo khi có thay đổi (NOTIFY và zone transfer).
- Trong Khoá cluster (TSIG), bấm Tạo khoá và sao chép. Khoá không hiển thị lại. Zone transfer được ký bằng HMAC-SHA256.
Trên mỗi server phụ:
- Trong Máy chủ chính, thêm mỗi máy chính một dòng: IP của nó và tên nameserver của server này trong các vùng của máy chính, ví dụ
203.0.113.10 ns2.example.com. - Nhập cùng Khoá cluster (TSIG).
Sau đó server phụ tự nhận các vùng DNS, và thẻ cho biết đã nhận bao nhiêu vùng. Xoá một vùng trên server chính không xoá vùng đó trên các server phụ.
Kinh nghiệm nên làm
- Dùng token Chỉ giám sát cho dashboard và công cụ không cần thay đổi gì.
- Bật 2FA cho mọi quản trị viên trên máy điều khiển, vì nó bảo vệ việc đăng nhập vào mọi node.
- Dùng chứng chỉ tin cậy công khai cho các node (Cài đặt → Chung → Tên miền & SSL cho panel) để không bao giờ phải ghim chứng chỉ.