Ответы пользователя по тегу RAID
  • Как скопировать данный из RAID 1 диска?

    Melkij
    @Melkij
    PostgreSQL DBA
    raid1 - это решение поддержания high availability на случай физического отказа накопителя. Ну эти, старые добрые HDD, помирающие в случайный момент времени и спокойно заменяемые в hot swap корзине на аналогичный из коробки с запасными частями, без прерывания работы сервера и сервисов.

    Всё.

    Если вы почему-то решили, что raid1 должен как-то заменять бекапы и страховать ошибки оператора - подумайте ещё раз.
    Ответ написан
  • Как восстановить RAID5 synology?

    Melkij
    @Melkij
    PostgreSQL DBA
    Развалился RAID 5, диск в первой корзине просто пропал скорее всего полностью вышел из строя. Шара была доступна частично, после перезагрузки доступ к файлам пропал.

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

    raid5 допускает выпадение максимум только одного диска массива. Отсутствуют два = массив потерян со всеми данными. Просто неоткуда читать в вашем случае треть данных.

    Если три диска массива ещё читаются, хоть и не собираются в массив, то закупить новые диски, на них клонировать то что читается, попробовать собрать вручную. https://habr.com/ru/articles/128429/
    Ответ написан
    Комментировать
  • Как заменить диски в RAID 1 на диски меньшего объема?

    Melkij
    @Melkij
    PostgreSQL DBA
    Будут, разумеется. Как вы контроллеру предлагаете обеспечить зеркало ёмкости 500гб на накопителе меньшего объёма? Контроллер закономерно откажется использовать такой диск в массиве.

    Открываете документацию к контроллеру и ищете, есть ли в принципе возможность уменьшить размер виртуального диска. Может не быть.

    Если у контроллера есть такая возможность - то сначала делаете бекап. Потом придумываете, как уменьшить использование диска до нового порога с точки зрения ОС. Уменьшить файловые системы, разделы диска и прочее что как-то использует ёмкость виртуального диска.
    Затем делаете ещё бекап..
    Затем следуете документации контроллера по уменьшению размера виртуального диска.
    Затем меняете диск, ждёте ребилд, меняете второй диск.

    Если контроллер так не умеет - делаете второй виртуальный диск меньшего размера, переносите на него систему, старый виртуальный диск удаляете.
    Ответ написан
    4 комментария
  • Как создать RAID-хранилище из старых SATA HDD?

    Melkij
    @Melkij
    PostgreSQL DBA
    получить к ним доступ по сети

    NAS (Network-attached storage)

    или по USB

    DAS (Direct-attached storage)
    DAS очень слабо распространены даже по сравнению с NAS.

    Мне не разглядеть на картинке, какие объёмы дисков. Заводские с большой вероятностью будут испытывать трудности с организацией массива из дисков разного объёма - например, возьмут меньший из дисков, превышающая ёмкость остальных останется неиспользуемой. Ну и даже лишь скромные 5 дисков уже часто нарекают бизнес-сегментом с более чем кусающимся ценником. Как-то тут на q&a подсчитывали, что дешевле взять USB хаб с внешним питанием и пяток usb адаптеров для 2,5" дисков (как у вас), чем покупать контроллер на 5 дисков... (к слову, да, один новый большой HDD вполне может быть дешевле чем пристраивать 5 маленьких)

    Самостоятельно собранные nas на десктопных комплектующих - штука не такая уж редкая. Ещё бывают всякие смешные игрушки на ARM
    Ответ написан
    4 комментария
  • Как по вашему мнению рациональнее собрать дисковую систему на сервере?

    Melkij
    @Melkij
    PostgreSQL DBA
    raid10 на 6 дисков, конечно, если место не поджимает. Быстро, удобно, нет извращений "ой, системный диск пустой и вообще по нулям i/o, вебовый забит под завязку, а диски под базой загружены в потолок".
    raid5 под базой зрелище зело печальное в работе.
    Ответ написан
  • Доп. вопрос к ответу - Это будет 2 RAID1 по 4 диска или 4 RAID1 по 2 диска, которые дальше объединены в RAID0?

    Melkij
    @Melkij
    PostgreSQL DBA
    Зависит от реализации.

    В linux raid (mdraid), например, raid10 - это особая штука. Сделать raid10 на 3 дисках? Да не вопрос, соберём и будет работать, честно гарантировать выживание массива при выпадении одного любого диска. А если хотите - можете собрать raid10 с избыточностью 3, тогда может помереть любые два диска.
    Куда какой блок при этом пишется - зависит от layout, это не просто зеркало поверх страйпа (или наоборот)

    Если говорить "по учебнику" - то для RAID10 нужно минимум 4 диска. Массив переживёт выпадение только одного любого из дисков массива. Максимальное число выпавших дисков не зависит от количества дисков в массиве. Выпадение второго диска может быть фатально. Но при большом везении RAID10 может потерять до половины дисков массива - если вы теряете только те блоки, которые массив может прочитать с другого живого диска.
    Ответ написан
    Комментировать
  • Как безопасно заменить умерший винт в зеркале raid?

    Melkij
    @Melkij
    PostgreSQL DBA
    Сначала выяснить, что это за комп, какой рейд и как именно собран, какой именно из дисков отказал. Затем имея эти данные предметно выяснить как именно на этом контроллере/fakeraid/softraid восстанавливать избыточность после потери диска и на что стоит обратить внимание по пути.
    Ответ написан
    5 комментариев
  • Как надёжен RAID на простой, не серверной, плате?

    Melkij
    @Melkij
    PostgreSQL DBA
    Это так называемый fake raid. Удивительная поделка, объединяющая недостатки одновременно аппаратного и программного рейда, но не обладающая никакими из их достоинств.
    Использовать можно только если скучно и хочется приключений.

    Не забудьте настроить бекапы. Рейды с избыточностью данных это про снижение простоя, а не замена бекапам.
    Ответ написан
    Комментировать
  • Как перенести работающую ОС Debian 11 на RAID1 с имеющейся LVM разметкой?

    Melkij
    @Melkij
    PostgreSQL DBA
    Решили что следующая схема распределения объема HDD будет наиболее подходящей:
    SWAP - RAID1 - 5Gb
    / - RAID1 - 24Gb
    /home - RAID5 - все оставшееся место

    не трогаете sda вообще на данном этапе!

    Вы забыли /boot упомянуть, предположу что считаем его как гигабайтный раздел без существенных изменений.
    Игнорируем разметку sda полностью, делаете таблицы разделов на sd[bcd] как
    1MiB bios_grub
    1GiB boot
    29GiB sys
    всё остальное data

    mdadm -C /dev/md0 -l 1 -n 4 missing /dev/sdb2 /dev/sdc2 /dev/sdd2
    mdadm -C /dev/md1 -l 1 -n 4 missing /dev/sdb3 /dev/sdc3 /dev/sdd3
    mdadm -C /dev/md2 -l 5 -n 4 missing /dev/sdb4 /dev/sdc4 /dev/sdd4 # другие опции по вкусу

    ждёте resync, обновляете mdadm.conf, отправляете железку в ребут для проверки что массивы корректно собираются сами.

    pvinit, vgextend новых md1 и md2 в имеющийся LVM
    pvmove root и swap на md1, хомяка на md2

    umount /boot , dd if=/dev/sda2 of=/dev/md0, grub-install /dev/sdb , grub-install /dev/sdc , grub-install /dev/sdd, обновить fstab вместо sda2 записать md0

    контрольный ребут

    vgreduce sda3 из lvm, удаляете таблицу разделов sda и создаёте новую идентичную прочим дискам,
    mdadm /dev/md0 -a /dev/sda2
    mdadm /dev/md1 -a /dev/sda3
    mdadm /dev/md2 -a /dev/sda4

    после resync всё готово. Через lvresize расширить размеры томов ну и resize2fs как обычно.
    Ответ написан
  • AMD EPYC NVMe RAID - решение?

    Melkij
    @Melkij
    PostgreSQL DBA
    Программный linux raid.
    Что помимо простоты будет ещё и работать быстрее. Без шуток. Хорошим SSD упереться в производительность аппаратного RAID контроллера не так уж сложно.
    Ответ написан
    Комментировать
  • Почему mdadm выводит противоположную информацию о диске?

    Melkij
    @Melkij
    PostgreSQL DBA
    Отчего двойственный?
    sdb1 - массив? Нет, это не массив. is not an md array
    Том массива - да. device 0 in 2 device active raid1 /dev/md0

    -Q, --query
    Examine a device to see (1) if it is an md device and (2) if it
    is a component of an md array. Information about what is dis‐
    covered is presented.
    Ответ написан
    Комментировать
  • Resize Software RAID 60?

    Melkij
    @Melkij
    PostgreSQL DBA
    mdadm --grow /dev/md0 --size=max
    Насколько по ману вижу увеличение размера для raid0 поддерживается. Сначала командуете для нижележащих массивов, потом для верхнего raid0.

    Проверить что массиву вообще есть куда расширяться можно запросив -E для каждого из томов массива:
    sudo mdadm -E /dev/sde2
    ....
     Avail Dev Size : 5767168000 (2750.00 GiB 2952.79 GB)
         Array Size : 7759462400 (7400.00 GiB 7945.69 GB)
      Used Dev Size : 3879731200 (1850.00 GiB 1986.42 GB)
    ...

    Если есть отдельная строка Used Dev Size с размером меньше Avail Dev Size - расширять есть куда.
    Ответ написан
    Комментировать
  • Что если сделать RAID 1?

    Melkij
    @Melkij
    PostgreSQL DBA
    стирая все данные со второго диска?

    Да хоть оба сразу перезаписать может нулями

    Смотрите документацию, но лучше предполагать что операция деструктивна для всех данных на дисках.
    Ответ написан
  • Почему мой рейд диск копирует не зеркально?

    Melkij
    @Melkij
    PostgreSQL DBA
    Потому что вы так настроили. У вас в массиве /dev/sda и /dev/sdb1
    Ответ написан
    2 комментария
  • По какой причине RAID1 при удалении одного из дисков блокируется?

    Melkij
    @Melkij
    PostgreSQL DBA
    Речь видимо о linux raid и конкретно выводе /proc/mdstat

    Литера S в sdc1[0] (S) - обозначает spare диск, а не диск массива. То есть у вас в массиве md1 нет ни одного диска с данными. Необратимая потеря существовавщих данных, некуда писать новые. Потому массив переведён в статус неактивен, он бесполезен и требует вмешательства администратора.

    Откуда в raid1 мог остаться единственный spare - например не успели синхронизировать данные.
    Ответ написан
  • Как правильно разбить диск при использовании RAID1 в Linux?

    Melkij
    @Melkij
    PostgreSQL DBA
    Это вам как администратору должно быть виднее, зачем вам отдельный /home в 5гб и прочие фрагменты, нужны ли они и какого именно нужны размера.

    А так чаще на гипервизорах /boot на отдельном разделе raid1, всё же остальное полезное собирается в lvm поверх рейдов (и виртуалкам целиком LV монопольно, а не файлики в ФС). Возможно в разные VG.
    Ответ написан
    7 комментариев
  • Как перенести ОС дебиан установленную на RAID1 состоящий из двух дисков на новый ПК с новым железом?

    Melkij
    @Melkij
    PostgreSQL DBA
    Если вы собираете программный рейд (mdadm) - то ему всё равно на железо. Лишь бы ядро увидело сами диски. При том даже порядок дисков не важен. В метаданных рейда сохраняется информация кто есть кто без привязки к именам устройств.

    Если не сделаете mdadm.conf в initramfs - то могут поплыть номера устройств самих /dev/md? и при рядовой перезагрузке. Самоопределится в какой-нибудь /dev/md127 и у вас fstab жалуется на жизнь и отказывается грузиться.
    Ответ написан
    3 комментария
  • Как разделить два диска в RAID1 на два независимых?

    Melkij
    @Melkij
    PostgreSQL DBA
    linux raid (mdadm) использует начальную часть раздела под хранение метаданных данных массива. Поэтому файловая система непосредственно начинается немного позже. Обычно через 2048 секторов, можно посмотреть в mdadm -E /dev/том_массива, графа Data Offset.

    Соответственно если вы больше не хотите использовать linux raid - то вам необходимо монтировать файловую систему со смещением (-o offset=...) либо передвинуть границу раздела в разметке диска (удалить раздел и создать такой же, но стартовый сектор указать на нужное число секторов позже).
    Ответ написан
    Комментировать
  • RAID-1, почему не видно все разделы?

    Melkij
    @Melkij
    PostgreSQL DBA
    В /proc/mdstat только дисковые массивы, активные сейчас. И, опять же, только тома входящие в этот массив. Если вы делали странное (а вы делали странное) - то ядро вполне резонно решило, что желает пообщаться с оператором.

    Вам необходимо взять тот диск, версию которого вы хотите оставить (поскольку вы с них загружались независимо друг от друга - у вас теперь два разных массива. md2, как видно, не модифицировался и пережил издевательства) и добавить необходимые разделы в массив. -r (remove) вполне ожидаемо отвечает что не может удалить том, которого в массиве нет.
    Ответ написан