Máy khách Debian trên máy chủ Windows sử dụng loại bỏ / TRIM.
Đây không phải là câu trả lời trực tiếp, vì tôi đang giải quyết vấn đề chứ không phải câu hỏi. Thay vì nén hình ảnh định kỳ, giải pháp này sử dụng loại bỏ để tự động loại bỏ các khối không sử dụng trong hình ảnh đĩa VM của máy chủ.
Giải pháp này yêu cầu một hệ thống tệp khách hỗ trợ TRIM liên tục. Wiki Arch Linux có một danh sách các hệ thống tập tin hỗ trợ các hoạt động TRIM .
FDE và tiền điện tử đặc biệt không được bảo hiểm, vì có những lo ngại về bảo mật và không có giải pháp nào khác cho câu hỏi này sẽ cho phép nén. Wiki Arch Linux có thông tin về các thiết bị TRIM và dm-crypt .
Về lý thuyết, điều này sẽ hoạt động cho tất cả các khách Linux trên máy chủ VBox sử dụng bộ lưu trữ VDI.
Cấu hình máy chủ
Khi VBox đã thoát và không có máy ảo nào đang chạy, hãy thêm hỗ trợ loại bỏ vào các đĩa của bạn bằng cách đặt cả hai discard
và nonrotational
cho mỗi đĩa trong tệp cấu hình cho VM. Tại thời điểm discard
này không có trong GUI, nhưng nonrotational
được hiển thị dưới dạng hộp kiểm "Ổ đĩa trạng thái rắn". (ref: diễn đàn vbox, loại bỏ hỗ trợ )
<AttachedDevice discard="true" nonrotational="true" type="HardDisk" [..other options..] >
Khởi động VM lên và xác minh rằng hỗ trợ TRIM đã được bật:
sudo hdparm -I /dev/sda | grep TRIM
Cấu hình khách
Nếu LVM đang được sử dụng, hãy thay đổi cài đặt loại bỏ trong /etc/lvm/lvm.conf
. (ref: wiki debian, ví dụ lvm.conf )
devices {
...
issue_discards = 1
}
Trong fstab, thêm discard
tùy chọn vào các hệ thống tệp bạn muốn tự động loại bỏ (ref: debian wiki, ví dụ 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
Kể lại các hệ thống tập tin để yêu cầu chúng chọn các tùy chọn mới.
sudo mount -o remount /
sudo mount -o remount /build
Cắt thủ công khối miễn phí bây giờ với fstrim
. fstrim
sử dụng hệ thống tập tin được gắn kết, không phải thiết bị khối sao lưu nó. Thay vì thiết lập loại bỏ liên tục fstab
, điều này có thể được thực hiện trên một cron hàng tuần. (Các cron hàng tuần được khuyến khích cho ổ SSD vật lý có thể có hỗ trợ đáng ngờ cho TRIM, nhưng điều này là không liên quan ở đây kể từ SSD cơ bản được xử lý bởi hệ điều hành máy chủ xem:. Cảnh báo cắt ssd ).
fstrim /
fstrim /build
Tại thời điểm này, kích thước của các hệ thống tệp bên trong VM và kích thước của hình ảnh VM sẽ khá gần nhau về giá trị.
Đã thử nghiệm với:
- Khách1: Debian 8.7, kernel: linux 4.8 grsec từ backport, filesystem: ext4
- Khách2: Debian 9 RC2, kernel: linux 4.9, hệ thống tập tin: ext4
- Máy chủ1: VBox 5.1,14, Win7, hình ảnh fmt: VDI
- Máy chủ2: VBox 5.1.14, Win8.1, hình ảnh fmt: VDI