Ответы пользователя по тегу RAID
  • 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
    Ответ написан
  • По какой причине 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.
    Ответ написан
  • Как перенести ОС дебиан установленную на RAID1 состоящий из двух дисков на новый ПК с новым железом?

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

    Если не сделаете mdadm.conf в initramfs - то могут поплыть номера устройств самих /dev/md? и при рядовой перезагрузке. Самоопределится в какой-нибудь /dev/md127 и у вас fstab жалуется на жизнь и отказывается грузиться.
    Ответ написан
  • Как разделить два диска в 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) вполне ожидаемо отвечает что не может удалить том, которого в массиве нет.
    Ответ написан
  • Как решить проблему с настройкой RAID массива?

    Melkij
    @Melkij
    PostgreSQL DBA
    Если у вас нормальные SSD (а для hetzner это надо отдельно выяснять - могут откровенный мусор поставить под видом datacenter ssd) - то вам вообще не нужен RAID-контроллер.
    Разве только вы умеете конкретно этот контроллер аккуратно настраивать под работу с SSD. Иначе вы упрётесь в производительность контроллера, а не в возможности накопителей. RAID контроллеры уже давно не успевают за хорошими SSD
    Ответ написан
  • Как решить проблемы с RAID, Smart Event?

    Melkij
    @Melkij
    PostgreSQL DBA
    Проверил диск на пк на наличие ошибок, все в порядке диск исправен и работает.

    5 Reallocated_Sector_Ct 0x0033 001 001 036 Pre-fail Always FAILING_NOW 2028

    Диск труп. Не самая частая ситуация, когда об этом предупреждает механизм теоретически и предназначенный сообщать о проблемах, но вам повезло - SMART опознал, что диск при смерти. Меняйте его.
    Ответ написан
  • Raid 5 или 6 на ssd для esxi?

    Melkij
    @Melkij
    PostgreSQL DBA
    SSD берут ради скорости, тем более внятные на запись серверные SSD.
    RAID5 или 6 ставят ради стоимости хранения гигабайта ценой заметного ущерба производительности записи.
    То есть не очень понятно, с какой целью вы рассматриваете 5 или 6 рейд на хороших SSD. Если важен объём - то берите более дешёвые S45xx

    и вообще у кого есть опыт использования ssd в рейдах на длительный срок(3-5 лет) как себя ведут ssd

    Intel - отлично себя ведут. Даже при проблемах с питанием, у них штатный конденсатор, держащий достаточно энергии для корректной записи всего что диск пообещал системе. В спеках описано как Enhanced Power Loss Data Protection
    У нас в эксплуатации много intel'ов разных лет (давно за сотню штук) Меняли в основном потому что в объём упирались. С отказом диска встречались только один раз. И это всё в условиях под постоянной нагрузкой СУБД postgresql.
    В общем, мы безоговорочно рекомендуем брать в сервера интеловские SSD (если получается) за надёжность и предсказуемый latency под нагрузкой. Другие диски - очень сильно по разному себя ведут.

    2) исходя из вопроса, есть смысл делать рейды 5 или 6 если все равно на все ссд пишется сразу данные ? получается к концу обьема записи ssd придется менять все диски сразу если какой раньше не вышел из строя

    Я не вижу смысла в 5/6 рейдах на хороших SSD не касаясь Lifetime Writes

    1) в этом контроллере есть hp smartpath, при его включении линейные скорость значительно ниже, примерно в 2 раза нежели при включении встроенного кеша, имеет смысл его вкл(smartpath или выключать) ?

    Лучше softraid. Серьёзно. Без шуток. Глупый HBA и softraid.
    hardraid под хорошие SSD надо или очень пристально настраивать хорошо зная свой контроллер или вы будете упираться в производительность контроллера, а не в диски.
    PS: зачем вам линейные скорости под базы и виртуалки? Тестируйте random io.
    Ответ написан
  • Как расширить файловую систему на 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 - обычно обозначают виртуалку. Вы уверены, что вам вообще рейд в госте нужен? Обычно рейд на хост-системе делают.
    Ответ написан
  • Какой RAID массив 1+0 или 0+1 наиболее надежный?

    Melkij
    @Melkij
    PostgreSQL DBA
    И тот и другой гарантируют выживаемость при отказе только одного любого диска. И оба могут выдержать отсутствие до половины, но строго определённых дисков. Потому гарантии надёжности одинаковы - один диск массива.

    Следует упомянуть, что конкретные реализации могут понимать под raid10 что-нибудь другое относительно классических примеров зеркало поверх страйпа или страйп поверх зеркала. Например, mdadm можно настроить писать raid10 разными способами, в том числе на произвольном числе дисков (например, raid10 на 5 дисках с равной утилизацией каждого) и с конфигурируемым объёмом избыточности (например, чтобы переживать смерть любых 2 дисков, но тогда общая ёмкость массива будет не raw/2, а raw/3)
    Ответ написан
  • Существуют мини боксы для hdd\ssd с raid для подключения к компу по usb3.0?

    Melkij
    @Melkij
    PostgreSQL DBA
    Коробка под диски для прямого подключение (а не сетевого т.е. NAS) правильно гуглится как DAS, Direct-attached storage
    А вот с NAS оборудованными USB портами как раз поаккуратнее, зачастую это USB-хост и к ПК не подключается.

    Например
    Ответ написан
  • 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.
    Ответ написан
  • Сколько жетских дисков потребуется?

    Melkij
    @Melkij
    PostgreSQL DBA
    Хранилище чего именно? Я без проблем могу себе представить нагруженную СУБД на 10Тб (и немного за 20Тб сырой ёмкости накопителей), которая не взлетит на HDD вообще как раз из-за требований к времени доступа и все эти 20Тб набраны серверными SSD.
    И могу себе ещё более легко представить хранилище на 10тб под бекапы, где производительность должна быть просто достаточной за разумное время положить новый бекап или прочитать нужный при аварии, для чего достаточно raid5 или 6, а может дешевле окажется и вовсе пара 10тб дисков, надо с прайсом уже смотреть.

    Сначала задачи, ограничения применения, пределы дальнейшего расширения, бюджет на всю хранилку - и только потом сколько надо будет заказать дисков.
    Для хранения 10тб информации необходим хотя бы один накопитель (задача может сказать, что диск резервировать не нужно, такое тоже бывает). Всё остальное выбирается под конкретику.
    Ответ написан
  • Диск занят. Циклично читает sda и пишет на sdb - как найти причину?

    Melkij
    @Melkij
    PostgreSQL DBA
    Очевидно и элементарно. Не мешайте рейду заниматься своей работой.

    Гайки для управления скоростью синхронизации: /proc/sys/dev/raid/speed_limit_min и /proc/sys/dev/raid/speed_limit_max
    Ответ написан
  • TRIM на SSD в mdadm RAID 1?

    Melkij
    @Melkij
    PostgreSQL DBA
    Вы так говорите будто инсталлятор сделает raid чем-то иным нежели linux raid (aka mdadm).

    Поддержка trim под linux raid - вопрос версии ядра linux (ну может ещё каких крайне нестандартных ядер).
    Ответ написан
  • Почему в RAID 5 два виртуальных диска с RAID5?

    Melkij
    @Melkij
    PostgreSQL DBA
    Как по скорости и надежности такая схема по сравнению с просто RAID5 из всех дисков

    По скорости лучше, т.к. запись можно просто распараллеливать. По чтению - надо замерять, хуже быть не должно.
    По надёжности лучше:
    raid5 переживёт выпадение одного любого диска из массива - но только одного. Два - развал массива со всеми данными.
    Два raid5 объединённых в логический диск - гарантированно переживут смерть одного любого диска, при определённой доле везения - переживут смерть второго диска (если тот отвалился из другого массива).
    С большим числом дисков (имхо, больше 6 дисков) лучше использовать RAID6, который переживёт смерть любых двух дисков массива, а по производительности одноклассник RAID5. Тем более раз вы один диск всё равно решили держать hotspare (который нифига не поможет пока не будет перестроен массив - для террабайтных томов 2-4 часа полной утилизации добавляемого диска и очень повышенный риск смерти кого-нибудь из остальных дисков массива вместе со всем массивом). Или пару RAID6 в логическую группу, что ещё надёжнее.

    3. Какой RAID предпочтительнее для виртуальных машин?

    RAID10. Т.к. даёт внятную производительность чтения/записи.
    Ответ написан