Переместиться /var
без перехода в однопользовательский режим
Когда я взял на себя новый виртуальный сервер , который был инициализированным для меня хостинговой компанией моего работодателя, я создал дополнительный логический тома для var
и home
которые были регулярные каталогами в корневом разделе. Поскольку поставщик виртуальных серверов не предоставил KVM-подобный интерфейс, с помощью которого я мог получить доступ к серверу в однопользовательском режиме, приведенные выше ответы не были применимы к моей настройке. Я надеюсь, что этот ответ будет полезен для других в аналогичной ситуации (я сохранил детали LVM, но их можно пропустить, так как не имеет особого значения, создается ли новая файловая система на логическом томе или разделе диска).
Создайте и используйте новую /var
файловую систему с LVM
Создайте файловую систему для нового var
тома, смонтируйте его (используя временный каталог) и скопируйте файлы из текущего /var
в новую файловую систему. При копировании файлов rsync
используйте -a, --archive
опцию, чтобы сохранить метки времени, владельца, режимы и т. Д., А также -X, --xattrs
опцию, чтобы сохранить расширенные атрибуты, такие как метки безопасности, используемые AppArmor и 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/
Обновите таблицу файловой системы
Настройте новую файловую систему для использования в качестве новой точки монтирования /var
, добавив следующую строку в /etc/fstab
. Обратите внимание, что 0
он используется в качестве номера прохода (последнее поле), чтобы файловая система не проверялась автоматически ( fsck
) после определенного количества перезагрузок (у меня нет доступа для входа на сервер в однопользовательском режиме).
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Поскольку я не могу перейти в однопользовательский режим, перезагрузите компьютер, чтобы использовать этот новый том как /var
.
Восстановить дисковое пространство из корневой файловой системы
После перезагрузки компьютера выполните следующие действия, чтобы очистить временный каталог и удалить старые /var
файлы из корневой файловой системы:
Удалите временную точку монтирования:
sudo rmdir /var.new
Создайте новую точку монтирования, чтобы создать альтернативный путь к файлам в старом /var
каталоге в корневой файловой системе (в настоящее время она «маскируется» новой /var
файловой системой, смонтированной в каталоге):
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/