Como instalar o Plesk em um cluster de alta disponibilidade

Não encontrou o que procurava? Faça uma pesquisa

Search

Cluster HA: Configurando Software

Serviços de sistema relacionados à hospedagem

Como o software responsável pelo cluster HA irá gerenciar os serviços do sistema como Plesk, nginx, etc, devemos desabilitar todos esses serviços, pois eles não devem ser iniciados automaticamente com o sistema. Com o próximo comando, desabilitamos a inicialização automática desses serviços, que devem ser executados nos dois nós.

ha-node1 and ha-node2# for i in \

plesk-ip-remapping \
plesk-php74-fpm.service \
plesk-php82-fpm.service \
plesk-web-socket.service \
plesk-task-manager.service \
plesk-ssh-terminal.service \
plesk-repaird.socket \
sw-engine.service \
sw-cp-server.service \
psa.service \
cron.service \
xinetd.service \
nginx.service \
apache2.service httpd.service \
mariadb.service mysql.service postgresql.service \
named.service bind9.service named-chroot.service \
postfix.service; \
do systemctl disable $i && systemctl stop $i; \

done

Como saída, você pode ver linhas como “Falha ao desabilitar unidade: arquivo de unidade bind9.service não existe”. Este não é um erro crítico porque o comando contém nomes diferentes dos mesmos serviços para sistemas operacionais diferentes, como CentOS e Ubuntu, ou nomes de serviços diferentes que fornecem funcionalidade semelhante (como MySQL e MariaDB). Se você instalou algum componente adicional com o Plesk como “php80”, também precisa desabilitar um serviço para esse componente se um serviço foi adicionado ao servidor pelo componente Plesk.

Você pode executar `ps ax` para verificar se não há mais serviços em execução relacionados ao Plesk ou qualquer um de seus componentes.

Arquivos Plesk

Na postagem anterior do blog, você pode ver como é possível copiar o diretório “vhosts” do Plesk para o armazenamento NFS. Para o cluster HA, precisamos fazer o mesmo e algumas etapas adicionais para o restante dos diretórios do Plesk para torná-los disponíveis para os nós do cluster HA.

No servidor NFS, configure a exportação de “/var/nfs/plesk-ha/plesk_files” da mesma forma que “/var/nfs/plesk-ha/vhosts”. Após a configuração, você verá que os diretórios estão disponíveis para montagem remota da rede interna.

ha-nfs# exportfs -v
/var/nfs/plesk-ha/vhosts

10.0.0.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

/var/nfs/plesk-ha/plesk_files

10.0.0.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

Quando a exportação estiver configurada, precisaremos copiar o Plesk para o NFS. Para isso, temos que pré-criar um diretório em cada nó para montar o armazenamento NFS:

ha-node1 and ha-node2# mkdir -p /nfs/plesk_files

Arquivos: vhosts

Como decidimos anteriormente imaginar o ha-node1 como um nó ativo, os próximos comandos devem ser executados no ha-node1. Para copiar o diretório vhosts existente, execute os seguintes comandos:

ha-node1# mount -t nfs -o "hard,timeo=600,retrans=2,_netdev" 10.0.0.12:/var/nfs/plesk-ha/vhosts /mnt
ha-node1# cp -aRv /var/www/vhosts/* /mnt
ha-node1# umount /mnt

Arquivos: relacionados ao Plesk

Além disso, como decidimos anteriormente imaginar o ha-node1 como um nó ativo, os próximos comandos devem ser executados no ha-node1.

ha-node1# mount -t nfs -o "hard,timeo=600,retrans=2,_netdev" 10.0.0.12:/var/nfs/plesk-ha/plesk_files /nfs/plesk_files

ha-node1# mkdir -p /nfs/plesk_files/etc/{apache2,nginx,psa,sw,sw-cp-server,domainkeys,psa-webmail}
ha-node1# cp -a /etc/passwd /nfs/plesk_files/etc/
ha-node1# cp -aR /etc/apache2/. /nfs/plesk_files/etc/apache2
ha-node1# cp -aR /etc/nginx/. /nfs/plesk_files/etc/nginx
ha-node1# cp -aR /etc/psa/. /nfs/plesk_files/etc/psa
ha-node1# cp -aR /etc/sw/. /nfs/plesk_files/etc/sw
ha-node1# cp -aR /etc/sw-cp-server/. /nfs/plesk_files/etc/sw-cp-server
ha-node1# cp -aR /etc/sw-engine/. /nfs/plesk_files/etc/sw-engine
ha-node1# cp -aR /etc/domainkeys/. /nfs/plesk_files/etc/domainkeys
ha-node1# cp -aR /etc/psa-webmail/. /nfs/plesk_files/etc/psa-webmail

ha-node1# mkdir -p /nfs/plesk_files/var/{spool,named}
ha-node1# cp -aR /var/named/. /nfs/plesk_files/var/named
ha-node1# cp -aR /var/spool/. /nfs/plesk_files/var/spool

ha-node1# mkdir -p /nfs/plesk_files/opt/plesk/php/{7.4,8.2}/etc
ha-node1# cp -aR /opt/plesk/php/7.4/etc/. /nfs/plesk_files/opt/plesk/php/7.4/etc
ha-node1# cp -aR /opt/plesk/php/8.2/etc/. /nfs/plesk_files/opt/plesk/php/8.2/etc

ha-node1# mkdir -p /nfs/plesk_files/usr/local/psa/{admin/conf,admin/plib/modules,etc/modules,var/modules,var/certificates}
ha-node1# cp -aR /usr/local/psa/admin/conf/. /nfs/plesk_files/usr/local/psa/admin/conf
ha-node1# cp -aR /usr/local/psa/admin/plib/modules/. /nfs/plesk_files/usr/local/psa/admin/plib/modules
ha-node1# cp -aR /usr/local/psa/etc/modules/. /nfs/plesk_files/usr/local/psa/etc/modules
ha-node1# cp -aR /usr/local/psa/var/modules/. /nfs/plesk_files/usr/local/psa/var/modules
ha-node1# cp -aR /usr/local/psa/var/certificates/. /nfs/plesk_files/usr/local/psa/var/certificates

ha-node1# umount /nfs/plesk_files

Manipulador de eventos para manter /etc/passwd up2date

Precisamos atualizar o arquivo passwd e group no armazenamento NFS toda vez que o Plesk atualizar os usuários do sistema. Para isso, criaremos alguns manipuladores de eventos para cenários como criação de domínio, atualização de assinaturas, etc. Os manipuladores de eventos são salvos em um banco de dados Plesk, o que significa que precisamos executar o próximo comando apenas no nó ativo.

Como decidimos anteriormente imaginar o ha-node1 como um nó ativo, os próximos comandos devem ser executados no ha-node1.

ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event phys_hosting_create
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event phys_hosting_update
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event phys_hosting_delete

ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event ftpuser_create
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event ftpuser_update
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event ftpuser_delete

ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event site_subdomain_create
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event site_subdomain_update
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event site_subdomain_delete
ha-node1# plesk bin event_handler --create -command "/bin/cp /etc/passwd /nfs/plesk_files/etc/passwd" -priority 50 -user root -event site_subdomain_move

Link Original

Compartilhar: