Nadeszła ta wiekopomna chwila – bojąc się o swój serwer – postanowiłem uporządkować go w sposób odpowiedni. O ile backupy były (i są) robione regularnie, o tyle sam dysk na którym stał root, nie cechował się stabilnością (swoje lata już miał). Nie bez znaczenia było też to, że 80GB to nie jest szczyt marzeń jeśli chodzi o pojemność dysku serwerowego. Tak więc, nowym dyskiem został 1TB Western Digital WD10EARS z 64MB Cache. Niedrogi a całkiem przyzwoity.

Dysk i jego partycje

Strukturę partycji na nowym dysku postanowiłem zachować taką samą jak na starym. Może nie jest idealna, ale dzięki temu szybciej mogłem wszystko przenieść. Tak więc na nowym dysku utworzyłem (odpowiednio duże) partycje:

  • swap
  • / (root)
  • /home
  • /var
  • /backup (nie – nie ten “zewnętrzny” – tutaj trafia synchro z lapkiem)

Ważne jest aby kojarzyć jakie mamy partycje i jaka jest ich kolejność (sudo fdisk -l).

Przenosiny danych

Wbrew pozorom przenosiny danych są bardzo proste. Wystarczy nam polecenie tar. Minusem mojego serwera jest to, że ma miejsce w obudowie tylko na jeden dysk, tak więc nie miałem jak skopiować danych bezpośrednio. Na szczęście mam jeszcze obudowę na dyski, do której można było je umieścić. Tak więc całość jest bajecznie prosta:

  1. Tarujemy
  2. Odtarowujemy
  3. ???
  4. Profit :)

Pakujemy:

sudo tar -pczf /var /gdziestam.tar

Wypakowujemy:

sudo tar -xvfz gdziestam.tar

Postępujemy tak dla wszystkich partycji na starym dysku.

GRUB

Pora na GRUBa. Z nim miałem małe problemy ale dzięki pomocy Arta (któremu serdecznie dziękuję), udało się je rozwiązać. Całość okazała się całkiem prosta:

  1. sudo mount -t ext4 /dev/sda2 /mnt – zamiast sda2 użyj partycji na której masz /boot
  2. sudo mount -o bind /dev /mnt/dev
  3. sudo mount none -t proc /mnt/proc
  4. sudo chroot /mnt
  5. sudo grub-install /dev/sda

Po ostatnim powinniśmy otrzymać taki oto komunikat:

Installation finished. No error reported

Odmontowujemy kolejno:

cd /
sudo umount /mnt/proc
sudo umount /mnt/dev
# /mnt zostawiamy, ponieważ przyda się w następnym punkcie

Fstab i grub.cfg

Zanim zrobimy reboot, musimy wyedytować jeszcze /etc/fstab oraz /boot/grub/grub.cfg.

Sprawa jest całkiem prosta – jeśli korzystamy z UUIDów – to wpisujemy nowe (pobieram je poleceniem blkid). Czynność tę wykonujemy dla obu plików, ponieważ i grub musi wiedzieć z czego odpalać OS i fstab musi wiedzieć co ma montować. Jeśli nie korzystamy z UUIDów to ew. poprawiamy ścieżki do danych partycji.

Reboot

cd /
sudo umount /mnt
sudo reboot