Hầu hết người dùng Linux desktop có lẽ đã nghe nói về hệ thống tệp "Copy on Write" (CoW) như ZFS hay Btrfs, và cùng với đó là những lợi ích của các hệ thống tệp CoW này. Nén, chức năng RAID tích hợp và khả năng snapshot khiến chúng trở thành những hệ thống tệp tiên tiến và hiện đại nhất. Nhưng làm thế nào để bắt đầu với một trong những hệ thống tệp này? Vì Btrfs hoàn toàn FOSS và được tích hợp sẵn trong Linux Kernel, đó là điểm khởi đầu tuyệt vời. Ở đây chúng tôi sẽ hướng dẫn bạn qua hướng dẫn người mới bắt đầu về Btrfs.
Hỗ trợ Btrfs trên Linux
Một trong những điểm tuyệt vời của Btrfs so với ZFS là Btrfs đã có sẵn trong cây nguồn (in-tree), nghĩa là nó đã có trong Linux Kernel. Không có gì cần cài đặt, không cần cấu hình – bạn có thể sử dụng nó ngay lập tức. Tuy nhiên, bạn nên kiểm tra sự hỗ trợ Btrfs của các bản phân phối khác nhau, vì một số bản tốt hơn các bản khác. Nó đã là một phần của mainline Kernel từ phiên bản 2.6.29, và chúng ta đang tiến gần đến 5.10, nên có lẽ mọi thứ sẽ ổn.
Tạo phân vùng Btrfs
Điều đầu tiên bạn muốn làm là sử dụng lệnh mkfs đáng tin cậy để tạo một phân vùng bạn sẽ sử dụng cho công việc Btrfs. Nếu bạn không thoải mái sử dụng terminal, bạn có thể dùng GParted để quản lý phân vùng. Điều này tốt nếu bạn muốn xem các phân vùng trước khi ghi chúng vào đĩa.
Để tạo phân vùng Btrfs, chỉ cần xác định ổ đĩa hoặc phân vùng của bạn và sử dụng lệnh mkfs.btrfs. Hệ thống tôi đang demo có ba ổ đĩa, và tôi sẽ chọn "/dev/vdb1" cho cái đầu tiên. Bạn có thể phải chỉ định tùy chọn -f nếu có bảng phân vùng hiện có.
Một khi hoàn tất, bạn sẽ muốn quyết định nơi mount subvolume đó. Điều này phụ thuộc vào mục đích sử dụng: nếu là cho thư viện game, bạn có thể tạo thư mục trong "/home" tên Games và mount tại "~/Games". Nếu là cho giải pháp backup, bạn có thể muốn mount trong thư mục "/mnt" để dễ quản lý. Tôi sẽ tạo thư mục "/mnt/btrfs" để đơn giản.
Tôi sẽ mount thiết bị Btrfs "/dev/vdb" vào điểm mount đó bằng lệnh sau:
sudo mount -t btrfs /dev/vdb /mnt/btrfs
Thiết bị và điểm mount cụ thể sẽ khác nhau tùy thuộc vào chính xác những gì bạn đang làm.
Tạo Btrfs Subvolume
Trong Btrfs, subvolume chỉ là một thư mục nơi Btrfs có thể thao tác theo cách CoW đặc biệt của nó. Để làm điều này, bạn sẽ dùng lệnh subvolume create dưới btrfs.
btrfs subvolume create /mnt/btrfs/backups
Tôi đang tạo một subvolume cho backup của hệ thống này, nhưng bạn có thể đặt tên bất cứ thứ gì bạn muốn. Bạn có thể sử dụng thư mục này như bất kỳ thư mục nào khác, chỉ biết rằng nó sẽ hưởng lợi từ các công cụ nhúng trong Btrfs.
Snapshot Btrfs Subvolume
Một trong những phần tuyệt vời của Btrfs là khả năng snapshot tích hợp. Có một số công cụ cho nó, như Snapper, nhưng chính lệnh btrfs có một subcommand subvolume snapshot tuyệt vời. Tôi có một tệp tên "btrfs-test.txt" trong thư mục "/mnt/btrfs/backups".
Để snapshot thư mục này (hoặc bất kỳ Btrfs subvolume nào), cú pháp lệnh là btrfs subvolume snapshot /ĐƯỜNG/DẪN/SUBVOLUME /ĐƯỜNG/DẪN/SUBVOLUME/SNAPSHOT. Với trường hợp của tôi, tôi sẽ chạy lệnh sau:
btrfs subvolume snapshot /mnt/btrfs/backups /mnt/btrfs/backups/snapshots/
Nếu bạn đang cố gắng theo dõi dữ liệu, tôi khuyên nên đặt tên thư mục snapshot có dấu thời gian để biết khi nào sự việc xảy ra.
Bạn cũng có thể dùng cờ -r để tạo snapshot chỉ đọc, điều này quan trọng cho các chức năng btrfs send và receive mà chúng ta sẽ đề cập sau.
Nếu bạn điều hướng đến bất kỳ thư mục nào bạn gửi snapshot đến, bạn sẽ tìm thấy tất cả dữ liệu giống hệt như trong thư mục bạn đã snapshot, tất cả gọn gàng trong cùng cấu trúc. Đây là một thủ thuật tuyệt vời để đảm bảo dữ liệu của bạn được bảo vệ trong trường hợp xảy ra thảm họa.
Bạn có thể dùng điều này để snapshot toàn bộ hệ thống và dùng lệnh btrfs send và btrfs receive để gửi nó đến thiết bị btrfs khác. Lệnh sẽ trông như thế này:
sudo btrfs send /mnt/btrfs/backups/ro-snapshot/ | btrfs receive /mnt/btrfs-send-test/
Điều này tuyệt vời nếu bạn có thiết bị Btrfs trên NAS hoặc mảng RAID trong hệ thống và muốn snapshot hệ điều hành và gửi nó qua đó. Bạn có thể mount một trong những snapshot đó bằng lệnh mount, cho phép truy cập lại dữ liệu đó.
Nếu bạn thích bài viết này về Btrfs, hãy xem thêm một số nội dung Linux khác của chúng tôi, như cách xây dựng PC mới cho Linux, 8 công cụ dễ dàng tạo bản phân phối Linux riêng, và 12 game tốt nhất cho Linux năm 2020.