Kịch bản mất dữ liệu của ZFS


27

Tôi đang hướng tới việc xây dựng một ZFS Pool khổng lồ (150TB +) và tôi muốn nghe mọi người trải nghiệm về các tình huống mất dữ liệu do phần cứng bị lỗi, đặc biệt, phân biệt giữa các trường hợp chỉ mất một số dữ liệu so với toàn bộ hệ thống tệp ( nếu thậm chí có sự phân biệt như vậy trong ZFS).

Ví dụ: giả sử vdev bị mất do lỗi như vỏ ổ đĩa ngoài bị mất nguồn hoặc thẻ điều khiển bị hỏng. Từ những gì tôi đã đọc thì pool sẽ chuyển sang chế độ bị lỗi, nhưng nếu vdev được trả về thì pool sẽ phục hồi? hay không? hoặc nếu vdev bị hỏng một phần, liệu người ta có mất toàn bộ nhóm, một số tệp, v.v. không?

Điều gì xảy ra nếu một thiết bị ZIL không thành công? Hay chỉ là một trong vài ZIL?

Thực sự bất kỳ và tất cả các giai thoại hoặc các tình huống giả định được hỗ trợ bởi kiến ​​thức kỹ thuật sâu sắc đều được đánh giá cao!

Cảm ơn!

Cập nhật:

Chúng tôi đang làm điều này với giá rẻ vì chúng tôi là một doanh nghiệp nhỏ (9 người hoặc hơn) nhưng chúng tôi tạo ra một lượng dữ liệu hình ảnh khá lớn.

Dữ liệu chủ yếu là các tệp nhỏ, theo tính toán của tôi, khoảng 500k tệp cho mỗi TB.

Dữ liệu là quan trọng nhưng không quan trọng. Chúng tôi đang lên kế hoạch sử dụng nhóm ZFS để phản chiếu mảng dữ liệu "sống" 48TB (sử dụng trong 3 năm hoặc lâu hơn) và sử dụng phần còn lại của bộ lưu trữ cho dữ liệu 'được lưu trữ'.

Nhóm sẽ được chia sẻ bằng NFS.

Giá được cho là trên một đường dây máy phát điện dự phòng của tòa nhà và chúng tôi có hai UPS APC có khả năng cung cấp năng lượng cho giá ở mức đầy tải trong 5 phút hoặc lâu hơn.


2
Nếu bạn chưa biết những gì bạn đang làm, hãy nhờ một chuyên gia tư vấn và / hoặc nhận một số khóa học. Tôi nghi ngờ tất cả các chi tiết cụ thể bạn cần có thể được đề cập trong một câu trả lời đơn giản.
Lucas Kauffman

3
Vì vậy, bạn vẫn có kế hoạch sử dụng 7.2 SATA dành cho người tiêu dùng giá rẻ? thở dài
Chopper3

@ Chopper3 Trên thực tế, tôi đã cố tình không nói rằng ... Tôi đang cân nhắc nghiêm túc về việc mua ổ đĩa 2TB SAS thay vì ổ đĩa 3TB SATA. Mặc dù tôi đã thấy nhiều người nói rằng họ đã sử dụng ổ đĩa SATA tốt ....
Bão

1
Các đĩa SATA cho ZFS không thực sự là một hỗn hợp tốt. Bạn sẽ không tìm thấy nhiều người khuyên bạn nên thiết lập ngày nay. Ở quy mô bạn đang nói về (150TB), đó là một sai lầm đắt tiền và không cần thiết. Hãy nhìn vào điều này, mặc dù .
ewwhite

Câu trả lời:


22

Thiết kế đúng cách và bạn sẽ giảm thiểu khả năng mất dữ liệu của ZFS. Bạn đã không giải thích những gì bạn đang lưu trữ trên hồ bơi, mặc dù. Trong các ứng dụng của tôi, nó chủ yếu phục vụ VMWare VMDK và xuất zvols qua iSCSI. 150TB không phải là một số tiền nhỏ, vì vậy tôi sẽ dựa vào một chuyên gia để tư vấn mở rộng.

Tôi chưa bao giờ mất dữ liệu với ZFS.

Tôi đã trải nghiệm mọi thứ khác:

Nhưng thông qua tất cả điều đó, không bao giờ có sự mất mát dữ liệu đáng kể. Chỉ là thời gian chết. Đối với VMWare VMDK đang ngồi trên cùng của bộ lưu trữ này, một fsck hoặc khởi động lại thường là cần thiết sau một sự kiện, nhưng không tệ hơn bất kỳ sự cố máy chủ nào khác.

