Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Для стандартной установки Linux подключите внешний диск с постоянным доступом, скопируйте весь каталог данных, пока Nextcloud находится в автономном режиме, а затем создайте символическую ссылку с исходного пути на новое местоположение. Не изменяйте путь просто datadirectoryтак config.php: Nextcloud отслеживает локальное хранилище по абсолютному пути, поэтому прямое изменение пути может привести к потере файлов и общих ресурсов.

В этом примере предполагается установка пакета или архива. Docker, Snap и виртуальные машины сопоставляют пути по-разному; вместо того, чтобы слепо копировать эти пути хоста, адаптируйте монтирование под конкретное развертывание.

Что подтверждено, а что зависит от вашего сервера.

ТочкаЧто делать
Подтверждено: Nextcloud использует абсолютный путь для идентификации локального хранилища. Неосторожное перемещение может привести к появлению «осиротевших» файлов или общих ресурсов.Сохраняйте заданный путь стабильным с помощью символической ссылки; сохраняйте все содержимое, включая .ncdata.
Зависит от настроек: путь к данным, HTTP-пользователь, файловая система и имена служб могут различаться.Проверьте действующую конфигурацию и убедитесь, что диск сохраняет необходимые права доступа и разрешения Linux.
Зависимость от диска: нельзя гарантировать надежное монтирование загрузочного устройства и наличие питания.Смонтируйте диск по UUID, проверьте монтирование после перезагрузки и предотвратите запуск Nextcloud при отсутствии диска с данными.

Функция монтирования внешнего хранилища в приложении «Файлы» добавляет дополнительное местоположение; она не перемещает основной каталог данных. Используйте её для создания дополнительной папки или общего доступа, а каталог данных перенесите, когда собственные файлы и метаданные сервера должны храниться на диске.

1. Создайте резервную копию Nextcloud и определите путь к источнику.

Создайте резервную копию базы данных config/, каталога данных, пользовательских приложений и тем оформления. Убедитесь, что резервная копия базы данных восстанавливаема; копирование только файлов не является полным откатом.

Найдите путь к данным в файле config/config.phpили с помощью команды occ config:system:get datadirectory`http://localhost:90`, затем определите HTTP-пользователя. В примерах используются `http://localhost:90` www-dataи /var/www/nextcloud/data`http://localhost:90`; подставьте свои фактические значения. Не форматируйте диск, содержащий необходимые вам файлы.

Дисковая утилита Linux, отображающая выбранный внешний диск, файловую систему ext4 и поле точки монтирования.
Иллюстрация: в окне дисковой утилиты отображаются сведения о внешнем диске и файловой системе, которые необходимо подтвердить перед его монтированием для Nextcloud.

2. Установите накопитель на устойчивой опоре.

Запустите команду lsblk -fи запишите UUID файловой системы раздела. Имена, например, /dev/sdb1могут меняться, поэтому используйте UUID в конфигурации монтирования.

Для сервера Linux, использующего файловую систему ext4, создайте точку монтирования и добавьте в файл .config строку следующего вида /etc/fstab, заменив указанный UUID на фактический:

UUID=YOUR-DRIVE-UUID /srv/nextcloud-disk ext4 defaults 0 2

Используйте тип данных, уже имеющийся на разделе; эта строка не форматирует его. Убедитесь, что файловая система сохраняет права собственности и разрешения, необходимые Nextcloud.

Перед размещением на нем каких-либо данных, смонтируйте и проверьте его:

sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk

Убедитесь, что вывод идентифицирует внешний раздел. Если используется nofail, также ограничьте доступ к веб-сервисам/PHP на точке монтирования; в противном случае отсутствие диска может привести к появлению пустого каталога точки монтирования, в который будут записываться данные. В качестве дополнения к systemd можно использовать RequiresMountsFor=/srv/nextcloud-disk. Держите диск подключенным во время работы Nextcloud.

Терминальный редактор, отображающий запись файловой системы на основе UUID для смонтированного внешнего тома.
Иллюстрация: запись UUID в таблице файловой системы представляет собой постоянную конфигурацию монтирования, а не ярлык имени устройства.

3. Переведите Nextcloud в режим обслуживания и скопируйте данные.

Режим обслуживания блокирует вход в систему, но не останавливает все запланированные задания. Приостановите cron Nextcloud или его таймер systemd, остановите клиенты синхронизации и веб-сервисы/PHP перед копированием, чтобы никакие запросы не изменяли файлы во время перемещения.

sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --on

При отключенном планировщике и остановленных веб-/PHP-сервисах скопируйте каталог данных от имени root, чтобы сохранить права собственности, разрешения, списки контроля доступа и скрытые файлы:

sudo mkdir -p /srv/nextcloud-disk/data
sudo rsync -Aavx --numeric-ids /var/www/nextcloud/data/ /srv/nextcloud-disk/data/

Косая черта в конце копирует содержимое каталога. Сохраните старую копию; проверьте rsyncналичие ошибок и убедитесь, что .ncdataона находится на верхнем уровне нового каталога.

Темное окно терминала, отображающее команду копирования файла с индикатором выполнения.
Иллюстрация: на изображении копирования в терминале показана передача всего каталога данных при остановленном Nextcloud.

