Я считаю, что страдаю синдромом «все должно быть в степени двойки». Когда меня попросили создать диск 30 ГБ в VmWare для виртуальной машины, я хочу создать диск 32 ГБ. Если кому-то нужно 256 ГБ памяти с использованием LVM, я создаю 1 256, 2 128 или 4 64 ...
Вопрос прост: есть ли влияние на производительность или недостатки при создании дисков «нечетного» размера, даже когда я помещаю их в группу томов в Linux? Если кто-то просит 80G, можно ли создать 10, 20 и 50 для этого? или я должен попытаться придерживаться степени двойки, если могу?
Я бы рекомендовал вам следить за тем, выравнивается ли раздел так называемым вводом-выводом, поскольку это действительно может повлиять на производительность ввода-вывода. В настоящее время это не такая проблема, поскольку установщики или мастера настройки обычно автоматически выравнивают разделы на некоторых "power of 2"
Граница, но когда вы создаете ее вручную, может быть полезно знать, как она работает.
Я постараюсь объяснить концепцию на простом примере, заимствованном из виртуальных сред. Для простоты предположим, что инфраструктура VMware vSphere и файловая система VMFS. Всего мы должны учитывать три уровня - дисковый массив, который имеет куски определенного размера для запроса данных, файловую систему VMFS с блоками определенного размера и, наконец, файловую систему гостевой операционной системы, организованную в блоки / кластеры.
Обычно вам не нужно тратить время на согласование файловой системы VMFS с дисковым массивом, поскольку это выполняется автоматически при создании нового хранилища данных VMFS с помощью vCenter. С гостевой ОС дело обстоит хуже. Ниже приведено изображение невыровненных слоев:
Когда гостевая ОС читает / записывает один блок / кластер, лежащий в основе гипервизор / дисковый массив должен будет запросить один блок из файловой системы VMFS и два фрагмента дискового массива, поскольку блок охватывает несколько фрагментов. Это может означать чтение или запись с нескольких шпинделей дисков, поскольку эти фрагменты могут быть распределены по нескольким дискам в зависимости от конфигурации RAID. Конечно, это не оптимальная конфигурация. Лучше выровненный:
Затем один запрос блока файловой системы генерирует один запрос блока дискового массива. Тем не менее, большинство современных операционных систем запоминают автоматическое выравнивание разделов ввода-вывода во время установки. Например, Windows Server 2008 или RedHat Enterprise Linux 6 это делают, а Windows Server 2003 или более старые дистрибутивы - нет.
Так что об этом все же стоит помнить, поскольку автоматическое выравнивание ввода-вывода обычно зависит от функций запоминающих устройств, чтобы указать их предпочтительное выравнивание ввода-вывода и размер блока ввода-вывода. Современные стеки ввода-вывода Linux (например, RHEL 6, parted, LVM, mkfs) могут работать с такой информацией и поэтому выполняют ее автоматически. Но если он не работает должным образом, вам следует сделать это вручную.