Chính xác thì Gluster làm gì?


12

Tôi đã chơi với gluster trong 2 ngày qua và đã đặt câu hỏi ở đây và trên hệ thống câu hỏi của họ. Tôi thực sự không hiểu một số thứ. Tôi thấy mọi người nói những thứ như

Thiết lập các khối sao chép giữa các máy chủ (vì bạn chỉ sử dụng 3, sao chép sẽ an toàn hơn) và mỗi máy chủ sẽ xem các tệp của tất cả các máy chủ khác là 'cục bộ' - ngay cả khi một máy chủ bị lỗi, các tệp đã được sao chép Các máy chủ khác.

hoặc là

Gluster sẽ duy trì đồng bộ hóa tệp qua các khối lượng (gạch) và có khả năng 'tự phục hồi' sẽ xử lý mọi sự không nhất quán do một máy chủ ngoại tuyến.

Vì tôi gắn một âm lượng từ xa từ máy chủ đến (các) máy khách, làm thế nào để ánh sáng xử lý sự thất bại của nút máy chủ, một khối lượng được gắn kết từ đâu? Từ những gì tôi đã thử thư mục trên máy khách nơi âm lượng được gắn kết không thể truy cập được và tôi phải sử dụng umount để bỏ chặn nó. Và sau đó không có nội dung từ máy chủ.

Về cơ bản, đây là những gì tôi không thấy được đề cập trong bất kỳ giải thích nào: điều gì xảy ra khi nút máy chủ bị lỗi và liệu có thể thực sự sao chép nội dung, như unison hay rsync không?

Câu trả lời:


8

Gần đây chúng tôi đã bắt đầu nghiên cứu GlusterFS cho việc sử dụng riêng của chúng tôi vì vậy câu hỏi này rất thú vị đối với tôi. Gluster sử dụng cái được gọi là 'trình dịch' trên máy khách FUSE để xử lý cách bạn lưu trữ dữ liệu. Có một số loại dịch giả được nêu ở đây:

http://www.gluster.com/community/documentation/index.php/GlusterFS_Translators_v1.3

Người bạn đang hỏi về cụ thể được gọi là Trình dịch sao chép tệp tự động hoặc AFR, và được đề cập chi tiết ở đây:

http://www.gluster.com/community/documentation/index.php/Under Hiểu_AFR_Translator

Nhìn vào mã nguồn, có vẻ như dữ liệu thực sự được ghi vào các nút đồng thời, tốt hơn nhiều so với rsync!

Về sự phục hồi từ một tình huống thất bại, có một lưu ý thú vị tôi tìm thấy. Hệ thống Gluster khác với Ceph ở chỗ nó không chủ động nhận thức được các thay đổi trạng thái sao chép và phải được 'kích hoạt'. Vì vậy, nếu bạn mất một nút trong cụm của mình, bạn phải tra cứu từng tệp để Gluster đảm bảo sao chép nó:

http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Triggering_Self-Heal_on_Replicate

Tôi không thể tìm thấy một trang tốt mô tả các cơ chế kịch bản thất bại trong nội bộ, như cách khách hàng phát hiện ra mọi thứ bị hỏng. Tuy nhiên, khi tải xuống mã nguồn và xem qua ứng dụng khách, có vẻ như có nhiều thời gian chờ khác nhau mà nó sử dụng cho các lệnh và một đầu dò mà nó thường làm cho các hệ thống khác trong cụm. Có vẻ như hầu hết trong số này có dấu TODO và hiện không thể định cấu hình được, ngoại trừ thông qua sửa đổi mã nguồn, điều này có thể gây lo ngại cho bạn nếu thời gian hội tụ là rất quan trọng.


Bản thân tôi đã tìm hiểu về AFR, tuy nhiên, khi sử dụng nó, tôi không thể viết trên máy khách, chỉ trên máy chủ. Đây có phải là hậu quả của logic đằng sau nó, hay đây là thứ tôi cần xem xét?
cbaltatescu

2
Đó có thể là một vấn đề cấu hình (không phải do thiết kế).
đa thức

3

Chỉ với 2 nút sao chép, ánh sáng không khác nhiều so với tập lệnh rsync tự động. Mọi thứ thực sự chỉ bắt đầu thú vị khi bạn có 4 nút lưu trữ trở lên - máy khách của bạn nhìn thấy một khoảng trống, nhưng các tệp cấu thành được trải đều trên tất cả các nút lưu trữ (gạch). Điều này có nghĩa là nếu 4 máy chủ của bạn có 10TB không gian cục bộ, các máy khách của bạn có thể thấy một không gian tên duy nhất là 20TB (được sao chép hoặc 40TB dung lượng lưu trữ không được bảo vệ).

Tôi đã thấy một trục trặc ngắn - có thể 30 giây hoặc lâu hơn - trên máy khách khi máy thử IO sau khi khối lưu trữ không khả dụng. Tuy nhiên, sau khi hết nấc, IO sẽ tiếp tục bình thường miễn là có máy chủ trực tuyến vẫn giữ một bộ dữ liệu âm lượng đầy đủ.


slideshare.net/Gluster/... trình bày bởi CTO Gluster về cách thức hoạt động.
đa thức

1
Vấn đề là nó KHÔNG làm những gì rsync làm. Rsync cung cấp một bản sao của dữ liệu trên máy khác. Gluster, khi chủ (trong thiết lập máy chủ-máy khách 2 nút) không để lại gì hoặc tôi không thể hiểu được, do đó, câu hỏi.
cbaltatescu

2
Nếu bạn chỉ có 2 nút và một trong số các nút là máy khách (không lưu trữ bất kỳ dữ liệu cục bộ nào), thì việc mất 'chủ' với dữ liệu sẽ dẫn đến không có sẵn và chặn IO trên máy khách. Bạn cần ít nhất 2 máy chủ với âm lượng được cấu hình để nhân rộng, cộng với các máy khách của bạn.
techieb0y


0

Khi máy khách đối mặt với máy chủ bị lỗi (tức là máy chủ có IP / DNS được máy khách sử dụng để gắn hệ thống tệp) thì toàn bộ ổ đĩa sẽ ngoại tuyến với máy khách đó, tức là nó không thể đọc / ghi trên ổ đĩa.

Tuy nhiên, nếu máy khách gắn nó bằng IP / DNS của máy chủ khác thì âm lượng vẫn sẽ trực tuyến cho máy khách đó. Tuy nhiên, việc đọc / ghi sẽ không đi đến trường hợp bị lỗi / bị lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.