Всем привет, может кто подскажет примерные шаги как из рабочего ЛВМ сделать МД рейд?
Поставил федору с ЛВМ на сервере с парой дисков, оба диска на данный момент используются ЛВМом но желательно сохранив рабочую систему получить МД массив. Может у кого есть советы как это сделать? Просто сервер очень далеко и ошибаться не хочется.
Заранее спасибо.
>Всем привет, может кто подскажет примерные шаги как из рабочего ЛВМ сделать
>МД рейд?
>Поставил федору с ЛВМ на сервере с парой дисков, оба диска на
>данный момент используются ЛВМом но желательно сохранив рабочую систему получить МД
>массив. Может у кого есть советы как это сделать? Просто сервер
>очень далеко и ошибаться не хочется.
>Заранее спасибо.Инструкций в сети куча, в том числе на Opennet, и в wiki той же CentOS, например, есть (та же платформа, по сути).
Главный совет, который Вы можете не найти в сети: я бы не взялась за такое мероприятие без подключенного IP KVM, так как ошибка более чем вероятна.
>Инструкций в сети куча, в том числе на Opennet, и в wiki
>той же CentOS, например, есть (та же платформа, по сути).
>
>Главный совет, который Вы можете не найти в сети: я бы не
>взялась за такое мероприятие без подключенного IP KVM, так как ошибка
>более чем вероятна.Я _обычно_ ставлю системы кикстартом, который, если нет аппаратного массива, собирает из имеющихся дисков md-девайс, а сверху уже делает pv, vg, и lv под разные цели (/, /home, под swap, под /var/lib/mysql, в зависимости от того, что нужно)
Собственно, на мой взгляд, это правильнее всего: хотя LVM и умеет даже сам зеркалировать данные поверх двух дисков, делает он это плохо, и отдать задачу лучше либо аппаратному контроллеру, либо md, сверху которого и сделать LVM.
Кстати, в Anaconda это можно было сделать при инсталляции...
поделитесь, плз, чем плох мирроринг LVM'ом? плюсы очевидны, а вот с минусами интересно.
>поделитесь, плз, чем плох мирроринг LVM'ом? плюсы очевидны, а вот с минусами
>интересно.Плюсы совсем не очевидны, кроме меньшего числа абстракций (меньшей сложности ручной настройки), но проблемы инсталляции системы и создание этого слоеного пирога можно решить с помощью Anaconda кикстарт, AutoYast, какая-то технология есть и для Debian-based систем (для неинтерактивной автоматизированной установки)
Минусы же и так понятны: не использование, для повышения производительности на random-seek'ах (а диск так часто узкое место сервера, особенно на low-end платформах с SATA-дисками!) большого числа шпинделей, так как очень большой stripe по-умолчанию, да и дизайн решения просто не умеет.
плюсы md:
1. Настоящие уровни 10, 5, 6 (не только зеркало), со своими же настоящими плюсами и минусами.
2. Настоящее зеркало (то есть, с чередованием, и резким приростом производительности на чтении):man 4 md:
RAID1
A RAID1 array is also known as a mirrored set (though mirrors tend to provide reflected
images, which RAID1 does not) or a plex.Once initialised, each device in a RAID1 array contains exactly the same data. Changes are
written to all devices in parallel. Data is read from any one device. The driver attempts to
distribute read requests across all devices to maximise performance.All devices in a RAID1 array should be the same size. If they are not, then only the amount
of space available on the smallest device is used (any extra space on other devices is
wasted).Note that the read balancing done by the driver does not make the RAID1 performance profile be
the same as for RAID0; a single stream of sequential input will not be accelerated (e.g. a
single dd), but multiple sequential streams or a random workload will use more than one spin-
dle. In theory, having an N-disk RAID1 will allow N sequential threads to read from all disks.
про плюсы - изменение размеров LV не лету, миграция PP, LV или всей VG на лету на другой/другие диски, снапшоты.если говорить про балансировку чтения с зеркал в LVM'e, то видел патчи, возможно они есть в дистрах - миррор LVM'a есть в RHEL, а это обязывает их ;)
сам активно юзаю обе техноловии и очень доволен MD, однако почти всегда поверх MD ставлю LVM :)
>про плюсы - изменение размеров LV не лету, миграция PP, LV или
>всей VG на лету на другой/другие диски, снапшоты.Дело в том, что это не мешает использовать vg поверх md-девайса(или lun'а аппаратного рейда, lun'а SAN, и т д). Те же самые плюсы (только миграция pv не нужна, имхо)
Мне только кажется, что возможность иметь более одного pv в vg лишняя.
>если говорить про балансировку чтения с зеркал в LVM'e, то видел патчи,
>возможно они есть в дистрах - миррор LVM'a есть в RHEL,
>а это обязывает их ;)Да ну, по возможностям именно raid сравнивать lvm и md бессмысленно, они в совершенно разных категориях! Пусть lvm выполняет, в соотвествии с KISS, свои функции менеджера томов, но не менеджера блочных девайсов, что у md (или аппаратных контроллеров) получается гораздо лучше
>сам активно юзаю обе техноловии и очень доволен MD, однако почти всегда
>поверх MD ставлю LVM :)Вот-вот, и я поступаю аналогично!
>Всем привет, может кто подскажет примерные шаги как из рабочего ЛВМ сделать
>МД рейд?
>Поставил федору с ЛВМ на сервере с парой дисков, оба диска на
>данный момент используются ЛВМом но желательно сохранив рабочую систему получить МД
>массив. Может у кого есть советы как это сделать? Просто сервер
>очень далеко и ошибаться не хочется.
>Заранее спасибо.точно нужен MD? :) может миррорингом LVM'a можно обойтись?
>Всем привет, может кто подскажет примерные шаги как из рабочего ЛВМ сделать
>МД рейд?лучше всего -- backup + переустановка.
однако если вы настаиваете, то опишите текущую конфигурацию lvm и желаемый результат.
>>Всем привет, может кто подскажет примерные шаги как из рабочего ЛВМ сделать
>>МД рейд?
>
>лучше всего -- backup + переустановка.
>
>однако если вы настаиваете, то опишите текущую конфигурацию lvm и желаемый результат.
>Переустановить нет возможности. То что есть:
# pvscan
PV /dev/sda2 VG VolGroup lvm2 [135.92 GB / 0 free]
PV /dev/sdb1 VG VolGroup lvm2 [136.12 GB / 0 free]
Total: 2 [272.04 GB] / in use: 2 [272.04 GB] / in no VG: 0 [0 ]
# lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup/lv_root
VG Name VolGroup
LV UUID NUa5x5-8Vmj-hkgS-Hhbk-QP16-jP7Q-2sZgpj
LV Write Access read/write
LV Status available
# open 1
LV Size 266.84 GB
Current LE 68310
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Name /dev/VolGroup/lv_swap
VG Name VolGroup
LV UUID oeKhlq-0DAu-qKnu-rfkm-fY5Y-b8cT-I05meb
LV Write Access read/write
LV Status available
# open 1
LV Size 5.20 GB
Current LE 1332
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
Очень желательно сделать зеркало. Если это возможно сделать средствами MD с минимальным колличеством "рискованных" операций - вообще замечательно. Нет - тогда и средствами ЛВМ тоже пойдёт.
Итого, вопрос: Может ли кто-нибудь описать примерный план, которого мне стоит придерживаться для получения зеркала.
>[оверквотинг удален]
> - currently set to 256
> Block device
> 253:1
>
>
>Очень желательно сделать зеркало. Если это возможно сделать средствами MD с минимальным
>колличеством "рискованных" операций - вообще замечательно. Нет - тогда и средствами
>ЛВМ тоже пойдёт.
>Итого, вопрос: Может ли кто-нибудь описать примерный план, которого мне стоит придерживаться
>для получения зеркала.Думаю примерно следующее.
1. Убедится что данные на ФС и свап не занимают места больше размера 1 физического диска.
2. Ужать ФС до размера который позволил-бы запихать её со свапом на физический диск.
3. Ужать логический том.
4. Ужать логическую группу.
5. Убрать физический том из группы.
6. На освободившемся томе средствами md создать зеркало (пока без одного диска)
7. Из md зеркала сделать физический том (pv)
8. Ввести том в группу.
9. Вывести из группы оставшийся физический диск.
10. Добавить в md выведенный диск и дождаться окончания синхронизации.
11. Пересоздать initrd чтобы грузился корректно.
P.S. Вероятность ошибочных действий близка к 100%. Поскольку наверняка придётся ужимать корневую ФС, что при работающей ОС не возможно (покрайне мере ext3, про ext4 не в курсе). То при условии не возможности физ доступа к серверу для начала придётся установить на сервер миниммальную вторую ОС с поддержкой LVM и MD (например за счёт swap нафиг ему 5G) загрузится с неё и оттуда всё выполнять, что ещё повышает процент неудачи. Думаю лучше будет потренироваться на виртуальной машине, после того как все действия будут отлажены можно попробовать и на реальном железе.
>8. Ввести том в группу.тут пропущен пункт "перенести lv с одного pv на другое"
>9. Вывести из группы оставшийся физический диск.
>Итого, вопрос: Может ли кто-нибудь описать примерный план, которого мне стоит придерживаться
>для получения зеркала.Неужели так сложно воспользоваться поиском? На _этом_ сайте(opennet) есть несколько подробных статей по интересующему Вас предмету, так же десятки(или сотни) подобных инструкций есть и в сети.
Одна из лучших (имхо) статья в центосной wiki(через rescue-диск, который должны согласиться вставить в саппорте дата-центра):
http://wiki.centos.org/HowTos/CentOS5ConvertToRAID
Повторюсь, крайне рекомендую предварительно озаботится предварительным подключением IP KVM, так как риск ошибки слишком велик, а так Вы получаете сразу же доступ на уровне Bios.
Всем спасибо за советы,
решил попытаться ужать фс с использованием rescue mode с диска федоры, благо в сервере есть ip kvm.
Загрузился, сделал
lvreduce
pvmove
vgreduce
После этого ребутнулся, увидел
mount: wrong fs trpe, bad option, bad supperblock on /dev/mapper/VolGroup-lv_root
и немного расстроился..
Подскажите, пожалуйста, где может быть косяк.
>[оверквотинг удален]
>решил попытаться ужать фс с использованием rescue mode с диска федоры, благо
>в сервере есть ip kvm.
>Загрузился, сделал
>lvreduce
>pvmove
>vgreduce
>После этого ребутнулся, увидел
>mount: wrong fs trpe, bad option, bad supperblock on /dev/mapper/VolGroup-lv_root
>и немного расстроился..
>Подскажите, пожалуйста, где может быть косяк.Верните, если сможете, размер LV назад, нужно было уменьшать размер файловой системы перед изменением блочного устройства!
>[оверквотинг удален]
>решил попытаться ужать фс с использованием rescue mode с диска федоры, благо
>в сервере есть ip kvm.
>Загрузился, сделал
>lvreduce
>pvmove
>vgreduce
>После этого ребутнулся, увидел
>mount: wrong fs trpe, bad option, bad supperblock on /dev/mapper/VolGroup-lv_root
>и немного расстроился..
>Подскажите, пожалуйста, где может быть косяк.И зачем было спрашивать про инструкции. Наверное чтоб сделать не так как написали.
Возвращайте все размеры на место и читайте последовательность действий снова. Особенно про уменьшение размеров ФС.
Вот я лох =(((
Поправьте меня пожалуйста если я где-то ошибаюсь:
Возвращать все размеры это vgcreate(???), vgextend и lvextend ?
Ужать ФС .. - это что-то типа этого http://www.howtoforge.com/linux_resizing_ext3_partitions ??Ужать логический том это lvreduce
Ужать логическую группу - тут я теряюсь...
Убрать физический том из группы - pvmove + vgreduce
ну а далее наверное по центосовской wiki
Ещё раз всем спасибо за содействие.
>Вот я лох =(((
>Поправьте меня пожалуйста если я где-то ошибаюсь:
>Возвращать все размеры это vgcreate(???), vgextend и lvextend ?vgcreate не нужно у вас группа ещё существует.
По идее нужно выполнить ваши действия в обратном порядке
vgextend
lvextend
с теми параметрами что были до ваших действий. Тогда есть слабая надежда что ФС окажется не повреждённой. Хотя применение команды pvmove практически не оставляет такой надежды. И это теоретические советы так что гарантий нет.
>Ужать ФС .. - это что-то типа этого http://www.howtoforge.com/linux_resizing_ext3_partitions ??
>Типа этого. Но лучше читать man resize2fs. И читать до пуска рук в дело. Загрузка с rescue диска и была нужна для выполнения этой команды. Остальное можно делать при работающей ос.
>Ужать логический том это lvreduce
>да
>Ужать логическую группу - тут я теряюсь...
>pvmove + vgreduce
Я имел ввиду vg (логической я её не корректно назвал)
>Убрать физический том из группы - pvmove + vgreducepvremove
>
>ну а далее наверное по центосовской wiki
>Думаю что теперь придётся делать всё с нуля.
>Ещё раз всем спасибо за содействие.Да не за что. Надеюсь ценной информации у вас там не было.
>vgextend
>lvextend
>с теми параметрами что были до ваших действий. Тогда есть слабая надежда
>что ФС окажется не повреждённой. Хотя применение команды pvmove практически не
>оставляет такой надежды. И это теоретические советы так что гарантий нет.Эх, померла моя фс,теперь надо разворачивать её из полного бэкапа.
Наврное сделаю из rescue mode md массив и попробую рсинкнуть туда бэкап.
>Эх, померла моя фс,теперь надо разворачивать её из полного бэкапа.Извините, возможно нужно было действительно ответить Вам немного более развернуто, я чувствую себя перед Вами немного виноватой, что традиционно отправила в поиск.
Я надеюсь, этот downtime не привел к каким-то катастрофическим проблемам?>Наврное сделаю из rescue mode md массив и попробую рсинкнуть туда бэкап.
Да, бэкапы очень хорошо :)
Вы тогда сразу поставьте систему как md, а сверху один pv в одной vg, например вот так: http://wiki.centos.org/HowTos/SoftwareRAIDonCentOS5З.Ы. Про lvm, если читать официальные доки нет времени, хорошо написано в "повести о Linux и LVM", "улучшенный" вариант есть на xgu.ru
Обязательно прочитайте про то, как ресайзят в меньшую сторону файловые системы (просто на будущее)
Так же могу посоветовать тренироваться, предварительно, на виртуальных машинах перед выполнением почти любого отвественного, ранее Вам не известного, и потенциально деструктивного действия (наверное, это самый ценный совет, который я могла Вам дать, но не дала), в том же VirtualBox можно смоделировать, наверное, любую ситуацию, кроме online замены hotswap диска (для зеркала, что бы не умереть от ожидания "отлипания" системы от тормозов, крайне желательно, что бы в вокрстанции было два hdd, на которые можно и сложить виртуальные диски для тестов)