Có thể tách và gắn lại đĩa ZFS mà không cần bộ phục hồi đầy đủ không?


10

Tôi có một nhóm nhân đôi ZFS với bốn ổ đĩa. Hai trong số các ổ đĩa được dự định sẽ được sử dụng để quay các bản sao lưu ngoại vi. Kỳ vọng của tôi là sau khi phục hồi ban đầu, tôi có thể detachvà sau đó attachlà một đĩa và chỉ có một trình phục hồi gia tăng - tuy nhiên trong thử nghiệm, nó dường như thực hiện một trình phục hồi đầy đủ cho dù đĩa được gắn có chứa gần như tất cả các nhóm hay không nội dung.

Việc sử dụng một phương pháp offline/ onlinesẽ cho tôi kết quả mong muốn chỉ cập nhật đĩa - chứ không phải xây dựng lại hoàn toàn? Hoặc để có được công việc này như mong đợi, tôi sẽ cần phải làm một cái gì đó hoàn toàn khác - chẳng hạn như sử dụng mỗi đĩa sao lưu như một nhóm 1 đĩa và đưa sendcác ảnh chụp nhanh mới nhất vào nó bất cứ khi nào nó cần được cập nhật?


5
-1 Không tách / gắn ổ đĩa để sao lưu, sử dụng các lệnh gửi / nhận như các nhà thiết kế ZFS dự định.
Chris S

2
@ChrisS thay vì -1 làm thế nào về việc viết câu trả lời với một số trích dẫn. Có vẻ như bạn nói rằng các tùy chọn duy nhất để sao lưu là một nhóm trực tuyến ở một nơi khác - sẽ rất tuyệt nếu biết điều đó có đúng không, nhưng tôi nghi ngờ không phải vậy.
STW

1
Xin lỗi, tôi không có ý định trở thành một kẻ ngạo mạn, nhưng Server Fault chỉ dành cho Quản trị viên hệ thống chuyên nghiệp (et al). Phương pháp sao lưu gương sao lưu hoàn toàn không thể quản lý được, dễ bị lỗi và không chuyên nghiệp đến mức không nên coi đó là phương pháp sao lưu khả thi. Điều tôi đề nghị là bạn định dạng hai ổ đĩa sao lưu với bất kỳ hệ thống tệp nào bạn muốn và sử dụng zfs sendlệnh để nhận các luồng sao lưu đầy đủ hoặc tăng dần được lưu vào các đĩa sao lưu hoặc sử dụng zfs recvđể tạo một đĩa trùng lặp. Tôi rất khuyên bạn nên sử dụng một số loại phần mềm để quản lý quá trình này.
Chris S

Tôi nghĩ rằng điểm của bạn là hợp lệ, tôi sẽ đánh giá nó như một câu trả lời. Tôi đang xem xét viết lại câu hỏi của mình để tập trung ít hơn vào kịch bản cụ thể của mình (phát sinh từ ngân sách hạn hẹp cho một máy chủ nội bộ không quan trọng, nhưng quan trọng) và hơn thế nữa "tôi có thể gắn lại ổ đĩa mà không yêu cầu đầy đủ kiên cường? "
STW

Câu trả lời:


14

Đừng đi theo con đường phá vỡ mảng ZFS để "xoay" đĩa ngoài cơ sở. Như bạn đã thấy, thời gian xây dựng lại cao và quá trình phục hồi sẽ đọc / xác minh kích thước được sử dụng của tập dữ liệu.

Nếu bạn có khả năng, ảnh chụp nhanh và gửi dữ liệu đến một hệ thống từ xa là một cách tiếp cận rõ ràng, không xâm phạm. Tôi cho rằng bạn có thể trải qua quá trình có một nhóm đĩa đơn chuyên dụng, sao chép vào nó và xuất / nhập zpool ... nhưng nó không thanh lịch lắm.


Thật không may, tôi không thể sử dụng một snapshot-> gửi phương pháp tiếp cận vì tôi không có phần cứng hoặc băng thông để chạy máy chủ ZFS thứ hai bên ngoài. Tuy nhiên, có vẻ như sử dụng ngoại tuyến / trực tuyến sẽ hoạt động, với sự đánh đổi rằng tình trạng báo cáo là xuống cấp. Tôi sẽ thấy nó diễn ra như thế nào trong tuần tới.
STW

