«Диск» на платформе Linx Cloud — это аналог физического носителя информации, как HDD или SSD.
Диск — сетевое блочное устройство, которые обеспечивает хранилище данных для инстансов. Все диски на платформе Linx Cloud являются сетевыми и надежно защищены репликацией данных, обеспечивающими надежность хранения и отказоустойчивость.
Сетевые диски имеют определенные преимущества:
- Гибкость. Диски можно перемещать между инстансами в одном центре обработки данных, а также увеличивать размер диска, не выключая инстанс, к которому подключен диск.
- Простота. Диски — это универсальные блочные устройства, поэтому присоединенные диски это как локально подключенные накопители, что позволяет разбивать, форматировать диски и управлять ими с помощью известных инструментов и методов.
- Применение. Диски — это независимый элемент проекта, он может существовать отдельно от инстанса. Это удобно, когда необходимо изменить размер диска вне зависимости от конфигурации виртуальной машины.
- Отказоустойчивость. Диски обеспечивают надежное хранение данных и дают возможность непрерывно выполнять операции чтения и записи даже в случае выхода из строя одновременно нескольких физических дисков.
Созданный диск занимает место в общем хранилище, поэтому, даже если он отключен от инстанса, его наличие будет оплачивается отдельно.
Типы дисков
Тип диска | Название в API | Выбор зоны доступности при создании диска | Описание |
---|---|---|---|
Сетевой SSD | ceph-hdd deprecated: dp1, ms1 |
Да | Сетевой HDD диск с низкой скоростью работы. Обладает тройной репликацией между несколькими серверами СХД внутри зоны доступности. |
Сетевой SSD с георепликацией | ceph | Не указывается по причине георепликации | Сетевой HDD диск с низкой скоростью работы. Обладает тройной георепликацией между несколькими зонами доступности. |
High IOPS SSD | high-iops deprecated: local-ssd, ko1-local-ssd, ko1-high-iops, dp1-high-iops, ko1-local-ssd-g2 |
Да | Сетевой SSD диск с двойной репликацией (обе копии находятся на одном сервере СХД) и повышенной скоростью работы. |
Low Latency NVME | ef-nvme | Располагается на одном гипервизоре с виртуальной машиной | Локальный SSD диск с двойной репликацией (обе копии находятся на одном гипервизоре), высокой скоростью работы и низкими задержками. |
Диски типов Сетевой HDD, Сетевой SSD и High IOPS SSD лучше располагать в зоне доступности, где находится ВМ, к которой они будут подключены. Иначе производительность ВМ снизится, так как диск будет расположен в другом датацентре.
SLA
Каждый тип дисков имеет ограничение по производительности, необходимое для гарантии стабильной работы диска вне зависимости от его типа или объема.
Тип диска | min IOPS read | min IOPS write | IOPS/GB read | IOPS/GB write | max IOPS read | max IOPS write | Tab8 |
---|---|---|---|---|---|---|---|
HDD ceph (типы дисков ceph, ms1, dp1) | 300 | 150 | 1 | 1 | 2 400 | 800 | — |
SSD ceph (типы дисков ssd, dp1-ssd, ko1-ssd) | 1 000 | 500 | 30 | 15 | 16 000 | 8 000 | — |
SSD High IOPS | 10 000 | 5 000 | 30 | 25 | 45 000 | 30 000 | — |
Low Latency NVME | 10 000 | 5 000 | 70 | 35 | 75 000 | 50 000 | 0,5 |
* полные характеристики приведены ниже в отдельных таблицах для каждого типа дисков.
HDD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
50 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
100 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | 9 | 64K | 5 | |||
1M | 38 | 1M | 19 | |||
250 | 4K | 300 | 1 | 4K | 250 | 1 |
64K | 9 | 64K | 8 | |||
1M | 38 | 1M | 31 | |||
500 | 4K | 500 | 2 | 4K | 500 | 2 |
64K | 16 | 64K | 16 | |||
1M | 63 | 1M | 63 | |||
1000 | 4K | 1000 | 4 | 4K | 800 | 3 |
64K | 31 | 64K | 25 | |||
1M | 125 | 1M | 100 | |||
1500 | 4K | 1500 | 6 | 4K | 800 | 3 |
64K | 47 | 64K | 25 | |||
1M | 188 | 1M | 100 | |||
2000 | 4K | 2000 | 8 | 4K | 800 | 3 |
64K | 63 | 64K | 25 | |||
1M | 250 | 1M | 100 |
SSD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 1000 | 4 | 4K | 500 | 2 |
64K | 31 | 64K | 16 | |||
1M | 125 | 1M | 63 | |||
50 | 4K | 1500 | 6 | 4K | 750 | 3 |
64K | 47 | 64K | 23 | |||
1M | 188 | 1M | 94 | |||
100 | 4K | 3000 | 12 | 4K | 1500 | 6 |
64K | 94 | 64K | 47 | |||
1M | 375 | 1M | 188 | |||
250 | 4K | 7500 | 29 | 4K | 3750 | 15 |
64K | 234 | 64K | 117 | |||
1M | 400 | 1M | 400 | |||
500 | 4K | 15000 | 59 | 4K | 7500 | 29 |
64K | 400 | 64K | 234 | |||
1M | 400 | 1M | 400 | |||
1000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
1500 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
2000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 |
High-IOPS SSD
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | MB/s | IOPS | MB/s | |||
10 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
50 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
100 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
250 | 4K | 10000 | 39 | 4K | 6250 | 24 |
64K | 313 | 64K | 195 | |||
1M | 500 | 1M | 500 | |||
500 | 4K | 15000 | 59 | 4K | 12500 | 49 |
64K | 469 | 64K | 391 | |||
1M | 500 | 1M | 500 | |||
1000 | 4K | 30000 | 117 | 4K | 25000 | 98 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
1500 | 4K | 45000 | 176 | 4K | 30000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
2000 | 4K | 45000 | 176 | 4K | 30000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 |
LL NVME
Объём в GB | Размер блока | Чтение | Размер блока | Запись | ||
IOPS | Mb/s | IOPS | Mb/s | |||
10 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 350 | 64K | 200 | |||
1M | 500 | 1M | 500 | |||
50 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 350 | 64K | 200 | |||
1M | 500 | 1M | 500 | |||
100 | 4K | 10000 | 39,0625 | 4K | 5000 | 19,53125 |
64K | 350 | 64K | 250 | |||
1M | 500 | 1M | 500 | |||
250 | 4K | 18750 | 73,2421875 | 4K | 8750 | 34,1796875 |
64K | 350 | 64K | 250 | |||
1M | 585,9375 | 1M | 500 | |||
500 | 4K | 37500 | 146,484375 | 4K | 17500 | 68,359375 |
64K | 585,9375 | 64K | 500 | |||
1M | 1171,875 | 1M | 546,875 | |||
1000 | 4K | 75000 | 292,96875 | 4K | 35000 | 136,71875 |
64K | 1171,875 | 64K | 546,875 | |||
1M | 1200 | 1M | 900 | |||
2000 | 4K | 75000 | 292,96875 | 4K | 50000 | 195,3125 |
64K | 1171,875 | 64K | 781,25 | |||
1M | 1200 | 1M | 900 |
Производительность диска напрямую зависит от его объема, для увеличения скорости обработки данных иногда достаточно только увеличить размер нужного диска.
Как провести тестирование
Для Windows
Чтобы измерить показатели IOPS чтения/записи можно воспользоваться программным обеспечением DiskSPD или Fio.
DiskSPD
DiskPSD — официальный инструмент тестирования, рекомендованный компанией Microsoft и включенная в репозитории разработчиков. Шаги для выполнения тестирования:
- Скачать утилиту с официального сайта и распаковать ее в удобное место: https://github.com/microsoft/diskspd/releases/latest.
- От администратора запустить командную строку и перейти в каталог с распакованной утилитой DiskSpd-2.0.21a\amd64\.
- Предварительно создать пустой файл с размером не менее 10GB:
fsutil file createnew C:\temp\test.bin 10485760000
- Для выполнения тестов нужно применить команду, соответствующую типу теста:
- Тест случайной записи:
diskspd -Suw -b4K -o1 -t32 -r -w100 C:\temp\test.bin > C:\temp\random_write_results.txt
- Тест случайного чтения:
diskspd -Suw -b4K -o1 -t32 -r -w0 C:\temp\test.bin > C:\temp\random_read_results.txt
Fio
Измерения показателей IOPS с помощью fio производятся с указанием параметра rate_iops. Тесты выполняются со значениями:
- —rw (randread или randwrite)
- —filename (имя тестируемого устройства)
- —iodepth (8, 16, 32 или 64)
Скачать и установить Fio с официального ресурса.
Команда для выполнения теста:
fio --name=randwrite --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=10G --numjobs=1 --runtime=240 --group_reporting --filename=C:\Users\ADMIN\test
Механика работы Fio отличается от инструмента DiskSPD. Fio выполняет запись в 2 файла, поэтому результаты измерения могут быть разными у обоих инструментов. При этом Microsoft доверяет своему инструменту и рекомендует на операционных системах семейства Windows использовать DiskSPD.
Для Linux
Измерения показателей IOPS чтения/записи осуществляются программным обеспечением fio и указанием параметра rate_iops. Тесты выполняются со значениями:
- —rw (randread или randwrite)
- —filename (имя тестируемого устройства)
- —iodepth (8, 16, 32 или 64)
Установка Fio:
sudo apt install fio
Команда для выполнения теста:
fio --name=randwrite --ioengine=libaio --iodepth=32 --rw=randwrite --bs=4k --direct=1 --size=512M --numjobs=1 --runtime=240 --group_reporting --filename=/home/user/test
Результаты измерений:
- read: IOPS
- write: IOPS
Типы проводимого тестирования | Результат тестирования (Количество IOPS) |
---|---|
Чтение/запись блоками по 4 КБ в 32 потока | В соответствии со значениями SLA |
Чтение/запись блоками по 8 КБ в 32 потока | Не менее 75% от SLA |
Чтение/запись по 16 КБ в 32 потока | Не менее 50% от SLA |