Важно Перенос Centos на другой жесткий диск

baltun

Администратор
Сообщения
10.870
Реакции
2.584
Баллы
2.003
Требуется заменить на сервере жесткий диск, на котором стоит Centos и перенести все на новый диск большего размера. Centos установлен с разбивкой диска по умолчанию, т.е. /boot на маленьком ext4 разделе, корневой раздел / в LVM и swap в LVM.

Исходно: /boot /dev/hda1 /, /dev/VolGroup00/LogVol00, swap /dedev/VolGroup00/LogVol01.
Выключаем сервер.
Код:
shutdown -h now или shutdown -h 0 или poweroff

Подключаем новый жесткий диск. (предположим, что он встал на pri.slave и называется /dev/hdb)
Загружаемся с установочного диска CentOS в rescue режиме.
Код:
linux rescue

Соглашаемся с предложением найти и смонтировать системный раздел. Проверяем.
Код:
ls /mnt/sysimage ; ls /mnt/sysimage/boot

Создаем новые разделы на новом диске.
Код:
# fdisk /dev/hdb

n (новый раздел)
p (primary раздел)
1 (номер раздела)
<enter> (начало раздела)
+100M (размер раздела)
(это будет /boot)

n
p
2
<enter>
<enter>
(а это будущий LVM)

t (меняем тип раздела чтобы не спутать его с другими)
2 (второй раздел - LVM)
8e (тип раздела - Linux LVM)

w (сохранили и вышли)

Далее создаем разделы внутри LVM.
Код:
lvm
> pvcreate /dev/hdb2
> vgcreate VolGroup01 /dev/hdb2
> lvcreate -L 10G -n LogVol00 VolGroup01 (10G - размер будущего / раздела.
     должен быть не меньше объема информации в текущем
     разделе и не больше свободного места в новом VG.
     размер считаем с учетом swap'а.)
> lvcreate -L 1G -n LogVol01 VolGroup01 (раздел под swap.
     можно занять все оставшееся место, если посмотреть
     количество Free PE в новом VG командой vgdisplay
     и задать вместо -L 10G флаг -l <количество свободных PE>)
> quit

Создаем файловую систему.
Код:
mkfs.ext4 /dev/hdb1
mkfs.ext4 /dev/VolGroup01/LogVol00
mkswap /dev/VolGroup01/LogVol01

Монтируем.
Код:
mkdir /mnt/newsys
mkdir /mnt/newsysboot
mount /dev/hdb1 /mnt/newsysboot
mount /dev/VolGroup01/LogVol00 /mnt/newsys

Переносим файлы.
Код:
cd /mnt/newsysboot ; dump -f- /mnt/sysimage/boot | restore -rf-
cd /mnt/newsys ; dump -f- /mnt/sysimage | restore -rf-
Первая команда выполнится почти моментально - файлов в /boot немного. А вот после запуска второй можно спокойно дойти до ближайшей кафешки и перекусить, параллельно почитать мануалы на смартфоне.
По умолчанию /boot монтируется из fstab по метке. Новая система не найдет раздел. Надо либо изменить fstab, либо изменить метку раздела:
Код:
e2label /dev/hdb1 /boot

Выключаем компьютер.
Код:
shutdown -h now или shutdown -h 0 или poweroff

Отцепляем старый диск, ставим новый нужным устройством (pri.master в нашем случае) и опять загружаемся с установочного диска в режиме rescue. Ставим загрузчик MBR в новом диске, без него система не загрузится.
Код:
chroot /mnt/sysimage /bin/bash
grub-install /dev/hda
exit

И переименовать VolGroup01 в VolGroup00, чтобы система нашла свои диски.
Код:
umount /mnt/sysimage/boot /mnt/sysimage/dev /mnt/sysimage/proc /mnt/sysimage
lvm
> vgrename VolGroup01 VolGroup00
> quit
exit

Грузимся с нового жесткого диска и видим как все у нас работает на новоиспеченном диске или SSD.
 
  • Мне нравится
Реакции: Halk
Назад
Верх Низ