Привет, у меня общее увеличение записи составляет около 18. Не может ли кто-нибудь подсказать, как это улучшить? Если я запускаю iostat на хосте и суммирую записи всех vdev, все ВМ в сумме пишут около 1 МБ/с данных. Vdev хранятся на raidz1 из 5x Intel S3710 SSD (sdc до sdg), и все SSD в сумме пишут около 10 МБ/с данных. Я использую smartctl для отслеживания записей хоста и записи в флэш-память каждого диска и для каждых 1 ГБ данных, записанных на SSD, SSD записывает около 1,8 ГБ данных во флэш-память. Таким образом, в конце концов 1 МБ/с реальных данных от гостей увеличивается до 18 МБ/с, записываемых во флэш-память.
Код: root@Hypervisor:/var/log# iostat 600 2
Linux 5.4.60-1-pve (Hypervisor) 09/06/2020 _x86_64_ (16 CPU)
...
avg-cpu: %user %nice %system %iowait %steal %idle
4.66 0.00 5.90 0.02 0.00 89.42
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme1n1 0.00 0.00 0.00 0 0
nvme0n1 0.00 0.00 0.00 0 0
sdg 129.56 0.81 1918.89 484 1151332
sdb 4.94 0.00 25.70 0 15417
sdh 0.00 0.00 0.00 0 0
sdf 128.64 0.81 1918.76 488 1151256
sda 4.95 0.05 25.70 32 15417
sdd 129.78 0.83 1917.61 500 1150564
sde 129.89 0.81 1917.23 488 1150340
sdc 130.13 0.87 1916.58 520 1149948
md0 0.00 0.00 0.00 0 0
md1 4.06 0.05 25.13 32 15080
dm-0 4.06 0.05 25.13 32 15080
dm-1 4.06 0.05 29.87 32 17920
dm-2 0.00 0.00 0.00 0 0
zd0 0.69 0.00 8.03 0 4820
zd16 0.58 0.00 6.45 0 3868
zd32 13.13 0.89 278.59 536 167156
zd48 0.62 0.00 6.90 0 4140
zd64 0.58 0.00 6.53 0 3920
zd80 0.00 0.00 0.00 0 0
zd96 0.00 0.00 0.00 0 0
zd112 0.10 0.01 0.53 8 320
zd128 0.00 0.00 0.00 0 0
zd144 0.00 0.00 0.00 0 0
zd160 0.00 0.00 0.00 0 0
zd176 0.00 0.00 0.00 0 0
zd192 0.00 0.00 0.00 0 0
zd208 0.00 0.00 0.00 0 0
zd224 0.00 0.00 0.00 0 0
zd240 0.00 0.00 0.00 0 0
zd256 0.00 0.00 0.00 0 0
zd272 0.00 0.00 0.00 0 0
zd288 0.00 0.00 0.00 0 0
zd304 0.00 0.00 0.00 0 0
zd320 0.00 0.00 0.00 0 0
zd336 0.00 0.00 0.00 0 0
zd352 0.00 0.09 0.00 56 0
zd384 0.00 0.00 0.00 0 0
zd400 51.87 0.16 717.30 96 430380
zd416 0.58 0.00 6.32 0 3792
zd432 0.58 0.00 6.39 0 3832
zd448 0.67 0.00 8.11 0 4868
zd464 0.60 0.00 6.36 0 3816
Конфигурация хоста: пул — raidz1 из 5 SSD без LOG или устройства кэша. Atime отключен для пула, сжатие установлено на LZ4, без дедупликации, ashift равен 12, sync — стандартный. На пуле находится зашифрованный набор данных. Этот набор данных содержит все zvol. Все разделы выровнены по 1 МБ. SSD сообщают логический размер 4k. Конфигурация ВМ: контроллер хранилища — Virtio SCSI single. Все виртуальные диски получили отказ, поток ввода-вывода и эмуляция SSD включены. Режим кэша установлен в "без кэша". Формат — Raw и размер блока должен быть 8k по умолчанию. Конфигурация гостя: установлен гость Virtio. Виртуальные диски отформатированы как ext4 и смонтированы с опциями "noatime" и "nodiratime". fstrim запускается раз в неделю через cron. /tmp смонтирована через ramfs. Есть ли что-то, что я сделал не так? 18 МБ/с — это 568 ТБ в год, что действительно много данных, потому что ВМ просто бездействуют. Только 3 ВМ имеют в себе реальные приложения (Zabbix, Graylog, Emby). Я выбрал 5x S3710 SSD, потому что их суммарный TBW составляет 18000 ТБ, и их должно хватить надолго, но экономия записи была бы неплохой. Я нашел только 1 оптимизацию, которая значительно изменила ситуацию, а именно изменение режима кэша с "без кэша" на "unsafe", чтобы ВМ не могли так синхронно записывать, что сократит увеличение записи вдвое. Но это не очень хорошо, если что-то выйдет из строя и некоторые БД будут повреждены или что-то в этом роде.
Код: root@Hypervisor:/var/log# iostat 600 2
Linux 5.4.60-1-pve (Hypervisor) 09/06/2020 _x86_64_ (16 CPU)
...
avg-cpu: %user %nice %system %iowait %steal %idle
4.66 0.00 5.90 0.02 0.00 89.42
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
nvme1n1 0.00 0.00 0.00 0 0
nvme0n1 0.00 0.00 0.00 0 0
sdg 129.56 0.81 1918.89 484 1151332
sdb 4.94 0.00 25.70 0 15417
sdh 0.00 0.00 0.00 0 0
sdf 128.64 0.81 1918.76 488 1151256
sda 4.95 0.05 25.70 32 15417
sdd 129.78 0.83 1917.61 500 1150564
sde 129.89 0.81 1917.23 488 1150340
sdc 130.13 0.87 1916.58 520 1149948
md0 0.00 0.00 0.00 0 0
md1 4.06 0.05 25.13 32 15080
dm-0 4.06 0.05 25.13 32 15080
dm-1 4.06 0.05 29.87 32 17920
dm-2 0.00 0.00 0.00 0 0
zd0 0.69 0.00 8.03 0 4820
zd16 0.58 0.00 6.45 0 3868
zd32 13.13 0.89 278.59 536 167156
zd48 0.62 0.00 6.90 0 4140
zd64 0.58 0.00 6.53 0 3920
zd80 0.00 0.00 0.00 0 0
zd96 0.00 0.00 0.00 0 0
zd112 0.10 0.01 0.53 8 320
zd128 0.00 0.00 0.00 0 0
zd144 0.00 0.00 0.00 0 0
zd160 0.00 0.00 0.00 0 0
zd176 0.00 0.00 0.00 0 0
zd192 0.00 0.00 0.00 0 0
zd208 0.00 0.00 0.00 0 0
zd224 0.00 0.00 0.00 0 0
zd240 0.00 0.00 0.00 0 0
zd256 0.00 0.00 0.00 0 0
zd272 0.00 0.00 0.00 0 0
zd288 0.00 0.00 0.00 0 0
zd304 0.00 0.00 0.00 0 0
zd320 0.00 0.00 0.00 0 0
zd336 0.00 0.00 0.00 0 0
zd352 0.00 0.09 0.00 56 0
zd384 0.00 0.00 0.00 0 0
zd400 51.87 0.16 717.30 96 430380
zd416 0.58 0.00 6.32 0 3792
zd432 0.58 0.00 6.39 0 3832
zd448 0.67 0.00 8.11 0 4868
zd464 0.60 0.00 6.36 0 3816
Конфигурация хоста: пул — raidz1 из 5 SSD без LOG или устройства кэша. Atime отключен для пула, сжатие установлено на LZ4, без дедупликации, ashift равен 12, sync — стандартный. На пуле находится зашифрованный набор данных. Этот набор данных содержит все zvol. Все разделы выровнены по 1 МБ. SSD сообщают логический размер 4k. Конфигурация ВМ: контроллер хранилища — Virtio SCSI single. Все виртуальные диски получили отказ, поток ввода-вывода и эмуляция SSD включены. Режим кэша установлен в "без кэша". Формат — Raw и размер блока должен быть 8k по умолчанию. Конфигурация гостя: установлен гость Virtio. Виртуальные диски отформатированы как ext4 и смонтированы с опциями "noatime" и "nodiratime". fstrim запускается раз в неделю через cron. /tmp смонтирована через ramfs. Есть ли что-то, что я сделал не так? 18 МБ/с — это 568 ТБ в год, что действительно много данных, потому что ВМ просто бездействуют. Только 3 ВМ имеют в себе реальные приложения (Zabbix, Graylog, Emby). Я выбрал 5x S3710 SSD, потому что их суммарный TBW составляет 18000 ТБ, и их должно хватить надолго, но экономия записи была бы неплохой. Я нашел только 1 оптимизацию, которая значительно изменила ситуацию, а именно изменение режима кэша с "без кэша" на "unsafe", чтобы ВМ не могли так синхронно записывать, что сократит увеличение записи вдвое. Но это не очень хорошо, если что-то выйдет из строя и некоторые БД будут повреждены или что-то в этом роде.