Đối với việc mất thiết bị ZIL, điều đó phụ thuộc vào thiết kế, những gì bạn đang lưu trữ và I / O của bạn và viết các mẫu. Các thiết bị ZIL tôi sử dụng tương đối nhỏ (4GB-8GB) và hoạt động như bộ đệm ghi. Một số người phản ánh các thiết bị ZIL của họ. Sử dụng các thiết bị SSD STEC cao cấp khiến việc phản chiếu trở nên cấm chi phí. Tôi sử dụng thẻ PCIe DDRDrive duy nhất để thay thế. Lập kế hoạch bảo vệ pin / UPS và sử dụng thẻ SSD hoặc PCIe với bản sao lưu siêu tụ điện (tương tự như triển khai BBWC và FBWC của bộ điều khiển RAID ).

Hầu hết kinh nghiệm của tôi là về phía Solaris / OpenSolaris và NexentaStor . Tôi biết mọi người sử dụng ZFS trên FreeBSD, nhưng tôi không chắc chắn các phiên bản zpool và các tính năng khác là bao xa. Để triển khai lưu trữ thuần túy, tôi khuyên bạn nên đi tuyến Nexentastor (và nói chuyện với một đối tác có kinh nghiệm ), vì đây là HĐH được xây dựng có mục đích và có nhiều triển khai quan trọng chạy trên các dẫn xuất Solaris hơn FreeBSD.


Tôi đã cập nhật câu hỏi của mình với một số thông tin khác, nhưng tôi đặc biệt quan tâm đến việc biết thêm chi tiết về: 'không bao giờ mất dữ liệu đáng kể' và điều đó có nghĩa là gì / có liên quan. Cũng quan tâm đến việc biết thêm về việc khôi phục các zpool bị lỗi đó, xử lý các NIC xấu và thậm chí cả các sự cố với ổ đĩa SATA và chuyển sang SAS (mặc dù bạn sẽ rất vui khi biết, tôi có thể sẽ sử dụng 2TB SAS trên 3TB SATA , theo đề nghị của bạn).
Bão

Không thể đánh giá-mất == một vài giây dữ liệu giao dịch hoặc trạng thái phù hợp với sự cố . Và các NIC xấu được phân lập thành một máy chủ VMWare và dẫn đến các vấn đề ở cấp VM. Không phải lưu trữ ZFS cơ bản.
ewwhite

Các design the right wayliên kết bị phá vỡ ngay bây giờ.
Saurabh Nanda

11

Tôi đã vô tình ghi đè cả hai ZIL trên phiên bản OpenSolaris cuối cùng, điều này khiến toàn bộ nhóm bị mất không thể phục hồi. (Lỗi thực sự của tôi về phía tôi! Tôi không hiểu rằng mất ZIL có nghĩa là mất hồ bơi. May mắn phục hồi từ bản sao lưu với thời gian chết.)

Kể từ phiên bản 151a (không biết ý nghĩa của phiên bản ZPool), vấn đề này đã được khắc phục. Và, tôi có thể làm chứng rằng nó hoạt động.

Ngoài ra, tôi đã mất dữ liệu ZERO trên máy chủ 20tb - bao gồm do một số trường hợp khác do lỗi người dùng, nhiều lần mất điện, quản lý sai đĩa, cấu hình sai, nhiều đĩa bị lỗi, v.v. giao diện cấu hình trên Solaris thay đổi thường xuyên và điên cuồng từ phiên bản này sang phiên bản khác và đưa ra mục tiêu kỹ năng luôn thay đổi đáng kể, đây vẫn là lựa chọn tốt nhất cho ZFS.

