Tôi đang sử dụng NAS hỗ trợ ZFS hai đầu để lưu trữ chia sẻ cụm khả dụng cao, dựa trên kiến trúc được đề xuất của Nexenta như được thấy ở đây:
Các đĩa trong 1 JBOD sẽ lưu trữ các tệp cơ sở dữ liệu cho cơ sở dữ liệu Postgres 4 TB duy nhất và các đĩa trong JBOD khác lưu trữ 20 TB tệp phẳng nhị phân thô lớn (kết quả cụm cho mô phỏng va chạm đối tượng sao lớn). Nói cách khác, JBOD sao lưu các tệp Postgres sẽ xử lý chủ yếu khối lượng công việc ngẫu nhiên trong khi JBOD sao lưu kết quả mô phỏng sẽ xử lý chủ yếu các khối lượng công việc nối tiếp. Cả hai nút đầu có bộ nhớ 256 GB và 16 lõi. Cụm có khoảng 200 lõi mỗi lõi duy trì một phiên Postgres, vì vậy tôi mong đợi khoảng 200 phiên đồng thời.
Tôi tự hỏi liệu có khôn ngoan trong thiết lập của mình để các nút đầu ZFS hoạt động đồng thời như một cặp máy chủ cơ sở dữ liệu Postgres được nhân đôi cho cụm của tôi không? Những nhược điểm duy nhất tôi có thể thấy là:
- Ít linh hoạt hơn để mở rộng cơ sở hạ tầng của tôi.
- Mức độ dư thừa thấp hơn một chút.
- Bộ nhớ và tài nguyên CPU hạn chế cho Postgres.
Tuy nhiên, lợi thế tôi thấy là ZFS khá ngu ngốc về chuyển đổi dự phòng tự động và tôi không phải mất nhiều công sức để mỗi máy chủ cơ sở dữ liệu Postgres tìm ra nếu một nút đầu bị hỏng vì nó sẽ thất bại cùng với đầu nút.
postmaster.pid
) sẽ dẫn đến tham nhũng dữ liệu nghiêm trọng.