LINUX.ORG.RU

Как организовать дисковое пространство для «сервера» на 10 человек?

 , ,


0

2

Добрый день, помогите определится с организацией дискового пространства.

Есть пк на i7-9700K под управлением Debian 10 (buster), система стоит на отдельном ssd. На этой машине удаленно работают 10 человек, обработка данных моделирования на python.

Общее хранилище сейчас на 3-ех дисках по 3Тб в RAID5 (mdadm) + bcache на ssd в 1Тб. Есть возможность заменить диски на 5 шт по 4Тб. Как я понял, RAID5 с большой долей вероятности не переживет ребилд. Изначально смотрел на RAID6, но он достаточно медленный и тоже может не выжить при перестроении. Читал, что в zfs предлагают dRAID, что увеличивает скорость восстановления и уменьшает вероятность неудачи, но это что-то новое и, возможно, нестабильное. Ну и сам массив хочется кэшировать на ssd.

Как лучше сделать? (компромисс между отказоустойчивостью/скоростью/объемом хранилища)



Последнее исправление: Dimez (всего исправлений: 1)

Ответ на: комментарий от firkax

Погугли про проблемы raid5 и почему его нельзя использовать в текущих условиях (статьи ещё из 2009 года)

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)

Вообще не понятно что ты подразумеваешь под «на 10 человек». Если ты хочешь чтобы всем хватило места — используй лимиты, если тебе нужны единые права для всех этих пользователей — используй группы (и ACL, если обычных POSIX прав не хватает для решения задачи).

В ZFS с этим всем вообще всё очень хорошо организовано.

А связи между количеством пользователей и RAID-5/6 я вообще не уловил. XY Problem?

mord0d ★★★★★
()
Ответ на: комментарий от Dimez

Я так понял, Вы про подобные статьи: https://habr.com/ru/post/78311/

Там, вроде, неоднозначное мнение по этому поводу из дискуссии в комментариях. Поэтому я склонялся к RAID6, но говорят он очень медленный.

Korsidar
() автор топика
Ответ на: комментарий от mord0d

А связи между количеством пользователей и RAID-5/6 я вообще не уловил. XY Problem?

Как раздать это место пользователям понятно. Просто всем может потребоваться доступ к дискам в одно и тоже время, возможно, с разными конфигурациями есть нюансы при совместном доступе, поэтому уточнил.

Не могу определиться каким инструментом и в какой конфигурации организовать единое дисковое пространство из имеющихся 5 дисков.

Korsidar
() автор топика
Ответ на: комментарий от Korsidar

всем может потребоваться доступ к дискам в одно и тоже время

Ты собрался на блочном уровне диски раздавать? Это в принципе работать не будет с более чем одним "клиентом", иначе диск быстро превратится в тыкву. Но насколько я понял из твоего (далёкого от конкретики) описания, вряд ли ты хочешь iSCSI.

Не могу определиться каким инструментом и в какой конфигурации организовать единое дисковое пространство из имеющихся 5 дисков.

Тем, с которым умеешь работать. В особенности — решать возможные проблемы.

ZFS решает вполне комплексные задачи и в принципе стабильна, но:

  • Linux не любит ZFS и периодически ставит палки в колёса (поэтому перед обновлением на новое ядро, нужно убедиться что нужные модули имеются и главное — работают);
  • Если с ZFS возникнут проблемы, нужно уметь её дебажить и в особо тяжёлых случаях — патчить (это нужно крайне редко, но нужно).

не хочется терять 4Тб доступного места

То есть терять разом все данные — нормально, а пожертвовать частью доступного пространства — не хочется. Нуок…

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от mord0d

Ты собрался на блочном уровне диски раздавать? Это в принципе работать не будет с более чем одним «клиентом», иначе диск быстро превратится в тыкву. Но насколько я понял из твоего (далёкого от конкретики) описания, вряд ли ты хочешь iSCSI.

Сейчас выглядит так: есть пользователи, которые работают в jupyterhub или по ssh, система стоит на отдельном ssd, собран RAID5 из 3 дисков (mdadm + bcache на ssd), этот RAID монтируется в home, где и хоронятся все данные для работы.

За 4 года сбоев не было, не понимаю, что должно угробить диски.

То есть терять разом все данные — нормально, а пожертвовать частью доступного пространства — не хочется. Нуок…

Почему в RAID5/6 будет потеря всех данных при потери диска? + бэкапы

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

Тем, с которым умеешь работать. В особенности — решать возможные проблемы.

Решать проблемы с такой конфигураций придётся впервые, при любом софте.

