Що саме роблять параметри Linux з дозволом і «root_trim»?


10

Багато SSD пов'язаних інструкцій в Інтернеті в даний час говорять , що ви повинні додати Allow-покидьки і root_trim = так до вашого GRUB_CMDLINE_LINUX. Мені ще потрібно знайти те, що говорить, чому ви повинні це робити, тобто що саме (якщо що!) Роблять ці параметри. Де знаходиться документація щодо цього та що йдеться про призначення цих двох параметрів?

Відповідно до приміток до випуску Cryptsetup 1.4.0 ,

Оскільки ядро ​​3.1, пристрої dm-crypt необов’язково (не за замовчуванням) підтримують команди блокування відкидання (TRIM). Якщо ви хочете ввімкнути цю операцію, ви повинні ввімкнути її вручну під час кожної активації за допомогою --allow-discards

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

але чи те ж саме, коли передається до ядра (через GRUB_CMDLINE_LINUX)?

Редагувати: у списку параметрів ядра Kernel.org немає (в даний час, принаймні, січня 2013 року) немає жодного з цих параметрів.


Можливо, подивіться на webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html Не дає пояснень, але швидку процедуру ...
alci

1
Як я вже сказав, мережа повна інструкцій без пояснень. Я після пояснень, а не процедури.
Jani Uusitalo

Відповіді:


6

Наскільки я розумію, параметр завантаження root_trim=yesє специфічним для Gentoo. Всередині genkernelє скрипт, який шукає параметр і встановлює параметр --allow-discardsз cryptsetup (див. Їх сховище git ). Крім того, я знайшов багато звітів користувачів Ubuntu або Debian, які сказали, що він працює без root_trimпараметра. Я також не знайшов рядків у update-initramfsсценарії Ubuntus .

Отже, загалом це не параметр завантаження, а більше параметр cryptsetup. Документацію --allow-discardsможна знайти на сторінці cryptsetup (8) :

-
дозволити скидання Дозволити використання запитів на викидання (TRIM) для пристрою. Цей параметр стосується лише створення , luksOpen або loopaesOpen .

ПОПЕРЕДЖЕННЯ : Ретельно оцінюйте конкретні ризики безпеки перед тим, як включити цю опцію. Наприклад, дозвіл на скидання на зашифрованих пристроях може призвести до витоку інформації про шифротекстовий пристрій (тип файлової системи, використаний простір тощо), якщо згодом відкинуті блоки можуть легко знаходитися на пристрої.

Потрібно версію ядра 3.1 або новішої. Для старих версій варіант ігнорується.

Спираючись на цей блог на TRIM & dm-crypt , TRIM - це операція, коли верхній рівень (наприклад, файлова система) інформує пристрій, які сектори більше не використовуються (більше не містять дійсних даних) і що пристрою не потрібно зберігати цей вміст даних .

У термінології Linux ця операція називається відкинутим. У світі SCSI його називають командою UNMAP.

Операція відкидання може бути використана для двох цілей: тонкого забезпечення (інформує, що область даних може бути повернута до пулу розподілу) та для оптимізації роботи SSD.

Discards є найбільш корисним для оптимізації SSD, оскільки внутрішня архітектура використовує більші блоки, ніж сектори, і блоки повинні бути стерті, перш ніж можна буде виконати операцію запису. Інформація про сектори, яким не потрібно зберігати дані, є дуже корисною, оскільки файлова система зможе більш ефективно організувати блоки таким чином, щоб фрагментація даних була мінімізована, а також збільшився час роботи диска.


Отже, жоден із варіантів не потрібен, якщо файлова система не зашифрована? Чому два варіанти, якщо все, що вони роблять, - це включити одну команду для роботи?
Яні Уусітало

Дякуємо, що вказали на зв’язок між параметром ядра та опцією mount / devicemapper у оновленій відповіді. +1. :)
gertvdijk

Ця відповідь починає виглядати добре. Я також знайшов дозвольні картки в поточній документації dm-crypt ; все, мабуть, означає, що це не параметр ядра, а варіант для цілі dm-crypt-пристрою-картографа. Я все ще намагаюся з’ясувати, чи можна їх передавати в командному рядку linux. Це пояснило б інструкції, папуговані всім, інакше це, мабуть, лише дезінформація.
Яні Уусітало

1
@JaniUusitalo Мені справді немає сенсу робити це (глобальний) параметр ядра. 1) ви дійсно хочете вказати цю файлову систему / пристрій, а не загальносистемну; 2) параметри mount / fstab дозволяють зробити це вже 3) під час завантаження (до того, як initramfs встановить ваш /як читати / записувати) ви ' Вам, швидше за все, не потрібна ця функціональність.
gertvdijk

4
Параметризація ядра дозволених відмов може бути Архизмом: мабуть, в Arch ви повідомляєте GRUB про зашифрований корінь з (наприклад) "cryptdevice = / dev / mapper / root: root: дозволити-відкидає". Це підхоплення користувачами Ubuntu може бути пов’язане з тим , що Вікі Arch називають "Найкращі посилання" EncryptedFilesystemystem Uki Wiki wiki .
Яні Уусітало
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.