Dell Unity. Выравнивание в формате LUN Linux смещено на 512 байт. Это может привести к снижению производительности
Summary: Dell Unity. Выравнивание в формате LUN Linux смещено на 512 байт. Это может привести к снижению производительности.
Symptoms
Эта проблема возникает из-за того, что Dell Unity объявляет о поддержке SPC-4, что приводит к изменениям в поведении SCSI в Linux по сравнению с подключением Linux к дисковым массивам семейства VNX2/VNX.
На производительность makefs влияют две вещи:
- Теперь Linux выдает команды отмены сопоставления с «тонким» LUN Dell Unity.
- Для принятия решения о том, как выровнять файловую систему, Linux использует данные, возвращенные массивом, в 0xB2 Inquiry Vital Product Data Page, а данные, возвращаемые массивом, приводят к неправильному выравниванию файловой системы.
Выравнивание в формате LUN Linux смещено на 512 байт. Это может привести к снижению производительности.
# mkfs.ext3 /dev/mapper/mpathd1 mke2fs 1.42.9 (28-Dec-2013) /dev/mapper/mpathd1 alignment is offset by 512 bytes. This may result in very poor performance, (re)-partitioning suggested. <<<<<<<<<<< Disk /dev/mapper/VGsdb-LVsdb: 29.9 TiB, 32875361599488 bytes, 64209690624 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 8192 bytes / 33553920 bytes Alignment offset: 512 bytes
Cause
Linux fdisk использует оптимальный размер передачи, найденный в 0xB0 Inquiry Vital Data Page, в качестве начального сектора при создании раздела на LUN без разделов. Поскольку этот оптимальный размер передачи равен 65535, mkfs впоследствии (и правильно) сообщит, что файловая система смещена.
Изменение оптимального размера передачи на странице Inq VPD 0xB0 будет выполнено в будущем обновлении Dell Unity.
Resolution
В качестве временного решения клиент может использовать 2048 (десятичный) в качестве начального сектора для fdisk. «mkfs», затем постройте правильно выровненную файловую систему. Обратите внимание, что в утилитах для создания разделов/файловой системы Linux есть различные параметры/параметры для создания разделов и файловой системы. В качестве юнитов они могут использовать сектора или цилиндры. Мы хотим, чтобы они использовали СЕКТОРА в качестве единиц измерения со своими коммунальными услугами.
При создании двух или более разделов в LUN последующие разделы следует создавать с начальным сектором, кратным 2048.
Если вы используете "fdisk -c", вместо этого вы должны указать, что начинать с 65536 (система выдает значение по умолчанию 65535) "-c" - это режим совместимости dos, и, согласно man-странице linux, эту опцию следует использовать.
Также, если вы не используете опцию "-c", вы получите следующее.
[root@localhost nasadmin]# fdisk -u /dev/sdi WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c').
В качестве обходного пути для "fdisk -c" используйте 65536 в качестве начального сектора. В результате получаются выровненные файловые системы.
Additional Information
Если опция "-c" не используется с командой fdisk:
В качестве обходного пути клиент может использовать 2048 (десятичное число) в качестве начального сектора для fdisk.
mkfs", то постройте правильно выровненную файловую систему. Обратите внимание, что в утилитах для создания разделов/файловой системы Linux есть различные параметры/параметры для создания разделов и файловой системы.
В качестве юнитов они могут использовать сектора или цилиндры. Мы хотим, чтобы они использовали СЕКТОРА в качестве единиц измерения со своими коммунальными услугами.
Partition number (1-4): 1
First sector (1-167772159, default 65535): 2048
Last sector, +sectors or +size{K,M,G} (2048-167772159, default 167772159):
Using default value 167772159
----------------------
Если опция "-c" используется с командой fdisk:
То же самое, но начать следует со значения 65536.
primary partition (1-4)
Partition number (1-4): 1
First sector (65535-524287999, default 131070): 65536
Last sector, +sectors or +size{K,M,G} (65536-524287999, default 524287999): 524287999
Ключевым моментом здесь является то, что число, используемое для правильного начала выравнивания, должно быть разделено на 2048.
Возьмем приведенный выше пример: 65536/2048 = 32 >>>> выравнивание правильно, 65536 можно использовать для выравнивания раздела.
65556/2048=32.00976 >>>>выравнивание неправильное, поэтому это значение использовать нельзя.