1
Hiểu. Nhưng việc kéo các đĩa đang chạy ra khỏi hệ thống như một hình thức sao lưu không phải là một giải pháp vững chắc. Nguy cơ của bạn tăng mạnh khi bạn làm điều này.
ewwhite

Điểm hay, kế hoạch của tôi là ngoại tuyến chúng, tạm dừng chúng, bỏ khay trao đổi nóng của chúng và sau đó cho nó một phút để đảm bảo dừng hoàn toàn trước khi kéo hoàn toàn
STW

1
Bạn có thể vận hành một máy chủ thứ hai tại chỗ (hoặc thậm chí là một mảng ZFS thứ 2 trong cùng một máy chủ) không? Đặt các khay hotswap của bạn vào đó, đồng bộ hóa giữa nó và cái chính, sau đó xoay toàn bộ mảng ZFS dự phòng vào / ra khỏi máy chủ dưới dạng một đơn vị.
Dan đang loay hoay bởi Firelight

11

Sau khi thử nghiệm thêm, tôi đã tìm thấy một giải pháp công bằng, tuy nhiên nó đi kèm với một sự đánh đổi đáng kể. Các đĩa đã được offlinetách ra nhưng sau đó không thể tách rời có thể được đưa trực tuyến trở lại chỉ với thao tác khôi phục gia tăng (" Khi một thiết bị được đưa trực tuyến, mọi dữ liệu được ghi vào nhóm sẽ được đồng bộ hóa với thiết bị mới có sẵn. "). Trong các thử nghiệm của tôi, điều này mang lại thời gian phục hồi cho máy nhân bản 3 đĩa giảm từ 28 giờ xuống còn hơn 30 phút, với khoảng 40 GB dữ liệu-delta.

Sự đánh đổi là bất kỳ nhóm nào có đĩa ngoại tuyến sẽ được gắn cờ là xuống cấp. Với điều kiện vẫn còn ít nhất hai đĩa trực tuyến (trong một nhóm được nhân đôi), đây thực sự là một cảnh báo - tính toàn vẹn và dự phòng vẫn còn nguyên.

Như những người khác đã đề cập phương pháp tổng thể này là xa lý tưởng - gửi ảnh chụp nhanh đến một nhóm từ xa sẽ phù hợp hơn nhiều, nhưng trong trường hợp của tôi là không khả thi.

Tóm lại, nếu bạn cần xóa đĩa khỏi nhóm và sau đó thêm lại mà không yêu cầu khả năng phục hồi hoàn toàn thì cách tiếp cận tôi khuyên dùng là:

  • ngoại tuyến đĩa trong nhóm: zpool offline pool disk
  • quay xuống ổ đĩa (nếu nó được kéo vật lý): hdparm -Y /dev/thedisk
  • rời khỏi hồ bơi trong tình trạng xuống cấp với ổ đĩa bị lệch
  • để thêm đĩa trở lại hồ bơi: zpool online pool disk

Và, vì điều này vẫn chưa được kiểm chứng, nên có nguy cơ rằng hoạt động phục hồi đồng bằng là không chính xác. Nhóm "trực tiếp" và / hoặc các đĩa ngoại tuyến có thể gặp sự cố. Tôi sẽ cập nhật nếu điều đó xảy ra với tôi, nhưng bây giờ sẽ thử nghiệm phương pháp này.


1
Nếu trình phục hồi sẽ giới thiệu các lỗi dữ liệu, thì các lỗi này sẽ tự động được chữa lành theo thời gian hoặc sau khi chà zpool.
the-wợi

Tôi đã nhận ra giá trị của một cây chà; Tôi đợi cho đến khi sau khi xóa thành công ngoại tuyến và xóa đĩa sao lưu
STW

2
Chỉ cần cập nhật nhanh: trong năm qua phương pháp này đã hoạt động đủ tốt. Kiểm tra khôi phục hàng tháng của bản sao lưu ngoại vi đã thành công và nhất quán. Xoay một mảng (chứ không phải là một đĩa đơn) sẽ tốt hơn để cung cấp mức độ dự phòng trong bản sao ngoại vi và tôi khuyên bạn nên làm điều đó nếu có thể. Nhìn chung, đây vẫn là một cách tiếp cận hackish và gây ra một số rủi ro, nhưng đã cung cấp một bản sao lưu ngoại vi hợp lý an toàn và rẻ tiền cho dữ liệu của chúng tôi.
STW

