Каковы хорошие способы переноса массива RAID на диски большего размера?
Я хочу заменить свои жесткие диски на более крупные, и я хотел бы знать, каковы наилучшие методы в этом деле. У меня HP ProLiant с 256 МБ версией контроллера RAID:
03:00.0 RAID bus controller: Hewlett-Packard Company Smart Array G6 controllers (rev 01)
У меня также есть пара дисков SAS со скоростью 10 000 об / мин и 146 ГБ в RAID 1. Операционная система - Ubuntu 10.04, 64-разрядная. Я не использую LVM.
zduric@pbksrv002:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p1 130G 119G 9.7G 93% /
none 3.0G 192K 3.0G 1% /dev
none 3.0G 0 3.0G 0% /dev/shm
none 3.0G 64K 3.0G 1% /var/run
none 3.0G 0 3.0G 0% /var/lock
none 3.0G 0 3.0G 0% /lib/init/rw
zduric@pbksrv002:~$ mount
/dev/cciss/c0d0p1 on / type ext4 (rw,errors=remount-ro)
Мы испытали огромный рост в хранящемся там контенте, и теперь мне нужно заменить этот массив другой парой, 300 ГБ дисков. Ubuntu 10.04 там с tomcat и приложением управления документами (которое заполняет большую часть диска). Я ищу лучший способ сделать это.
Я думал, что мог бы сделать одно из следующего:
Вариант I: замена диска за раз. По сути, я бы сделал что-то вроде этого:
- Замените диск 1 новым.
- Перестройте массив, чтобы поместить данные на новый диск.
- Замените диск 2 новым диском.
- Перестройте массив.
Мне не нравится повторная перестройка об этом. Я также не знаю, сработает ли это вообще и, что еще хуже, сколько будет простоев. (около 115 ГБ данных, ОС включена.)
Вариант II: Создать новый массив. Идея в том, что я бы добавил новые диски и создал второй массив. Затем я могу перенести мое приложение Tomcat в новый массив - это будет означать простую операцию cp.
Мне нравится эта опция намного лучше, потому что она также оставит мне первый массив, который будет использоваться исключительно для ОС, и я мог бы легче обновлять ОС в будущем.
Вариант II выполним вообще? Где я могу найти хорошие ресурсы для выполнения всей этой процедуры?
Есть ли другие, лучшие, более умные варианты, которые я должен попробовать?
Заранее спасибо.
3 ответа
У вас есть варианты...
Ваш конкретный случай описан на стр. 81 Руководства пользователя контроллеров HP Smart Array.
Следуйте этим инструкциям на стр. 20 Справочного руководства по HP Smart Array, чтобы получить представление о том, что делать при появлении новой емкости...
- Есть ли у вас RAID-контроллер с батарейным или флэш-накопителем?
- Можете ли вы опубликовать вывод
df -h
? - Вы используете LVM?
Расширение логического диска с использованием RAID-контроллера HP Smart Array можно выполнить, заменив каждый диск большим диском, по одному за раз, что позволяет перестроить время между ними. Это приведет к увеличению логического диска (в терминах HP), который предоставит неиспользуемое пространство, которое может быть выделено для существующего диска или выделено в новый логический диск.
Замена диска не потребует значительного времени простоя, кроме перезагрузки для распознавания нового размера массива. Для расширения логического диска требуется онлайн-расширение (с помощью утилиты конфигурации HP Array) или автономное расширение (с помощью загрузочного компакт-диска SmartStart). И все, что нужно сделать на уровне файловой системы, чтобы изменить размер ваших разделов. Я могу сделать это за одну или две перезагрузки, в зависимости от того, как настроена серверная ОС.
Может также иметь смысл установить агенты управления HP и драйверы для вашей ОС. Также может быть полезно обновление встроенного программного обеспечения серверных компонентов. Для этого есть DVD с загрузочной прошивкой.
Если вы просто замените диски по одному, у вас могут возникнуть проблемы, так как размер новой сборки массива будет такой же, как и у предыдущего; файловая система не будет знать о расширении.
Тогда вам придется попробовать изменить размер раздела и файловой системы на лету. Предполагая, что ваш RAID-контроллер не будет иметь проблем с этим. И файловая система. Некоторые системы лучше подходят для этой акробатики, чем другие (используя LVM?)
То, что я лично сделал бы, это посмотреть на создание другого сервера и запуск его параллельно с оригинальным, а затем, когда все станет ясно, перенести его на новую производственную систему.
Если бы вы не смогли этого сделать, я бы запланировал время для выключения сервера, создания совершенно нового массива с нуля, а затем восстановления из резервной копии. Это также будет иметь преимущество, если старые диски будут доступны, если возникла проблема, и вам пришлось прервать восстановление.
Эти два подхода позволят сэкономить часть "рисковать", протестировать резервные копии и уменьшить вероятность того, что вам придется перейти к "плану B" (или C или D) в три часа утра, когда вы уже расстроены, устали и более склонны совершать глупые ошибки.
В противном случае вам придется взглянуть на свою файловую систему и программное обеспечение для управления томами (LVM и утилиты изменения размера файловой системы) и надеяться, что ваш RAID-контроллер не сделает что-то глупое, чтобы вызвать проблемы, которые могут в конечном итоге привести к необходимости восстановления из резервной копии в любом случае.
Это мое мнение... возможно, кто-то с модельным контроллером и сервером, более похожим на ваш, может поделиться личным опытом. Мой подход, как правило, носит более общий характер, и я стараюсь избавиться от краевых проблем "на всякий случай".
Вариант 1 на самом деле не вариант, так как копирование содержимого существующего массива RAID на новый диск не увеличивает размер массива.
Если RAID-контроллер HP не предлагает оперативное изменение размера массива, это даже физически невозможно - и даже тогда это только увеличивает массив, а не разделы на них.
Выберите вариант 2: добавьте диски в контроллер, создайте новый массив RAID-1, создайте новый раздел, используя полный размер массива, и перенесите содержимое.
При копировании данных будет некоторое время простоя, но вы можете минимизировать это, используя rsync после первого действия полного копирования и пока приложения остановлены.