Я работал над этим в течение всего дня, и хотел разветвиться и получить некоторые отзывы / мнения об этой настройке и о том, как я могу справиться с ней, если она когда-нибудь случится.
У меня есть система Ubuntu Server, в которой файловая система находится на относительно небольшом диске сама по себе, а основные данные, которые она хранит, находятся на 5 дисках, сконфигурированных в RAID5 с использованием MDADM.
Данные, хранящиеся в массиве RAID, имеют средний приоритет. Там нет никаких конфиденциальных личных данных пользователя, поэтому потеря не будет означать конец света. Тем не менее, я хотел бы немного избыточности по мере роста дисков, поэтому RAID 5 является очевидным выбором.
Поэтому, если диск в массиве выходит из строя, я могу заменить его до того, как произойдет что-то катастрофическое. Если во время замены первого диска происходит сбой другого привода, я просто поражаюсь удачей освещения.
Что меня интересует, так это то, что я могу сделать с диском, который содержит ОС. Прямо сейчас я использую rsync для резервного копирования данных в удаленное местоположение один раз за ночь. И один раз в неделю это удаленное местоположение отслеживает файловую систему и сохраняет ее (в ней всегда будут храниться 4 новейших архивных файла). Моя логика заключается в том, что это приводит к наименьшему трафику между ящиками, что хорошо, так как сервер находится у меня дома, и все же у меня будет какое-то "полное" еженедельное резервное копирование на удаленном конце, а также еженедельное резервное копирование. Строка rsync в моем скрипте резервного копирования выглядит следующим образом:
rsync --info=progress2 --numeric-ids -aAXPve ssh /* <remote>:~/server_backup --exclude=~/Download/* --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lost+found --delete
Во всяком случае, я столкнулся с ошибками дисков в массиве RAID. Это легко и приятно, зная, что все, что вам нужно сделать, это заменить его, сказать MDADM, что вы заменили диск, и подождать день или два, пока новый диск не будет полностью добавлен в массив. Однако мне еще не приходилось сталкиваться с ошибкой диска файловой системы. Вот почему я здесь, чтобы получить мнения / отзывы о том, что я должен делать.
Я подумал добавить еще один небольшой диск для ОС и зеркалировать их, используя RAID 1. Я полагаю, положительным моментом является то, что если один диск полностью закроется, другой спасет мою файловую систему. Недостатком является то, что если есть какая-то коррупция, или я действительно действительно что-то напутал, данные сразу зеркально отражаются между обоими устройствами. По сути, мне нравится идея создания инкрементных и полных резервных копий, а не зеркальных настроек файловой системы.
Хорошо, но что же происходит в тот верный день, когда диск файловой системы в конечном итоге выходит из строя? Я иду в магазин, покупаю новый диск, подключаю его, что происходит?
Нужно ли устанавливать Ubuntu на диск и отменять команду rsync? Что происходит с моим разделом RAID? Это своего рода обходной вопрос, где хранятся метаданные RAID? Это было на диске ОС? Сделано ли это в моем удаленном хранилище, которое содержит инкрементные резервные копии через rsync? Он находится исключительно в суперблоке на самих дисках RAID?
Если я пойду и куплю новый диск для файловой системы, установлю Ubuntu и добавлю его обратно на мой сервер, что он увидит? Будет ли он видеть массив вообще?
Если затем я перешлю все свои изменения с удаленного сервера резервного копирования на мой локальный сервер, увидит ли он массив?
Или я ошибаюсь, предполагая любой случай?
Я хочу быть готовым к тому моменту, когда этот диск наконец умрет. Я старательно выполнял резервное копирование rsync за пределы сайта, но хочу точно знать, является ли все то, что я делал, огромной тратой времени, и что я могу сделать, чтобы гарантировать, что я смогу продолжать использовать свою систему после катастрофический сбой диска, который содержит файловую систему.