Anaconda trong Fedora 45 sẽ bổ sung một tùy chọn mới cho cấu hình lưu trữ: Stratis, một giải pháp hiện đại để quản lý lưu trữ cục bộ.
Stratis không phải là một công nghệ hoàn toàn mới. Nó dùng những công cụ và công nghệ sẵn có như device mapper, LUKS và XFS rồi tích hợp chúng thành một gói dễ sử dụng. Mục tiêu là cung cấp các tính năng lưu trữ hiện đại trong khi che giấu phần logic thường khá phức tạp phía sau. Việc bổ sung hỗ trợ vào trình cài đặt đưa những tính năng này đến gần người dùng Fedora hơn.
Khi làm việc với Stratis, bạn chỉ cần biết hai cấu trúc hay lớp cơ bản: pool và filesystem. Pool là một lớp trừu tượng nằm trên các block device sẵn có (đĩa, phân vùng, mảng RAID, v.v.). Một pool có thể gồm một hoặc nhiều thiết bị (chẳng hạn với hệ thống có nhiều đĩa). Các tính năng như mã hóa hay over-provisioning cũng được cấu hình ở cấp pool. Trên pool có thể tạo nhiều filesystem; đây là những thiết bị sẽ đóng vai trò volume root hoặc home của bạn. Một số tính năng bổ sung mà Stratis hỗ trợ gồm snapshot, caching, và với pool được mã hóa là nhiều phương thức mở khóa như TPM hoặc Clevis/Tang. Caching và mã hóa không dùng passphrase hiện chưa được Anaconda hỗ trợ, nhưng có thể bật dễ dàng sau khi cài đặt.
Việc quản lý thiết bị Stratis có thể thực hiện bằng lệnh stratis. Để biết thêm thông tin, xem bài viết cũ nhưng vẫn còn giá trị của chúng tôi Getting started with Stratis hoặc hướng dẫn how-to của dự án Stratis.
Cài đặt bằng Web UI
Giao diện người dùng dựa trên web mới của trình cài đặt Anaconda hiện chưa cho phép chọn loại công nghệ lưu trữ sẽ dùng cho các tùy chọn phân vùng tự động và có hướng dẫn. Bố cục lưu trữ bạn nhận được phụ thuộc vào biến thể Fedora bạn chọn cài. Nhưng nếu muốn dùng Stratis, bạn vẫn có một lựa chọn trong bản cài đặt đồ họa. Mọi bố cục lưu trữ đều có thể được tạo thủ công bằng module lưu trữ Cockpit, vốn được tích hợp vào trình cài đặt. Để vào đó, chỉ cần chọn tùy chọn If none of the options above apply… ở bước Installation Destination.
Module lưu trữ Cockpit hỗ trợ nhiều cấu hình lưu trữ khác nhau, và Stratis là một trong những công nghệ được hỗ trợ. Đừng quên rằng khi phân vùng thủ công, bạn phải tạo tất cả các phân vùng bắt buộc, nên trước tiên hãy tạo các phân vùng cần cho việc khởi động (/boot và /boot/efi hoặc biosboot, tùy theo cấu hình hệ thống của bạn). Sau đó, chỉ cần tạo một pool Stratis mới từ menu.
Tạo pool Stratis
Sau khi chọn tên cho pool và đĩa (hoặc các đĩa) mà pool sẽ nằm trên đó, bạn có thể quyết định có bật mã hóa và over-provisioning cho pool hay không. Over-provisioning cho phép cấp phát nhiều không gian hơn cho các filesystem được tạo trên pool, tương tự cách LVM thin provisioning và Btrfs làm. Khi bật over-provisioning, bạn không cần lo hết dung lượng ở root trong khi /home vẫn còn nhiều chỗ trống. Nó cũng cho phép linh hoạt hơn khi dùng snapshot. Mặt khác, bạn thực sự cần ý thức rằng mình không thực sự có hàng terabyte dung lượng và phải đảm bảo mình sẽ không thực sự hết dung lượng trên đĩa. Cả mã hóa lẫn over-provisioning đều có thể được bật hoặc tắt sau khi cài đặt.
Tạo filesystem Stratis
Khi đã tạo pool mới, bạn cần thêm một số filesystem vào đó. Nhiều khả năng bạn sẽ muốn hai filesystem riêng biệt tiêu chuẩn cho / và /home. Nhưng bạn cũng có thể tạo một filesystem riêng cho /var, chẳng hạn.
Nếu bật over-provisioning trên pool, bạn cũng có thể chọn không chỉ định kích thước cho các filesystem và dùng kích thước mặc định 1 TiB với over-provisioning, hoặc đặt giới hạn kích thước cho filesystem để ngăn nó tự động tăng nếu bạn hết dung lượng.
Dùng bố cục đã cấu hình
Khi đã tạo xong tất cả filesystem, bạn có thể chọn Return to installation. Anaconda sẽ kiểm tra các thiết bị đã tạo để đảm bảo mọi yêu cầu đều được đáp ứng và đưa bạn trở lại trang Installation destination, nơi tùy chọn mới Use configured storage sẽ được chọn sẵn cùng các thiết bị vừa tạo.
Đến đây là xong phần lưu trữ của quá trình cài đặt. Bạn có thể kiểm tra lại ở trang Review and install rằng mọi thứ đã được đặt đúng và bắt đầu cài đặt.
Cài đặt bằng kickstart
Với người dùng nâng cao muốn dùng cài đặt tự động, hỗ trợ kickstart đầy đủ cho Stratis cũng đã có. Cả phân vùng tự động lẫn thủ công đều khả dụng qua kickstart.
Phân vùng tự động rất đơn giản: lệnh autopart sẵn có có thể dùng với –type=stratis để tạo bố cục lưu trữ Stratis mặc định hoàn toàn tự động. Một phần lưu trữ trong kickstart để thiết lập bố cục Stratis được mã hóa có thể trông như sau:
zerombr
clearpart --all --initlabel
autopart --type=stratis --encrypted --passphrase="passphrase"
Phân vùng thủ công đòi hỏi phải xây dựng toàn bộ bố cục lưu trữ bằng tay từ dưới lên. Hai lệnh kickstart Stratis mới đã được thêm: stratispool để tạo và quản lý pool Stratis, và stratisfs để tạo và quản lý filesystem Stratis. Cách dùng các lệnh này và hầu hết các tùy chọn tương tự cách phân vùng kickstart hoạt động với LVM. Ví dụ về một bố cục Stratis nâng cao hơn có thể xem bên dưới.
reqpart
part /boot --fstype=ext4 --size=500
part stratis.01 --size=1 --grow --ondisk=vda
part stratis.02 --size=1 --grow --ondisk=vdb
stratispool fedora stratis.01 stratis.02
stratisfs / --name=root --poolname=fedora --size=5000 --grow
stratisfs /home --name=home --poolname=fedora --size=1 --grow
Ở đây chúng ta tạo một pool tên fedora trên hai đĩa vda và vdb, với hai filesystem. Một cái tên root cho / và cái thứ hai tên home cho /home. Tùy chọn –grow bảo trình cài đặt dùng toàn bộ dung lượng trống sẵn có khi tạo thiết bị. Để biết thêm chi tiết về các lệnh, xem tài liệu kickstart.
Kết luận
Hỗ trợ Stratis mới được giới thiệu trong Anaconda mang đến một cách dễ dàng để tận dụng các tính năng lưu trữ hiện đại mà Stratis cung cấp. Với hỗ trợ Web UI thông qua module lưu trữ Cockpit, giờ đây bạn có thể dễ dàng dùng Stratis trên hệ thống của mình. Chúng tôi dự định đơn giản hóa quy trình hơn nữa trong các bản phát hành tương lai và bật thêm nhiều tính năng Stratis nâng cao hơn.
Nếu bạn gặp bất kỳ vấn đề nào hoặc có phản hồi, cả nhóm Anaconda lẫn nhóm Stratis đều rất mong được nghe từ bạn.




