Рейтинг:0

Создать том lvm в последних цилиндрах диска

флаг hm

Во всех магнитных дисках заметна разница в скорости между первым и последним секторами, вплоть до двух-трёх раз. Это по-прежнему верно для новых многотерабайтных дисков. Так что все же имеет смысл зарезервировать последние цилиндры диска для редко используемых файлов, особенно для резервных копий.

С разбитым на разделы диском сделать это тривиально, с единственной оговоркой, позволяющей в будущем изменять размер.

Но моя конфигурация неразделенный LVM. Поэтому мне нужно либо поместить две группы томов в одно и то же физическое оборудование (одна с использованием начала набора дисков, другая с использованием концов), либо убедиться, что логический том предпочитает использовать расширения в последних цилиндрах оборудования. . Является ли это возможным? Есть ли у нас какой-то контроль над тем, где будет находиться LV?

Matthew Ife avatar
флаг jo
Это кажется мне сомнительным заявлением в дикой природе. Вы действительно проверяли, насколько заметна производительность на самом деле? По определению часто используемые файлы будут обслуживаться из кеша страниц и будут работать бесконечно быстрее. На магнитных носителях тот факт, что вам нужно получить к ним доступ, в любом случае в тысячу раз медленнее, чем извлечение из памяти.
флаг hm
Да, я устанавливал для некоторых новых 8-терабайтных дисков, которые я устанавливал. Я думал, что это хорошо известно. Вы можете проверить с помощью канала dd в pv или чтения, начиная с разных секторов.
флаг hm
Теперь это правда, что в настоящее время мы можем рассмотреть четыре уровня для организации файлов: из памяти, с ssd, с быстрых магнитных носителей, с медленных магнитных носителей.
Matthew Ife avatar
флаг jo
Я говорю, что если вы выполняете произвольный доступ к реальным файлам, они кэшируются в памяти. Наиболее часто используемые файлы остаются в памяти. Сохранение горячего кэша страниц значительно превосходит любые выгоды, которые вы получите от распределения физических носителей. Я уверен, что теоретически вы можете измерить разницу в производительности поиска при доступе с одного конца диска к другому, но в реальных буферизованных файловых системах маловероятно, что вы столкнетесь с этим типом проблемы как с ключевой проблемой производительности, которую вы хотели бы решить. взяться.
флаг hm
В моей компании есть несколько вариантов использования конвейерного сканирования огромных файлов. Такие файлы выигрывают от того, что они находятся в более быстрых полосах, и они достаточно велики, чтобы их нельзя было кэшировать в памяти. Я уверен, что в мире больших данных есть много вариантов использования, когда файлы всегда отсутствуют в кэше страниц.
Рейтинг:2
флаг jo

Я не совсем согласен, что это огромная проблема для большинства рабочих нагрузок из-за кэширования, политик опережающего чтения и дисковых лифтов, которые вы можете использовать, но это возможно с оговорками.

Лучший способ решить эту проблему — физически разделить носитель, который вы хотите выделить, на «фрагменты», которые вы считаете каждым концом диска, который хотите отделить.

Что-то вроде этого

Номер Начало Конец Размер Тип Файловая система Флаги
 1 1049 КБ 1075 МБ 1074 МБ основная загрузка ext4
 2 1075MB 4TB 4TB primary lvm # Мой быстрый раздел
 3 4 ТБ 8 ТБ 4 ТБ основной lvm # Мой медленный раздел

Затем создайте группы томов. В этом примере я использую одну группу томов, но вместо этого может быть проще иметь «медленную» виртуальную группу и «быструю» виртуальную группу.

# pvcreate /dev/sda2 
# pvcreate /dev/sda3
# vgcreate vg /dev/sda2 /dev/sda3

Затем выделите свои LV из указанных физических томов.

# lvcreate -n myFastLV -L1TB vg /dev/sda2
# lvcreate -n mySlowLV -L1TB vg /dev/sda3

Предостережение здесь заключается в том, что плохие сектора могут быть незаметно заменены контроллером диска «резервом», часто расположенным в другом месте (что полностью не зависит от производителя). Кроме того, некоторые более необычные диски могут внутренне переназначать сектора, которые логически согласуются с предлагаемыми утверждениями, но физически находятся не в том месте, где вы ожидали.

Наконец, рабочая нагрузка, которую вы предлагаете (конвейерная обработка огромных файлов), на самом деле представляет собой проблему с очень последовательной рабочей нагрузкой, которая будет иметь больший выигрыш от использования методов предварительного распределения для записанных файлов (чтобы они оставались непрерывными, а не фрагментированными).

Затем установите агрессивные политики опережающего чтения для чтения целых полос смежных / предстоящих секторов, которые, скорее всего, будут примыкать к файлу, который вы читаете.

Более мелкозернистый подход также может быть достигнут с использованием dmsetup для отображения физических секторов в любом порядке и в любом виде, который вы хотели, но это было бы не слишком переносимо и, вероятно, требует больше усилий, чем оно того стоит в долгосрочной перспективе (например, вам понадобится скрипт для восстановления отображения при загрузке).

флаг hm
Ваша точка зрения о поврежденных секторах интересна. Конечно, минимизация смещения жатки по-прежнему является основным приемом для оптимальной работы с магнитными дисками. Про readahead да, и адекватные страйпы по дискам, рейд 0 вроде. Все помогает.
флаг hm
Таблицы dmsetup кажутся мне очень важными... но если они не сохраняются в дескрипторах LVM, то это действительно головная боль.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.