Debian guest บนโฮสต์ Windows โดยใช้ discard / TRIM
นี่ไม่ใช่คำตอบโดยตรงต่อฉันเป็นฉันแก้ไขปัญหาไม่ใช่คำถาม แทนที่จะบีบอัดรูปภาพเป็นระยะทางออกนี้ใช้ทิ้งเพื่อลบบล็อกที่ไม่ได้ใช้ในดิสก์อิมเมจ VM ของโฮสต์โดยอัตโนมัติ
โซลูชันนี้ต้องการระบบไฟล์ของแขกที่รองรับ TRIM อย่างต่อเนื่อง วิกิพีเดีย Arch Linux มีรายชื่อของระบบไฟล์สนับสนุนการดำเนินงาน TRIM
FDE และ cryptoroot นั้นไม่ครอบคลุมโดยเฉพาะเนื่องจากมีข้อกังวลด้านความปลอดภัยและไม่มีวิธีการแก้ปัญหาอื่นสำหรับคำถามนี้ที่จะช่วยให้กระชับได้เช่นกัน วิกิพีเดีย Arch Linux มีข้อมูลเกี่ยวกับอุปกรณ์ตัดและ DM-ฝังศพใต้ถุนโบสถ์
ในทางทฤษฎีสิ่งนี้จะทำงานสำหรับแขก Linux ทั้งหมดบนโฮสต์ VBox โดยใช้ที่จัดเก็บ VDI
การกำหนดค่าโฮสต์
ด้วย VBox ที่ออกและไม่มี VM ทำงานให้เพิ่มการสนับสนุนทิ้งไปยังดิสก์ของคุณโดยการตั้งค่าทั้งสองdiscard
และnonrotational
สำหรับแต่ละดิสก์ในไฟล์ปรับแต่งสำหรับ VM ในเวลาdiscard
นี้ไม่ได้อยู่ใน GUI แต่nonrotational
จะเปิดเผยเป็นช่องทำเครื่องหมาย "Solid-state Drive" (การอ้างอิง: ฟอรัม vbox, ยกเลิกการสนับสนุน )
<AttachedDevice discard="true" nonrotational="true" type="HardDisk" [..other options..] >
บูต VM up และตรวจสอบว่าเปิดใช้งานการสนับสนุน TRIM:
sudo hdparm -I /dev/sda | grep TRIM
การกำหนดค่าของแขก
หาก LVM /etc/lvm/lvm.conf
อยู่ในการใช้เปลี่ยนการตั้งค่าในการทิ้ง (การอ้างอิง: debian wiki, ตัวอย่าง lvm.conf )
devices {
...
issue_discards = 1
}
ใน fstab ให้เพิ่มdiscard
ตัวเลือกในระบบไฟล์ที่คุณต้องการทิ้งอัตโนมัติ (อ้างอิง: debian wiki, fstab ตัวอย่าง )
UUID=8db6787f-1e82-42d8-b39f-8b7491a0523c / ext4 discard,errors=remount-ro 0 1
UUID=70bfca92-8454-4777-9d87-a7face32b7e7 /build ext4 discard,errors=remount-ro,noatime 0 1
ประกอบระบบไฟล์ใหม่เพื่อให้พวกเขาเลือกตัวเลือกใหม่
sudo mount -o remount /
sudo mount -o remount /build
ตัดแต่งบล็อกฟรีด้วยตนเองfstrim
ทันทีด้วย fstrim
ใช้ระบบไฟล์ที่เมาท์ไม่ใช่อุปกรณ์บล็อกที่สำรองข้อมูล แทนที่จะปล่อยทิ้งไว้อย่างต่อเนื่องfstab
สิ่งนี้สามารถทำได้ใน cron รายสัปดาห์ (แนะนำให้ใช้ cron รายสัปดาห์สำหรับฟิสิคัล SSD ซึ่งอาจมีการสนับสนุนที่น่าสงสัยสำหรับ TRIM แต่ไม่เกี่ยวข้องที่นี่เนื่องจาก SSD พื้นฐานถูกจัดการโดยโฮสต์ระบบปฏิบัติการดูที่: คำเตือนการตัดแต่ง ssd )
fstrim /
fstrim /build
ณ จุดนี้ขนาดของระบบไฟล์ภายใน VM และขนาดของอิมเมจ VM น่าจะใกล้เคียงกัน
ทดสอบกับ:
- แขก 1: Debian 8.7, เคอร์เนล: linux 4.8 grsec จาก backports, ระบบไฟล์: ext4
- แขก 2: Debian 9 RC2, เคอร์เนล: linux 4.9, ระบบไฟล์: ext4
- โฮสต์ 1: VBox 5.1.14, Win7, รูปภาพ fmt: VDI
- โฮสต์ 2: VBox 5.1.14, Win8.1, รูปภาพ fmt: VDI