При подготовке инфраструктуры для использования распределенной системы хранения, например MooseFS или XtreemFS, как отдельные узлы должны представлять хранилище для остальной среды?
Что лучше: разделы должны быть расположены близко к физическому оборудованию, или отдельные узлы должны представлять логические тома и / или группы томов?
В предыдущем вопросе "Есть ли способ сделать что-то вроде LVM через NFS?", Я добился того же результата, что и при использовании распределенной системы, например GlusterFS через посредника VMware.
Как лучше всего подойти к этому сценарию для распределенной файловой системы? Различается ли подход в зависимости от выбранной распределенной файловой системы?
Кажется, есть два общих подхода (по крайней мере, в мирах MooseFS и XtreemFS):
Для MooseFS лучший способ - использовать один жесткий диск в качестве одного раздела XFS, подключенного к серверу фрагментов. Мы не рекомендуем использовать конфигурацию RAID, LVM.
Зачем?
Во-первых, это ошибки HDD. Если ваш жесткий диск начинает замедляться, трудно найти тот, который находится на LVM. В MFS его можно очень быстро найти даже с главного веб-сайта MFS. Второе: добавить или удалить жесткий диск в MooseFS проще, чем добавить или удалить группу LVM. Просто добавьте жесткий диск на сервер фрагментов, отформатируйте его в XFS, перезагрузите сервер фрагментов, и на вашем экземпляре появится дополнительное место. В-третьих, у MoooseFS есть много лучших алгоритмов сортировки для размещения блоков на многих жестких дисках, поэтому все жесткие диски имеют сбалансированный трафик - LVM этого не делает.
OSD XtreemFS (а также другие службы) полагаются на локальную файловую систему для хранения данных и метаданных. Таким образом, на машине с несколькими дисками у вас есть две возможности. Во-первых, вы можете объединить несколько дисков на одном компьютере в одну файловую систему, например с помощью RAID, LVM или пула ZFS. Во-вторых, каждый диск (включая твердотельные накопители и т. Д.) Имеет свою собственную локальную файловую систему и экспортируется собственной службой OSD XtreemFS.
У обеих возможностей есть свои преимущества и недостатки, и я не могу дать общую рекомендацию. Первый вариант обеспечивает гибкость с точки зрения используемого уровня RAID или, возможно, подключенных кэшей SSD. Более того, может быть проще поддерживать и контролировать один процесс OSD на машине, чем один процесс на диске.
Использование одного OSD-сервера на локальном диске может улучшить производительность. При использовании RAID-массива быстрых твердотельных накопителей OSD XtreemFS может стать узким местом. Вы также можете разделить нагрузку нескольких экранных меню на одном компьютере через несколько сетевых интерфейсов. Для реплицированных файлов необходимо позаботиться о размещении реплик и избегать размещения нескольких реплик одного файла в OSD, работающих на одном оборудовании. Возможно, вам придется написать собственную политику выбора OSD. XtreemFS предлагает интерфейс для этого.
Основываясь на ответе XtreemFS, может показаться, что MooseFS могла бы извлечь выгоду из подхода «том за один раз», но только если вы очень хорошо смягчите потенциальные сбои дисков.
Диск за раз имеет то преимущество, что в случае отказа одного диска (который, по-видимому, является наиболее серьезной физической ошибкой, которая может произойти), алгоритмы сортировки и системы восстановления MooseFS могут реплицировать уже не реплицированные данные и "игнорировать "отказавший диск.
Функция Volume-at-a-time позволяет принудительно размещать реплицированные данные на разных серверах, но не гарантирует равномерного / уровня физическое лицо использование диска.
Эти ответы поступают из соответствующих списков рассылки для MooseFS и XtreemFS - улучшена только грамматика и читаемость; ссылки на оригинальные темы предоставлены