Tổng quan về Bảo vệ dữ liệu và Đường dẫn dữ liệu của Dell ECS Phần II
Đây là phần tiếp theo của phần tổng quan về bảo vệ dữ liệu và đường dẫn dữ liệu ECS I và tôi sẽ nói về bảo vệ dữ liệu và luồng dữ liệu trong blog này. Bạn nên xem lại phần tổng quan về bảo vệ dữ liệu và đường dẫn dữ liệu Dell ECS I trước để có một số kiến thức cơ bản về các khối và siêu dữ liệu.
Phương pháp bảo vệ dữ liệu
Trong ECS, khi một đối tượng được tạo ra, nó bao gồm việc ghi dữ liệu và siêu dữ liệu. Siêu dữ liệu EC bao gồm các khối nhật ký và khối btree. Mỗi khối được ghi vào một khối logic khác nhau sẽ chứa ~128 MB dữ liệu từ một hoặc nhiều đối tượng.
Tùy thuộc vào kích thước và loại dữ liệu, dữ liệu được ghi bằng một trong các phương pháp bảo vệ dữ liệu được hiển thị trong bảng sau.
Bảng 1: Phương pháp bảo vệ dữ liệu dựa trên loại dữ liệu và kích thước
Loại dữ liệu | Phương pháp bảo vệ dữ liệu được sử dụng |
Các mẩu nhật ký | Phản chiếu ba lần |
Các khối Btree | Mã hóa xóa với các đoạn dữ liệu dư thừa |
Dữ liệu đối tượng <128 MB | Phản chiếu ba lần cộng với mã hóa xóa tại chỗ |
Dữ liệu đối tượng >=128 MB | Mã hóa xóa nội tuyến |
Lưu ý : Trong kiến trúc toàn bộ flash như EXF900, khả năng bảo vệ các khối btree là phản chiếu ba lần.
Phản chiếu ba lần
Phương pháp ghi triple-mirror được áp dụng cho các khối nhật ký ECS, trong đó ECS tạo ra ba bản sao. Mỗi bản sao được ghi vào một đĩa duy nhất trên các nút khác nhau. Phương pháp này bảo vệ dữ liệu khối khỏi lỗi hai nút hoặc hai đĩa.
Mã hóa xóa với các đoạn dữ liệu dư thừa
Phương pháp ghi mã hóa xóa với các đoạn dữ liệu dự phòng có thể áp dụng cho các khối btree của ECS. Nó bao gồm 12 đoạn dữ liệu, 12 đoạn dữ liệu được sao chép và 4 đoạn chẵn lẻ. Sơ đồ EC dữ liệu dự phòng khối btree mới giúp tiết kiệm chi phí bảo vệ siêu dữ liệu.
Phản chiếu ba lần cộng với mã hóa xóa tại chỗ
Phương pháp ghi này có thể áp dụng cho dữ liệu từ bất kỳ đối tượng nào có kích thước nhỏ hơn 128 MB .
Khi một đối tượng được tạo ra, nó được viết như sau:
- Một bản sao được viết thành nhiều đoạn và trải rộng trên nhiều nút và đĩa khác nhau.
- Bản sao thứ hai của khối dữ liệu được ghi vào một đĩa duy nhất trên một nút.
- Bản sao thứ ba của khối dữ liệu được ghi vào một đĩa duy nhất trên một nút khác.
- Các đối tượng khác được ghi vào cùng một khối cho đến khi nó chứa ~128 MB dữ liệu. Sơ đồ mã hóa xóa tính toán các đoạn mã hóa (tính chẵn lẻ) cho khối và ghi các đoạn này vào các đĩa khác nhau.
- Bản sao thứ hai và thứ ba sẽ bị xóa khỏi đĩa.
- Sau khi chuỗi này hoàn tất, khối dữ liệu được bảo vệ bằng mã hóa xóa.
Sơ đồ hiển thị bên dưới có thể giúp bạn hiểu rõ hơn về quy trình mã hóa xóa tại chỗ cộng với phản chiếu ba lần từ phần mô tả.
Mã hóa xóa nội tuyến
Phương pháp ghi này áp dụng cho dữ liệu từ bất kỳ đối tượng nào có kích thước 128 MB trở lên . Các đối tượng được chia thành các khối 128 MB. Sơ đồ mã hóa xóa Reed Solomon tính toán các phân đoạn mã hóa (tính chẵn lẻ) cho mỗi khối. Mỗi phân đoạn được ghi vào các đĩa khác nhau trên các nút.
- Nếu lược đồ mã hóa xóa là mặc định (12+4), các phân đoạn sẽ được trải rộng trên 16 đĩa, mỗi phân đoạn có kích thước ~10,67 MB.
- Nếu lược đồ mã hóa xóa là lưu trữ lạnh (10+2), các phân đoạn sẽ được trải rộng trên 12 đĩa, mỗi phân đoạn có kích thước ~ 12,8 MB.
Bất kỳ phần còn lại nào của một đối tượng nhỏ hơn 128 MB được ghi bằng cách sử dụng phương pháp mã hóa phản chiếu ba lần cộng với xóa tại chỗ. Ví dụ, nếu một đối tượng là 150 MB, 128 MB được ghi bằng cách sử dụng mã hóa xóa nội tuyến. 22 MB còn lại được ghi bằng cách sử dụng mã hóa phản chiếu ba lần cộng với xóa tại chỗ.
Tổng kiểm tra
Tổng kiểm tra được thực hiện trên mỗi đơn vị ghi, tối đa 2 MB. Trong quá trình ghi, tổng kiểm tra được tính toán trong bộ nhớ và sau đó được ghi vào đĩa. Khi đọc, dữ liệu được đọc cùng với tổng kiểm tra. Sau đó, tổng kiểm tra được tính toán trong bộ nhớ từ dữ liệu đã đọc và so sánh với tổng kiểm tra được lưu trữ trong đĩa để xác định tính toàn vẹn của dữ liệu. Ngoài ra, công cụ lưu trữ chạy trình kiểm tra tính nhất quán theo định kỳ ở chế độ nền và thực hiện xác minh tổng kiểm tra trên toàn bộ tập dữ liệu.
Luồng dữ liệu
ECS được thiết kế như một kiến trúc phân tán, cho phép bất kỳ nút nào trong VDC/site phản hồi yêu cầu đọc hoặc ghi. Yêu cầu ghi bao gồm ghi dữ liệu đối tượng và siêu dữ liệu đối tượng (hệ thống/tùy chỉnh) và ghi lại giao dịch trong nhật ký nhật ký. Khi hoạt động này hoàn tất, một xác nhận sẽ được gửi đến máy khách.
Hình ảnh và các bước sau đây cung cấp cái nhìn tổng quan về luồng dữ liệu ghi.
- Nhận được yêu cầu ghi đối tượng, bất kỳ nút nào cũng có thể phản hồi yêu cầu này. Trong ví dụ này, Nút 1 xử lý yêu cầu.
- Tùy thuộc vào kích thước của đối tượng, dữ liệu được ghi vào một hoặc nhiều khối. Mỗi khối được bảo vệ bằng các chương trình bảo vệ dữ liệu nâng cao như phản chiếu ba lần cộng với mã hóa xóa tại chỗ và mã hóa xóa nội tuyến. Trước khi ghi dữ liệu vào đĩa, ECS chạy hàm tổng kiểm tra và lưu trữ kết quả.
- Trong ví dụ này, kích thước đối tượng là 150MB, nó sẽ được chia thành 128MB làm khối 1 và 22MB làm khối 2.
- Đối với khối 1 có kích thước 128MB, nó sử dụng sơ đồ mã hóa xóa nội tuyến (12+4).
- Đối với khối 2 có kích thước 22MB, nó sử dụng phương pháp mã hóa phản chiếu ba lần cộng với mã hóa xóa tại chỗ.
- Sau khi dữ liệu đối tượng được ghi thành công, siêu dữ liệu đối tượng sẽ được lưu trữ. Trong ví dụ này, Node 3 sở hữu phân vùng của bảng đối tượng mà đối tượng này thuộc về. Với tư cách là chủ sở hữu, Node 3 ghi tên đối tượng và ID khối vào phân vùng này của nhật ký nhật ký của bảng đối tượng. Nhật ký nhật ký được phản chiếu ba lần, do đó Node 3 gửi các bản sao sao chép đến ba nút khác nhau song song—Node 2, Node 3 và Node 4 trong ví dụ này.
- Xác nhận được gửi tới khách hàng.
- Trong quá trình nền, bảng bộ nhớ được cập nhật.
- Khi bảng trong bộ nhớ đầy hoặc sau một khoảng thời gian nhất định, bảng được hợp nhất, sắp xếp hoặc đổ vào cây B+ dưới dạng các khối. Sau đó, một điểm kiểm tra được ghi lại trong nhật ký.
Yêu cầu đọc tìm vị trí vật lý của dữ liệu bằng cách sử dụng tra cứu bảng từ chủ sở hữu bản ghi phân vùng. Yêu cầu bao gồm đọc bù byte, xác thực tổng kiểm tra và trả lại dữ liệu cho máy khách yêu cầu.
Hình ảnh và các bước sau đây cung cấp cái nhìn tổng quan về luồng dữ liệu đọc.
- Đã nhận được yêu cầu đọc cho ImgA. Trong ví dụ này, Node 1 xử lý yêu cầu.
- Nút 1 yêu cầu thông tin khối từ Nút 2 (chủ sở hữu phân vùng bảng đối tượng cho ImgA).
- Biết rằng ImgA nằm trong C1 ở một vị trí và độ dài cụ thể, Nút 1 yêu cầu vị trí vật lý của khối từ Nút 3 (chủ sở hữu phân vùng bảng khối cho C1).
- Bây giờ Node 1 đã biết vị trí vật lý của ImgA, nó yêu cầu dữ liệu từ node hoặc các node chứa đoạn dữ liệu. Trong ví dụ này, vị trí là Node 4 Disk 1. Sau đó, Node 4 thực hiện đọc offset byte và trả dữ liệu về Node 1.
- Nút 1 xác thực tổng kiểm tra cùng với dữ liệu tải trọng và trả về dữ liệu cho máy khách yêu cầu.
Lưu ý: Ở bước 4, đối với kiến trúc toàn flash như EXF900, mỗi nút có thể đọc trực tiếp dữ liệu từ nút khác. Kiến trúc này trái ngược với kiến trúc ổ cứng như EX300, EX500 và EX3000 trong đó mỗi nút chỉ có thể đọc kho dữ liệu trong chính nó.
Bài viết mới cập nhật
Tăng tốc khối lượng công việc của Hệ thống tệp mạng (NFS) của bạn với RDMA
Giao thức NFS hiện nay được sử dụng rộng rãi trong ...
Mẹo nhanh về dữ liệu phi cấu trúc – OneFS Protection Overhead
Gần đây đã có một số câu hỏi từ lĩnh vực ...
Giới thiệu Dell PowerScale OneFS dành cho Quản trị viên NetApp
Để các doanh nghiệp khai thác được lợi thế của công ...
Cơ sở hạ tầng CNTT: Mua hay đăng ký?
Nghiên cứu theo số liệu của IDC về giải pháp đăng ...