Mudança de HDD do Nextcloud

8 min

language: ja bn en es hi pt ru zh-cn zh-tw

Olá, sou incompetente.
Na verdade, se você estiver hospedando na nuvem, a mudança do local de armazenamento de dados devido a corrupção de disco só aconteceria em uma migração de ambiente, mas eu, que estava salvando os dados do NextCloud em um HDD prestes a falhar, decidi especificar um HDD diferente como destino.
Minha forma de usar o NextCloud é apenas como um media player para uso em ambiente local, ou para compartilhamento temporário e simples de arquivos entre diferentes sistemas operacionais, então não há arquivos importantes. São dados que estão em alguma máquina da casa, por exemplo, arquivos BIOS de uma máquina para extração de EEPROM que não está sempre ligada, ou notas que eu faço. E também PDFs que se acumulam sem que eu perceba, que eu simplesmente jogo lá.

Na verdade, bastaria mudar o ponto de montagem, então nem seria necessário fazer isso, mas como estou especificando um ponto de montagem diferente para um HDD já montado, sinto que isso pode afetar outros scripts de shell, então, por uma questão de sentimento, decidi criar um novo separadamente.

Francamente, mesmo sem mudar o caminho do datadirectory no arquivo de configuração config/config.php do NextCloud, bastaria criar um link simbólico para o destino original, mas como isso me parece estranho, decidi criar um diretório de dados do NextCloud separado em um HDD diferente e especificá-lo corretamente.

※Este artigo não é sobre migração de dados, mas sim sobre a mudança de disco.

Criação do Diretório de Dados

Vamos criar um diretório de dados para o NextCloud em um HDD já montado.
E, como parece que o NextCloud reclama se .ocdata não for criado, vou criá-lo com touch. Eu tinha esquecido que mesmo com a opção -R, ele não verifica recursivamente os .arquivos.

sudo mkdir /media/3t/ncdata
sudo touch /media/3t/ncdata/.ocdata
sudo chown www-data:www-data /media/3t/ncdata
sudo chown www-data:www-data /media/3t/ncdata/.ocdata
sudo chmod 750 /media/3t/ncdata

Editar config.php

E, no caso de um datadirectory que já não existe, não é possível nem entrar no modo de manutenção, então primeiro editarei o arquivo config/php para alterar a configuração e depois farei isso em um estado que inclua a verificação de operação.

cd /your/nextcloud/dir
sudo vim config/config.php

Em seguida, especifique a seguinte configuração para o diretório que acabamos de criar.

  'datadirectory' => '/media/3t/ncdata',

Agora, se não houver reclamações depois de ativar o modo de manutenção, desativarei-o novamente.

cd /your/nextcloud/dir
$ sudo -u www-data php ./occ maintenance:mode --on
Maintenance mode enabled
$ sudo -u www-data php ./occ maintenance:mode --off
Maintenance mode disabled

OK.

Executar a verificação de arquivos novamente

Provavelmente, porque eu tenho plugins instalados, se houver um diretório que não existe mais no caminho especificado por um plugin, o NextCloud reclamou e eu não consegui ver o conteúdo depois de fazer login.
Entrarei novamente no modo de manutenção, farei uma varredura de arquivos e reobterei o índice de arquivos.

cd /your/nextcloud/dir
$ sudo -u www-data php ./occ maintenance:mode --on
Maintenance mode enabled
$ sudo -u www-data php ./occ files:scan --all
Starting scan for user 1 out of 2 (Fox)
Path not found: User folder /media/3t/ncdata/Fox/ exists in cache but not on disk
Starting scan for user 2 out of 2 (nextcloud)
Path not found: User folder /media/3t/ncdata/nextcloud/files exists in cache but not on disk
+---------+-------+-----+---------+---------+--------+--------------+
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 0       | 0     | 0   | 0       | 0       | 2      | 00:00:00     |
+---------+-------+-----+---------+---------+--------+--------------+
$ sudo -u www-data php ./occ maintenance:mode --off
Maintenance mode disabled

Oh... algo está reclamando...
Então, vou criar os diretórios que estão reclamando que não existem.

sudo mkdir /media/3t/ncdata/Fox/files
sudo mkdir /media/3t/ncdata/nextcloud/files
sudo chown -R www-data:www-data /media/3t/ncdata
sudo chmod -R 750 /media/3t/ncdata

Isso completa o processo.

Verificar novamente

cd /your/nextcloud/dir
sudo -u www-data php ./occ files:scan --all

Se isso passar, estará concluído com sucesso.

Como isso foi confirmado até agora, vou remover as permissões dos arquivos de dados do NextCloud apenas para os arquivos.

cd /media/3t
sudo find ./ncdata  -type f -exec chmod 640 {} \;

Como eu me conectei ao meu VPN WireGuard em um dispositivo Android da última vez, agora posso acessar o NextCloud enquanto estou conectado ao VPN.
Até agora, eu estava usando um DNS gratuito que peguei aleatoriamente no MyDNS através de um proxy reverso Nginx, e havia um fenômeno em que a barra de busca não funcionava ao reproduzir mídia apenas em ambientes que usavam o proxy reverso, mas isso também foi resolvido.

Em termos de segurança, também estou pensando que talvez eu possa eliminar o acesso usando o domínio que estou usando no MyDNS.

A propósito, a razão pela qual não monto RAID é porque frequentemente vejo casos de pessoas que passaram por um inferno quando o controlador RAID quebrou, e quero evitar esse tipo de aborrecimento. Se eu fosse fazer, seria ZFS, mas estou pensando em montá-lo quando a área de dados que quero usar começar a exceder 5TB.

Pessoalmente, gostaria de mirar nos SSDs que provavelmente serão liberados em massa pelos data centers e adquiri-los quando surgirem.
Então é isso por enquanto. Conto com vocês novamente.

Related Posts