
$ uname -r
5.0.9-301.fc30.x86_64
$ findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/vda3 ext4 rw,relatime,seclabel
$ sudo fstrim -v /
fstrim: /: the discard operation is not supported
同じ仮想マシンですが、ディスクをVirtIOからSATAに切り替えた後:
$ findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/sda3 ext4 rw,relatime,seclabel
$ sudo fstrim -v /
/: 5.3 GiB (5699264512 bytes) trimmed
仮想ディスクは QCOW2 ファイルとしてサポートされます。 virt-manager/libvirtを使用しています。 libvirt-daemonのバージョンは4.7.0-2.fc29.x86_64です。私のホストは現在バニラカーネルバージョン5.1(ish)を実行しているので、今は少し「カスタマイズされた」ですが、既存のFedoraカーネル構成から始めて構築しました。
VirtIOでドロップサポートを有効にする方法はありますか?それともコードはまだサポートしていませんか?有効にする方法についての正確な指示は必ずしも必要ではありませんが、驚くほど疑問に思われ、確実な答えが欲しいです:-).
答え1
明らかに、この設定は削除をサポートしていません。ただし、ディスクを「VirtIO」から「SCSI」に変更し、SCSIコントローラを「VirtIO」に変更すると機能します。私が一つ見つけた牙。いくつかの練習があります。これは最初の検索結果にすぎません。この新しいオプションと呼ばれますvirtio-scsi
。virtio-block
virtio-blk
私も良いテーマを見つけました。Ubuntuのバグトラッカー。virtio-blk
削除要求のサポートはLinux 5.0から始まると述べられています。これはまた、2019年2月22日に提出されたQEMUのサポートが必要であると言います。そのため、今後のリリースでは VirtIO を取得し、自動的にサポートを停止する予定です。
現在は、Fedora 29をインストールしていることを知っていても、デフォルトではディスクをvirt-manager
作成しません。デフォルトの「VirtIO」ディスクのみを作成します。virtio-scsi
何に切り替えるべきかわかりませんvirtio-scsi
。
私はSATAエミュレーションと比較してvirtio-scsi
SATAと同じパフォーマンス上の利点を提供すると思います。 (VirtIOの有無にかかわらずvirtio-blk
:-PどこでもNVMEプロトコルを使用するオプションは表示されません。)virt-manager
oVirtのウェブサイトにはいくつかあります。良いプロモーション、言及した
- いくつかの制限
virtio-blk
virtio-scsi
SCSI LUNのパススルーモードで使用でき、SCSIパススルーを使用せずにさまざまな新しいSCSIコマンド機能を使用できますvirtio-scsi
。特にSCSIパススルーを使用しない場合、新しいコマンドにはQEMUの新しいサポートが必要です。しかし、virtio-scsi
コードのサポートは必要ありません。virtio-scsi
複数のキューのサポートが含まれます。 (これが単一のキューハードウェアの効率を向上させるのにも役立つかどうかはわかりません。)
答え2
これを行うには、libvirtドメインXMLファイルで破棄を明示的に有効にする必要がありました。
<devices>
<disk type='file' device='disk'>
- <driver name='qemu' type='raw'/>
+ <driver name='qemu' type='raw' discard='unmap'/>
<source file='...'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</disk>
答え3
sourcejediの答えに小さな追加
virtio-blkでの削除をサポートするには、仮想マシン構成の「マシン」も更新する必要があります。
- pc-q35-3.1では、virtio-blkは廃棄をサポートしていません。
- pc-q35-4.2では実際にそうです
それにもかかわらず、仮想マシン構成を最新のマシンに更新することをお勧めします。または、正しいバージョンを指定せずに「q35」エイリアスを使用してください。
バラより
qemu-system-x86_64 -machine help | grep q35
例えば、
<type arch='x86_64' machine='pc-q35-7.2'>hvm</type>