Често задавани въпроси -> Преоразмеряване на софтуерния RAID дял в Linux (mdadm resize)

Този път ще ви кажа как да увеличите размера на дял, който се намира в софтуерен масив за набези. Като пример ще разширим дял на RAID 1 масив.

Ситуация:
Сървър с два диска, на които е сглобен софтуер RAID 1, са създадени 3 логически диска.
md0 с точка за добив/-10 Gb -Операционната система е разположена
Разменете дяла - 512Mb на всеки диск, общо 1Gb
md1/home - за него се разпределя цялото останало дисково пространство и се намират данните на файловия сървър.

Самият метод е приложим не само за RAID1, но и за други масиви, които имат толерантност към повреди и издържат на загубата на поне един диск, а именно RAID5, RAID6, RAID10. Примерът с RAID 1 се счита за най-простият и разбираем, алгоритъмът беше тестван на масиви от нива 5, 6 и 10 и се оказа отличен.

Има по-правилен и по-опростен вариант, при привидно процедурата "хемороиди", а именно, следвайте мисълта:
1) Премахнете 1 стар твърд диск
2) Инсталирайте 1 нов твърд диск,
3) Прехвърлете таблицата на дяловете на новия твърд диск,
4) Разширете размера на дяла на новия твърд диск, за сметка на оставащото свободно пространство.
5) Синхронизирайте съдържанието на стария диск с новия
6) Премахнете стария диск
7) Инсталирайте втори нов твърд диск
8) Прехвърлете таблицата на дяловете на втория нов твърд диск
9) Синхронизирайте съдържанието на дисковете.
10) Разширете RAID дял, като прикачите свободно пространство
Да се ​​насладя!
В резултат на подобен „ход“ информацията ще остане на един от дисковете, който ще бъде изключен, поради което е възможно с доста висока степен на вероятност да се каже, че инфа няма да изчезне, но никой не е отменил наличието на резервни копия.

Като изпитателен стенд ще имам система, която се състои от 2x 20Gb дискове.
В системата са създадени 2 устройства md
md0-Root файлова система
md1-раздел / У дома (ние ще го разширим)
Ще инсталираме 2 160GB диска в системата.

Общо трябва да извършим 10 действия.
Влизаме в системата и повишаваме правата за root


Първо, нека решим, че всичко е в ред с RAID масива.

Ще получим "подложка за крака" за положението на масива като цяло и дисковете, които са включени в него:

От което става ясно, че при нас всичко е наред, но скоро ще го оправим.
След това нека видим какво имаме с мястото на въртене:


От написаното става ясно, че раздел / У дома, на устройството md1 е натъпкан на 100%, направих го нарочно, за да стане по-ясно.

Уверете се, че възможността за зареждане на системата в случай на повреда на масив е активирана, за това:


намираме линията:
ЗАПУСКАНЕ_ДЕГРАДИРАН и ако е зададено:

Променете стойността на:

добре, ако сте мързеливи да влезете в конфигурациите, тогава можете да направите всичко чрез dpkg:

е, тогава следваме инструкциите на системата:

преоразмеряване

raid

преоразмеряване

е, ssbvenno, заради което всичко беше стартирано, активираме възможността за зареждане на системата в случай на повреда на масив

linux

Това е всичко с подготовката, нека преминем към практиката.

1-Направете го веднъж. Премахване на стария твърд диск.

Изключете системата и извадете твърдия диск, той ще ни е необходим като план Б. - ако нещо се обърка, винаги можем да се върнем от него към предишната система, но ако всичко е направено правилно и се практикува предварително, тогава всичко върви гладко.
Няма значение кой диск изваждате, системата ще стартира от втория и ние ще го видим като устройство в системата sda

2-Направете две. Добавете нов диск и стартирайте системата
Всичко е ясно от заглавието на елемента. Инсталиране на нов твърд диск и включване на системата.

Проверка на състоянието на масива:


Тук можем да разберем, че сме премахнали sdb диска - каква "изненада" ...

Проверка за дискове:

Ако дискът не бъде открит, рестартираме системата и проверяваме отново. Системата остава работеща, тъй като всички данни са налични на втория диск.
Трябва да получим следното:


Ние се интересуваме от елемента:

Вижда се, че е открит по-голям диск, но не съдържа никакви дялове, това е, което ни трябваше!

3-Направете три. Прехвърляне на таблицата на дяловете на нов твърд диск.

Нов диск sdb открит, но е празен, трябва да създадем дублирана таблица на дяловете на стария диск sda, Нека го направим:

Ще ни бъде даден куп всичко, но трябва да проверим дали дяловете са създадени:


От написаното става ясно, че на диска sdb бяха създадени секции.

4- Направете четири. Разширете размера на дял на нов твърд диск, за сметка на оставащото свободно пространство.

Тук ще направим малък "трик с ушите" и ще изтрием един раздел и ще го създадем на нов:

Ще изглежда така:

mdadm

Изтриваме дяла sdb6 и го създаваме отново:

linux

Изберете логически като тип дял:

raid

Ще посочим цялото налично дисково пространство в размера на дяла:

raid

Посочваме вида на секцията:

преоразмеряване

Действителният тип секция: Linux raid autodedect тези. FD, нашата екранна снимка е подчертана в червено:

преоразмеряване

Е, и най-важното, ние записваме промените на диск. те самите не са запазени и излезте от cfdisk:
1 - запис на промени
2-аут

софтуерния

5- Направете пет. Синхронизираме съдържанието на стария диск с новия.

