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

Какая распределенная файловая система действительно соответствует моим потребностям?

Выслушайте меня

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

Задний план

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

я посмотрел в этом потрясающем списке для предложений о том, что доступно, и я не уверен, что соответствует моим потребностям.

Пример использования

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

Что я ищу

Я ищу распределенную файловую систему, которая:

Мощный API и простота использования - большие плюсы.

Мое текущее оборудование

Это может быть неважно, но может помочь советами по реализации.

В настоящее время у меня есть Raspberry Pi, один жесткий диск на 2 ТБ и один жесткий диск на 4 ТБ. Я планирую добавить еще один жесткий диск емкостью 2 ТБ в ближайшем будущем и больше серверов с большим количеством жестких дисков в далеком будущем (сейчас денег мало; я бедный студент колледжа).

Мое предлагаемое в настоящее время решение

Я много исследовал это, и я понял, что это немного выше моей головы, но вот что у меня есть на данный момент:

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

Мой план состоял в том, чтобы поместить BTRFS на диски, чтобы справиться с гнилью бит, а затем запустить Ceph как кластер с одним узлом для последующего расширения.

Вопросы о том, как это будет работать

Некоторые конкретные вопросы, которые у меня есть по поводу предлагаемой мной установки:

  1. Я знаю, что BTRFS может иметь защиту от гниения битов, но это по умолчанию? Что мне нужно для его включения?
  2. Я знаю, что несоответствие размера диска может быть проблемой (один 2 ТБ, другой 4 ТБ), но будет ли это работать, пока я не получу другой диск на 2 ТБ?

Спасибо

Я очень ценю, что вы дочитали до этого места :)

Думаю, за последние несколько месяцев я обнаружил достаточно, чтобы ответить на этот вопрос.

Во-первых, Raspberry Pi продержался так долго, в конце концов я перешел на настоящий компьютер с отличными характеристиками. Я решил, что у меня есть только два варианта того, что мне нужно, BTRFS и Ceph.

BTRFS

Это лучший вариант для одного узла с несколькими дисками. Позднее обновление до Ceph из-за его распределенных возможностей не слишком сложно, а заставить работать BTRFS очень просто.

Некоторые причины, по которым это здорово:

  • Автоматическая защита от тихого битрота. Если есть ошибка контрольной суммы, он выдаст ошибку.
  • Автоматическое лечение битротомов в Raid 1. Он обнаружит ошибку и перезапишет любые ошибочные данные правильными данными с другого диска в массиве raid 1.
  • Управлять BTRFS live очень просто. Утилиты командной строки великолепны.
  • Может работать с дисками разного размера, но иногда приводит к неиспользуемому пространству.

Ceph

  • Может распределяться между узлами.
  • Также есть защита от битротов с помощью BlueStore.
  • Может потребовать много оперативной памяти и вычислительной мощности по сравнению с другими. Наверное, из-за отличного набора функций.

Что я решил сделать

Поскольку у меня все еще есть только один узел, у меня есть массив BTRFS raid 1 с одним SSD на 2 ТБ и двумя SSD на 1 ТБ. Это отлично работает, а добавить SSD на 2 ТБ было легко.

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