Назад | Перейти на главную страницу

Как указать размер сектора для логического тома LVM?

Я создаю логические тома для экспорта через targetcli (iSCSI).

Я использую тонкие подготовленные тома lvm, например

lvcreate -V 1T --thin -n vol_name storage/thin_pool

Затем добавляю созданный логический том в targetcliБэкстор iblock. Полученное устройство показывает 4096 как get attribute hw_block_size

Из-за отсутствия поддержки инициатора (VirtualBox) мне нужны эти LUN с 512-байтовыми секторами. Я бы хотел избежать использования backstore fileio (который якобы позволяет устанавливать размер сектора) по соображениям согласованности.

Можно ли указать размер сектора при создании тома или назначении тома в backstore?

Драйвер резервного хранилища fileio - это способ, которым вы можете это сделать. Согласованность вызывает беспокойство только в том случае, если вы решите включить кэширование с обратной записью (или, как указывает targetcli, «буферизованный режим») в хранилищах файлов fileio.

Небуферизованный режим используется по умолчанию практически для каждой реализации targetcli в любом дистрибутиве, как это предлагает сама Datera. Это не должно иметь большого значения.

Однако, если вам нужно принудительно включить небуферизованный режим для определенного объекта поддержки (и, возможно, вы должны просто быть в безопасности), вы можете указать это следующим образом:

#> targetcli

/backstores/fileio/test_name> set attribute buffered=False

Что касается решения проблемы размера блока, вы также можете свободно редактировать атрибут block_size для конкретного объекта резервного хранилища fileio:

/backstores/fileio/test_name> set attribute block_size=4096

Вы можете использовать backstores fileio для адресации тонкого LVM2 (или действительно любого другого блочного устройства) при изменении почти любой настройки, в то время как backstores блочного или iblock оптимизированы для передачи устройств и их аппаратных свойств «напрямую» инициаторам. Block должен работать лучше, чем fileio, поскольку реализация более компактная - ему просто не хватает таких функций из-за этой экономичной реализации. Если вам не требуется устанавливать эти параметры, для блочных устройств следует использовать «блок».

Что касается вопрос, размер блока может быть изменен во время создания файловой системы. Поэтому я считаю, что вам следует бежать mkfs.yourfs -b 512 /dev/mapper/<VGName>-<logical volume>где yourfs это тип вашей файловой системы.