P.S. Администрирование не моя специальность, проста так случилось, что поддержка рабочего «сервера» на мне.

Korsidar
() автор топика
Ответ на: комментарий от Korsidar

монтируется

То есть не блочный уровень. Потому не важно сколько у тебя пользователей.

Почему в RAID5/6 будет потеря всех данных при потери диска? + бэкапы

Как организовать дисковое пространство для «сервера» на 10 человек? (комментарий)

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

Пока в RAID-1 хотя бы один живой-здоровый диск, восстановление пройдёт без проблем. В любом случае бэкапы никто не отменял.

Решать проблемы с такой конфигураций придётся впервые, при любом софте.

Ознакомиться с теорией всё же рекомендую заранее.

Администрирование не моя специальность, проста так случилось, что поддержка рабочего «сервера» на мне.

Это не освобождает от ответственности. ☺

mord0d ★★★★★
()

Привет.

Изначально смотрел на RAID6, но он достаточно медленный и тоже может не выжить при перестроении.

ИМХО разумный вариант для пяти дисков.

Диски бери из разных партий в разных магазинах. Избегай, по возможности, моделей с SMR. Если будешь и на новый массив применять bcache, не забудь кешировать только чтение, чтобы SSD не стал точкой отказа.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Добрый день, помогите определится с организацией дискового пространства.

Добрый день

Есть пк на i7-9700K под управлением Debian 10 (buster), система стоит на отдельном ssd. На этой машине удаленно работают 10 человек, обработка данных моделирования на python.

Нужно ставить ТЗ чуть конкретнее. Например, нужна система хранения на N Tb, скоростью X Gbps и качеством обслуживания Y девяток.

Общее хранилище сейчас на 3-ех дисках по 3Тб в RAID5 (mdadm) + bcache на ssd в 1Тб.

Сразу видно точки отказа: система на 1 SSD, bcache на 1 SSD, блок питания -1 (ПК ведь?). В общем случае все это помрет гораздо раньше RAID5

Есть возможность заменить диски на 5 шт по 4Тб. Как я понял, RAID5 с большой долей вероятности не переживет ребилд.

А зачем ему его переживать? Подоприте питание с корректным shutdown, поставьте hot-spare диски в массив и мониторьте.

Изначально смотрел на RAID6, но он достаточно медленный и тоже может не выжить при перестроении.

Он медленный потому, что надо считать Рида-Соломона. Отдельный контроллер спасает. Лучше с батарейкой.

Читал, что в zfs предлагают dRAID, что увеличивает скорость восстановления и уменьшает вероятность неудачи, но это что-то новое и, возможно, нестабильное. Ну и сам массив хочется кэшировать на ssd.

Зачем? (см про ТЗ)

Как лучше сделать? (компромисс между отказоустойчивостью/скоростью/объемом хранилища)

весь RAID сам по себе и есть компромисс. вопрос только в границах пространства емкость/скорость/надежность (i.e. уровни RAID)

kindof
()
Ответ на: комментарий от mord0d

Как организовать дисковое пространство для «сервера» на 10 человек? (комментарий)

Пока в RAID-1 хотя бы один живой-здоровый диск, восстановление пройдёт без проблем. В любом случае бэкапы никто не отменял.

Ну так и RAID5/6 переживает восстановление, если диски живые. А в RAID1, как и в остальных, диски испытывают одинаковую нагрузку и могут посыпаться вместе, поэтому большая устойчивость RAID1 как минимум не очевидна. А вот RAID6 гарантированно переживает вылет ещё одного диска в процессе перестроения, что добавляет оптимизма. Единственное время восстановления зеркала меньше, что плюс.

Korsidar
() автор топика
Ответ на: комментарий от kindof

нужна система хранения на N Tb

12Тб

скоростью X Gbps

больше - лучше

качеством обслуживания Y девяток

Не понял.

Сразу видно точки отказа: система на 1 SSD, bcache на 1 SSD, блок питания -1 (ПК ведь?). В общем случае все это помрет гораздо раньше RAID5

Потеря самого ПК и возможный простой не так критичны, как потеря данных, а диски могут умирать. + Бэкапы, конечно, есть.

А зачем ему его переживать?

А разве это не одна из целей RAID с избыточностью? Продолжить работу на тех же дисках, заменив умерший.

(i.e. уровни RAID)

Про это и вопрос.

Korsidar
() автор топика
Ответ на: комментарий от Korsidar

12Тб больше - лучше

