Замена дисков в RAID1 возможна на диски того же или большего объёма. При этом операция осуществляется банально: сначала меняем первый диск, дожидаемся синхронизации массива, затем меняем второй диск.
А что если нам нужно заменить диски в RAID1 на диски меньшего объёма? Сегодня нам как раз предстоит такая операция. Очень нетривиальная.
Если можете отвертеться от такой задачи — откажитесь от неё. Соврите что это невозможно, к примеру. Реально, было бы от чего жилы рвать.
Рабочий стенд:
- Сервер Supermicro SYS-2029U-TN24R4T
- Система собрана на двух HDD в Rear слотах. Диски в RST RAID1 на чипе Intel.
Если на вашей материнской плате стоит чип Intel, поддерживающий технологию Intel RST (Rapid Storage Technology), Intel RSTe (Intel Rapid Enterprise) или Intel VROC (Virtual RAID on CPU), то вы можете собрать RAID массив из жёстких дисков SATA или PCIe и обеспечить отказоустойчивость данных. Если из строй выйдет один диск, то вы продолжаете работать.
Именно такой массив у нас собран на сервере. Примечательно, что сервер забит данными под завязку, дополнительно вставлять диски некуда.
Сейчас у нас в сервере стоят два диска WD WD10JFCX объёмом 1 ТБ.
HDD Western Digital SATA-III 1TB — WD10JFCX RED
Диски хорошие, надёжные, но больно медленные, 5400 RPM. Менять будем на SSD:
Samsung SSD SATA PM897 — MZ7L3960HBLT-00A07
Прекрасные SSD, надёжные, DWPD 3. Вот только объём меньше терабайта, просто так диски заменить в RAID1 нельзя.
Выключаем сервер. Вытаскиваем оба HDD.
Вместо них вставляем новые SSD. Повезло с салазками, отвёртка не понадобился, замена дисков проводится вручную.
Салазки Supermicro SFF 01-SC21663-XX00C101
Включаем сервер, проваливаемся в BIOS, у меня загрузка в UEFi.
Заходим в управление Intel(R) VROC SATA Controller.
И собираем из двух SSD новый RAID1. Назову его SYS2, прошлый я, кажется, называл SYS.
Собрали RAID1 объёмом чуть меньше чем предыдущий. Выключаем сервер и вытаскиваем из него диски.
Вставляем в сервер один диск от первого RAID массива, второй — от второго. Можно включить сервер и проверить что он загружается. Система увидит первый массив в состоянии Failed, поскольку одного диска у него нет. А также будет видно и второй массив тоже в состоянии Failed по той же причине.
Если бы массив не был системный, то можно было бы просто перегнать данные с одного массива на другой. Но у меня RAID под ОС, поэтому просто так перегнать данные нельзя. Поэтому загружаемся с Live CD, CD, мы используем openSUSE, он нормально работает с массивами.
Оба покоцанных массива видятся.
Теперь на новом массиве создаём такую же структуру разделов, меняем их идентификаторы на такие же как у изначального массива, раскатываем файловые системы. Не буду подробно на этом останавливаться, здесь всё зависит от степени кривизны наших рук. Кстати, данную операцию не я делал, а удалённо мой коллега, я даже фотографировать не успевал.
После переносим данные. Процесс долгий, ибо HDD, как уже было сказано, медленные.
Дальше делаем новый массив загрузочным. Выключаем сервер.
Вытаскиваем HDD, включаем и проверяем что сервер загружается.
При загрузке сервер может ругнуться на нездоровое устройство.
Можем нажать DEL и посмотреть на него.
У нас имеется сбойное устройство. Провалимся в него.
Это у нас система ругается на новый массив SYS2, это нормально, потому как мы сейчас загружаемся с одним диском. Делаем перезагрузку и для продолжения нажимаем в этот раз F1.
Если мы всё сделали правильно, то система загрузится и всё будет в порядке. Нам остаётся просто вставить второй SSD диск и дождаться синхронизации массива.