Data Domain: Como solucionar problemas de instalação, configuração e montagem do BoostFS
Summary: Este artigo ajuda o usuário a identificar e resolver alguns problemas típicos de instalação e configuração do BOOSTFS.
Symptoms
O BOOSTFS é um componente de software que pode ser instalado em alguns sistemas operacionais, o que oferece a capacidade de executar backups BOOST em um Data Domain sem usar nenhum aplicativo de backup específico e, ao mesmo tempo, aproveitar alguns dos recursos fornecidos com um aplicativo de backup habilitado para BOOST, como Netbackup, Networker e Avamar.
Para obter mais detalhes de instalação e utilização "direta", consulte o Data Domain: Etapas de configuração aceleradas e detalhes do DataDomain BOOST FS Artigo da base de conhecimento.
Este artigo da KB, no entanto, contém alguns dos problemas típicos que podem ser encontrados ao configurar e usar o BOOSTFS, para que os clientes tenham uma referência rápida desses erros típicos, mensagens de erro e a maneira de resolvê-los. Erros típicos seriam "Não foi possível instalar o Boostfs no servidor Linux", "A montagem do Boostfs falha com erro" ou "Backup ou falha de restauração com erro", para citar alguns.
Resolution
1. Dependência necessária ausente durante a instalação do software
BOOST FSSe houver uma falha ao instalar o RPM do software BOOSTFS fornecido no sistema operacional client Linux, primeiro determine quais são as dependências de pacote necessárias para o software BOOSTFS:
# rpm -qpR DDBoostFS-1.0.0.1-539441.rhel.x86_64.rpm fusível >= 2,8 fusível-libs >= 2,8 /bin/sh /bin/sh /bin/sh /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
No exemplo acima, o pacote está solicitando que os binários e bibliotecas FUSE (Filesystem in USEr space) sejam instalados (BOOSTFS é baseado no FUSE do Linux), bem como qualquer pacote que forneça um shell (sh) e as bibliotecas RPM padrão. Portanto, este pacote BOOSTFS deve ser instalado normalmente no sistema Linux em que o "rpm" foi executado.
2º. Não é possível montar /mnt/mountpoint/: erro
inesperadoAo tentar montar a unidade de armazenamento DD remota localmente no client Linux por meio do BOOSTFS, você pode obter o erro acima. Analise o arquivo de log do BOOSTFS no client Linux. Por exemplo, no primeiro exemplo abaixo, o arquivo da lockbox não contém uma entrada para o host dd2500-abc.datadomain.com:
# menos /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 03:45:25 22795 3267069888 [E] bfs_lockbox_get_user_info: Falha ao localizar a entrada de chave dd2500-abc.datadomain.com:LSU2 no arquivo de configuração /opt/emc/boostfs/lockbox/boostfs.lockbox. A entrada de lockbox solicitada não pôde ser encontrada. Jul 29 03:45:25 22795 3267069888 [E] bfs_conn_lookup: falha na pesquisa de conexão para o arquivo /.boostfs_sysinfo do nó 0. (0 conexões) Jul 29 03:45:25 22795 3267069888 [I] bfs_node_lookup: falha ao obter uma conexão para o arquivo /.boostfs_sysinfo Jul 29 03:45:25 22795 3267069888 [E] bfs_initialize_mntopts: falha na inicialização
A solução nesse caso seria adicionar uma entrada de lockbox para o host do DD de destino e a unidade de armazenamento a ser montada localmente. A sintaxe seria semelhante ao exemplo abaixo:
# /opt/emc/boostfs/bin/boostfs lockbox set -u sysadmin -d dd2500-abc.datadomain.com -s LSU2 Digite a senha do usuário da unidade de armazenamento: Insira a senha do usuário da unidade de armazenamento novamente para confirmar: Conjunto de entrada da lockbox
Outro possível erro que pode ser visto nos logs locais do client BOOSTFS é o nome de host do DD não ser resolvido a partir do client, por exemplo:
# menos /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_open: falha na conexão (0 conexões): 5037 Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_lookup: falha na pesquisa de conexão para o arquivo /.boostfs_sysinfo do nó 0. (0 conexões) Jul 29 04:05:50 22882 3322156992 [I] bfs_node_lookup: falha ao obter uma conexão para o arquivo /.boostfs_sysinfo Jul 29 04:05:50 22882 3322156992 [E] bfs_initialize_mntopts: falha na inicialização
A solução nesse caso seria adicionar um hosntame estático ao mapeamento de IP para o arquivo /etc/host do client Linux ou configurar o mapeamento no servidor DNS que está sendo usado.
3º. O ponto de montagem /mnt/mountpoint não está vazio.
O BoostFS não pode ser montado em um ponto de montagem não vazio. Tente montar em um ponto de montagem vazio.
A mensagem acima significa que o ponto de montagem especificado (/mnt/mountpoint) não pode ser usado para mostrar a unidade de armazenamento remota do DD, pois o ponto de montagem não pode ter outro file system montado nele anteriormente ou ter qualquer conteúdo. /mnt/mountpoint/ deve ser um diretório vazio e não utilizado no client Linux. Se o caminho já tiver uma montagem, você deverá especificar outro ponto de montagem. Por exemplo:
# montagem /dev/mapper/vg00-lv_root on / digite ext4 (rw) /dev/sda1 on /boot tipo ext4 (rw) boostfs em /mnt/mountpoint digite fuse.boostfs (rw,nosuid,nodev)
Nesse caso, a unidade de armazenamento remota do DD já está montada em /mnt/mountpoint/ e, portanto, não pode ser montada novamente no mesmo diretório.
4º. A montagem do DDBoostfs trava (pode demorar até mais de 10 minutos para retornar)
Isso pode ocorrer quando um firewall entre o client Linux e o dispositivo DD de destino está descartando tráfego para as portas TCP 111 e 2049. Certifique-se de que o client Linux consiga acessar o DD até as portas TCP 111 e 2049 e, em seguida, tente novamente, por exemplo:
# /opt/emc/boostfs//bin/boostfs mount -d dd2500.domain.com -s LSU2 /mnt/mountpoint/
Este é um exemplo do que você veria nos logs BOOSTFS do cliente Linux em tal caso:
# menos /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_open: falha na conexão (0 conexões): 5037 Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_lookup: falha na pesquisa de conexão para o arquivo /.boostfs_sysinfo do nó 0. (0 conexões) Jul 27 06:34:53 32762 3724339136 [I] bfs_node_lookup: Falha ao obter uma conexão para o arquivo /.boostfs_sysinfo Jul 27 06:34:53 32762 3724339136 [E] bfs_initialize_mntopts: falha na inicialização
5. Operação não permitida ao tentar acessar ou listar conteúdo sob o ponto de montagem
# ls -l /mnt/ponto de montagem/ ls: diretório de leitura .: Operação não permitida total 0
O problema pode ser que não há conectividade TCP com as portas DD remotas 111 e 2049 ou que a autenticação da lockbox expirou de alguma forma. Certifique-se de que o client Linux ainda possa acessar o DD nas portas especificadas e tente configurar a lockbox para o DD remoto, a unidade de armazenamento e o usuário do BOOST novamente.
6º. Não existe acesso suficiente à unidade de armazenamento usando a autenticação Kerberos.
# boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Acesso insuficiente à unidade de armazenamento LSU3 ou não existe
Ao usar a autenticação Kerberos para a lockbox, o motivo mais provável para o erro seria o tíquete de autenticação Kerberos ter expirado. Verifique o tíquete mencionado do Linux, como abaixo:
# /opt/emc/boostfs/bin/boostfs kerberos query -s LSU3 -u username Principal do client: username@DOMAIN.COM Início válido: Ter Ago 23 11:02:49 2016 Expira: Ter Ago 23 21:01:07 2016 Renovar até: Ter Ago 30 11:02:49 2016 Principal do serviço: krbtgt/DOMAIN. COM@DOMAIN.COM
No DDR, verifique se o usuário do BOOST atribuído à unidade de armazenamento corresponde ao usuário no client Linux ao configurar a lockbox e montar o BOOSTFS (o nome de usuário do AD e o nome de usuário da unidade de armazenamento devem ser exatamente os mesmos):
# ddboost storage-unit show Nomear relatório de usuário de status de pré-compactação (GiB) Unidade de tenant física Tamanho (MiB) --------------- -------------- ------ -------- --------------- ----------- LSU3 0.0 RW nome de usuário - - --------------- -------------- ------ -------- --------------- -----------
Além disso, confirme se a data/hora no DD, o client Linux e o servidor Kerberos (AD) não têm mais de 5 minutos de distância ou podem ocorrer problemas com tíquetes vencidos devido a horários inconsistentes.
Veja abaixo um exemplo do que veríamos nos logs do DD se o tempo fosse superior a 5 minutos de diferença:
# log watch debug/ddfs.info 23/08 18:52:09.654 (TID 0x7f738141fb00): NFS3 aceito 3000004b6 552 de 10.64.229.125:55042 23/08 18:52:09.660 (0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:117 - gss_error do evento, gss_accept_sec_context falhou: maj=0xd0000, min=0x96c73a25 23/08 18:52:09.660 (0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:126: gss_error de eventos, falha não especificada do GSS. Código secundário pode fornecer mais informações 23/08 18:52:09.660 (0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:141 - gss_error do evento, Relógio distorcido muito grande 23/08 18:52:09.660 (0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_accept:217 - gss_accept_failed do evento, maj=851968, min2529638949 23/08 18:52:09.660 (TID 0x7f73814233f0): NFS3 destruído TCP 3000004b6
E estes são para os logs de host do BOOSTFS Linux:
# menos /opt/emc/boostfs/log/ddboostfs_0_0.log Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_open: falha na conexão (0 conexões): 5075 Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_lookup: falha na pesquisa de conexão para o arquivo /.boostfs_sysinfo do nó 0. (0 conexões) Aug 23 18:04:39 1044 2019465280 [I] bfs_node_lookup: falha ao obter uma conexão para o arquivo /.boostfs_sysinfo Aug 23 18:04:39 1044 2019465280 [E] bfs_initialize_mntopts: falha na inicialização
7. A montagem do Boostfs com autenticação Kerberos apresenta falha com o seguinte erro: "Não é possível acessar a lockbox ou a entrada da lockbox não pode ser encontrada"
# /opt/emc/boostfs/bin/boostfs mount -s LSU3 -d dd2500.domain.com /mnt/ponto de montagem/ Não é possível acessar a lockbox ou a entrada da lockbox não pode ser encontrada
Se você pretende usar as opções de configuração do BOOSTFS em "/opt/emc/boostfs/etc/boostfs.conf", verifique a configuração "[global]" no arquivo e certifique-se de que ela não esteja comentada (para que qualquer uma das opções globais funcione, a palavra-chave "[global]" deve ser não comentada). Essa palavra-chave é comentada por padrão.
Conteúdo de exemplo do arquivo de configuração "/opt/emc/boostfs/etc/boostfs.conf" do BOOSTFS:
# Comentários não são permitidos após o par de valores da opção. # ############################################################################# [global] # Nome do host ou endereço IP do Data Domain # data-domain-system=dd2500.domain.com
Exemplo de resultado que você verá nos logs BOOSTFS do client Linux:
# menos /opt/emc/boostfs/log/ddboostfs_0_0.log 24 de agosto 08:23:35 27227 3565582272 [E] bfs_lockbox_get_user_info: Falha ao localizar a entrada de chave dd2500-rtp2.techsupp.local:LSU3 no arquivo de configuração /opt/emc/boostfs/lockbox/boostfs.lockbox. A entrada de lockbox solicitada não pôde ser encontrada. Aug 24 08:23:35 27227 3565582272 [E] bfs_conn_lookup: falha na pesquisa de conexão para o arquivo /.boostfs_sysinfo do nó 0. (0 conexões) Aug 24 08:23:35 27227 3565582272 [I] bfs_node_lookup: falha ao obter uma conexão para o arquivo /.boostfs_sysinfo Aug 24 08:23:35 27227 3565582272 [E] bfs_initialize_mntopts: falha na inicialização
Além disso, o erro pode ser resultado do uso de um nome de host, nome da unidade de armazenamento ou nome de usuário BOOST diferente no comando "mount" do client Linux, em comparação com o usado para configurar a lockbox ou aqueles que correspondem ao DD de destino. Certifique-se de que todos os nomes correspondam no DD, na lockbox do BOOSTFS e no comando "mount".
8º. A tentativa de definir credenciais do usuário "boostfs" falha com o seguinte erro :
bfs_krb5_err_handler: Erro do Kerberos: -1765328360 [ERROR_MESSAGE=Falha ao obter as credenciais iniciais.]
Não é possível definir credenciais
Kerberos 1. Verifique se as credenciais do usuário do Active Directory estão corretas fazendo logon no DC com as credenciais
do usuário do Active Directory 2. Verifique se o horário no client Linux e no servidor Kerberos não tem mais de 5 minutos de diferença. A autenticação Kerberos exige que os horários do relógio não estejam separados por mais de 5 minutos.
9º. Ao montar o BOOSTFS no client Linux, ele termina com o erro "fusermount: mount failed: Operação não permitida."
Isso pode ser devido a uma série de razões. "fusermount" é o comando subjacente do Linux que, em última análise, usa o FUSE para montar a unidade de armazenamento DD BOOST localmente no namespace do client Linux. Isso requer privilégios especiais. É por isso que "fusermount" é um binário SUID no client Linux:
# ls -l /usr/bin/fusermount -rwsr-xr-x. 1 root 38680, 11 de maio de 2019 /usr/bin/fusermount
Sendo um binário SUID significa que qualquer que seja o usuário que esteja executando a tentativa de montar a unidade de armazenamento, o "fusermount" será executado com privilégios "root". Se "fusermount" não for um SUID para root, somente o usuário root do client Linux poderá montar a unidade de armazenamento BOOST remota. Isso pode não ser um problema se configurar a montagem em /etc/fstab, mas seria quando a montagem deve ser feita por um usuário não root.
10º. O BOOSTFS monta OK, mas as tentativas de acessar o conteúdo da unidade de armazenamento no ponto de montagem falham com erros
de permissãoAo montar a unidade de armazenamento manualmente usando o comando "boostfs" do DataDomain ou /etc/fstab (ou até mesmo "mount.fuse" da CLI), é a implementação de FUSE subjacente do padrão para permitir apenas o acesso a arquivos para o ID do usuário do client Linux que montou o BOOSTFS. Portanto, se a montagem foi feita como root, somente o root pode acessar os arquivos. Se a montagem fosse feita como usuário "postgres" (para fazer backup de um banco de dados PostgreSQL), somente esse usuário teria permissão para acessar os arquivos.
Se, por motivos diferentes, alguém precisar que outros usuários possam acessar os arquivos na unidade de armazenamento montada a partir da nuvem Linux, o /etc/fuse.conf pode precisar ser ajustado. Veja mais detalhes aqui:
http://manpages.ubuntu.com/manpages/bionic/en/man8/mount.fuse.8.html
Você precisaria definir a seguinte opção em /etc/fuse.conf:
user_allow_other
Permitir que usuários não root especifiquem as opções de montagem allow_other ou allow_root (consulte
abaixo).
Em seguida, use o seguinte ao montar a unidade de armazenamento BOOST, a partir da linha de comando:
allow_other
Essa opção substitui a medida de segurança que restringe o acesso ao arquivo para o usuário
Montando o filesystem. Assim, todos os usuários (inclusive o root) podem acessar os arquivos. Este
Por padrão, a opção só é permitida para root, mas essa restrição pode ser removida com
A opção de configuração descrita acima (user_allow_other).
Additional Information
1. Qual é o número máximo de seções de ponto de montagem que se pode definir no arquivo de configuração do boostfs?
Não há limite para o número de montagens na seção de ponto de montagem do arquivo boostfs.conf.
# As seções do ponto de montagem são separadas por tags [mountpoint] # # [/caminho/para/montar] # [/mnt/bofs] # Nome do host ou endereço IP do Data Domain # data-domain-system=dd2500-1.yourdomain.com # Unidade de armazenamento # storage-unit=su-name # Nome de usuário da unidade de armazenamento # storage-unit-username=sysadmin # Subdiretório dentro da unidade de armazenamento para montar # nome-do-diretório=caminho/para/subdir
2. O Networker é compatível com BOOSTFS por padrão e pode lidar com montagens dinâmicas para a execução de determinados backups e tarefas
Mesmo que o Networker seja um aplicativo de backup habilitado para BOOST, ele também é compatível com o BOOSTFS nos sistemas client Linux em que está instalado. Um exemplo de backup do NW obtido da linha de comando do client Linux, depois que a lockbox do BOOSTFS tiver sido configurada, seria o seguinte (backup PostgreSQL):
# nsroappbackup -z /nsr/apps/config/backup_postgresql.cfg 174908:(pid 16487):Salvando os dados de backup no pool 'DB'. 175019:(pid 16487):Recebeu a informação de vinculação de gerenciamento de mídia no host 'dd.example.com'. 174910:(pid 16487):Conectado ao processo nsrmmd no host 'dd.example.com'. + /usr/pgsql-11/bin/pg_dump --file=/nsr/apps/tmp/e3106c82_294324_16487/dump.sql --format=plain Processamento continuado com o valor retornado 0. + /bin/cp /data/postgresql.conf /nsr/apps/tmp/e3106c82_294324_16487/ Processamento continuado com o valor retornado 0. Os arquivos no saveset 'PostgreSQL_postgres_backuppostgre_full' no momento '01/04/20 15:40:36' são: Tamanho: Nome: 2645 dump.sql 24000 postgresql.conf 2 Ficheiro(s) 26645 bytes O comando de backup '/nsr/apps/config/scripts/backup-postgre-dbon1-full.sh' foi concluído com sucesso. O backup foi concluído com sucesso.
Depois que o trabalho de backup é configurado, ele também pode ser iniciado a partir da GUI do NW e o andamento monitorado lá.messages.engineering mostrará entradas de log como a abaixo quando a montagem emitida pelo NW for concluída:
1 Abr 15:20:49 dd.example.com ddfs[17040]: AVISO: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] A versão do plug-in do DDBoost é: [7.0.0.0.633508] 1 Abr 15:20:49 dd.example.com ddfs[17040]: AVISO: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] Informações da versão do BoostFS: [BOOSTFS:7.0.0.0-633922 FUSÍVEL:2.9.7] 1 Abr 15:20:49 dd.example.com ddfs[17040]: AVISO: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] bfs_lib_init: Montagem dd.example.com:LSU_NAME em /mnt/mountpoint