Это похоже на этот вопрос:
HP G8 переносит RAID0 на RAID1 с помощью команд интерфейса командной строки
Но достаточно разные, поэтому я думаю, что стоит задать новый вопрос.
У меня есть сервер HPE поколения 10 с RAID-контроллером P408i-a.
В настоящее время у него есть только один диск, который обрабатывается как однодисковый массив RAID0.
Я хочу добавить к нему еще два диска и преобразовать результат в массив RAID5.
В ssacli я вижу параметры «добавить» и «изменить», но не совсем понятно, как это объединить, чтобы делать то, что я хочу.
В частности, в справке по команде «добавить» говорится, что «добавление физических дисков аналогично расширению массива», что для меня означает, что как только я запустил «добавить», он начнет преобразование в 3-х дисковый RAID0, чего я не хочу.
Если я добавлю новые диски в качестве запасных, а затем запуская команду изменения, это сработает (то есть сработает ли это, чтобы поглотить запасные части для преобразования)?
Поскольку на сервере работала VMware ESXi, резервное копирование и восстановление потребовали бы очень много времени. В итоге я сделал, и это сработало для меня, следующие три команды HPE (после вставки новых дисков) с многочасовым ожиданием между ними, когда они завершили операцию.
/opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 ld 1 add drives=allunassigned forced
(подождите несколько часов, пока массив RAID0 изменится)
/opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 ld 1 modify raid=5
(подождите несколько часов, пока массив RAID0 не изменится на RAID5)
/opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 ld 1 modify size=max forced
Поскольку «предоставление доступного пространства для видимого диска» является отдельным этапом от «изменения формы RAID-массива», ОС не видела промежуточного состояния, в котором массив выглядел как трехдисковый массив RAID0.
Затем я выполнил процедуру по этой ссылке, чтобы заставить уровень VMware увидеть дополнительное пространство, которое работало без перезагрузки:
https://michlstechblog.info/blog/esxi-expand-datastore-from-command-line/