Montagem de rede / var com systemd

2

Estou tentando fazer com que meu sistema monte /var com um script personalizado que baixa a chave de descriptografia de um servidor de rede. Eu tinha uma solução que funcionava no RHEL 6 com o SysVinit. Estou tentando portar isso para o RHEL 7 com o systemd.

Eu preciso que /var seja montado no início do processo de inicialização antes que outros serviços que gravam em /var sejam iniciados. É complicado porque tenho Requires=network-online.target e After=network-online.target dependencies.

Eu tenho um arquivo [email protected] ativo que faz o download da chave de descriptografia e monta /var . Funciona se eu o executar isoladamente, mas não durante a inicialização.

[Unit]
Description=Mount encrypted partition %f
DefaultDependencies=no
[email protected]
[email protected]
Before=remote-fs.target
After=remote-fs-pre.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/scripts/my-custom-mount-script %f

[Install]
WantedBy=remote-fs.target

Com isso, parece que o processo de download e montagem está sendo iniciado no início da inicialização, mas o sistema não está aguardando a conclusão. Tudo continua sendo iniciado paralelamente, fazendo com que todos os tipos de serviços falhem porque /var não é gravável.

(A propósito, eu não consigo me virar com scripts personalizados. Eu adoraria usar os mecanismos FS criptografados, mas por razões de credenciamento além do meu controle eu não posso.)

    
por John Kugelman 22.07.2016 / 01:52

0 respostas