Size: a a a

2020 February 09

VM

Vladimir Manko in ru_proxmox
Well
Доброго денька.
#вопрос #Mdraid в контейнер
Как лучше организовать mdraid - в самом контейнере, пробросив туда жесткие диски или на хост машине, пробросив /dev/mdX в контейнер?
А в чем идея? Потренироваться с mdadm или какое то практическое применение?
источник

R

Roman in ru_proxmox
Vladimir Manko
Я бы сделал так, если нужен рейд:
- при установке дебьяна сделал бы рейд зеркало мд0
- поверх сделал бы pv
- потом поверх vg на весь pv
- потом отрезал бы lv под root гиг на 60
- свап подключил бы файлом с рута
- остальное под thin-lvm том и его бы уже примапил через вебморду прокса
lvm умеет в зеркало, не нужен тут mdadm
источник

VM

Vladimir Manko in ru_proxmox
Roman
lvm умеет в зеркало, не нужен тут mdadm
Да, но через жопу. Я читал и маны и доку. С точки зрения виртуализации, нам необходим thinlvm pool, т.к. на обычном серьезные проблемы с производительностью снапшотов. При этом мало того что вменяемой доки по созданию thinlvm raid нет, нет доки по рековери такого рейда. Я некоторое время плотно изучал этот вопрос. И если решение по созданию тонкого рейд пула я нашел, как его рековерить увы я до сих пор не знаю. Все попытки на стенде не увенчались успехом. Может руки кривые. Хз. И да, в последних доках вроде как пишут что рекомендуется уже напрямую делать лвмрейд вместо мдадм с лвм сверху. Но учитывая вышесказанное + тот же лвм рейд этот по сути тот же мдадм просто сразу средствами лвм, то побарабану. А вот восстановление обычного мдадм отработано и задокументировано в разделе дисастер рековери у меня в рабочей доке.
источник

R

Roman in ru_proxmox
Vladimir Manko
Да, но через жопу. Я читал и маны и доку. С точки зрения виртуализации, нам необходим thinlvm pool, т.к. на обычном серьезные проблемы с производительностью снапшотов. При этом мало того что вменяемой доки по созданию thinlvm raid нет, нет доки по рековери такого рейда. Я некоторое время плотно изучал этот вопрос. И если решение по созданию тонкого рейд пула я нашел, как его рековерить увы я до сих пор не знаю. Все попытки на стенде не увенчались успехом. Может руки кривые. Хз. И да, в последних доках вроде как пишут что рекомендуется уже напрямую делать лвмрейд вместо мдадм с лвм сверху. Но учитывая вышесказанное + тот же лвм рейд этот по сути тот же мдадм просто сразу средствами лвм, то побарабану. А вот восстановление обычного мдадм отработано и задокументировано в разделе дисастер рековери у меня в рабочей доке.
Эм, восстановление raid1? Где нужно заменить диск всего лишь?

Или про совсем тяжёлый случай с полным развалом рэйда?
источник

VM

Vladimir Manko in ru_proxmox
Roman
Эм, восстановление raid1? Где нужно заменить диск всего лишь?

Или про совсем тяжёлый случай с полным развалом рэйда?
Да рейд, только 10-й. Если можете напишите набор команд по восстановлению lvmraid thinpool.
источник

VM

Vladimir Manko in ru_proxmox
Я не нашел ни в доке, ни сам.
источник

VM

Vladimir Manko in ru_proxmox
Схема простая - 4 диска, один сдох. Рейд работает, но надо заменить сдохший и ресинкуть.
источник

VM

Vladimir Manko in ru_proxmox
Без потери данных естессно. У меня не вышло.
источник

AR

Alex R in ru_proxmox
Roman
вывод
lvdisplay
vgdisplay

и как добавляешь lv4  в прок?
решил примаунтить этот log vol в систему и на прокс забрать папкой Пока незнать плохо это или хорошо, если есть мысли, буду благодарен за совет
источник

R

Roman in ru_proxmox
Vladimir Manko
Без потери данных естессно. У меня не вышло.
Не знаю, как ты создавал thinpool, но вот тут пишут, что и метедату надо настроивать в рэйд. Тогда всё сводится к обычной замене
https://www.systutorials.com/docs/linux/man/7-lvmthin/
источник

R

Roman in ru_proxmox
Alex R
решил примаунтить этот log vol в систему и на прокс забрать папкой Пока незнать плохо это или хорошо, если есть мысли, буду благодарен за совет
Нормально вполне, можно не только диски ВМ хранить, но и всё остальное
источник

