Przejdź /var
bez przechodzenia w tryb jednego użytkownika
Kiedy przejęłem nowy serwer wirtualny, który został dla mnie udostępniony przez firmę hostingową mojego pracodawcy, utworzyłem dodatkowe woluminy logiczne var
i home
które były zwykłymi katalogami na partycji głównej. Ponieważ dostawca serwera wirtualnego nie zapewnił interfejsu podobnego do KVM, za pomocą którego mógłbym uzyskać dostęp do serwera w trybie pojedynczego użytkownika, powyższe odpowiedzi nie dotyczyły mojej konfiguracji. Mam nadzieję, że ta odpowiedź będzie przydatna dla innych osób w podobnej sytuacji (zachowałem szczegóły LVM, ale można je pominąć, ponieważ nie jest szczególnie istotne, czy nowy system plików jest tworzony na woluminie logicznym, czy na partycji dysku).
Utwórz i użyj nowego /var
systemu plików za pomocą LVM
Utwórz system plików dla nowego var
woluminu, zamontuj go (używając katalogu tymczasowego) i skopiuj pliki z bieżącego /var
do nowego systemu plików. Podczas kopiowania plików rsync
użyj -a, --archive
opcji zachowania znaczników czasu, własności, trybów itp. Oraz -X, --xattrs
opcji zachowania rozszerzonych atrybutów, takich jak etykiety bezpieczeństwa używane przez AppArmor i SELinux.
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
Zaktualizuj tabelę systemu plików
Skonfiguruj nowy system plików, który będzie używany jako nowy punkt montowania, /var
dodając następujący wiersz do /etc/fstab
. Zauważ, że 0
jest używany jako numer przepustki (ostatnie pole), aby system plików nie był automatycznie sprawdzany ( fsck
) po określonej liczbie ponownych uruchomień (nie mam dostępu do zalogowania się na serwerze w trybie pojedynczego użytkownika).
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Ponieważ nie mogę przejść do trybu pojedynczego użytkownika, uruchom ponownie komputer, aby użyć tego nowego woluminu jako /var
.
Odzyskaj miejsce na dysku z głównego systemu plików
Po ponownym uruchomieniu komputera wykonaj następujące czynności, aby wyczyścić katalog tymczasowy i usunąć stare /var
pliki z głównego systemu plików:
Usuń tymczasowy punkt montowania:
sudo rmdir /var.new
Utwórz nowy punkt podłączenia, aby utworzyć alternatywną ścieżkę do plików w starym /var
katalogu w głównym systemie plików (jest on obecnie „maskowany” przez nowy /var
system plików zamontowany w katalogu):
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/