Tôi sẽ lập luận chống lại việc xoay tất cả các ổ đĩa trong mảng vì việc vận chuyển có thể từ từ làm hỏng tất cả chúng. Tôi sẽ không quay vòng ngay cả khi các ổ đĩa vẫn còn trên trang web.
Costin Gușă

2

Cập nhật vào ngày 15 tháng 10 năm 2015: Hôm nay tôi phát hiện ra zpool splitlệnh tách ra một nhóm mới (với một tên mới) khỏi một nhóm hiện có. splitsạch hơn nhiều offlinedetachvì cả hai nhóm sau đó có thể tồn tại (và được lọc riêng) trên cùng một hệ thống. Hồ bơi mới cũng có thể được làm sạch (và đúng cách) export[ed]trước khi rút khỏi hệ thống.

(Bài viết gốc của tôi sau đây.)

Cảnh báo! Nhiều bình luận khác nhau trên trang này ngụ ý rằng nó có thể (hoặc có thể) đối với zpool detachmột ổ đĩa, và sau đó bằng cách nào đó gắn lại ổ đĩa và truy cập dữ liệu chứa trong đó.

Tuy nhiên, theo chủ đề này (và thử nghiệm của riêng tôi) zpool detachsẽ loại bỏ "thông tin nhóm" khỏi ổ đĩa tách ra. Nói cách khác, a detachgiống như một định dạng lại nhanh chóng của ổ đĩa . Sau khi detachnhiều dữ liệu có thể vẫn còn trên ổ đĩa, nhưng thực tế sẽ không thể truy cập lại ổ đĩa và xem dữ liệu dưới dạng hệ thống tệp có thể sử dụng được.

Do đó, nó có vẻ detachtàn phá hơn destroy, vì tôi tin rằng zpool importcó thể phục hồi các hồ bị phá hủy!

Một detachkhông một umount, cũng không một zpool export, cũng không một zpool offline.

Trong thử nghiệm của tôi, nếu tôi lần đầu tiên zpool offlinemột thiết bị và sau đó zpool detachlà cùng một thiết bị, phần còn lại của hồ bơi sẽ quên thiết bị đó tồn tại. Tuy nhiên, vì bản thân thiết bị đã có offline[d]trước đó detach[ed], bản thân thiết bị không bao giờ được thông báo về detach. Do đó, bản thân thiết bị vẫn có thông tin nhóm và có thể được chuyển sang hệ thống khác và sau đó import[ed](ở trạng thái xuống cấp).

Để bảo vệ thêm chống lại, detachbạn thậm chí có thể rút phích cắm thiết bị sau khi ra offlinelệnh, trước khi ban hành detachlệnh.

Tôi hy vọng sẽ sử dụng cái này offline, sau đó detach, sau đó importxử lý để sao lưu hồ bơi của tôi. Giống như poster ban đầu, tôi dự định sử dụng bốn ổ đĩa, hai trong một gương không đổi và hai cho các bản sao lưu hàng tháng, xoay vòng, ngoài trang web (và ngoại tuyến). Tôi sẽ xác minh từng bản sao lưu bằng cách nhập và lọc nó trên một hệ thống riêng, trước khi vận chuyển nó ra khỏi trang web. Không giống như poster ban đầu, tôi không ngại viết lại toàn bộ ổ đĩa sao lưu mỗi tháng. Trong thực tế, tôi thích viết lại hoàn chỉnh để có bit mới.


0

Trong cùng một máy, bạn đã thử tạo một nhóm mới với 2 ổ đĩa trong gương chưa? Tiếp theo, tạo một ảnh chụp nhanh trên nhóm làm việc của bạn sau đó gửi ảnh chụp nhanh đó đến nhóm mới, lặp lại, sau đó gửi ảnh chụp nhanh tiếp theo sẽ được tăng dần. Điều này không giống với "gửi dữ liệu đến một hệ thống từ xa" vì đây là nhóm trong cùng một hệ thống / máy chủ / máy. Với thiết lập này, bạn vẫn có thể áp dụng zpool split / offline / detach / Đính kèm nhưng bạn chỉ thực hiện nó trong nhóm thứ hai (sao chép) chứ không phải trên nhóm nguồn.

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.