>[оверквотинг удален]
>>Спасибо зараннее. Жду помощи.
>
>Как собран gmirror? На слайсах? Покажите gmirror list, df -h, cat /etc/fstab
>
>Я бы / (если он маленький) засунула в зеркало с одним из
>существующих винтов, слайсы под gmirror'ы для данных сделала бы заново, и
>перенесла данные rsync.
>После синхронизации всего, чего нужно, и прописывания новых блочных устройств под данные
>в fstab, делаем короткий даунтайм сервисам, mount -a && mount /dev/mirror/olddata1
>/mnt/tmp1; mount /dev/mirror/olddata2; ну и дорсинкать данные... В принципе, я переносил зеркало на диски большего размера с помощью dump/restore.
Идея в принципе, сводится к восстановлению системы на новом винте и построению массива заново.
Отключаем один из дисков, вместо него подсовываем новый.
Грузимся, соответственно с оставшегося от зеркала диска (/dev/daX, а не с /dev/mirror/gmX)
Создаем на новом диске слайсы, а затем, разделы необходимого размера с помощью команды bsdlabel.
Со старого винта записывал разметку в файл
#bsdlabel da0s1 > savedlabel
Затем, отредактировав его, указав необходимые размеры разделов, записываем информацию на новый винт
#bsdlabel -R da1s1 savedlabel
Естественно, размеры файловых систем на новом диске равнялись или были больше, чем на исходном диске.
Естественно, монтируем куда-нибудь и по схеме, описанной в хэндбуке, переносим все данные из разделов работающего винта на второй винт
[root@odin ~]# dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)
[root@odin ~]# dump -L -0 -f- /tmp |(cd /mnt/tmp/ && restore -r -v -f-)
[root@odin ~]# dump -L -0 -f- /var |(cd /mnt/var/ && restore -r -v -f-)
[root@odin ~]# dump -L -0 -f- /usr |(cd /mnt/usr/ && restore -r -v -f-)
Не забываем править fstab.
Выключаем сервер, ставим второй новый диск, грузимся с первого нового диска и строим зеркало на новых двух винтах.