พารามิเตอร์ 'allow-discards' และ 'root_trim' Linux ทำหน้าที่อะไร


10

คำแนะนำเกี่ยวกับ SSD จำนวนมากทางออนไลน์ในขณะนี้บอกว่าคุณควรเพิ่มallow-discardsและ root_trim = ใช่ใน GRUB_CMDLINE_LINUX ของคุณ ฉันยังไม่พบสิ่งที่บอกว่าทำไมคุณควรทำเช่นนั้นคืออะไร (ถ้ามีอะไร!) ทำพารามิเตอร์เหล่านั้นทำ เอกสารเกี่ยวกับสิ่งนี้อยู่ที่ไหนและมันพูดอะไรเกี่ยวกับวัตถุประสงค์ของพารามิเตอร์ทั้งสอง?

ตามCryptsetup 1.4.0 หมายเหตุรีลีส ,

ตั้งแต่เคอร์เนล 3.1 อุปกรณ์ dm-crypt เป็นทางเลือก (ไม่ใช่โดยค่าเริ่มต้น) สนับสนุนคำสั่ง block discards (TRIM) หากคุณต้องการเปิดใช้งานการดำเนินการนี้คุณต้องเปิดใช้งานด้วยตนเองในทุกการเปิดใช้งานโดยใช้ - ไม่อนุญาต

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
ดังที่ฉันได้กล่าวไปแล้วคำสั่งของ net นั้นไม่มีคำอธิบาย ฉันตามคำอธิบายไม่ใช่ขั้นตอน
Jani Uusitalo

คำตอบ:


6

จากความเข้าใจของฉันพารามิเตอร์การบูตroot_trim=yesเป็น Gentoo เฉพาะ ภายในgenkernelมีสคริปต์ซึ่งค้นหาพารามิเตอร์และตั้งค่าตัวเลือก--allow-discardsด้วย cryptsetup (ดูที่เก็บ git ) นอกจากนี้ฉันพบรายงานจำนวนมากของผู้ใช้ Ubuntu หรือ Debian ซึ่งบอกว่าทำงานได้โดยไม่มีroot_trimพารามิเตอร์ ฉันไม่พบบรรทัดใด ๆ ในupdate-initramfsสคริปต์Ubuntus

ดังนั้นทั้งหมดไม่มีพารามิเตอร์สำหรับบู๊ต แต่เป็นพารามิเตอร์cryptsetupเพิ่มเติม เอกสารของ--allow-discardsสามารถพบได้ใน manpage ของcryptsetup (8) :

-
อนุญาตให้ทิ้งใช้การร้องขอการทิ้ง (TRIM) สำหรับอุปกรณ์ ตัวเลือกนี้จะเกี่ยวข้องเฉพาะกับการสร้าง , luksOpenหรือloopaesOpen

คำเตือน : ประเมินความเสี่ยงเฉพาะด้านความปลอดภัยอย่างรอบคอบก่อนที่จะเปิดใช้งานตัวเลือกนี้ ตัวอย่างเช่นการอนุญาตให้ทิ้งอุปกรณ์ที่เข้ารหัสอาจนำไปสู่การรั่วไหลของข้อมูลเกี่ยวกับอุปกรณ์ ciphertext (ประเภทระบบไฟล์พื้นที่ที่ใช้ ฯลฯ ) หากบล็อกที่ถูกทิ้งสามารถตั้งอยู่บนอุปกรณ์ได้อย่างง่ายดายในภายหลัง

ต้องการเคอร์เนลเวอร์ชัน 3.1 หรือใหม่กว่า สำหรับรุ่นเก่าเป็นตัวเลือกที่ถูกละเว้น

จากบล็อกนี้เกี่ยวกับ TRIM & dm-crypt TRIM เป็นการทำงานที่เลเยอร์บน (เช่นระบบไฟล์) แจ้งให้ทราบว่าอุปกรณ์ใดที่ไม่ได้ใช้เซกเตอร์อีกต่อไป (ไม่มีข้อมูลที่ถูกต้องอีกต่อไป) และอุปกรณ์ไม่จำเป็นต้องเก็บเนื้อหาข้อมูลนั้น .