на пальцах: есть 5 дисков по 4 Тб (n), скорость (x) с блина (условно) ~100MB/s

RAID5: N=(5-1)n=16Tb, Xr=5x=500MB/s, Xw=(5-1)*x=400MB/s держит отказ одного диска

RAID6: N=(5-2)n=12Tb, Xr=5x=500MB/s, Xw=(5-2)*x=300MB/s держит отказ двух дисков, но хочет больше CPU

качеством обслуживания Y девяток Не понял.

например, Y=5 девяток, или Y=99,999, т.е. система должна работать в 99,999% времени всего жизненного цикла

Потеря самого ПК и возможный простой не так критичны, как потеря данных, а диски могут умирать. + Бэкапы, конечно, есть.

если ТАК важны данные, то может обзавестись отдельной дисковой подсистемой?

не надо ждать пока диски умрут, а в рамках scheduled maintenance, на основе данных мониторинга, менять их.

на живучесть дисков, как ни банально звучит, оказывают влияние физические параметры среды:

  • механические (отсутствие ударов, вибраций)
  • электрические (стабильное правильно питание)
  • атмосферные (стабильная правильная температура иотсутствие перегара и паров дошика)))

и RAID5 в вашем случае переживет все остальное

А разве это не одна из целей RAID с избыточностью? Продолжить работу на тех же дисках, заменив умерший.

не надо этого ждать

Бэкапы, конечно, есть.

не только бекапы, но и бекапы бекапов. И их тоже нужно проверять. Периодически.

kindof
()

Тебе нужно для начала понять чего ты хочешь добиться в числах.

  1. Сколько памяти нужно под активную работу?

  2. Сколько памяти нужно под бэкапы? К этим данным пользователи не будут иметь доступа или только чтение. Именно это решает задачу сохранности данных.

  3. Какие показатели io нужны? Пологгируй iostat чтобы понять текущую загрузку.

Исходя из этого ты и будешь проектировать свою систему, выбирая рейды, ssd, nvme, объем RAM и пр. Без этих данных все рассуждения это просто разговоры за чашкой чая о росте прироста медведя к зиме.

soomrack ★★★★
()
Ответ на: комментарий от kindof

RAID6: N=(5-2)n=12Tb, Xr=5x=500MB/s, Xw=(5-2)*x=300MB/s держит отказ двух дисков, но хочет больше CPU

Загрузка CPU там на уровне 0, а скорость на запись страдает больше, как я понял из дискуссий на habr.

если ТАК важны данные, то может обзавестись отдельной дисковой подсистемой?

Что Вы имеете ввиду?

не надо ждать пока диски умрут, а в рамках scheduled maintenance, на основе данных мониторинга, менять их.

Ухудшение параметров диска говорит о том, что он помирает. Этот процесс может закончиться за 5 минут, а может за 5 лет, а может и без предупреждения помереть. И тут избыточность будет кстати.

и RAID5 в вашем случае переживет все остальное

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

И их тоже нужно проверять. Периодически.

Подскажете, где почитать про правильную организацию бэкапов на своем железе, буду благодарен. И правильную их проверку.

Korsidar
() автор топика
Ответ на: комментарий от Morin

Большими буквами уточняй, что райд1 это не только 2 диска, можно N дисков, все зависит от жадности

Да, я как-то не подумал…

Я меньше трёх дисков в RAID-1 обычно не втыкаю, потому что сталкивался с почти одновременным умиранием двух дисков.

mord0d ★★★★★
()
Ответ на: комментарий от Korsidar

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

Ну так не бери диски из одной партии. У меня вообще с дисками зоопарк. Когда-то давно сдохли два Seagate Barracuda из разных партий почти одновременно, я с десктопными Seagate больше не связываюсь. На сервере, правда, стоят WD из одной партии, но пока проблем не доставляли, на крайняк переставлю с десктопа какой-нибудь пока новые серверные не куплю.

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

Если у тебя вылетят два диска сразу (а это вполне возможно, лично сталкивался), то ой. Лучше перестраховаться, чем волоса на жопе рвать. ☺ Я потому больше RAID-5/6 не использую.

mord0d ★★★★★
()
Ответ на: комментарий от Korsidar

Что Вы имеете ввиду?

что-нибудь типа InfiniBox SSA

Ухудшение параметров диска говорит о том, что он помирает. Этот процесс может закончиться за 5 минут, а может за 5 лет, а может и без предупреждения помереть. И тут избыточность будет кстати.

да я не против. Используйте хоть RAID60 с сотней hot-spares. Помрёт все, если за этим не следить.

kindof
()