Pull to refresh

Comments 28

Если бы раздел был на LVM, проблем с синхронизацией данных бы не было. Можно бы было просто мигрировать LVM раздел на другие диски\разделы прямо на ходу. Я бы LVM поверх рейда намутил был, перед синхронизацией. И fstab по UUID лучше делать, либо по label.
Поскольку LVM изначально там не было, то вынужден был пришлось обойтись без него. А поднять его поверх RAID — не пришло в голову.
И fstab по UUID лучше делать, либо по label
— согласен, более надёжный вариант.

Рейд это не отказоустойчивость. Это более высокая доступность.
А так, миграция сделана красиво.

Всё же отказоустойчивость у RAID1 присутствует, так как при отказе одного диска работоспособность сохраняется. Само собой, последствия отказа следует устранить как можно быстрее, но тем не менее, работа сервера при исправном одном из двух дисков вполне возможна.
в данном случае это именно доступность.
Автор решает задачу отказа диска (и то с большими но… в raid1 риск отказ рабочего диска при ребилде велик), а не как не повышает отказоустойчивость дисковой подсистемы в целом.
Но в целом, для успокоения, можете считать, что это «отказоустойчивая конфигурация» (до первого отказа).
в raid1 риск отказ рабочего диска при ребилде велик
Значит ли это, что риск отказа уменьшается, если сначала создаёшь полноценный RAID1, а потом начинаешь писать на него данные?
Crazyvlad говорит про ситуацию, когда у вас умер один диск, вы его убрали, поставили другой на замену. И вот тут и появляется повышенная нагрузка, пока данные с существующего диска не скопировались на новый. Гораздо забавнее это было в больших raid5 массивах, где шанс смерти второго диска становится значительным.
В случае, когда умирает ещё один диск, что на RAD1, что на RAID5 — всё становится окончательно плохо.

Если не ограничивать скорость репликации — да, будет плохо.
Но кто ж разрешит на продакшне не ограничивать её?

Crazyvlad
Рейд это не отказоустойчивость. Это более высокая доступность.
так ведь
mdadm --create --verbose /dev/md0 --raid-devices=2 --level=1 --metadata=1.2 /dev/sda1 /dev/sdb1
зеркало же.
Жил-был LAMP-сервер на Ubuntu 12.04

Но зачем? Даже расширенная поддержка обновлений безопасности закончилась в апреле этого года. Случаи, конечно, разные бывают, но LAMP-сервер всё-таки очень легко доступный для атак тип сервера, даже если он локальный.
Описанный мною перенос был осуществлён несколько лет назад, когда версия 12.04 ещё полностью поддерживалась.
А есть смысл переносить свап на райд вместо двух свапов на разных дисках?
И да, и нет. В любом случае обращение операционной системы к swap'у вызывает существенное замедление работы сервера, так что по скорости swap на RAID принципиально не будет отличаться от двух таковых на разных дисках.
Даже некоторые провайдеры так поступают — пред-устанавливают две swap партиции на разных дисках, остальные партиции которых входят в программный RAID1. Проблемы начинаются, когда один из дисков выходит из строя. Особенно горько, если в swap были записаны данные. Да и система с такой конфигурацией при выходе из строя одного из дисков в большинстве случаев виснет.

Если же swap-партиция находится в RAID1 и контроллер поддерживает hot swap, то выход из строя и замена одного из дисков проходит для пользователей практически незаметно, а для администратора — бескровно.

Я всегда создавал сначала рэйд с одним текущим диском.
Ребутился, проверял всё ли ок.


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


А ты ещё и скорость заполнения можешь регулировать, что особенно важно, когда диски медленные и сервер под нагрузкой.

Я всегда создавал сначала рэйд с одним текущим диском.

Интересно, какое преимущество у этого способа перед способом создания RAID сразу с полным набором дисков?
У тебя может не быть диска сейчас, но потом может появится. Хотя я против такой логики и мне больше симпатизирует лвм из комментария выше.
Вопрос всё-таки был о преимуществах создания массива не с полным набором дисков, а не о способе выхода из ситуации «подними RAID во что бы то ни стало».
Я думаю, все преимущества и недостатки данного метода «видны невооружённым глазом». Существенных отличий нет. Конечно, если этот единственный диск вдруг испортится до того, как полноценный RAID1 заработает, то будет неприятно. Но это риск, на который мы осознанно пошли.

Я тоже часто подготавливаю всё сначала на RAID1 только с одним диском, потом добавляю второй. Моя мотивация — то, что при сборке RAID1 диски в обоих случаях должны быть синхронизированы. (Можно отключить для начальной сборки, но я предпочитаю «перебдеть».) Пока идёт начальная синхронизация, я предпочитаю систему не дёргать и не перезапускать, хотя тут каждый решает сам. Да и дисковые операции становятся медленнее. Таким образом, готовя всё только на одном диске, я откладываю фазу первичной синхронизации на потом.

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

И да, всегда создаю LVM-партиции поверх RAID1. Потом это сильно помогает при online перебросах или расширении партиций.
Если инсталлируется новый сервер, то какой смысл собирать RAID1 на одном диске, а потом, когда сервер заработает — добавлять второй? Сразу подняли полноценный RAID, диски мгновенно синхронизировались, потому что информации на них минимум, ну а дальше — установка ПО и ввод сервака в эксплуатацию.
Amphis, в первичную синхронизацию входит процесс полного обнуления входящих в RAID1 партиций. Это занимает некоторое время, в зависимости от размера партиций. Как я уже писал, это «можно отключить для начальной сборки, но я предпочитаю «перебдеть».».

Ничего против изначального поднятия полноценного RAID1 не имею. Но сам так делаю не всегда ;)

Да, для нового сервера так и делается изначально.


А вот для описанного в статье случая с отсутствием рэйда и его создании с добавлением сначала 2го диска с последующей синхронизацией ручками — тут, как по мне, лучше создать рэйд на первом диске и потом добавить второй.
Синхронизацию точно должен делать сам рэйд — никаких потерь данных.

лучше создать рэйд на первом диске и потом добавить второй

А как можно создать RAID на первом диске, если на нём уже установлена ОС, стоит нужное ПО и хранятся некие, потенциально важные, данные?

Данные первого диска?
Они остаются, с чего бы им удаляться?


Софт-рэйд реплицирует только на следующие диски (члены рэйдовых партиций).

В моём случае первый диск — рабочий. На нём установлена система. Он не в RAID, а сам по себе. Второй диск — пустой. Как можно при таких условиях сделать то, о чём вы говорите:
тут, как по мне, лучше создать рэйд на первом диске и потом добавить второй.
?
А почему не RAID10 из двух дисков? Пишут что скорость чтения будет почти в два раза выше чем на RAID1.
RAID10 делается из 4х дисков, это рейд 1 объеденённый в рейд 0.
Sign up to leave a comment.

Articles