R

Roman in ru_proxmox
Vladimir Manko
Да рейд, только 10-й. Если можете напишите набор команд по восстановлению lvmraid thinpool.
Хотя, признаю честно, мне не приходилось собирать 10 рэйд на лвм
источник

VM

Vladimir Manko in ru_proxmox
Roman
Не знаю, как ты создавал thinpool, но вот тут пишут, что и метедату надо настроивать в рэйд. Тогда всё сводится к обычной замене
https://www.systutorials.com/docs/linux/man/7-lvmthin/
Нормально, с метадатой в рейде. Там много пишут, толку ноль. Если Вы поняли как это делается, дайте набор команд - собрать thinlvm raid, и заменить диск.
источник

VM

Vladimir Manko in ru_proxmox
Я могу рассказать как собрать такой рейд. И он держит потерю диска. А вот как его восстановить - хз.
источник

VM

Vladimir Manko in ru_proxmox
Поэтому забил, на текущий момент проще мдадм а поверх лвм. И будет зашибись. И без проблем.
источник

VM

Vladimir Manko in ru_proxmox
Тем более это те же технологии, ведь лвмрейд просто использует мдадм.
источник

VM

Vladimir Manko in ru_proxmox
Так что прямого выигрыша ни в чем кроме как якобы упрощения конфигурации нет. Но и с этим косяк. Не получается проще. :(
источник

R

Roman in ru_proxmox
Ок, возмоно потыкаю и убежусь насколько это всё печально. В проксе я юзаю ZFS и нет проблем)
источник
2020 February 10

VM

Vladimir Manko in ru_proxmox
Roman
Ок, возмоно потыкаю и убежусь насколько это всё печально. В проксе я юзаю ZFS и нет проблем)
Если интересно на чем я застрял, вот к чему я пришел после изучения man lvmthin + lvmraid + доки в сети:

Создание raid10 массива из 8 дисков.
====================================
- создаем раздел на диске занимающий весь диск:
for n in {b,c,d,e,f,g,h,i}; do sgdisk -N 1 /dev/sd$n; done

- создаем физические тома из дисков:
# pvcreate /dev/sd{b1,c1,d1,e1,f1,g1,h1,i1}

- создаем группу томов с именем r10:
# vgcreate r10 /dev/sd{b1,c1,d1,e1,f1,g1,h1,i1}

- создаем логический том под данные, из 8 дисков используется часть объема каждого диска:
# lvcreate --type raid10 --mirrors 1 --stripes 4 -l 70%FREE --name r10_thinpool r10 /dev/sd{b1,c1,d1,e1,f1,g1,h1,i1}
--mirrors всегда 1, т.е. у нас зеркалируются по 2 диска
--stripes равно количеству зеркал, в нашем случае 8 дисков создадут 4 зеркала, значит и в страйп пойдут 4
-l укаывает размер, оптимально использовать % от свободного места - например 70%FREE
если в конце указать порядок физических томов, то они будут собраны в этом порядке, т.е. /dev/sd{b1,c1,d1,e1,f1,g1,h1,i1}
соберет 4 зеркала sdb1+sdc1, sdd1+sde1, sdf1+sdg1, sdh1+sdi1, а потом все объеденит в страйп.

- создаем группу томов под метаданные, как и выше но берем 50% оставшегося свободного места(т.к. еще 50% уйдет под резерв метаданных):
# lvcreate --type raid10 --mirrors 1 --stripes 4 -l 50%FREE --name r10_thinmeta r10 /dev/sd{b1,c1,d1,e1,f1,g1,h1,i1}

- собираем тонкий пул из созданных выше групп объединяя через lvconvert:
# lvconvert --thinpool r10/r10_thinpool --poolmetadata r10/r10_thinmeta

Проверка синхронизации массива.
===============================
- 100% - значит синхронизирован
# lvs -a -o name,sync_percent

Полный состав пула, с учетом SubVL:
===================================
# lvs -a -o name,segtype,devices

Восстановление после сбоя.
==========================
Проверка статуса массива:
# lvs -o name,lv_health_status
- partial - отсутсвует диск в массиве
- refresh needed - диск временно выпадал из массива но вернулся
- mismatches exist
источник

VM

Vladimir Manko in ru_proxmox
А дальше йок. Сколько не бился - не могу восстановить рейд созданный средствами лвмрейд и все тут. Точнее как, массив мне удалось пересобрать, но после пересборки он был пуст. Данные уничтожены. И хз что делать.
источник