Tôi không chỉ không bị mất dữ liệu trên ZFS (sau sai lầm khủng khiếp của mình) mà còn liên tục bảo vệ tôi. Tôi không còn gặp phải tình trạng tham nhũng dữ liệu - điều đã làm tôi khó chịu trong 20 năm qua trên bất kỳ số lượng máy chủ và máy trạm nào, với những gì tôi làm. Tham nhũng dữ liệu im lặng (hoặc chỉ "khá yên tĩnh") đã giết chết tôi rất nhiều lần, khi dữ liệu lăn khỏi vòng quay dự phòng, nhưng thực tế đã bị hỏng trên đĩa. Hoặc các tình huống khác trong đó các bản sao lưu sao lưu các phiên bản bị hỏng. Đây là một vấn đề lớn hơn nhiều so với việc mất dữ liệu theo một cách lớn cùng một lúc, gần như luôn luôn được sao lưu. Vì lý do này, tôi chỉ yêu thích ZFS và không thể hiểu tại sao việc kiểm tra và tự động chữa bệnh không phải là các tính năng tiêu chuẩn trong các hệ thống tệp trong một thập kỷ. (Được cấp, các hệ thống thực sự sống hay chết thường có những cách khác để bảo đảm tính toàn vẹn,

Nói cho khôn ngoan, nếu bạn không muốn xuống ACL-hell, đừng sử dụng máy chủ CIFS tích hợp sẵn trong ZFS. Sử dụng Samba. (Bạn nói rằng bạn sử dụng NFS.)

Tôi không đồng ý với đối số SAS so với SATA, ít nhất là gợi ý rằng SAS luôn được ưu tiên hơn so với SATA, đối với ZFS. Tôi không biết liệu nhận xét đó có liên quan đến tốc độ quay đĩa, độ tin cậy được cho là, tốc độ giao diện hay một số thuộc tính khác không. (Hoặc có thể chỉ là "chúng có giá cao hơn và thường không được người tiêu dùng sử dụng, do đó chúng vượt trội". Một cuộc khảo sát công nghiệp được công bố gần đây (vẫn là tin tức tôi chắc chắn), tiết lộ rằng trung bình thực sự vượt trội so với SAS Kích thước mẫu đáng kể của cuộc khảo sát. (Chắc chắn là tôi bị sốc.) Tôi không thể nhớ đó là phiên bản "doanh nghiệp" của SATA, hay người tiêu dùng, hay tốc độ nào - nhưng theo kinh nghiệm đáng kể của tôi, các mô hình doanh nghiệp và người tiêu dùng đều thất bại như nhau tỷ lệ có ý nghĩa thống kê. (Có vấn đề về việc các ổ đĩa của người tiêu dùng mất quá nhiều thời gian để hết thời gian cho sự thất bại, điều này chắc chắn rất quan trọng trong doanh nghiệp - nhưng điều đó đã không cắn tôi, và tôi nghĩ rằng nó có liên quan nhiều hơn đến các bộ điều khiển phần cứng có thể chiếm toàn bộ Âm lượng ngoại tuyến trong những trường hợp như vậy. Nhưng đó không phải là vấn đề của SAS so với SATA và ZFS chưa bao giờ làm tôi thất vọng vì kết quả của trải nghiệm đó, giờ đây tôi sử dụng kết hợp 1/3 ổ đĩa doanh nghiệp và 2/3 ổ đĩa tiêu dùng .) Hơn nữa, tôi đã thấy không có hiệu suất đáng kể nào với hỗn hợp SATA này, khi được định cấu hình đúng (ví dụ: một dải gương ba chiều), nhưng sau đó tôi lại có nhu cầu IOPS thấp, do đó tùy thuộc vào cửa hàng của bạn lớn như thế nào và trường hợp sử dụng điển hình, YMMV. Tôi chắc chắn nhận thấy rằng kích thước bộ nhớ cache tích hợp trên mỗi đĩa quan trọng hơn đối với các vấn đề về độ trễ so với tốc độ quay đĩa, trong các trường hợp sử dụng của tôi.

Nói cách khác, đó là một phong bì có nhiều tham số: chi phí, thông lượng, IOPS, loại dữ liệu, số lượng người dùng, băng thông quản trị và các trường hợp sử dụng phổ biến. Có thể nói, SAS luôn là giải pháp đúng đắn là coi thường một vũ trụ hoán vị lớn của các yếu tố đó.

Nhưng dù bằng cách nào, ZFS hoàn toàn đá.


3
Cảm ơn vì đã dành thời gian trả lời. Trải nghiệm của bạn với ZFS phù hợp với tôi. Nhận xét của tôi về việc lựa chọn ổ đĩa cụ thể là về ổ đĩa SAS gần so với đĩa SATA. Sự khác biệt chính là giao diện. Chúng tương đương về mặt cơ học. Cách thực hành tốt nhất trong ZFS-Land hiện nay là tránh SATA vì cần có giao diện cổng kép, sửa lỗi tốt hơn và thời gian chờ quản lý được cung cấp bởi SAS.
ewwhite

Cuối cùng tôi đã đi với các đĩa 3TB SAS nhưng .... trước khi thực hiện, tôi đã ghép lại 30 đĩa hỗn hợp (5 400 GB SATA, 12 750 GB SATS, 14 1TB SAS) mà tôi đã đặt vào cùng một bao vây mở rộng SAS. Thực sự là một trường hợp xấu nhất theo. Những ổ đĩa này cũng đã có ~ 2-3 năm thời gian chạy rồi. Sau đó tôi đã viết một chương trình chạy 8 luồng ngẫu nhiên đọc ghi và xóa các tệp vào nhóm. Tôi đã chạy nó trong hơn một tuần. Đọc và viết> 100 TB đến hồ bơi ... không có vấn đề gì. AVG R / W 100-400MB / giây. Tôi nghi ngờ các cảnh báo về SATA qua SAS có thể là tin cũ.
Lốc xoáy
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.