Skip to content

Commit df6e17b

Browse files
committed
Discard fixup
1 parent 5c4487f commit df6e17b

File tree

1 file changed

+39
-5
lines changed

1 file changed

+39
-5
lines changed

main.rst

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

80114
Linux

0 commit comments

Comments
 (0)