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

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

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

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

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

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    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
    DBA Team для вашего PostgreSQL?
    Так у вас под массив и выделена только половина тома.
    Выкидываете диск из массива
    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 комментариев
  • Какой RAID массив 1+0 или 0+1 наиболее надежный?

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

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

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

    Например
    Ответ написан
    Комментировать
  • Mdadm удалит данные при создании raid 1 если на одном из разделов информация?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Да, будут потеряны.

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

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

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

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

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

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

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

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

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

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

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

    RAID10. Т.к. даёт внятную производительность чтения/записи.
    Ответ написан
    Комментировать
  • Восстанавливает ли программный raid сбойные блоки?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Говоря о linux raid.
    Если блок не читается - прочитает с избыточных дисков и попробует записать на сбойный диск. Если запись не удастся - выкинет диск из массива как сбойный. Если блок запишется - продолжит работу. (всё с соответствующей руганью в логи и dmesg)
    Сделает ли диск ремап для этого блока или просто успешно перезапишет имеющийся - на усмотрение прошивки этого диска. Linux raid это не волнует. Его волнует, чтобы по заданному LBA были требуемые данные.
    Обычно в пакетах дистрибьютива ставится кроновая задача раз в месяц запускать проверку массива - читаются все блоки и сравнивается их содержимое между всеми зеркалами. Что будет (кроме крика в dmesg и логах), если оба диска блоки прочитали, но выдали разные данные - не знаю. Если один из дисков не прочитал блок - то будет попытка восстановления.
    Ответ написан
  • Сколько места для файлов в RAID 1 массиве (два диска по 1 Tb)?

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

    А если вы хотите плавно заменить массива на более ёмкие - то вам вообще файлы копировать не надо. Добавить диски побольше, подождать синхронизацию, удалить старые диски и сделать resize2fs ru.stackoverflow.com/a/637847/203622
    Ответ написан
  • Open-iscsi: Как включить writeback / увеличить скорость записи на mdadm RAID-5/6?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    производительность будет упираться в скорость 1 диска, т.к. после каждой записи нужно будет обновлять диск паритета

    Это raid4 с отдельным диском под хранение избыточности.
    В 5 и 6 избыточные блоки размазываются равномерно по всем дискам массива, а не выделяется отдельный диск для хранения избыточного блока.

    /sys/block/md?/md/stripe_cache_size поправили? Bitmap внутренний/внешний/отключен? С внутренним производительность записи тоже неплохо просаживается.
    Ответ написан
  • Как пробросить HDD в LXC контейнер Proxmox?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Само устройство - никак. С диском должно общаться ядро. У контейнера своего ядра нет.
    Монтируете диски к хост-системе, биндите в контейнер: https://wiki.debian.org/LXC#Bind_mounts_inside_the...
    Ответ написан
    Комментировать
  • Проясните работу RAID 1???

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Система обязана продолжать работать.
    Это единственный смысл строить рейд с резервированием данных - продолжать работу при выпадении оговорённого уровнем рейда диска. Больше никакого смысла делать массив с резервированием нет, это ни в коем случае не бекап.

    raid1 на 4 диска, то есть вам нужна ТАКАЯ избыточность хранения, но при этом вы не проверили поведение контроллера? Это странно.
    Ответ написан
  • Какую выбрать конфигурацию RAID для домашнего NAS?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Софтовый рейд вас не ограничивает глупостями вроде 1 диск может быть только в одном массиве. Можно разделы одного диска объединять в разные массивы.
    Пилить диски можно как угодно. Например, распилить 3тб диски каждый на два раздела: по 1 и по 2тб каждый. Собрать в итоге два raid5: 3 тома по 1тб и три по 2тб. Итого 6тб форматированной ёмкости, допустимо выпадение любого диска массива. При необходимости в едином куске места - поверх этого развернуть LVM.
    Наращивать можно дисками любого размера, условие одно: добавляемый том не меньше используемого размера тома в действующем массиве.

    Про raid5 в домашних NAS - у меня два диска разом за 8 лет не умирало. Дефолтно в debian включен кроновый скрипт верификации всех софтовых рейдов раз в месяц. Пару дисков проблемных он и обнаружил заблаговременно.
    Но вот два диска разом выпасть из массива - это было. Кабель питания отошёл. Собрать обратно массив удалось, а вот ФС побилась. Но у меня был бекап, потеряны только неважные данные.

    Если нет никакой возможности использовать географически-удалённое место для бекапа, то для бекапа можно выделить области на этих дисках. Только не в составе чего-то сложного (lvm, raid) и не на том же диске, где лежит основная копия! Можно использовать raid1 при необходимости продолжать работу при отказе диска - зеркало хоть восстанавливать просто и достаточно одного любого диска.
    Например, порезать 3тб диски на два раздела: 2тб и 1 тб. Затем собрать raid5 на трёх 2тб томах - под всякое не очень нужное. Три раздела по 1 тб - под важные данные. Можно собрать raid1 из двух дисков. Но не как зеркало из всех 3 дисков! Это только от физической поломки поможет, а от проблемы с ФС - уже нет. Один раздел не должен быть примонтирован постоянно, монтируется только на время бекапа основной части. rsync в кроне как самый простой вариант. Лучше бы, как уже советовали, 3 независимых тома: актуальная копия, горячий регулярный бекап, последний диск под холодный бекап, его физически отключать (можно сколхозить автоматический девайс для размыкания цепей на твердотельных реле).
    Ответ написан
    Комментировать
  • При отказе двух из четырех дисков в soft-raid10 в линуксе разваливается массив?

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

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

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Во-первых, снимите с каждого отдельного диска посекторную копию.
    Только после этого можно что-то делать.

    Попробуйте запуститься с linux с linux raid. Судя по объёму дисков, массив старый. Есть вероятность, что массив подцепится автоматически.
    Ответ написан
    Комментировать