Estou executando um servidor proxy reverso LAEMP no Arch na nuvem.
Eu tenho minha nextcloud/data
pasta montada em uma unidade de armazenamento anexada em /mnt/hdd/nextcloud/data
, vinculada a /srv/www/nextcloud/data
.
Se eu não fizer isso, mas continuar nextcloud/data
no mesmo disco que /
, não terei esse problema.
Em reboot
, o sistema inicia; As páginas PHP recebem um erro, mas nem httpd
mostram nginx
erros com systemctl status
. O erro está em php-fpm
.
Saída de systemctl status php-fpm
:
× php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
Drop-In: /etc/systemd/system/php-fpm.service.d
└─override.conf
Active: failed (Result: exit-code) since Tue 2023-05-30 16:47:30 PDT; 14s ago
Process: 316 ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf (code=exited, status=226/NAMESPACE)
Main PID: 316 (code=exited, status=226/NAMESPACE)
CPU: 8ms
May 30 16:47:29 MY_HOST systemd[1]: Starting The PHP FastCGI Process Manager...
May 30 16:47:29 MY_HOST (php-fpm)[316]: php-fpm.service: Failed to set up mount namespacing: /run/systemd/unit-root/mnt/hdd/nextcloud/data: No such file or directory
May 30 16:47:29 MY_HOST (php-fpm)[316]: php-fpm.service: Failed at step NAMESPACE spawning /usr/bin/php-fpm: No such file or directory
May 30 16:47:30 MY_HOST systemd[1]: php-fpm.service: Main process exited, code=exited, status=226/NAMESPACE
May 30 16:47:30 MY_HOST systemd[1]: php-fpm.service: Failed with result 'exit-code'.
May 30 16:47:30 MY_HOST systemd[1]: Failed to start The PHP FastCGI Process Manager.
O Nextcloud está obtendo isso do systemd
drop-in /etc/systemd/system/php-fpm.service.d/override.conf
:
[Service]
...
ReadWritePaths=/srv/www/nextcloud/data
Quando executo systemctl restart php-fpm
, o erro desaparece para sempre até a próxima reinicialização.
Presumo que o php-fpm
serviço não consiga encontrar a nextcloud
pasta porque hdd/
não está montado quando php-fpm
inicia e deseja procurar em suas pastas da web. Eu acho que devo ajustar de alguma forma os níveis de execução para php-fpm
e/ou (de preferência) quando /etc/fstab
carregar a unidade de armazenamento anexada para /mnt/hdd
.
/etc/fstab
monta a unidade /mnt/hdd
com esta declaração:
/dev/vdc1 /mnt/hdd ext4 defaults,noatime,nofail 0 0
Nada do que procuro na Internet me diz como resolver esse problema. Tudo nos resultados da pesquisa mostra assuntos não relacionados sobre php-fpm
ou /etc/fstab
. Mesmo assim, na melhor das hipóteses, eu receberia alguma resposta do script kiddy.
Eu quero saber a maneira correta de montar vdc1
muito mais cedo no tempo de execução, ou pelo menos php-fpm
esperar até que o diretório esteja disponível antes de lançar um ajuste.
Você pode configurar a unidade systemd para ser iniciada somente após as montagens, adicionando as seguintes opções de configuração ao arquivo existente ou adicionando outra se não quiser modificá-lo:
Outra opção seria adicionar a seguinte opção à definição de montagem no fstab: