Ảnh chụp nhanh LVM so với ảnh chụp nhanh hệ thống tệp


32

Theo như tôi biết, LVM cho phép chụp ảnh nhanh một âm lượng. Ngoài ra còn có một số hệ thống tệp (ZFS, Btrfs, reiserfs, ...) hỗ trợ ảnh chụp nhanh.

Tuy nhiên, tôi chưa bao giờ hiểu sự khác biệt giữa ảnh chụp nhanh LVM và ảnh chụp nhanh hệ thống tệp. Nếu có thể chụp ảnh nhanh với LVM, tại sao ai đó lại dành thời gian để thực hiện nó trong một hệ thống tệp?

Chỉnh sửa: Có ai trong số họ ưa thích trong một số tình huống? Tại sao?

Câu trả lời:


25

Hầu hết các ảnh chụp nhanh này là ảnh chụp nhanh sao chép, rất nhanh và thực sự rẻ (lưu trữ thông minh) trên các hệ thống hiếm khi được cập nhật. Ảnh chụp nhanh LVM là ảnh chụp nhanh COW, ZFS / BTRFS đều có chế độ COW để chụp nhanh, reiserfs không có ảnh chụp nhanh, hệ thống tệp NSS của Novell cũng là COW, cũng như khối lượng Shadow Copy cho khối lượng NTFS của Windows.

Ảnh chụp nhanh sao chép khi ghi sẽ sao chép siêu dữ liệu của âm lượng đích vào nhóm ảnh chụp nhanh. Sau đó, tùy thuộc vào chế độ COW nào họ đang sử dụng, họ sao chép dữ liệu sẽ được ghi đè bằng cách ghi mới vào nhóm ảnh chụp trước khi ghi dữ liệu mới.

ZFS và (cuối cùng nếu chưa có) BTRFS có khả năng chụp nhanh, rất hữu ích để chụp vào các phương tiện riêng biệt, điều này rất tiện cho các hệ thống sao lưu lén sử dụng phương tiện di động. ZFS không gọi đây là "ảnh chụp nhanh", họ tận dụng khả năng sử dụng của ZFS zfs sendzfs recvsao chép khối lượng và ảnh chụp nhanh qua mạng vào máy chủ từ xa (hoặc mảng cục bộ).

Tôi thích các khả năng chụp nhanh ở cấp hệ thống hơn các LVM vì tôi tin tưởng tốt hơn vào chính hệ thống tệp để xử lý sạch quy trình. Tuy nhiên, trong trường hợp thiếu hỗ trợ hệ thống tập tin trực tiếp, LVM sẽ hoạt động tốt trong hầu hết các trường hợp.

Ảnh chụp nhanh COW là tốt nếu bạn cần một bản sao lưu tại thời điểm thực hiện rất nhanh cho các nhu cầu phục hồi ngắn hạn. Chẳng hạn như thực hiện hàng ngày, hoặc 4x hàng ngày, chụp để được giữ trong một tuần. Điều này rất hữu ích nếu bạn cần khôi phục các tệp mà người dùng vô tình xóa hoặc cần khôi phục lại toàn bộ hệ thống về cấu hình cập nhật trước. Chúng cũng có thể được sử dụng bởi một số hệ thống sao lưu như một hệ thống tệp được kiểm tra hoàn toàn, do đó, các bản sao lưu được lấy từ khối lượng ảnh chụp nhanh không phải lo lắng về việc mở các tệp đang cản trở. Điều quan trọng cần nhớ là khối lượng ảnh chụp nhanh sẽ nằm trên cùng một bộ lưu trữ với âm lượng chính, vì vậy đừng cung cấp cho bạn bất cứ điều gì trong trường hợp thất bại mảng.

Ảnh chụp nhanh FULL là tốt nếu chúng được đưa đến phương tiện di động hoặc phương tiện từ xa nào đó. Nếu bạn có bộ lưu trữ được nối mạng, mục tiêu có thể là một mảng iSCSI hoặc Kênh sợi khác với bộ lưu trữ chính được lưu trữ. Điều này cung cấp cho bạn một số bảo vệ ngoài mảng cho một số loại lỗi. Nếu sử dụng phương tiện lưu động, chẳng hạn như ổ ESATA 3TB, bạn thậm chí có thể sử dụng nó như một hệ thống sao lưu vào đĩa đơn giản. Các ảnh chụp nhanh này có thể trên phần cứng khác với anh em COW của họ, vì vậy rất hữu ích cho khả năng phục hồi thảm họa.


Trên ảnh chụp nhanh Full vs COW.

