Home
» Hoe
»
Verplaats Nextcloud-gegevens naar een externe schijf zonder de opslag te beschadigen.
Verplaats Nextcloud-gegevens naar een externe schijf zonder de opslag te beschadigen.
Voor een conventionele Linux-installatie koppelt u de externe schijf permanent, kopieert u de volledige gegevensmap terwijl Nextcloud offline is en maakt u vervolgens een symbolische link van het oorspronkelijke pad naar de nieuwe locatie. Wijzig het pad niet zomaar datadirectoryin het configuratiebestand config.php: Nextcloud houdt lokale opslag bij via een absoluut pad, dus een directe padwijziging kan leiden tot ontoegankelijke bestanden en gedeelde mappen.
Dit voorbeeld gaat uit van een installatie via een pakket of archief. Docker-, Snap- en appliance-installaties gebruiken andere padindelingen; pas de mount aan de betreffende implementatie aan in plaats van deze hostpaden klakkeloos te kopiëren.
Wat is bevestigd en wat hangt af van je server?
Punt
Wat te doen
Geverifieerd: Nextcloud gebruikt het absolute pad om lokale opslag te identificeren. Een onzorgvuldige verplaatsing kan leiden tot achtergebleven bestanden of gedeelde mappen.
Houd het geconfigureerde pad stabiel met een symbolische link; behoud alle inhoud, inclusief .ncdata.
Afhankelijk van de configuratie: het datapad, de HTTP-gebruiker, het bestandssysteem en de servicenamen variëren.
Controleer uw huidige configuratie en bevestig dat de schijf de vereiste Linux-eigendomsrechten en -machtigingen behoudt.
Schijfafhankelijk: betrouwbare opstartmontage en stroomvoorziening kunnen niet worden gegarandeerd.
Koppel het via UUID, test de koppeling na een herstart en voorkom dat Nextcloud opstart wanneer de gegevensschijf ontbreekt.
De functie 'Externe opslag koppelen' in de Bestanden-app voegt een secundaire locatie toe; de primaire gegevensmap wordt niet verplaatst. Gebruik deze functie voor een extra map of gedeelde map en verplaats de gegevensmap wanneer de bestanden en metadata van de server zelf op de schijf moeten worden opgeslagen.
1. Maak een back-up van Nextcloud en achterhaal het bronpad.
Maak een back-up van de database, config/de gegevensmap, aangepaste apps en thema's. Controleer of de databaseback-up herstelbaar is; het kopiëren van bestanden alleen is geen volledige terugdraaiing.
Zoek het gegevenspad in config/config.phpof met occ config:system:get datadirectory, en identificeer vervolgens de HTTP-gebruiker. Voorbeelden gebruiken www-dataen /var/www/nextcloud/data; vervang deze door uw eigen waarden. Formatteer geen schijf die bestanden bevat die u nodig hebt.
Illustratie: een weergave van Schijfhulpprogramma toont de externe schijf en de details van het bestandssysteem ter controle voordat deze wordt gekoppeld voor Nextcloud.
2. Monteer de aandrijving op een stabiele ondergrond.
Voer het commando uit lsblk -fen noteer de UUID van het bestandssysteem van de partitie. Namen zoals /dev/sdb1kunnen veranderen, dus gebruik de UUID in de mountconfiguratie.
Voor een Linux-server die ext4 gebruikt, maak je een mountpoint aan en voeg je een regel zoals deze toe aan het bestand /etc/fstab, waarbij je de voorbeeld-UUID vervangt door de daadwerkelijke UUID:
Gebruik het type dat al op de partitie staat; deze regel formatteert het niet. Controleer of het bestandssysteem de eigendomsrechten en machtigingen behoudt die Nextcloud nodig heeft.
Monteer en controleer het apparaat voordat u er gegevens op plaatst:
sudo mkdir -p /srv/nextcloud-disk
sudo mount /srv/nextcloud-disk
findmnt /srv/nextcloud-disk
Controleer of de uitvoer de externe partitie identificeert. Als u `gate` gebruikt nofail, moet u ook web-/PHP-services op de mount beveiligen; anders kan een ontbrekende schijf een lege mountpoint-directory achterlaten die schrijfbewerkingen ontvangt. Een `systemd drop-in` kan `gate` gebruiken RequiresMountsFor=/srv/nextcloud-disk. Houd de schijf aangesloten terwijl Nextcloud actief is.
Illustratie: een UUID-vermelding in de bestandssysteemtabel vertegenwoordigt een permanente mountconfiguratie in plaats van een snelkoppeling naar een apparaatnaam.
3. Zet Nextcloud in de onderhoudsmodus en kopieer de gegevens.
De onderhoudsmodus blokkeert aanmeldingen, maar stopt niet alle geplande taken. Pauzeer de Nextcloud cron-taak of de systemd-timer, stop synchronisatieclients en stop web-/PHP-services voordat u bestanden kopieert, zodat er geen verzoeken zijn die bestanden wijzigen tijdens de verplaatsing.
Met de scheduler uitgeschakeld en de web-/PHP-services gestopt, kopieert u de gegevensmap als root om eigendom, machtigingen, ACL's en verborgen bestanden te behouden:
De schuine streep aan het einde kopieert de inhoud van de map. Bewaar de oude kopie; controleer rsyncop fouten en bevestig dat .ncdatadeze aanwezig is op het hoogste niveau van de nieuwe map.
Illustratie: een kopieerweergave in de terminal laat zien hoe de volledige gegevensmap wordt overgedragen terwijl Nextcloud is gestopt.
4. Bewaar het oude pad met een symbolische link.
In de handleiding voor probleemoplossing van Nextcloud wordt aanbevolen om het oorspronkelijke pad te koppelen aan de nieuwe map. Nadat de kopie is geverifieerd, hernoemt u de oude map voor de terugdraaiing en maakt u de link aan:
Controleer of het pad correct wordt opgelost /srv/nextcloud-disk/data. De webgebruiker moet door de bovenliggende mappen navigeren en lees- .ncdataen schrijfbewerkingen uitvoeren naar het doelbestand:
sudo -u www-data test -r /var/www/nextcloud/data/.ncdata
sudo -u www-data test -w /var/www/nextcloud/data
Als een controle mislukt, corrigeer dan het eigenaarschap of de ouderrechten voor uw webgebruiker; maak de map niet voor iedereen beschrijfbaar. Sommige webservers staan symbolische links toe. Als dat niet mogelijk is, bewerk de map dan niet oc_storageshandmatig: Nextcloud beschouwt die methode als niet-ondersteund en waarschuwt dat dit de database kan beschadigen.
Illustratie: in de terminalweergave wordt het oorspronkelijke gegevenspad gekoppeld aan de map op de externe schijf.
5. Herstart en controleer voordat u de rollback-kopie verwijdert.
Start web/PHP en schakel de scheduler weer in. Controleer de mount en de symlink en schakel vervolgens de onderhoudsmodus uit.
Meld u aan, open bestaande bestanden en gedeelde mappen en upload/download een klein bestand. Controleer de logbestanden van Nextcloud en de webserver en herstart vervolgens tijdens een onderhoudsvenster om te controleren of de schijven correct zijn gekoppeld voordat Nextcloud start.
Bewaar data.pre-movede databaseback-up totdat de computer opnieuw is opgestart en de normale synchronisatie is gelukt. Als de verplaatsing mislukt, schakel dan de onderhoudsmodus in, stop de app en herstel de oorspronkelijke map- en servicestatus. Een back-up files:scankan een onjuiste koppeling niet herstellen.
Verificatie
Controleer of de schijf bij het opstarten correct wordt gekoppeld, of het oorspronkelijke pad ernaar verwijst, of de webgebruiker kan lezen en schrijven, en of bestaande bestanden plus een kleine upload werken. Als Nextcloud na het opnieuw opstarten melding maakt van ontbrekende bestanden, stop dan de app en controleer de koppeling voordat u schrijfbewerkingen toestaat.