rescshri – mini dystrybucja Linuxa

rescshri to skrót z połączenia pierwszych czterech liter słów rescue i shrink. To moja mikro-dystrybucja initram Linuxa służąca do zmniejszania głównych partycji systemowych na serwerach VPS oraz do ogólnych operacji na dyskach. Użyłem jej pierwszy raz do zmniejszenia partycji systemowej na serwerze VPS, ponieważ mój projekt wymagał zaszyfrowanej drugiej partycji, a dostawca oferował taką przestrzeń tylko za dodatkową opłatą :)

Poniżej, wprost z przeglądarki, wyłącznie za pomocą Javascriptu i zasobów Waszego komputera stworzycie wirtualną maszynę z pełną wersją tej mini dystrybucji wraz z testowym wirtualnym dyskiem twardym rezydującym w RAMie, w której można przetestować operację zmniejszania partycji. Wystarczy uruchomić polecenie tutorial tuż po pełnej procedurze startowej Linuxa.


* Czas oczekiwania na uruchomienie systemu: około minuty od momentu otworzenia strony, którą właśnie czytasz :)

Zmniejszenie partycji systemowej jest możliwe poprzez wyłączenie wszystkich usług i po przeniesieniu roota za pomocą pivot_root – jest to jednak dość problematyczne i czasochłonne. Z pomocą przychodzi ta mini dystrybucja. Wystarczy ją rozpakować na serwerze i podpiąć pod grub.cfg. Po restarcie serwera otrzymamy dostęp do okrojonego Linuxa rezydującego w RAMie, zawierającego wszystkie narzędzia (resize2fs, fdisk, cfdisk, mkfs) niezbędne do bezpiecznego zmniejszenia/zwiększenia partycji oraz do wykonywania operacji ratunkowych na dyskach.

Instalacja na serwerze

  1. Pobierz wersję amd64 lub i686 mini dystrybucji rescshri.
  2. Wypakuj rescshri.img do katalogu /boot.
  3. Skopiuj menuentry wpisu startowego z /boot/grub/grub.cfg na koniec pliku /etc/grub.d/40_custom.
  4. Podmień odwołanie przy initrd na /boot/rescshri.img oraz nadaj nazwę „rescshri” dla tego menuentry. Przykładowy fragment pliku 40_custom:
    #!/bin/sh
    exec tail -n +3 $0
    menuentry 'rescshri' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f8e7d7ab-ada4-4c98-a73a-450fefb6ff64' {
    # tutaj reszta menuentry zgodnie z oryginałem, a na koniec przykładowo:
    linux /boot/vmlinuz-4.9.0-4-amd64 root=UUID=f8e7d7ab-ada4-4c98-a73a-450fefb6ff64 ro quiet
    initrd /boot/rescshri.img
    }
  5. Uruchom update-grub.
  6. Uruchom ponownie system trzymając wciśnięty klawisz shift i wybierz z listy rescshri.
  7. Aby łatwo dodać kolejne programy do tej mini dystrybucji możesz skorzystać z jej projektu na GitHubie.

Nie gwarantuję, że rescshri będzie współpracowała z każdym dostawcą serwerów wirtualnych – u mojego dostawcy działa poprawnie i sprawdza się idealnie :) Oprogramowanie to instalujesz na własne ryzyko – nie odpowiadam za wszelkie szkody przez nie wyrządzone. Przed pracą z dyskami polecam zapoznanie się z manualami do poleceń fdisk, cfdisk, resize2fs i mkfs.

Do wirtualizacji Live Demo wykorzystałem oprogramowanie x86 Fabiana Hemmera (po lekkich, unowocześniających przeróbkach :)

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.