W czym rzecz?
Mam dwa hosty KVMowe, na których pędzam rożne maszyny wirualne. Jeden z tych hostów to laptop, który z przyczyn oczywistych, jest poszyfrowany LUKSem.
I od niego się wysztko zaczęło - używam go już od około 3 lat, no i ma dysk SSD. Ostatnio zaczęły mu się ostre zacięcia przy zapisach trwające nawet po kilka sekund. Po odrobinie googlania doszedłem do wniosku, że to pewnie trimowanie SSD. No i zacząłem borować temat, kikla razy się nawet od tego odbiłem - niby wszystko miałem a nie działało. Aż w końcu trafiłem na wyczerpujący artykuł. Nie będę tu przepisywał cudzej treści tylko ją zacytuję/zalinkuję.
Drugi problem jaki zauważyłem, to zajętość miejsca w obrazach dysków (używam cienkich, ale nie "sparse" qcow2). Otóż po jakimś czasie te obrazy wcale nie są takie cienkie wystarczy, że zrobię "dnf system-upgrade" na wirtualnej fedorze i już jest nadmuchana o dodatkowe 10 GiB. Windows Update robi podobne fiki-miki.
Czyli, żeby trimować od maszyny wirtualnej, po dysk SSD hosta, trzeba przejść przez klika pięter stosu IO:
A konkretnie?
LUKS
Konkretnie, to trzeba zacząć od końca, czyli od crypttab'a na hoscie. Oczywiście jeżeli dysk hosta jest poszyfrowany, co gorąco polecam zwłaszcza dla laptopów. LUKS na Intelach pokazujących w /proc/cpuinfo flagę AES nie boli: i tak będzie sprzętowy.
U mnie zaszyfrowany jest cały dysk i wygląda to tak (lsblk):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 476,5G 0 part
└─luks-157fae7b-545b-4348-a02c-1b8a38110e33 253:0 0 476,5G 0 crypt
├─turing-root 253:1 0 50G 0 lvm /
├─turing-swap 253:2 0 7,7G 0 lvm [SWAP]
└─turing-home 253:3 0 418,8G 0 lvm /home
sr0 11:0 1 1024M 0 rom
sda 8:0 0 477G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 476,5G 0 part
└─luks-157fae7b-545b-4348-a02c-1b8a38110e33 253:0 0 476,5G 0 crypt
├─turing-root 253:1 0 50G 0 lvm /
├─turing-swap 253:2 0 7,7G 0 lvm [SWAP]
└─turing-home 253:3 0 418,8G 0 lvm /home
sr0 11:0 1 1024M 0 rom
Wystarczy zatem do /etc/crypttab dopisać to co poniżej zaznaczyłem na czerwono:
luks-157fae7b-545b-4348-a02c-1b8a38110e33 UUID=157fae7b-545b-4348-a02c-1b8a38110e33 none discard