Pular para o conteúdo principal

Transferindo usuários entre servidores FASTPANEL

Introdução

Este artigo descreve o processo de transferência de contas de usuário e seus dados associados (sites, bancos de dados, e-mail etc.) de um servidor FASTPANEL para outro usando o utilitário de migração integrado.

Termos-chave

  • Servidor de origem - O servidor do qual os dados estão sendo transferidos.
  • Servidor de destino - O servidor para o qual os dados estão sendo transferidos.

Observações importantes

  • Por padrão, a migração funciona corretamente apenas para sites com uma configuração padrão do FASTPANEL.

  • Sites com alterações de configuração manual só podem ser transferidos se a flag -m for usada para o mapeamento de endereços IP.

  • Se uma senha criptografada para um proprietário de banco de dados não estiver disponível, o banco de dados não será transferido.

  • Se um site não for transferido, seus bancos de dados associados também não serão transferidos.

  • Somente bancos de dados locais podem ser transferidos.

Processo de migração

Conexão

O servidor de destino se conecta ao servidor de origem via SSH. Durante a primeira conexão, o servidor de destino instala uma chave SSH no servidor de origem (pré-fornecida ou gerada a partir de uma senha).

Etapas da migração

  • Instalação do módulo
  • Coleta de informações sobre objetos transferíveis
  • Criação de usuários
  • Transferência de certificados SSL
  • Criação de sites, contas FTP, domínios de e-mail e contas de e-mail
  • Criação de bancos de dados e usuários de banco de dados
  • Transferência de arquivos de sites e caixas de correio eletrônico
  • Transferência de tarefas cron

A transferência de arquivos é executada usando rsync. Os bancos de dados são transferidos por meio da criação de um dump através de um túnel SSH.

Comando para iniciar a migração

O comando é executado no servidor de destino como um usuário com privilégios de root:

/usr/local/fastpanel2/fastpanel transfer run [SSH_PARAMETERS] [IP_PARAMETERS] [ADDITIONAL_OPTIONS]

Flags de linha de comando

Conexão SSH

  • --remote_host="SOURCE_IP" - Endereço IP do servidor de origem.
  • --remote_port="SSH_PORT" - Porta SSH.
  • --remote_username="SSH_USER" - Usuário (deve ser root).
  • --remote_password="USER_PASSWORD" - Senha do usuário SSH especificado.
  • --ssh_key_path="PATH_TO_KEY" - Caminho para a chave SSH privada no servidor de destino para se conectar ao servidor de origem. Se uma chave for usada, a senha (--remote_password) não será necessária.

Endereços IP

Você deve usar apenas uma das seguintes flags para gerenciar os endereços IP dos sites durante a transferência. A flag -m tem prioridade.

  • -i "IP_ADDRESS_ON_DESTINATION" - Atribui o endereço IP especificado a todos os sites transferidos no servidor de destino. Para especificar vários IPs (por exemplo, se houver vários no servidor de origem), repita a flag para cada IP de origem que precise ser transferido.

  • -m "SOURCE_IP,DESTINATION_IP" - Método recomendado. Estabelece um mapeamento direto: todos os sites que usam SOURCE_IP no servidor de origem usarão DESTINATION_IP no servidor de destino. Esta flag pode ser especificada várias vezes para diferentes pares de IP. Obrigatória para transferir sites com edições manuais de configuração, pois permite a substituição correta de endereços IP nas diretivas listen.

Configurações adicionais

  • --users="USER_LIST" - Transfere apenas os usuários especificados (separados por vírgula). Se não for especificado, todos os usuários serão transferidos.
  • --disable_disk_quota - Desativa a transferência de cotas de disco do usuário.
  • --with_user_data - Inclui a cópia de todo o conteúdo dos diretórios home dos usuários (exceto o subdiretório logs/). Use com cautela, pois isso pode aumentar significativamente o tempo de transferência e a quantidade de dados transferidos.
  • --only_data - Transfere apenas dados (arquivos de sites, arquivos de e-mail, dumps de banco de dados). Útil se a migração da estrutura inicial (usuários, sites, bancos de dados etc.) foi bem-sucedida, mas ocorreram erros durante a etapa de cópia dos arquivos ou dumps. Permite executar novamente apenas a parte de cópia de dados.
  • --transfer_timeout - Define o tempo limite da operação (o padrão é 60 minutos).

Exemplo de comando

Transfira todos os usuários do servidor 11.22.33.44 para o servidor atual. No servidor antigo, os sites usavam os IPs 11.22.33.44 e 11.22.33.55; no novo servidor, eles devem usar 99.88.77.66 e 99.88.77.67, respectivamente. Conexão via SSH com senha.

/usr/local/fastpanel2/fastpanel transfer run \
--remote_host=11.22.33.44 \
--remote_username=root \
--remote_password=YourSourceRootPassword \
-m 11.22.33.44,99.88.77.66 \
-m 11.22.33.55,99.88.77.67

Possíveis problemas e tipos de erro

Um erro no log de migração nem sempre indica um problema crítico, mas pode apontar o motivo pelo qual um objeto específico não foi transferido.

  • Conflitos: Ocorrem quando a transferência de um objeto é impossível devido à configuração atual do servidor de destino (por exemplo, um usuário ou site com o mesmo nome já existe) ou se a configuração do site no servidor de origem é desconhecida para o painel (por exemplo, devido a extensas edições manuais).

  • Senha salva ausente: Como mencionado anteriormente, usuários de banco de dados MySQL sem uma senha salva no FASTPANEL no servidor de origem não podem ser transferidos.

  • Configurações manuais e endereços IP: Se um site no servidor de origem tiver edições manuais na configuração do servidor web e a flag -m não for usada durante a migração para mapear seu endereço IP, esse site não será transferido porque o painel não sabe qual IP especificar na configuração no servidor de destino.