@@ -41,6 +41,21 @@ wear-leveling (выравнивание износа). В RBD это позво
4141 <qemu : arg value =' -global' />
4242 <qemu : arg value =' scsi-hd.discard_granularity=4194304' />
4343 </qemu : commandline >
44+ ...
45+ <disk type =' network' device =' disk' >
46+ <!--
47+ detect_zeroes='on'
48+ https://libvirt.org/formatdomain.html:
49+
50+ NB enabling the detection is a compute intensive operation,
51+ but can save file space and/or time on slow media.
52+
53+ А ещё это может повлиять на бенчмарки в стиле dd if=/dev/zero ...
54+ fio использует случайный паттерн.
55+ -->
56+ <driver name =' qemu' type =' raw' cache =' writeback' discard =' unmap' />
57+ ...
58+ </disk >
4459 </domain >
4560
4661 .. important ::
@@ -63,18 +78,37 @@ wear-leveling (выравнивание износа). В RBD это позво
6378* ``min_io_size ``
6479* ``opt_io_size ``
6580
66- Их всех можно посмотреть командой ``lsblk `` в гостевой ОС (чтобы удостовериться,
67- что виртуальная машина настроена правильно).
68-
6981.. important ::
7082
7183 Discard будет работать только для виртуальных дисковых интерфейсов IDE и
7284 virtio-scsi. Не путайте virtio и virtio-scsi -- это два совершенно разных
7385 интерфейса. virtio устарел и более не развивается. В гостевой ОС
7486 virtio-scsi выглядит как ``/dev/sd* ``, а virtio как ``/dev/vd* ``.
7587
76- Чтобы это заработало полностью, нужно убедиться что эта возможность, во-первых,
77- появилась на блочном уровне в гостевой ОС, а во-вторых, чтобы гостевая ОС
88+
89+ Их всех можно посмотреть командой ``lsblk `` в гостевой ОС чтобы удостовериться,
90+ что виртуальная машина настроена правильно
91+ (``DISC-GRAN `` равен размеру чанка в RBD):
92+
93+ .. code ::
94+
95+ $ lsblk -D
96+ NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
97+ sda 0 4M 1G 0
98+ ├─sda1 4176896 4M 1G 0
99+ ├─sda2 3145728 4M 1G 0
100+ └─sda3 3145728 4M 1G 0
101+
102+ $ lsblk -t
103+ NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
104+ sda 0 512 0 512 512 1 deadline 128 128 2G
105+ ├─sda1 0 512 0 512 512 1 deadline 128 128 2G
106+ ├─sda2 0 512 0 512 512 1 deadline 128 128 2G
107+ └─sda3 0 512 0 512 512 1 deadline 128 128 2G
108+
109+
110+ Чтобы это заработало полностью, нужно не только убедиться что эта возможность
111+ появилась на блочном уровне в гостевой ОС, но и чтобы гостевая ОС
78112использовала эту функцию.
79113
80114Linux
0 commit comments