Стратегии отработки отказа для домашнего сервера (RAID, Gluster и т. Д.)

685
pentix

У меня дома Raspberry PI работает Raspian и некоторые серверы, такие как Apache, MySQL и ssh. Raspberry напрямую подключен (LAN) к домашнему маршрутизатору и к внешнему жесткому диску ext4 в 2 ТБ. Поскольку на нем есть важные вещи (резервные копии, фотографии, документы и т. Д.), Я rsyncпересаживаю весь внешний диск каждые 2 недели на другой внешний диск. До сих пор все работало нормально, но в последнее время на главном диске возникают проблемы ... (монтируется ro, fsck исправляет несколько ошибок)

Из-за этого (а также из-за того, что хранилище скоро закончится) я в настоящее время ищу более безопасные, если возможно, автоматические методы безопасного хранения данных.

Сначала я подумал о RAID-массиве, который будет сохранять файлы и резервные копии на нескольких дисках. Хотя я не уверен, как бы это реализовать ...

Позже я нашел glusterfs, который, казалось, имел некоторые преимущества:

  • Gluster может разбивать большие файлы (AFAIK повышает скорость доступа)
  • Gluster может сохранять файлы на нескольких томах и может автоматически управлять отказами дисков

Однако я снова не уверен, мог ли мой Raspberry Pi действовать как хозяин кластера, а также как раб кластера; все еще работает другие службы.

Я хотел бы иметь возможность «горячей» замены сломанного диска и позволить системе восстановиться самостоятельно, не заботясь о целостности данных. Безопасность и доступность важнее скорости доступа. Емкость должна быть от 2 ТБ до 4 ТБ.

Сколько дисководов и какую конфигурацию программного обеспечения мне нужно настроить, чтобы иметь такой комфорт?

Спасибо за любые предложения!

1

1 ответ на вопрос

2
davidgo

Во-первых, RAID НЕ РЕЗЕРВ. RAID защищает от сбоя жесткого диска, вот и все. Это стоит сделать, но не обеспечивает защиту от повреждения данных, кражи, случайного удаления, атак типа Cryptolocker. Вы действительно хотите использовать RAID, если вы собираетесь использовать горячую замену.

Я был бы склонен взглянуть на решение, состоящее из двух частей: использовать RAID для повышения надежности ваших дисков, обеспечения доступности и горячей замены. (Обратите внимание, что вам, вероятно, нужно использовать RAID1, поэтому пару дисков по 2 ТБ или 4 ТБ - НЕ ИСПОЛЬЗУЙТЕ RAID 5).

Чтобы использовать RAID, вы должны реализовать « Программный RAID », обычно предоставляемый « mdadmin ».

Затем я бы посмотрел на способ выполнения автономного / автономного зеркалирования / архивирования - есть несколько способов сделать это - RSnapshot - хорошая идея, которая позволяет создавать инкрементные резервные копии, или, возможно, настроить Owncloud на случай, если у вас забито снаряжение или вы сделать что-нибудь глупое.

Спасибо, я расскажу вам об этом и еще раз поделюсь с вами :) Из-за отсутствия репутации в SF я не могу высказать ваше решение ... pentix 8 лет назад 0
Так что я прав в заключении, glusterfs не будет альтернативой RAID? Разве это не обеспечивает возможность горячей замены? pentix 8 лет назад 0
Я не использовал GlusterFS, но да, это была бы альтернатива RAID. Я очень сомневаюсь, что это обеспечит возможность горячей замены, но оно позволит вам продолжать работу даже после сбоя диска и позволит вам воссоздать данные из резервной копии, предоставляя вам аналогичную функциональность. Признаюсь, я был удивлен, что PI достаточно мощный, чтобы запускать GlusterFS - хотя, похоже, это так. Однако, я думаю, вам понадобится более 1 Пи, чтобы заставить Глостера работать. davidgo 8 лет назад 0
Еще раз спасибо за ваш ответ! В настоящее время я думаю о настройке RAID-1 с использованием 2x3 ТБ, используя OwnCloud в качестве программного обеспечения «контроля версий», чтобы иметь возможность вернуться к старому состоянию файла. Как только я подключил два диска (A, B), создал RAID и подключил его, есть ли возможность отключить диск (B), подключить старый диск объемом 2 ТБ (C), чтобы скопировать все данные из (C) в (A), а затем размонтировать (C) и перемонтировать (B), чтобы позволить mdadmin отразить все файлы из (A) в (B)? Я спрашиваю об этом потому, что у моего Пи есть только 2 USB-концентратора ... pentix 8 лет назад 0
Вы можете сделать это как единое целое - хотя вам будет гораздо лучше обслужить, если изначально настроить RAID как поврежденный массив, скопировать в него данные и затем создать массив - это сэкономит дни сборки и перестроения. (Вы не хотите делать это на регулярной основе). https://zmonkey.org/blog/content/create-degraded-raid1-array показывает 1 способ сделать это, но я обычно использую 2 устройства и устанавливаю 1 диск как отсутствующий согласно принятому ответу на http: //unix.stackexchange .com / questions / 63928 / can-i-create-a-software-raid-1-with-one-device и добавьте его потом .... продолжение davidgo 8 лет назад 1
Также обратите внимание, что RAID работает на уровне BLOCK - в идеале на уровне разделов в случае MDADM. Это означает, что он не отражает файлы, он отражает все блочное устройство - это намного медленнее, поскольку - по крайней мере, пока вы не станете RAID-ниндзя - ему нужно синхронизировать весь диск - что происходит медленно в фоновом режиме. Кроме того, Owncloud хорош для автономного резервного копирования (и, может быть, а может и нет, контроля версий). Если вам нужно время восстановления, RSNAPSHOT может быть лучшим вариантом. davidgo 8 лет назад 0
Owncloud скорее будет использоваться в качестве удобного способа предотвращения случайного удаления файла. И вместо sftp я бы предпочел использовать WebDAV для предоставления доступа моим пользователям Windows ... pentix 8 лет назад 0
Принятый ответ в вашей второй ссылке мне кажется очень полезным! Другой вопрос: возможно ли также установить один отсутствующий диск, удалить его, подключить другой диск, чтобы скопировать некоторые файлы с (незавершенного) RAID на вновь подключенный диск, снова размонтировать его, а затем повторно добавить другой диск? (без необходимости ждать дни, чтобы восстановить весь массив RAID?) pentix 8 лет назад 0
Нет. Когда вы устанавливаете диск как отсутствующий, вы удаляете его из настройки RAID, и он должен будет повторно синхронизироваться. Я никогда не слышал о том, чтобы кто-то другой, кроме меня, делал это (такой высокий риск), но в прошлом я использовал DRBD (который предназначен для сетевого RAID) для достижения чего-то подобного, и я считаю, что это будет работать здесь - http: //my.host.net.nz/2012/09/30/on-demand-raid-for-laptop-with-ssd-and-usb-disk/ подробно что я сделал, как я это сделал и как он работал в мой случай использования. Unlinke MDADM, DRBD отслеживает измененные блоки, чтобы разрешить повторную синхронизацию [потому что сбои в сети распространены] davidgo 8 лет назад 0
Спасибо, я посмотрю. Я мог бы использовать USB-репликатор для монтирования двух дисков, а также установить другой диск ... pentix 8 лет назад 0

Похожие вопросы