baltun
Администратор
- Сообщения
- 12.282
- Реакции
- 3.082
- Баллы
- 1.833
Требуется заменить на сервере жесткий диск, на котором стоит Centos и перенести все на новый диск большего размера. Centos установлен с разбивкой диска по умолчанию, т.е. /boot на маленьком ext4 разделе, корневой раздел / в LVM и swap в LVM.
Исходно: /boot /dev/hda1 /, /dev/VolGroup00/LogVol00, swap /dedev/VolGroup00/LogVol01.
Выключаем сервер.
Подключаем новый жесткий диск. (предположим, что он встал на pri.slave и называется /dev/hdb)
Загружаемся с установочного диска CentOS в rescue режиме.
Соглашаемся с предложением найти и смонтировать системный раздел. Проверяем.
Создаем новые разделы на новом диске.
Далее создаем разделы внутри LVM.
Создаем файловую систему.
Монтируем.
Переносим файлы.
Первая команда выполнится почти моментально - файлов в /boot немного. А вот после запуска второй можно спокойно дойти до ближайшей кафешки и перекусить, параллельно почитать мануалы на смартфоне.
По умолчанию /boot монтируется из fstab по метке. Новая система не найдет раздел. Надо либо изменить fstab, либо изменить метку раздела:
Выключаем компьютер.
Отцепляем старый диск, ставим новый нужным устройством (pri.master в нашем случае) и опять загружаемся с установочного диска в режиме rescue. Ставим загрузчик MBR в новом диске, без него система не загрузится.
И переименовать VolGroup01 в VolGroup00, чтобы система нашла свои диски.
Грузимся с нового жесткого диска и видим как все у нас работает на новоиспеченном диске или SSD.
Исходно: /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 монтируется из 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.