Хмм... какъв е проблемът и какво му е непрофесионалното на миграция със смяна на дисковете един по един? RAID1 може да работи и на дискове с различна големина, стига дяловете върху тях да са едни и същи, в резултат на което размерът на дяловете трябва да е такъв, че да могат да се поберат в най-малкия (казвам "най-", а не "по-", тъй като с multiplexing може да имаме и повече от 2 диска в RAID1, макар че в случая вероятно става дума за стандартен RAID1 от два диска). А щом контролерът поддържа HotPlug, имаме реалния шанс да мигрираме системата без да я гасим в нито един момент от цялата процедура. Всъщност, единственото, което по принцип изисква гасене на системата, е преоразмеряването на вече заработилите по-големи дискове (тъй като по време на миграцията дяловете и файловите системи върху тях ще са по-малки от наличното пространство на дисковете), но с помощта на pivot_root това гасене може да бъде избегнато, макар че използването му би било по-скоро от ентусиазъм, тъй като така или иначе трябва да се изключи всичко (освен мрежата и SSH, ако работим отдалечено). Общо взето сценарият е следният:
1. Предварително си подготвяме новите дискове със същите дялове, както старите;
2. Правим резервно копие на системата;
3. Мушкаме единият от новите в RAID-а на мястото на единия от старите и чакаме данните да се синхронизират;
4. Заменяме и вторите дискове и отново изчакваме синхронизацията;
5. Правим резервно копие на системата;
6. Преоразмеряваме дяловете и файловите системи, за да използваме пълния капацитет на дисковете.
Най-интересна е 6-та точка, като тя се разделя на няколко подсценария в зависимост от това дали ползваме физически или логически (LVM) дялове (разликата е в инструментите и сигурността за преоразмеряването), и в зависимост от това дали искаме или не искаме да гасим системата (ще ползваме ли pivot_root или не,
тук има бърза справка как се ползва).
Но изпълнението на 6-та точка не е шега работа и трябва много да се внимава. Резервното копие е задължително, ще ни даде и свобода да действаме по-смело, като най-много да ни провали плановете да не гасим системата, ако сме решили да стане без гасене, но здраво се омажем
Само дето цялата тази гимнастика при наличието на съвременните инструменти за създаване на изображения на дисковете на мен лично ми изглежда излишна:
1. Правиш си нужните дялове на новите дискове, изпълващи целите дискове;
2. С PartImage или FSArchiver (за момента PartImage се води по-стабилен, но пък FSArchiver поддържа и някои допълнителни функции като поддръжка на ext4 и multithreading; засега не съм имал проблеми с FSArchiver) си правиш изображение/я на старите дискове;
3. Плесваш изображението/ята от старите дискове в новите;
4. Пускаш новите дискове на мястото на старите, и отчиташ точката като отметната.
Downtime-ът не се увеличава, но упражнението е много по-лесно. По принцип можеш да го направиш и без никакъв downtime, ако намесиш и pivot_root, но така или иначе трябва да спреш временно услугите, та ми се вижда излишно да усложняваш схемата, само заради някакво число в uptime. Ако текущо ползваш LVM можеш да намалиш downtime-а, като направиш изображения на snapshot-и вместо директно на самите дялове, като така няма да има нужда да гасиш системата, докато се правят изображенията, но пък после трябва да си играеш да синхронизираш и променените междувременно данни. Краткият downtime, докато направиш изображенията и ги плеснеш на дисковете, едва ли ще е фатален в твоя случай, така че е излишно да си усложняваш действията. Само ти препоръчвам, ако текущо не ползваш LVM, да минеш на него на новите дискове (е, ще трябва малко да си поиграеш да смениш имената на устройствата след като плеснеш изображенията) - откакто GRUB поддържа LVM ползата от физически дялове остана само колкото да има върху какво да се сложат логическите.
П.П.0: Не се притеснявай за писмата - с пускането на системата пощенският сървър ще заработи веднага, ако добре изпълниш стъпката с изображенията, и чакащите писма ще пристигнат, за където са били предназначени - имаш достатъчно време преди да timeout-нат. Надявам се пускането на услугите при рестарт на системата да не те притеснява - би трябвало вече да си подсигурил всичко да си тръгва с пускането на системата. Ако не си, направи го още сега - несериозно е да се налага ръчна намеса след рестартиране
П.П.1: Тези машинки мисля, че пристигаха с fakeRAID контролер в дъното. Него ли ползваш или си сложил допълнителен пълен контролер, и ако да, какъв? Питам информативно, не е от значение за текущата гимнастика. Аз по принцип не съм фен на хардуерните масиви, mdadm си върши работата чудесно без да ме заплашва от допълнителни играчки, ако вземе, че ми изгори контролера, пък не си намеря същия (рядко се случва масив от един контролер да заработи на друг, обикновено пак се прибягва до резервните изображения, а това носи и риск от загуба на междувременна информация). При съвременните процесори колко му е да сложа малко по-бърз процесор, с което да се поеме и изчислението, което иначе прави контролерът, и въобще да не се усети разликата. В тази връзка fakeRAID пък ми се вижда пълна измислица - ограничава те до хардуер и не ти покрива отделно изчислението на масива, не намирам ползите.