Назад | Перейти на главную страницу

Могу ли я с помощью Linux LVM изменить количество полос и «перебалансировать» логический том?

Я создал RAID10, добавив два устройства RAID1 md в качестве физических томов в группу томов. К сожалению, похоже, что я забыл указать количество полос при создании логических томов (было поздно):

PV         VG     Fmt  Attr PSize   PFree  
/dev/md312 volume lvm2 a-   927.01G 291.01G
/dev/md334 volume lvm2 a-   927.01G 927.01G

Я знаю, что могу переместить все данные логического тома с одного физического тома на другой с помощью pvmove. Это тоже похоже lvextend поддерживает -i переключатель, чтобы изменить количество полос. Есть ли способ совместить эти два, т.е. изменить количество полос и «перебалансировать» данные по полосам в соответствии с политикой распределения?

В соответствии с это письмо Росс Уокер с марта 2010 года это невозможно, но, возможно, с тех пор ситуация изменилась.

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

Если время простоя невозможно, я бы воссоздал md334 как полосатое зеркало с деградированными дисками raid1 в качестве базовых дисков (т.е. используйте md для Raid 10, а не LVM). Затем выполните pvmove на md334, избавьтесь от md312, сотрите md-подписи с их дисков и добавьте два свободных диска к двум деградированным raid1 (и вернитесь к полной избыточности).

Я не уверен, что вы можете складывать md-устройства, но я не вижу причин, по которым это невозможно. Во время pvmove у вас не будет избыточности.

Обновление 2011-08-17: Я только что протестировал процедуру с CentOS 5.6 - она ​​работает. Вот результаты:

cat /proc/mdstat

Личности: [raid1] [raid0]

md10: активный raid0 md3 [1] md1 [0] 1792 блокирует блоки по 64 КБ

md3: активный raid1 loop0 [1] loop1 [0] 960 блоков [2/2] [UU]

md1: активный raid1 loop2 [1] loop3 [0] 960 блоков [2/2] [UU]

Чтобы смоделировать вашу установку, я сначала установил / dev / md0 с зеркалом, состоящим из loop0 и loop2. Я настраиваю VG с md0 в качестве диска. Затем я создаю LV в этом VG, создаю файловую систему в LV и монтирую ее, записываю в нее какой-то файл.

Затем я настраиваю / dev / md1 и md3 как деградированные устройства raid1, состоящие из loop1 соответственно. loop3. После этого я создал устройство raid10, построив raid0 из md1 и md3.

Я добавил md10 в VG. Затем pvmove md0 на md10. Удален md0 из VG. Остановлен md0, очищен loop0 и loop2. Изменили размер деградированного raid1, чтобы они могли использовать два устройства. Горячее добавление loop0 в md3 и loop2 в md1.

Файловая система все еще была смонтирована на протяжении всего процесса.