Chính xác thì các tham số Linux 'allow-disard' và 'root_trim' làm gì?


10

Hiện tại có rất nhiều hướng dẫn liên quan đến SSD trực tuyến nói rằng bạn nên thêm các phần cho phéproot_trim = yes vào GRUB_CMDLINE_LINUX của bạn. Tôi vẫn chưa tìm thấy một lý do tại sao bạn nên làm điều đó, tức là chính xác những gì (nếu có bất cứ điều gì!) Làm những tham số đó làm. Tài liệu về vấn đề này ở đâu và nó nói gì về mục đích của hai tham số đó?

Theo Ghi chú phát hành Cryptsetup 1.4.0 ,

Vì kernel 3.1, các thiết bị dm-crypt tùy chọn (không phải mặc định) hỗ trợ loại bỏ các khối (TRIM). Nếu bạn muốn kích hoạt thao tác này, bạn phải kích hoạt thủ công trên mỗi lần kích hoạt bằng cách sử dụng --allow-disards

cryptsetup luksOpen --allow-discards /dev/sdb test_disk 

nhưng nó có giống nhau khi được truyền vào kernel (thông qua GRUB_CMDLINE_LINUX) không?

Chỉnh sửa: Danh sách các tham số kernel của Kernel.org không (hiện tại, ít nhất là tháng 1 năm 2013) có một trong các tùy chọn này.


Có thể xem qua webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drive.html Không đưa ra lời giải thích, nhưng thủ tục nhanh chóng ...
alci

1
Như tôi đã nói, net đầy đủ các hướng dẫn mà không cần giải thích. Tôi sau khi giải thích, không phải là thủ tục.
Jani Uusitalo

Câu trả lời:


6

Theo hiểu biết của tôi, tham số khởi động root_trim=yeslà Gentoo cụ thể. Trong genkernelđó có một đoạn script tìm tham số và đặt tùy chọn --allow-discardsvới cryptsetup (xem kho git của chúng ). Hơn nữa, tôi đã tìm thấy nhiều báo cáo của người dùng Ubuntu hoặc Debian nói rằng nó hoạt động mà không có root_trimtham số. Tôi cũng không tìm thấy dòng nào trong update-initramfskịch bản Ubuntus .

Vì vậy, tất cả trong tất cả nó không có tham số khởi động, nhưng nhiều hơn một tham số cryptsetup. Các tài liệu về --allow-discardscó thể được tìm thấy trong trang của cryptsetup (8) :

--allow-disard
Cho phép sử dụng các yêu cầu loại bỏ (TRIM) cho thiết bị. Tùy chọn này chỉ có liên quan để tạo , luksOpen hoặc loopaesOpen .

CẢNH BÁO : Đánh giá các rủi ro bảo mật cụ thể một cách cẩn thận trước khi bật tùy chọn này. Ví dụ: cho phép loại bỏ trên các thiết bị được mã hóa có thể dẫn đến rò rỉ thông tin về thiết bị mã hóa (loại hệ thống tệp, không gian sử dụng, v.v.) nếu các khối bị loại bỏ có thể được định vị dễ dàng trên thiết bị sau này.

Phiên bản hạt nhân 3.1 trở lên là bắt buộc. Đối với các phiên bản cũ hơn là tùy chọn bỏ qua.

Dựa trên blog này trên TRIM & dm-crypt , TRIM là hoạt động trong đó lớp trên (ví dụ: hệ thống tệp) thông báo cho thiết bị những ngành nào không còn được sử dụng (không chứa dữ liệu hợp lệ nữa) và thiết bị không cần giữ nội dung dữ liệu đó .

Trong thuật ngữ Linux là hoạt động này được gọi là loại bỏ. Trong thế giới SCSI, nó được gọi là lệnh UNMAP.

Hoạt động loại bỏ có thể được sử dụng cho hai mục đích: Cung cấp mỏng (thông báo rằng khu vực dữ liệu có thể được trả về nhóm phân bổ) và để tối ưu hóa hoạt động của SSD.

Discards là hữu ích nhất để tối ưu hóa SSD vì kiến ​​trúc bên trong sử dụng các khối lớn hơn các sector và rằng các khối phải bị xóa trước khi có thể thực hiện thao tác ghi. Thông tin về các lĩnh vực không cần giữ dữ liệu rất hữu ích vì hệ thống tập tin có thể tổ chức các khối hiệu quả hơn theo cách giảm thiểu sự phân mảnh dữ liệu và tuổi thọ của đĩa sẽ tăng lên.


Vì vậy, không có tùy chọn nào là cần thiết nếu hệ thống tập tin không bị thiếu? Tại sao hai tùy chọn nếu tất cả những gì họ làm là cho phép một lệnh hoạt động?
Jani Uusitalo

Cảm ơn bạn đã chỉ ra mối quan hệ giữa tham số kernel và tùy chọn mount / devicemapper trong câu trả lời được cập nhật của bạn. +1 lần này. :)
gertvdijk

Câu trả lời này đang bắt đầu để nhìn tốt. Tôi cũng tìm thấy allow_discards trong tài liệu hiện tại của dm-crypt ; mọi thứ dường như ngụ ý nó không phải là một tham số kernel mà là một tùy chọn cho mục tiêu ánh xạ thiết bị dm-crypt. Tôi vẫn đang cố gắng tìm hiểu xem những thứ đó có thể được truyền vào dòng lệnh linux không. Điều đó sẽ giải thích các hướng dẫn vẹt khắp nơi, nếu không nó có lẽ chỉ là thông tin sai.
Jani Uusitalo

1
@JaniUusitalo Nó thực sự không có ý nghĩa đối với tôi để biến điều này thành một tham số hạt nhân (toàn cầu). 1) bạn thực sự muốn chỉ định tùy chọn hệ thống tập tin / thiết bị này thay vì toàn hệ thống, 2) tùy chọn mount / fstab cho phép bạn làm như vậy, 3) khi khởi động (trước khi initramfs đã gắn kết bạn /đọc / ghi) bạn ' không có khả năng cần chức năng này.
gertvdijk

4
Tham số hạt nhân của các phép loại bỏ có thể là Archism: rõ ràng trong Arch, bạn thông báo cho GRUB về một gốc được mã hóa với (ví dụ) "cryptdevice = / dev / mapper / root: root: allow-disards". Điều này được người dùng Ubuntu chọn có thể là do wiki của Arch được gọi là "Tài liệu tham khảo tốt nhất" bởi EncryptedFilesystems của Ubuntu wiki .
Jani Uusitalo
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.