Тук също всичко е просто, трябва да добавим дялове на новия диск към md.
Първо ще възстановим дяла md0 - където живее нашата операционна система.
подредете md0 тя се състои от sdb1 и sda1 дялове. ние сме добре със sda1, защото все пак нищо не му се случи, тогава трябва да добавим дял от прясно инсталирания диск и го имаме sdb1

проверете състоянието на масива

Вижда се, че възстановяването е започнало на устройството md0, периодично повтаряме въвеждането, докато установим, че възстановяването е завършено:


Можете да видите какво има на устройството md0 Налични са 2 диска, след което възстановяването е завършено успешно.

Извършваме същата операция с устройството md1:

Проверка на напредъка при възстановяване:


Очакваме края на реставрацията, в резултат на което трябва да получим:

Това показва, че масивът е възстановен и информацията на дисковете се синхронизира.
Нищо, но новият ни твърд диск не може да се стартира. буутлоудъра не е инсталиран на него и системата не може да стартира от него.
Инсталирайте буутлоудъра в нашия случай grub, новия ни диск sdb

Получаваме.
Инсталацията завърши. Няма съобщена грешка. Така че буутлоудъра е инсталиран нормално.
Изключете системата!

Направете -6. Премахване на втория стар твърд диск
Направете -7. Инсталиране на втори НОВ твърд диск

Всичко е точно като последния път, когато системата "си почеше ряпата" и установи, че ОТНОВО е била наполовина по-малко, става същото ...
Защото вече стартирахме от нов твърд диск, той е единственият в системата, който съдържа данни, след което се определя като устройство sda, усещаш ли какво шофирам ?! Точно така, ние изпълняваме всички действия отново, започвайки от точка 4.

Направете 8. Преместете дяловете от един диск на този, който току-що инсталирахме

Копирайте таблицата на дяловете от диска, който съдържа информацията, в нова, но с незначителни промени:

Кой трябва да провери успеха на копирането на дялове, можете да използвате командата:

Заключението на нейната работа, вие този път, мисля, че е неуместно да кандидатствате, т.к. предварително публикувани.

Направете 9. Синхронизирайте съдържанието на двата диска

Тук също всичко е просто, отново добавете sdb диска към масива:

Нека изчакаме, докато масивът md0 бъде възстановен и добавим раздел към md1

Инсталирайте буутлоудъра на нов твърд диск:

Направете 10. Разширете пространството в устройството md1

Така стигнахме до самата „пулпа“, всъщност трябва да разширим мястото, макар че системата все още не го вижда, но сега ще го поправим.
разширете пространството на устройството md1 до максималния размер:

В отговор на това системата ще ни даде:

Това показва, че системата видя свободното пространство, което се появи и започна да възстановява масива. Изпълняваме многократно използваната преди това команда:

И периодично проверяваме напредъка на възстановяването на масива md1
Трябва да произведе нещо подобно:

Където:
159950816-обема на раздела, сравнете това с това, което ни беше дадено по-рано ...
От това можете да видите, че md1 масивът е в добро състояние, но се синхронизира.
Като цяло трябва да изчакаме края на възстановяването на масива и да рестартираме системата.
В менюто за изтриване изберете режим на възстановяване (подчертано в червено на екранната снимка)

raid

Малко Ще обясня действията си, за да проверим файловата система, трябва да монтираме дяла md1, но при работеща система това не може да се направи дори при стартиране, масивът остава в употреба и не позволява извършването на каквито и да било действия със себе си. Следователно ще преминем през режим на възстановяване, когато дяловете определено не се използват.
Като цяло трябва да имаме гаранция от монтирането на дяла md1 в противен случай командата e2fsck и resize2fs неуспешно с:

Ако някой има решение на този проблем в работеща система, моля, отпишете се. Не можах да разреша този проблем по друг начин.

Тук избираме главния команден ред:

linux

Тук можете да станете със системата, каквото искате!

Първо стартираме проверка на файлова система на устройството md1

получаваме това, което е посочено на екранната снимка:

след това ще стартираме преоразмеряването на файловата система:

Получаваме:

Вижда се, че системата отчете увеличение на устройството md1.
стартирайте отново проверката на файловата система:

виждайки малки промени във файловата система

След това рестартираме системата и проверяваме - какво „усукахме“ в нея ...
Въвеждаме:


Вижда се, че секцията / У дома на устройството md1 сега той се е увеличил само с 9%, което означава, че всички наши действия са завършени успешно, с което ви поздравявам.

Ако трябва да увеличите масив от 3 или повече диска, тогава също няма нищо трудно, достатъчно е да разделите един нов диск, колкото ви е необходимо, и след това да копирате таблицата на дяловете на новите дискове.
Например, имате масив, състоящ се от 4 диска, тогава схемата за подмяна на диска ще изглежда така, ще изброя дисковете в реда на замяната:
2
3
4
един
Да предположим, че сте маркирали диск номер 2, колкото ви е необходимо, просто копирате дялове от него на всички останали дискове и когато става въпрос за смяна на първия диск в системата, тогава просто поставяте номер номер 2 на първо място и поставяте новия диск на място на първия, поставете го последен, копирайте таблицата, синхронизирайте съдържанието на дяловете/възстановете целостта на масивите, добре, тогава всичко е както обикновено според точка 10.
Единственият проблем с този метод е необходимостта от поне 3 рестартирания, както и времето за възстановяване на целостта на масивите, но трябва да признаете, че това е по-добре от прехвърлянето на данни на ръка ...

На тази оптимистична бележка, позволете ми да завърша, ако имате някакви въпроси, питам в коментарите, открих грешка или имам предложения за подобряване на статията, пишете в личен ...