기존 스토리지를 손상시키지 않고 Nextcloud 데이터를 외장 드라이브로 옮기기
영구 UUID 마운트, 유지 관리 모드, 검증된 복사본 및 원본 경로 심볼릭 링크를 사용하여 Linux Nextcloud 데이터 디렉터리를 외부 드라이브로 안전하게 이동합니다.
일반적인 Linux 설치의 경우, 외장 드라이브를 영구적으로 마운트하고 Nextcloud가 오프라인 상태일 때 전체 데이터 디렉터리를 복사한 다음, 원래 경로를 새 위치로 심볼릭 링크하십시오. 단순히 경로를 변경하지 마십시오 datadirectory. config.phpNextcloud는 로컬 저장소를 절대 경로로 추적하므로 경로를 직접 변경하면 파일과 공유 폴더가 손상될 수 있습니다.
이 예제는 패키지 또는 아카이브 설치를 가정합니다. Docker, Snap 및 어플라이언스 설치는 매핑 경로가 다르므로 호스트 경로를 그대로 복사하는 대신 해당 배포 환경에 맞게 마운트를 조정해야 합니다.
| 포인트 | 해야 할 일 |
|---|---|
| 확인됨: Nextcloud는 로컬 저장소를 식별하기 위해 절대 경로를 사용합니다. 부주의한 이동으로 인해 파일이나 공유 폴더가 고립될 수 있습니다. | 심볼릭 링크를 사용하여 구성된 경로를 안정적으로 유지하고, .을 포함한 모든 내용을 보존하십시오 .ncdata. |
| 설정에 따라 데이터 경로, HTTP 사용자, 파일 시스템 및 서비스 이름이 달라질 수 있습니다. | 유효한 구성을 확인하고 디스크가 필요한 Linux 소유권 및 권한을 유지하고 있는지 확인하십시오. |
| 디스크 종속성: 안정적인 부팅 마운트 및 전원 공급을 보장할 수 없습니다. | UUID로 마운트하고, 재부팅 후 마운트 상태를 테스트하고, 데이터 디스크가 없을 경우 Nextcloud가 시작되지 않도록 방지하십시오. |
파일 앱의 외부 저장소 마운트 기능은 보조 위치를 추가하는 것이지 기본 데이터 디렉터리를 이동하는 것은 아닙니다. 추가 폴더나 공유 폴더를 만들 때 이 기능을 사용하고, 서버 자체의 파일과 메타데이터를 드라이브에 저장해야 하는 경우에는 데이터 디렉터리를 마이그레이션하세요.
데이터베이스 config/, 데이터 디렉터리, 사용자 지정 앱 및 테마를 백업하십시오. 데이터베이스 백업이 복원 가능한지 확인하십시오. 파일만 복사하는 것은 완전한 롤백이 아닙니다.
config/config.php에서 또는 를 사용하여 데이터 경로를 찾은 occ config:system:get datadirectory다음 HTTP 사용자를 식별하십시오. 예시에서는 www-data및 를 사용합니다 /var/www/nextcloud/data. 실제 값으로 대체하십시오. 필요한 파일이 포함된 드라이브는 포맷하지 마십시오.

lsblk -f파티션의 파일 시스템 UUID를 실행 하고 기록해 두세요. 파티션 이름은 /dev/sdb1변경될 수 있으므로 마운트 구성에 UUID를 사용해야 합니다.
ext4 파일 시스템을 사용하는 Linux 서버의 경우 마운트 지점을 생성하고 다음과 같은 줄을 추가하세요 /etc/fstab. 단, 샘플 UUID는 실제 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가 실행되는 동안 드라이브를 연결된 상태로 유지하십시오.

유지보수 모드는 로그인을 차단하지만 예약된 모든 작업을 중지하지는 않습니다. 파일을 복사하기 전에 Nextcloud cron 또는 systemd 타이머를 일시 중지하고, 동기화 클라이언트를 중지하고, 웹/PHP 서비스를 중지하여 이동 중에 요청으로 인해 파일이 변경되지 않도록 하십시오.
sudo -E -u www-data php /var/www/nextcloud/occ maintenance:mode --on
스케줄러를 비활성화하고 웹/PHP 서비스를 중지한 후, 소유권, 권한, ACL 및 숨김 파일을 유지하기 위해 루트 권한으로 데이터 디렉터리를 복사합니다.
sudo mkdir -p /srv/nextcloud-disk/data
sudo rsync -Aavx --numeric-ids /var/www/nextcloud/data/ /srv/nextcloud-disk/data/
끝에 슬래시(/)를 붙이면 디렉터리 내용이 복사됩니다. 기존 복사본을 보관하고 rsync, 오류가 없는지 확인한 후 .ncdata새 디렉터리 최상위 레벨에 내용이 있는지 확인하십시오.

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는 해당 방법을 지원하지 않으며 데이터베이스가 손상될 수 있다고 경고합니다.

웹/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 외부 스토리지를 보조 마운트로 사용 ; UUID 식별자에 대한 Linux 마운트 문서 ; systemd 마운트 종속성 .
영구 UUID 마운트, 유지 관리 모드, 검증된 복사본 및 원본 경로 심볼릭 링크를 사용하여 Linux Nextcloud 데이터 디렉터리를 외부 드라이브로 안전하게 이동합니다.
SQL 오류를 진단하고, 데이터베이스 연결을 확인하고, 중단된 마이그레이션을 안전하게 완료하여 업데이트 후 Nextcloud 액세스를 복원하세요.
Nextcloud의 OCC 명령어를 사용하여 서버 셸에서 관리자 암호를 재설정하는 방법을 안내합니다. 사용자 이름, 권한 및 외부 로그인 공급자에 대한 지침도 제공됩니다.
Apache, NGINX 또는 TLS 프록시에서 헤더를 설정하여 Nextcloud의 HSTS 경고를 해제한 다음 공개 HTTPS 응답을 안전하게 확인하십시오.
Nextcloud 서버 자체의 DNS, HTTPS, 프록시, TLS 또는 구성 문제로 인해 App Store 설치가 실패하는 경우 원인을 추적하십시오.
썸네일 작업을 제어된 백그라운드 일정으로 이동하고, 사용하지 않는 미리보기 크기를 줄이고, Nextcloud 서버에 과부하를 주지 않고 대기열을 검증하세요.
Nextcloud 동기화를 방해하는 파일, 제외 규칙, 연결 문제 또는 클라이언트 데이터베이스 상태를 찾은 다음 업로드 및 다운로드가 안전하게 진행되는지 확인하십시오.
Nextcloud 경고를 유발하는 PHP OPcache 제한을 찾아 올바른 웹 PHP 구성을 업데이트하고 안전하게 재시작한 후 결과를 확인하십시오.
내장 CODE와 Docker 기반 CODE를 비교한 다음, 안전한 HTTPS 역방향 프록시를 통해 Collabora Online을 Nextcloud에 연결합니다.
공유 스토리지, Redis 잠금, 쿼럼 인식 MariaDB 라우팅 및 실용적인 장애 조치 점검을 통해 안정적인 Nextcloud 고가용성(HA) 배포를 계획하십시오.