ในคำศัพท์ของ Linux การดำเนินการนี้เรียกว่ายกเลิก ในโลก SCSI มันถูกเรียกว่าคำสั่ง UNMAP

การดำเนินการละทิ้งสามารถใช้สำหรับสองวัตถุประสงค์: thin Provisioning (แจ้งว่าพื้นที่ข้อมูลสามารถส่งคืนไปยังพูลการจัดสรร) และสำหรับการเพิ่มประสิทธิภาพการทำงานของ SSD

การละทิ้งมีประโยชน์มากที่สุดสำหรับการเพิ่มประสิทธิภาพ SSD เนื่องจากสถาปัตยกรรมภายในใช้บล็อกที่มีขนาดใหญ่กว่าเซ็กเตอร์และบล็อกนั้นจะต้องถูกลบก่อนจึงจะสามารถดำเนินการเขียนได้ ข้อมูลเกี่ยวกับส่วนที่ไม่จำเป็นต้องเก็บข้อมูลมีประโยชน์มากเนื่องจากระบบไฟล์จะสามารถจัดระเบียบบล็อกได้อย่างมีประสิทธิภาพยิ่งขึ้นในลักษณะที่การกระจายตัวของข้อมูลจะลดลงและอายุการใช้งานของดิสก์จะเพิ่มขึ้น


ดังนั้นไม่จำเป็นต้องมีตัวเลือกใด ๆ หากระบบไฟล์ไม่ได้เข้ารหัส? ทำไมสองตัวเลือกหากพวกเขาทำคือเปิดใช้งานคำสั่งเดียว
Jani Uusitalo

ขอบคุณสำหรับการชี้ให้เห็นถึงความสัมพันธ์ระหว่างพารามิเตอร์เคอร์เนลและตัวเลือก mount / devicemapper ในคำตอบที่ปรับปรุงแล้วของคุณ +1 ในเวลานี้ :)
gertvdijk

คำตอบนี้เริ่มดูดี ฉันยังพบ allow_discards ในเอกสารปัจจุบันของ dm-crypt ; ทุกอย่างดูเหมือนจะบอกเป็นนัยว่าไม่ใช่พารามิเตอร์ของเคอร์เนล แต่เป็นตัวเลือกสำหรับเป้าหมาย dm-crypt device-mapper ฉันยังคงพยายามหาว่าสามารถส่งผ่านบรรทัดคำสั่ง linux ได้หรือไม่ ที่จะอธิบายคำแนะนำ parroted ทั่วมิฉะนั้นมันอาจเป็นเพียงข้อมูลที่ผิด
Jani Uusitalo

1
@JaniUusitalo มันไม่สมเหตุสมผลกับฉันที่จะทำให้มันเป็นเคอร์เนล (ทั่วโลก) พารามิเตอร์ 1) คุณต้องการระบุระบบไฟล์ / เฉพาะอุปกรณ์มากกว่าระบบ 2) ตัวเลือกการเมานท์ / fstab ช่วยให้คุณทำเช่นนั้นได้ 3) ในเวลาบูต (ก่อนที่ initramfs จะเมาท์/อ่าน / เขียน) คุณ ' ไม่น่าจะต้องการฟังก์ชั่นนี้
gertvdijk

4
เคอร์เนล parameterizing ของ allow-discards อาจเป็น Archism: เห็นได้ชัดใน Arch คุณแจ้ง GRUB ของรูทที่เข้ารหัสด้วย (เช่น) "cryptdevice = / dev / mapper / root: root: allow-discards" นี้ถูกหยิบขึ้นมาโดยผู้ใช้อูบุนตูอาจเนื่องมาจากวิกิพีเดีย Arch ถูกเรียกว่า "การอ้างอิงที่ดีที่สุด" โดย EncryptedFilesystems
Jani Uusitalo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.