Nếu bạn đã quyết định sử dụng ZFS trên các thiết bị lưu trữ của mình, xin chúc mừng! Bạn đang sử dụng một trong những hệ thống tệp phức tạp và giàu tính năng nhất trên hành tinh. Và nếu bạn quyết định lưu trữ dữ liệu dài hạn, chẳng hạn như ảnh và video gia đình, hãy nghiêm túc xem xét ZFS. Trong một thiết lập dự phòng, chẳng hạn như bốn ổ cứng được nhân đôi, nó hoàn toàn đảm bảo rằng bạn sẽ không bao giờ mất một bit dữ liệu nào do lỗi bit hoặc các dạng suy giảm dung lượng khác theo thời gian, lỗi máy tính, v.v. ZFS có thể tự chữa lành và phục hồi dữ liệu tự động. Các thuật toán phức tạp, hàm băm và cây Merkle đảm bảo tính toàn vẹn của dữ liệu.
Tuy nhiên, trong hướng dẫn này tại sao ZFS là lựa chọn tốt nhất để lưu trữ dữ liệu dài hạn không được đề cập. Thay vào đó, những gì ảnh chụp nhanh và bản sao có thể làm cho bạn đang được thảo luận.
Ảnh chụp nhanh và sao chép ZFS là gì?
Ảnh chụp nhanh chỉ đơn giản là một bức tranh chính xác về trạng thái dữ liệu của bạn tại một thời điểm nhất định. Ví dụ:giả sử bạn đang làm việc trên một trang web phức tạp. Bạn lưu trữ tất cả mã, cơ sở dữ liệu và hình ảnh trên tập dữ liệu ZFS của mình. Bạn thay đổi thiết kế của trang web, sửa đổi một số hình ảnh, thay đổi một số kích thước bố cục và sửa đổi một số mã để làm cho tất cả những điều này phù hợp. Nếu bạn muốn hoàn nguyên về thiết kế trước đó, bạn sẽ phải hoàn nguyên tất cả những thay đổi đó riêng lẻ. Với ZFS, bạn có thể chỉ cần chụp nhanh thiết kế hiện tại của mình, thực hiện tất cả các thay đổi bạn muốn thực hiện và nếu bạn không hài lòng với thiết kế mới, chỉ cần quay lại ảnh chụp nhanh trước đó. Và vâng, đó là sự thật, có Git, GitHub và thậm chí một số trình chỉnh sửa mã bao gồm khả năng chụp nhanh và quay lại. Nhưng với ZFS cũng bao gồm các tính năng sau:
- Ảnh chụp nhanh là toàn cầu. Họ tạo ra ảnh chụp nhanh của tất cả dữ liệu có trong dự án của bạn.
- Ảnh chụp nhanh và quay lại gần như ngay lập tức, bất kể dự án của bạn lớn đến mức nào (ngay cả khi nó có hàng trăm gigabyte).
Không có giới hạn về số lượng ảnh chụp nhanh. Bạn có thể có “Thiết kế 1”, “Thiết kế 2” và “Thiết kế 3” và tự do chuyển đổi giữa chúng, thực hiện thay đổi và tạo ảnh chụp nhanh mới:“Thiết kế 2 - Cải tiến”.
Bản sao
Trong khi ảnh chụp nhanh về cơ bản là trạng thái dữ liệu được đóng băng mà bạn có thể quay lại, các bản sao giống như các nhánh bắt đầu từ một điểm chung. Để hiểu rõ hơn, hãy tưởng tượng kịch bản sau:Bạn tạo một video cho một chiến dịch quảng cáo. Sau đó, bạn chụp nhanh video này (thực sự là của tập dữ liệu ZFS nơi bạn lưu trữ video của mình). Bây giờ, bạn sao chép ảnh chụp nhanh này ba lần. Bạn đưa “Bản sao 1” cho một nhân viên, “Bản sao 2” cho một nhân viên khác và “Bản sao 3” cho nhân viên thứ ba. Giờ đây, mỗi người có thể làm việc trong không gian riêng của mình và thực hiện các thay đổi mong muốn.
Tại sao điều này lại hữu ích? Video có thể chiếm một lượng lớn dung lượng ổ đĩa. Phim thô có độ phân giải cao có thể yêu cầu hàng trăm hoặc hàng nghìn GB dung lượng lưu trữ. Nếu video chính cần 500GB dung lượng lưu trữ và ba người cần sao chép và thực hiện các thay đổi khác nhau, điều này sẽ yêu cầu hơn 1500GB dung lượng lưu trữ.
Với ZFS, ảnh chụp nhanh và ba (hoặc nhiều hơn) bản sao sẽ yêu cầu không quá 501GB dung lượng lưu trữ. Các khối dữ liệu không thay đổi (tất cả các bản sao đều có điểm chung này) chỉ được lưu trữ một lần. Bằng cách này, chỉ những khác biệt mà mỗi trình soạn thảo thêm vào mới được lưu trữ dưới dạng dữ liệu bổ sung. Trong một kịch bản thế giới thực, bạn có thể cần một thứ gì đó giống như 650GB dữ liệu cho cả ba bản sao. Đó là cách sử dụng hiệu quả bộ nhớ và tài nguyên, đồng thời dữ liệu được cách ly thích hợp để mỗi người chỉnh sửa có thể làm việc theo ý mình.
Tất nhiên, nó hữu ích cho nhiều trường hợp khác mà bạn cần phân nhánh cùng một nội dung theo nhiều hướng khác nhau, ngay cả khi yêu cầu về dung lượng đĩa không phải là mối quan tâm.
Các lệnh được sử dụng để làm việc với ZFS Snapshots
Trong khi các bản phân phối Linux khác có thể sử dụng trình quản lý hệ thống tệp / khối lượng này, Ubuntu cung cấp hỗ trợ tốt nhất cho đến nay, cho ZFS.
Vì không phải tất cả người dùng đều có sẵn toàn bộ đĩa để cung cấp ZFS, nên có thể hữu ích khi biết rằng bạn cũng có thể tạo một nhóm trên một phân vùng trống bằng lệnh như sudo zpool create pool_name /dev/sda3
, trong đó /dev/sda3
là tên thiết bị của phân vùng thứ ba trên đĩa đầu tiên của bạn.
Sau khi bạn cài đặt các gói phù hợp và tạo tập dữ liệu ZFS đầu tiên, đây là cách bạn tạo một ảnh chụp nhanh.
Trước tiên, hãy tìm tên của tập dữ liệu ZFS mà bạn muốn chụp nhanh.
zfs list
Trong ví dụ này, tên của tập dữ liệu là data
và tên của ảnh chụp nhanh sẽ là snap1
. Thay thế các giá trị này trong lệnh tiếp theo bằng những giá trị áp dụng trong trường hợp của bạn. Để tạo một ảnh chụp nhanh, hãy nhập:
sudo zfs snapshot data@snap1
Nếu trong trường hợp của bạn, tập dữ liệu được đặt tên là videos
và bạn muốn gọi ảnh chụp nhanh của mình first
, lệnh sẽ là:
sudo zfs snapshot videos@first
Để khôi phục các thay đổi và khôi phục tập dữ liệu của bạn về nội dung chính xác mà nó có khi bạn chụp ảnh nhanh, hãy sử dụng:
sudo zfs rollback data@snap1
Khi bạn không cần chụp nhanh nữa, hãy xóa nó bằng:
sudo zfs destroy data@snap1
Các lệnh được sử dụng để làm việc với các bản sao ZFS
Giả sử bạn có một ảnh chụp nhanh được gọi là “data @ snap1”, hãy sao chép nó với:
sudo zfs clone data@snap1 data/clone1
Để xóa bản sao:
sudo zfs destroy data/clone3
Và bạn cũng có thể chụp nhanh các bản sao.
sudo zfs snapshot data/clone2@snap_of_clone
Trong tương lai, khi bạn muốn ghi nhớ tất cả các ảnh chụp nhanh và bản sao bạn đã tạo, hãy sử dụng:
zfs list -t all
Kết luận
Điều này bao gồm tất cả các thao tác cơ bản mà bạn có thể thực hiện với ảnh chụp nhanh và sao chép ZFS. Có thể hữu ích khi biết rằng mỗi tập dữ liệu có một thư mục ẩn bên trong được gọi là “.zfs”. Với một lệnh như ls /data/.zfs/snapshot/snap1/
, bạn có thể xem trạng thái của tệp trong ảnh chụp nhanh. Vì nó hoạt động giống như một thư mục thông thường (chỉ đọc), bạn cũng có thể sao chép các tệp riêng lẻ từ một ảnh chụp nhanh trong trường hợp bạn không cần phải hoàn nguyên toàn bộ ảnh chụp nhanh.