Ответы пользователя по тегу mdadm
  • Как уведомлять в телеграмм от mdadm?

    Melkij
    @Melkij
    PostgreSQL DBA
    PROGRAM в mdadm.conf можно задать
    PROGRAM
    The program line gives the name of a program to be run when
    mdadm --monitor detects potentially interesting events on any of
    the arrays that it is monitoring. This program gets run with
    two or three arguments, they being the Event, the md device, and
    possibly the related component device.

    There should only be one program line and it should be give only
    one program.
    Ответ написан
    6 комментариев
  • 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 - расширять есть куда.
    Ответ написан
    Комментировать
  • Как правильно разбить диск при использовании 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 комментария
  • Как расширить файловую систему на RAID томе mdadm?

    Melkij
    @Melkij
    PostgreSQL DBA
    Так у вас под массив и выделена только половина тома.
    Выкидываете диск из массива
    mdadm /dev/md0 -f /dev/vda
    mdadm /dev/md0 -r /dev/vda
    переразбиваете диск на всю ёмкость и добавляете обратно
    mdadm /dev/md0 -a /dev/vda
    Следите за процессом синхронизации, когда закончится повторяете с другим диском.

    Впрочем, через parted resizepart должно быть возможно расширить раздел без пересинхронизации массива.

    Потом
    mdadm --grow /dev/md0 --size=max
    resize2fs /dev/md0

    И вопрос в сторону: vda/vdb - обычно обозначают виртуалку. Вы уверены, что вам вообще рейд в госте нужен? Обычно рейд на хост-системе делают.
    Ответ написан
    5 комментариев
  • Mdadm удалит данные при создании raid 1 если на одном из разделов информация?

    Melkij
    @Melkij
    PostgreSQL DBA
    Да, будут потеряны.

    Во время переезда на массив часто массив инициализируют деградировавщим:
    mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/hdc1
    Затем копируют на него данные и потом добавляют недостающий диск.
    Ответ написан
  • Как создать программный RAID-1 массив на Ubuntu из размечённого/используемого и неразмеченного жёсткого диска?

    Melkij
    @Melkij
    PostgreSQL DBA
    Подводный камень очевиден - указанной командой вы потеряли все данные. Ну или получите отлуп, если повезёт.
    Не стесняйтесь поискать, вопрос миграции имеющейся системы на рейд - штука распространённая. Хотя несколько геморройная - сильно зависит от требований к даунтайму.

    Суть для вашего случая: разметить sdb, инициализировать как degraded массив:
    mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
    mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb5
    Перенести всё полезное с sda на sdb, поправить загрузчик, перезагрузиться с рейда, добавить разделы sda в соответствующие массивы.
    Инициализировать массив напрямую на устройство, а не разделы, возможно, но с этого устройства нельзя будет загружаться.

    Разные фокусы с переносом всего полезного. Системный раздел может быть проще через dd скопировать (но раздел на sdb должен быть чуть больше, там ещё mdadm суперблок в 2048 секторов)
    /home - начальную копию в 2-3 прохода rsync'ом, затем перемонтировать в ro и ещё один rsync.
    Ответ написан
    Комментировать
  • Сколько места для файлов в RAID 1 массиве (два диска по 1 Tb)?

    Melkij
    @Melkij
    PostgreSQL DBA
    Отмонтируйте файловую систему и сделайте глупый dd if=/dev/md0 of=/dev/раздел большого диска. И будет копия целиком файловой системы со всеми софт/хардлинками, разреженными файлами и всем чем надо. Затем resizee2fs для расширения ФС до ёмкости раздела.

    А если вы хотите плавно заменить массива на более ёмкие - то вам вообще файлы копировать не надо. Добавить диски побольше, подождать синхронизацию, удалить старые диски и сделать resize2fs ru.stackoverflow.com/a/637847/203622
    Ответ написан
  • При отказе двух из четырех дисков в soft-raid10 в линуксе разваливается массив?

    Melkij
    @Melkij
    PostgreSQL DBA
    В mdadm raid10 собирается не как страйп над зеркалом и не как зеркало над страйпом, а как единый массив, данные при этом размазываются и дублируются по принципу, указанному при создании массива опцией --layout, см. в man mdadm.

    Грузился ли с деградировавшего массива во время моих экспериментов - не помню, но то что данные не терялись и массив продолжал работать при потере нескольких определённых дисков - это да.
    Но near2 гарантирует целостность только при выходе одного диска. Второй - уже как повезёт.
    Ответ написан
  • Как переехать с RAID1 на RAID10 ?

    Melkij
    @Melkij
    PostgreSQL DBA
    Вставляете эти два диска.
    Инициализируете raid10 на этих дисках как "диск missing диск missing". RAID10 переживёт пропуск вообще любого диска или до половины дисков, но только в определённых местах (каких - зависит от стиля размещения данных по дискам, их есть несколько, если интересно - в мане описаны).
    Ставите загрузчик на новые диски
    Переносите систему (для lvm - штатными средствами), для других - погуглите.
    Перезагружаетесь с raid10
    Разбираете raid1 и добавляете эти диски в raid10. Ждёте конец ребилда массива, всё.

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

    Дико извиняюсь, курсивом выделены пункты вам нафиг не нужные, это для случая, если система на этом же рейде.
    И для переноса данных, если нет lvm, то остановки сервисов (а не всей системы) и rsync'а вполне хватит.
    Ответ написан
    3 комментария
  • Как заменить диск в mdadm RAID 0 ?

    Melkij
    @Melkij
    PostgreSQL DBA
    Можно. Но без бекапа не пробуйте.
    0) останавливаете массив
    1) делаете посекторную копию раздела на новый диск (dd)
    2) обнуляете суперблок на старом диске
    3) собираете массив (через mdadm --assemble, а не create)
    Ответ написан
    Комментировать
  • Проблема с синхронизацией RAID, почему переходит в Spare?

    Melkij
    @Melkij
    PostgreSQL DBA
    Попробуйте пометить сбойным, удалить, удалить суперблок и добавить обратно:
    mdadm /dev/md3 -f /dev/sdb4
    mdadm /dev/md3 -r /dev/sdb4
    mdadm --zero-superblock /dev/sdb4
    mdadm /dev/md3 -a /dev/sdb4
    Ответ написан
  • mdadm Разобрать Raid?

    Melkij
    @Melkij
    PostgreSQL DBA
    Служебная область mdadm занимает 2048 секторов в начале каждого раздела(или диска)-элемента массива. Если вы создадите таблицу разделов аккуратно с нужного смещения по последний сектор используемого размера массива — вы получите неповреждённую исходную ФС со всеми данными.

    В общем, всё зависит от того, как сейчас размечено и что получить надо.
    Ответ написан
    5 комментариев
  • Почему SMART молчит, а mdadm говорит о сбойных секторах?

    Melkij
    @Melkij
    PostgreSQL DBA
    SMART не панацея.
    Вынимайте диск, прогоните MHDD/Vicroria.

    С полгода назад на одном диске тоже хаотично переставали читаться некоторые сектора — помогла замена кабеля.
    Ответ написан