Создать пустой диск с блоком большого размера
Диски состоят из блоков. По умолчанию размер блоков всех создаваемых дисков равен 4 КБ. При создании диска вы можете задать размер блоков в диапазоне от 4 КБ до 128 КБ.
Для сетевых дисков максимальный размер диска зависит от размера блока. Размер создаваемого диска должен быть кратен 4 МБ. Возможные размеры дисков и блоков:
Размер блока | Максимальный размер диска |
---|---|
4 КБ | 8 ТБ |
8 КБ | 16 ТБ |
16 КБ | 32 ТБ |
32 КБ | 64 ТБ |
64 КБ | 128 ТБ |
128 КБ | 256 ТБ |
Для нереплицируемых SSD-дисков и сверхбыстрых сетевых хранилищ с тремя репликами (SSD) вы можете выбрать любой размер блока для любого размера диска. Размер диска должен быть кратен 93 ГБ.
Изменить размеры блока после создания диска нельзя.
Внимание
Выбранный физический размер блока может влиять на производительность.
Как правило, логический размер блока равен 512 байтам. Несмотря на то, что гостевая ОС старается выравнивать ввод-вывод на физический размер блока, это возможно не всегда. В случае, когда программное обеспечение выполняет много операций чтения и записи размером меньше физического блока, эти маленькие операции могут достичь дисковой подсистемы. При чтении в этом случае приходится читать больше, чем запрошено — минимум один физический блок. В случае записи ситуация сложнее — чтобы записать объем данных, меньший, чем физический размер блока, сначала нужно прочитать весь физический блок, обновить в нем нужные байты, затем записать весь физический блок (операция read-modify-write). Если при этом запись не выровнена на физический размер блока, то может понадобиться прочитать и перезаписать 2 физических блока. Таким образом, одна логическая запись может превратиться в 2 операции чтения и 2 операции записи на уровне дисковой подсистемы. Эта избыточная нагрузка не будет видна в метриках на уровне гостевой ОС, но будет учитываться при оценке близости нагрузки к лимитам диска и будет влиять на производительность.
Выбирайте большой размер блока только тогда, когда вы уверены, что ваше программное обеспечение работает с файловой системой или диском большими запросами — не менее физического размера блока.
См. раздел Создать пустой диск.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команд CLI для создания дисков:
yc compute disk create --help
-
Создайте диск в каталоге по умолчанию:
yc compute disk create \ --name big-disk \ --block-size 8K \ --size 40G \ --description "my 8k blocksize disk via yc"
Данная команда создаст диск размером 40 ГБ и размером блока 8 КБ, с именем
big-disk
и описаниемmy 8k blocksize disk via yc
.Требования к имени диска:
- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Получите список дисков в каталоге по умолчанию:
yc compute disk list
Результат:
+----------------------+--------------+-------------+-------------------+--------+----------------------+-----------------+-------------+ | ID | NAME | SIZE | ZONE | STATUS | INSTANCE IDS | PLACEMENT GROUP | DESCRIPTION | +----------------------+--------------+-------------+-------------------+--------+----------------------+-----------------+-------------+ | a7lqgbt0bb9s******** | first-disk | 20401094656 | ru-central1-a | READY | a7lcvu28njbh******** | | | | a7lv5j5hm1p1******** | second-disk | 21474836480 | ru-central1-a | READY | | | | +----------------------+--------------+-------------+-------------------+--------+----------------------+-----------------+-------------+
Получите тот же список с большим количеством деталей в формате YAML:
yc compute disk list --format yaml
Результат:
- id: fhmm0br99mig******** folder_id: b1gb9jeqoior******** created_at: "2021-01-11T09:35:05Z" name: big-disk description: 8k blocksize disk type_id: network-hdd zone_id: ru-central1-a size: "42949672960" block_size: "8192" status: READY disk_placement_policy: {}
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать пустой диск:
-
Опишите в конфигурационном файле параметры ресурса
yandex_compute_disk
.Пример структуры конфигурационного файла:
resource "yandex_compute_disk" "empty-disk" { name = "empty-disk" type = "network-hdd" zone = "<зона_доступности>" size = <размер_диска> block_size = <размер_блока> }
Где:
-
name
— имя диска. Формат имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
type
— тип создаваемого диска. -
zone
— зона доступности. Зона доступности для диска должна соответствовать зоне группы размещения, в которой вы хотите создать диск. Рекомендуется создавать диски в зонах доступностиru-central1-a
илиru-central1-b
. -
size
— размер диска в ГБ. Максимальный размер диска зависит от заданного размера блока. -
block_size
— размер блока в байтах (минимальный объем хранения информации на диске). По умолчанию размер блоков всех создаваемых дисков равен 4 КБ, однако для дисков больше 8 ТБ этого недостаточно. Подробнее см. в разделе Создать пустой диск с блоком большого размера.
Более подробную информацию о ресурсе
yandex_compute_disk
см. в документации провайдера . -
-
Проверьте корректность конфигурационных файлов.
-
В командной строке перейдите в папку, где вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.
-
-
Разверните облачные ресурсы.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите создание ресурсов.
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
или с помощью команды CLI:yc compute disk list
-
Воспользуйтесь методом REST API create для ресурса Disk или вызовом gRPC API DiskService/Create.