Вопрос или проблема
У меня сервер на Debian 12.
Я хочу смонтировать папку /srv на другой диск.
Я проверил этот пост:
Классический способ: https://linuxconfig.org/how-to-move-var-directory-to-another-partition
С ‘bind’ монтированием: https://serverfault.com/questions/429937/how-to-move-var-to-another-existing-partition
Какое решение лучше?
С уважением.
Смотрите Стандарт иерархии файловой системы по адресу https://refspecs.linuxfoundation.org/fhs.shtml
или прочитайте man hier
.
Он объясняет, где что должно находиться. Отклонение от стандарта может привести к сбоям и отсутствию поддержки.
О /srv
говорится:
/srv : Данные для услуг, предоставляемых этой системой
Цель
/srv содержит специфические для сайта данные, которые обслуживаются этой системой.Совет Обоснование
Основная цель указания этого каталога в том, чтобы пользователи могли найти местоположение файлов данных для конкретной услуги, и чтобы услуги, которые требуют единого дерева для файлов данных только для чтения, записываемых данных и скриптов (таких как CGI-скрипты), могли быть разумно размещены. Данные, которые интересуют только конкретного пользователя, должны находиться в домашнем каталоге этого пользователя.
Методология, используемая для именования подкаталогов /srv, не уточняется, поскольку в настоящее время нет консенсуса о том, как это следует делать. Один из способов структурирования данных в /srv – по протоколу, например, ftp, rsync, www, и cvs. На крупных системах может быть полезно структурировать /srv по административному контексту, например, /srv/physics/www, /srv/compsci/cvs и т. д. Эта настройка будет отличаться от хоста к хосту. Поэтому никакая программа не должна полагаться на существование конкретной структуры подкаталогов /srv или на то, что данные обязательно будут храниться в /srv. Тем не менее, /srv всегда должен существовать на системах, соответствующих FHS, и должен использоваться в качестве места по умолчанию для таких данных.
Распределения должны позаботиться о том, чтобы не удалять файлы, размещенные локально в этих каталогах, без разрешения администратора.
Ответ или решение
Чтобы смонтировать папку /srv
на другой диск в Debian 12, вам необходимо выполнить следующие шаги. Я опишу процесс подробно, чтобы избежать возможных проблем и обеспечить успешное выполнение.
Шаг 1. Подготовка нового диска
-
Форматируйте новый диск, если это еще не было сделано. Например, если ваш новый диск обозначен как
/dev/sdb1
, вы можете использоватьmkfs
для форматирования:sudo mkfs.ext4 /dev/sdb1
-
Создайте каталог для монтирования (если он еще не существует):
sudo mkdir /mnt/new_srv
-
Смонтируйте новый диск на временное место, чтобы перенести данные:
sudo mount /dev/sdb1 /mnt/new_srv
Шаг 2. Перемещение данных
-
Перенесите содержимое текущей папки
/srv
на новый диск. Убедитесь, что в/srv
нет критически важных данных во время этой операции:sudo rsync -av /srv/ /mnt/new_srv/
Шаг 3. Настройка автоматического монтирования
-
После того как данные перенесены, отмонтируйте временной каталог:
sudo umount /mnt/new_srv
-
Теперь откройте файл
/etc/fstab
, чтобы настроить автоматическое монтирование нового диска:sudo nano /etc/fstab
-
Добавьте в конец файла следующую строку:
/dev/sdb1 /srv ext4 defaults 0 2
Убедитесь, что вы указали правильный путь к устройству, файловой системе и другим параметрам.
Шаг 4. Обновление конфигурации
-
Теперь смонтируйте новую папку
/srv
, чтобы проверить, что все работает корректно:sudo mount -a
-
Убедитесь, что папка смонтирована корректно:
df -h | grep /srv
Шаг 5. Очистка и завершение
-
Убедитесь, что все услуги, которые используют
/srv
, работают корректно. После проверки вы можете удалить содержимое старой папки/srv
, если уверены в том, что данные успешно перенесены:sudo rm -rf /srv/*
Заключение
Ваша папка /srv
теперь успешно смонтирована на новом диске. Убедитесь, что вы регулярно создаете резервные копии данных и следите за целостностью системы. Если у вас возникнут какие-либо проблемы, не стесняйтесь обращаться к документации или сообществу за помощью.