4. Сохраните старый путь с помощью символической ссылки.

В руководстве по устранению неполадок Nextcloud рекомендуется связать исходный путь с новым каталогом. После проверки копии переименуйте старый каталог для отката и создайте ссылку:

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.pre-move
sudo ln -s /srv/nextcloud-disk/data /var/www/nextcloud/data
readlink -f /var/www/nextcloud/data

Убедитесь, что путь разрешается в /srv/nextcloud-disk/data. Веб-пользователь должен пройтись по родительским каталогам и прочитать .ncdataи записать данные в целевой каталог:

sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data

Если проверка не пройдена, исправьте права собственности или родительские права для вашего веб-пользователя; не делайте каталог доступным для записи всем. Некоторые веб-серверы должны разрешать символические ссылки. Если это невозможно, не редактируйте их oc_storagesвручную: Nextcloud называет этот метод неподдерживаемым и предупреждает, что он может привести к сбою базы данных.

Терминал с командами перемещения и создания символических ссылок, за которым следует строка проверки пути.
Иллюстрация: на экране терминала показан исходный путь к данным, связанный с каталогом на внешнем диске.

5. Перезагрузите устройство и проверьте результат, прежде чем удалять откатную копию.

Запустите web/PHP и снова включите планировщик задач. Подтвердите монтирование и создание символической ссылки, затем отключите режим обслуживания:

findmnt /srv/nextcloud-disk
sudo -E -u www-data php /var/www/nextcloud/occ status
sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --off

Войдите в систему, откройте существующие файлы и общие ресурсы, а также загрузите/скачайте небольшой файл. Проверьте журналы Nextcloud и веб-сервера, затем перезагрузите систему в окне обслуживания, чтобы убедиться в правильности монтирования дисков перед запуском Nextcloud.

Сохраните data.pre-moveрезервную копию базы данных до перезагрузки и успешной синхронизации. Если перемещение не удастся, включите режим обслуживания, остановите приложение и восстановите исходное состояние каталога и службы. files:scanНеправильное монтирование исправить невозможно.

Проверка

Проверьте монтирование дисков при загрузке: исходный путь должен разрешаться в него, веб-пользователь должен иметь возможность читать и записывать данные, а также должны работать существующие файлы и небольшая загрузка. Если Nextcloud сообщает об отсутствии файлов после перезагрузки, остановите приложение и проверьте монтирование перед разрешением записи.

Ссылки: Руководство Nextcloud по перемещению каталога данных ; Руководство Nextcloud по режиму резервного копирования и обслуживания ; Расположение и права собственности на каталог данных Nextcloud ; Внешнее хранилище Nextcloud в качестве вторичного монтирования ; Документация Linux по монтированию UUID-идентификаторов ; Зависимости монтирования systemd .

Оставить комментарий

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Безопасное перемещение каталога данных Linux Nextcloud на внешний диск с использованием постоянного монтирования UUID, режима обслуживания, проверенной копии и символической ссылки на исходный путь.

Ошибка базы данных Nextcloud после обновления: что проверить в первую очередь?

Восстановите доступ к Nextcloud после обновления, диагностировав ошибки SQL, проверив подключение к базе данных и безопасно завершив прерванные миграции.

Сброс утерянного пароля администратора Nextcloud с помощью OCC

Используйте команду OCC в Nextcloud для сброса пароля администратора из командной строки сервера, с инструкциями по заполнению полей для имен пользователей, разрешений и внешних сервисов авторизации.

Добавьте заголовок HSTS к HTTPS-конечной точке, обслуживающей Nextcloud.

Чтобы устранить предупреждение HSTS от Nextcloud, установите заголовок на Apache, NGINX или вашем TLS-прокси, а затем безопасно проверьте публичный HTTPS-ответ.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Причины сбоев при установке приложений из App Store могут быть связаны с DNS, HTTPS, прокси-сервером, TLS или проблемами конфигурации самого сервера Nextcloud.

Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

Перенесите обработку миниатюр в контролируемый фоновый режим, обрежьте неиспользуемые размеры предварительного просмотра и проверьте очередь, не перегружая сервер Nextcloud.

Переход от «обработки файлов» к синхронизации Nextcloud Desktop Sync

Найдите файл, правило исключения, проблему с подключением или состояние базы данных клиента, препятствующие синхронизации Nextcloud, а затем безопасно проверьте загрузку и скачивание файлов.

Устраните предупреждение Nextcloud OPcache, отрегулировав правильный лимит.

Найдите ограничение на использование PHP OPcache, вызывающее предупреждение Nextcloud, обновите правильную конфигурацию PHP для веб-приложений, безопасно перезапустите систему и проверьте результат.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Подключение Nextcloud к CODE Docker: настройка и компромиссы.

Сравните встроенный и основанный на Docker код, затем подключите Collabora Online к Nextcloud через защищенный обратный прокси-сервер HTTPS.

Создайте отказоустойчивый кластер Nextcloud с помощью Galera.

Спланируйте надежное развертывание Nextcloud HA с использованием общего хранилища, блокировок Redis, маршрутизации MariaDB с учетом кворума и практичных проверок отказоустойчивости.