Переміщення /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/