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

linux hardware raid 10 / lvm / выравнивание разделов виртуальной машины и оптимизация файловой системы

Я читал все, что мог найти о выравнивании разделов и оптимизации файловой системы (ext4 и xfs), но все еще не знаю достаточно, чтобы быть уверенным в настройке моей текущей конфигурации. Моя остальная путаница исходит от уровня LVM и от того, следует ли мне использовать параметры рейда в файловой системе в гостевых ОС.

Мои основные вопросы:

  1. Когда я использую pvcreate --dataalignment, я использую ширину полосы, рассчитанную для файловой системы на RAID (128 КБ для ext4 в моей ситуации), размер полосы набора RAID (256 КБ), что-то еще, или я не нужно это?

  2. Когда я создаю файловые системы ext2 / 3/4 или xfs в гостевых системах логических томов, следует ли мне добавить настройки для базового RAID (например, mkfs.ext4 -b 4096 -E stride = 64, stripe-width = 128)?

  3. Видит ли кто-нибудь явные ошибки в моей настройке ниже? Сейчас я провожу несколько тестов, но еще не сделал достаточно, чтобы начать сравнивать результаты.

У меня есть четыре диска в RAID 10 на контроллере 3ware 9750-4i (подробнее о настройках ниже), что дает мне устройство объемом 6,0 ТБ в / dev / sda. Вот моя таблица разделов:

Model: LSI 9750-4i DISK (scsi)
Disk /dev/sda: 5722024MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start      End         Size        File system     Name      Flags
 1      1.00MiB    257MiB      256MiB      ext4            BOOTPART  boot
 2      257MiB     4353MiB     4096MiB     linux-swap(v1)
 3      4353MiB    266497MiB   262144MiB   ext4
 4      266497MiB  4460801MiB  4194304MiB

Partition 1 is to be the /boot partition for my xen host.
Partition 2 is swap.
Partition 3 is to be the root (/) for my xen host.
Partition 4 is to be (the only) physical volume to be used by LVM
(for those who are counting, I left about 1.2TB unallocated for now)

Для моих гостей Xen я обычно создаю логический том необходимого размера и представляю его гостям, чтобы они при необходимости разбивали его. Я знаю, что есть другие способы справиться с этим, но этот метод лучше всего подходит для моей ситуации.

Here's the hardware of interest on my CentOS 6.3 Xen Host:

4x Seagate Barracuda 3TB ST3000DM001 Drives (sector size: 512 logical/4096 physical)

3ware 9750-4i w/BBU  (sector size reported: 512 logical/512 physical)
    All four drives make up a RAID 10 array.
    Stripe: 256kB
    Write Cache enabled
    Read Cache: intelligent
    StoreSave: Balance

Спасибо!

Конкретно в ответ на ваши вопросы:

  1. Ширина полосы (256 КБ)

  2. да

  3. Я могу думать о двух вещах, которые не упоминаются:

3.1) Вы не начинаете с размера ввода-вывода верхнего уровня, с которого вам нужно начать. Если ваше приложение в основном будет писать блоками по x КБ, вам необходимо оптимизировать и выровнять весь стек хранилища для блоков по x КБ.

3.2) Вы не коснулись выравнивания групп блоков (опция -g для файловых систем ext *). Вам необходимо настроить размер группы блоков таким образом, чтобы все группы блоков не начинались с одного диска, создавая тем самым огромную горячую точку и делая этот диск узким местом.

Я написал статью на эту тему, в которой объясняется, как добиться оптимальное выравнивание стека хранения, который может оказаться полезным.