@@ -41,6 +41,21 @@ wear-leveling (выравнивание износа). В RBD это позво
41
41
<qemu : arg value =' -global' />
42
42
<qemu : arg value =' scsi-hd.discard_granularity=4194304' />
43
43
</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 >
44
59
</domain >
45
60
46
61
.. important ::
@@ -63,18 +78,37 @@ wear-leveling (выравнивание износа). В RBD это позво
63
78
* ``min_io_size ``
64
79
* ``opt_io_size ``
65
80
66
- Их всех можно посмотреть командой ``lsblk `` в гостевой ОС (чтобы удостовериться,
67
- что виртуальная машина настроена правильно).
68
-
69
81
.. important ::
70
82
71
83
Discard будет работать только для виртуальных дисковых интерфейсов IDE и
72
84
virtio-scsi. Не путайте virtio и virtio-scsi -- это два совершенно разных
73
85
интерфейса. virtio устарел и более не развивается. В гостевой ОС
74
86
virtio-scsi выглядит как ``/dev/sd* ``, а virtio как ``/dev/vd* ``.
75
87
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
+ появилась на блочном уровне в гостевой ОС, но и чтобы гостевая ОС
78
112
использовала эту функцию.
79
113
80
114
Linux
0 commit comments