How to specify sector size for LVM logical volume?

I'm creating logical volumes for export via targetcli (iSCSI).

I'm using lvm's thin provisioned volumes, e.g.

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

Then I add the created logical volume into targetcli's iblock backstore. The resulting device shows 4096 as get attribute hw_block_size

Due to lacking initiator support (VirtualBox) I need those LUNs to have 512-byte sectors. I'd like to avoid using fileio backstore (which supposedly allows setting sector size), for consistency reasons.

Is it possible to specify sector size during creation of the volume or assignment of the volume into backstore?

7
задан 4 December 2016 в 15:36
3 ответа

Avèk regads nan kesyon an , gwosè blòk la ka chanje nan moman sistèm dosye a dwe kreye. Se poutèt sa, mwen kwè, ou ta dwe kouri mkfs.yourfs -b 512 / dev / mapper / - kote yourfs se kalite sistèm dosye ou.

4
ответ дан 2 December 2019 в 23:30

Драйвер резервного хранилища 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 (или действительно любого другого блочного устройства), изменяя практически любой параметр, в то время как backstore блока или iblock оптимизированы для передачи устройств и их аппаратных свойств напрямую "инициаторам". Block должен работать лучше, чем fileio, поскольку реализация более компактная - ему просто не хватает таких функций из-за этой экономичной реализации. Если вам не требуется устанавливать эти параметры, для блочных устройств следует использовать «блок».

6
ответ дан 2 December 2019 в 23:30

У меня были большие проблемы с тем, чтобы целевой LUN LIO распознавался ESXi 6.5. Я не накладываю LVM на виртуальный диск, доступный из подсистемы RAID, просто использую команду «targetcli», чтобы предоставить виртуальный диск как iSCSI LUN моему хосту ESXi. (с использованием резервного хранилища «блочного» типа)

Будучи новым оборудованием, физические диски имеют размер 4096 секторов. Это открыло себя вплоть до подсистемы iSCSI на хосте ESXi, которая успешно вошла в цель, но отказалась показывать устройство LUN. (Файлы журнала ESXi подсказали мне его жалобу на неподдерживаемый размер сектора.)

Однажды идентифицированная, эта проблема была легко решена с помощью утилиты targetcli с командой set attribute block_size=512.

Мне не пришлось переключаться на тип резервного хранилища «fileio»! Но обратите внимание: это не позволит вам сделать это, если резервное хранилище в настоящее время привязано к iscsi lun — вам нужно разорвать эту привязку (удалить lun), установить block_size, а затем воссоздать iscsi lun.

Я работаю с командой targetcli версии 2.1.51 на RHEL 7.

0
ответ дан 30 April 2021 в 01:19

Теги

Похожие вопросы