Thuật ngữ 'ảnh chụp nhanh' đã trôi đi một chút trong những năm qua. Năm nay, tôi khá chắc chắn rằng nó có nghĩa là "bản sao Sao chép dữ liệu gốc bằng cách sử dụng di chuyển khối". Theo định nghĩa này, ảnh chụp nhanh "Đầy đủ" được trình bày ở trên không thực sự là ảnh chụp nhanh, đó là bản sao. Một số nhà cung cấp lưu trữ đã sử dụng các định nghĩa khác nhau về 'ảnh chụp nhanh' trong quá khứ để mô tả các hoạt động cấp khối khác nhau mà họ thực hiện. Nơi nó gây nhầm lẫn là các hệ thống sử dụng ảnh chụp nhanh như một phần của quy trình sao chép.


«Ảnh chụp nhanh ở cấp độ hệ thống được ưu tiên hơn một lần qua LVM vì thực tế đơn giản là hệ thống tệp biết cách giữ cho nó nhất quán trong quá trình chụp nhanh, trong đó LVM có thể '» - thực tế, nó hóa ra không đúng. Hãy xem thử: serverfault.com/questions/300961/ từ
poige

1
«ZFS và (cuối cùng nếu chưa có) BTRFS có khả năng chụp nhanh toàn bộ» - Bạn nên giải thích ý của bạn với ảnh chụp nhanh "đầy đủ". AFAIK, không có lựa chọn "COW / đầy đủ" cho ảnh chụp nhanh với ZFS. Tất cả các ảnh chụp nhanh là COW nhưng tuy nhiên có thể được lưu sau đó trên một phương tiện riêng biệt dưới dạng toàn bộ hệ thống tệp hoặc âm lượng.
jlliagre

5

LVM yêu cầu lập kế hoạch trước. Tôi có xu hướng không sử dụng nó bởi vì nó cũng là một lớp trừu tượng khác và hiếm khi có sẵn khi tôi cần. Tuy nhiên, có các tùy chọn khác để sao chép ở cấp hệ thống tệp (trong Linux) mà không cần LVM. Bạn có thể sử dụng Hot Copy từ R1Soft để làm điều này. Đây là một mô-đun hạt nhân, nhưng cho phép bạn thêm khả năng này một cách nhanh chóng.


3

Vấn đề rất rõ ràng: Ảnh chụp nhanh của LVM không được đảm bảo có jue FS nhất quán do LVM "không biết" gì về FS nó đang được tải với

Đã chỉnh sửa (xem các bình luận): - đúng trừ khi FS có hỗ trợ .freeze_fs, nếu không thì nên xử lý một cách duyên dáng bởi FS.


2
Sai; LVM hỗ trợ hệ thống tập tin tự đồng bộ hóa trước khi chụp ảnh nhanh.
womble

1
@womble: ngay cả sau đó sync, ảnh chụp nhanh là bản sao chính xác của hệ thống tệp đã được gắn; Vì vậy, khi bạn gắn kết nó, nó xuất hiện dưới dạng 'không hoàn toàn chưa được chỉnh sửa' (vì nó không được kết nối) và phải thực hiện một số hành động khắc phục trước khi nó nhất quán. Tất nhiên, đó thường chỉ là một phát lại tạp chí và sau syncđó, nó sẽ là một phát lại trống; vì vậy không có nguy cơ mất dữ liệu.
Javier

1
@womble, 1) Đồng bộ hóa là không đủ , vì sẽ có một cửa sổ cho các yêu cầu I / O mới ngay giữa quá trình đồng bộ hóa và xử lý ảnh chụp nhanh của LVM. Nó đòi hỏi loại chặn. 2) XFS có tính năng đặc biệt gọi là "đóng băng" ( xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.) - điều đặc biệt cho ảnh chụp nhanh, LVM-2 có biết về nó và sử dụng nó không? 3) Nói cho tôi biết nơi hoặc trong user-space ( sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) hoặc trong các nguồn kernel tôi có thể chứng minh bạn kể đúng là chúng ta biết rằng LVM prods FS tới đồng bộ hóa.
poige

9
ok, tôi đã làm xong bài tập về nhà và bây giờ có thể trả lời phần 3 của câu hỏi của tôi - thực ra, LVM sử dụng kernel của freeze_bdev () như đã nói trong tiêu đề của nó lock a filesystem and force it into a consistent state. Vì vậy, ít nhất tôi có thể nói rằng có lẽ tôi đã sai khi nói "không đảm bảo có FS nhất quán", vì đó là vấn đề hỗ trợ freeze_fs 'phương pháp' trong triển khai FS - một số FS chắc chắn có hỗ trợ như vậy (EXT3, Reiser3, XFS), và một số không (EXT2, ví dụ). Ngoài ra, nó trả lời câu hỏi thứ 2 - việc đóng băng của XFS hoàn toàn có khả năng được xử lý tự động với LVM.
poige

1

Như bổ sung cho câu trả lời khác. Trong ảnh chụp nhanh FS, bạn có thể hưởng lợi từ các tính năng của FS như nén và sao chép trên tất cả các ảnh chụp nhanh.

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.