Etapas de implantação
Esta seção aborda as etapas de implantação do NetApp XCP para transferência de dados.
Detalhes do banco de testes
A tabela a seguir fornece os detalhes do banco de testes que foi usado para esta implantação e validação de desempenho.
Componentes da solução | Detalhes |
---|---|
XCP versão 1.7 |
|
Par de HA da matriz de armazenamento NetApp AFF para o volume de origem |
|
Par de HA de matriz de armazenamento NetApp AFF para volume de destino |
|
Servidor Fujitsu PRIMERGY RX2540 |
Cada um equipado com: * 48 CPUs * Intel Xeon * 256 GB de memória física * Porta dupla 10GbE |
Rede |
10GbE |
Etapas de implantação - NAS
Para implantar o NetApp XCP para transferência de dados, primeiro instale e ative o software XCP no local de destino. Você pode revisar os detalhes no "Guia do usuário do NetApp XCP" . Para fazer isso, siga os seguintes passos:
-
Atender aos pré-requisitos conforme detalhado na seção"Pré-requisitos para o XCP."
-
Baixe o software XCP do "Página NetApp XCP (Downloads)" .
-
Copie os arquivos tar do XCP baixados para o servidor XCP.
# scp Documents/OneDrive\ -\ NetApp\ Inc/XCP/software/1.6.1/NETAPP_XCP_1.6.1.tgz mailto:root@10.63.150.53:/usr/src
-
Descompacte o arquivo tar.
[root@mastr-53 src]# tar -zxvf NETAPP_XCP_1.6.1.tgz
-
Baixe a licença de "https://xcp.netapp.com/license/xcp.xwic" e copiar para o servidor XCP.
-
Ative a licença.
[root@mastr-53 linux]# ./xcp activate [root@mastr-53 src]# cp license /opt/NetApp/xFiles/xcp/license [root@mastr-53 src]# cd /usr/src/xcp/linux/ [root@mastr-53 linux]# ./xcp activate
-
Localize a porta NFS de origem e o servidor NFS de destino. A porta padrão é 2049.
[root@mastr-53 ~]# rpcinfo -p 10.63.150.213 [root@mastr-53 ~]# rpcinfo -p 10.63.150.63
-
Verifique a conexão NFS. Verifique o servidor NFS (de origem e de destino) usando telnet para a porta do servidor NFS.
[root@mastr-53 ~]# telnet 10.63.150.127 2049 [root@mastr-53 ~]# telnet 10.63.150.63 2049
-
Configurar o catálogo.
-
Crie um volume NFS e exporte o NFS para o catálogo XCP. Você também pode aproveitar a exportação NFS do sistema operacional para o catálogo XCP.
A800-Node1-2::> volume create -vserver Hadoop_SVM -volume xcpcatalog -aggregate aggr_Hadoop_1 -size 50GB -state online -junction-path /xcpcatalog -policy default -unix-permissions ---rwxr-xr-x -type RW -snapshot-policy default -foreground true A800-Node1-2::> volume mount -vserver Hadoop_SVM -volume xcpcatalog_vol -junction-path /xcpcatalog
-
Verifique a exportação NFS.
[root@mastr-53 ~]# showmount -e 10.63.150.63 | grep xcpca /xcpcatalog (everyone)
-
Atualizar
xcp.ini
.[root@mastr-53 ~]# cat /opt/NetApp/xFiles/xcp/xcp.ini # Sample xcp config [xcp] catalog = 10.63.150.64:/xcpcatalog [root@mastr-53 ~]#
-
-
Encontre as exportações de origem do NAS usando
xcp show
. Procurar:== NFS Exports == == Attributes of NFS Exports ==
[root@mastr-53 linux]# ./xcp show 10.63.150.127 == NFS Exports == <check here> == Attributes of NFS Exports == <check here>
-
(Opcional) Escaneie os dados do NAS de origem.
[root@mastr-53 linux]# ./xcp scan -newid xcpscantest4 -stats 10.63.150.127:/xcpsrc_vol
A varredura dos dados de origem do NAS ajuda a entender o layout dos dados e a encontrar possíveis problemas de migração. O tempo da operação de varredura XCP é proporcional ao número de arquivos e à profundidade do diretório. Você pode pular esta etapa se estiver familiarizado com os dados do seu NAS.
-
Verifique o relatório criado por
xcp scan
. Pesquise principalmente por pastas e arquivos ilegíveis.[root@mastr-53 linux]# mount 10.63.150.64:/xcpcatalog /xcpcatalog base) nkarthik-mac-0:~ karthikeyannagalingam$ scp -r root@10.63.150.53:/xcpcatalog/catalog/indexes/xcpscantest4 Documents/OneDrive\ -\ NetApp\ Inc/XCP/customers/reports/
-
(Opcional) Altere o inode. Visualize o número de inodes e modifique o número com base no número de arquivos a serem migrados ou copiados para os volumes de catálogo e de destino (se necessário).
A800-Node1-2::> volume show -volume xcpcatalog -fields files,files-used A800-Node1-2::> volume show -volume xcpdest -fields files,files-used A800-Node1-2::> volume modify -volume xcpcatalog -vserver A800-Node1_vs1 -files 2000000 Volume modify successful on volume xcpcatalog of Vserver A800-Node1_vs1. A800-Node1-2::> volume show -volume xcpcatalog -fields files,files-used
-
Escaneie o volume de destino.
[root@mastr-53 linux]# ./xcp scan -stats 10.63.150.63:/xcpdest
-
Verifique o espaço do volume de origem e destino.
[root@mastr-53 ~]# df -h /xcpsrc_vol [root@mastr-53 ~]# df -h /xcpdest/
-
Copie os dados da origem para o destino usando
xcp copy
e confira o resumo.[root@mastr-53 linux]# ./xcp copy -newid create_Sep091599198212 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest <command inprogress results removed> Xcp command : xcp copy -newid create_Sep091599198212 -parallel 23 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest Stats : 9.07M scanned, 9.07M copied, 118 linked, 9.07M indexed, 173 giants Speed : 1.57 TiB in (412 MiB/s), 1.50 TiB out (392 MiB/s) Total Time : 1h6m. STATUS : PASSED [root@mastr-53 linux]#
Por padrão, o XCP cria sete processos paralelos para copiar os dados. Isso pode ser ajustado. A NetApp recomenda que o volume de origem seja somente leitura. Em tempo real, o volume de origem é um sistema de arquivos ativo e dinâmico. O xcp copy
a operação pode falhar porque o NetApp XCP não oferece suporte a uma fonte ativa que é continuamente alterada por um aplicativo.Para Linux, o XCP requer um ID de índice porque o XCP Linux realiza a catalogação.
-
(Opcional) Verifique os inodes no volume NetApp de destino.
A800-Node1-2::> volume show -volume xcpdest -fields files,files-used vserver volume files files-used -------------- ------- -------- ---------- A800-Node1_vs1 xcpdest 21251126 15039685 A800-Node1-2::>
-
Execute a atualização incremental usando
xcp sync
.[root@mastr-53 linux]# ./xcp sync -id create_Sep091599198212 Xcp command : xcp sync -id create_Sep091599198212 Stats : 9.07M reviewed, 9.07M checked at source, no changes, 9.07M reindexed Speed : 1.73 GiB in (8.40 MiB/s), 1.98 GiB out (9.59 MiB/s) Total Time : 3m31s. STATUS : PASSED
Para este documento, para simular o tempo real, os um milhão de arquivos nos dados de origem foram renomeados e, em seguida, os arquivos atualizados foram copiados para o destino usando
xcp sync
. No Windows, o XCP precisa de caminhos de origem e destino. -
Validar transferência de dados. Você pode validar se a origem e o destino têm os mesmos dados usando
xcp verify
.Xcp command : xcp verify 10.63.150.127:/xcpsrc_vol 10.63.150.63:/xcpdest Stats : 9.07M scanned, 9.07M indexed, 173 giants, 100% found (6.01M have data), 6.01M compared, 100% verified (data, attrs, mods) Speed : 3.13 TiB in (509 MiB/s), 11.1 GiB out (1.76 MiB/s) Total Time : 1h47m. STATUS : PASSED
A documentação do XCP fornece várias opções (com exemplos) para o scan
, copy
, sync
, e verify
operações. Para mais informações, consulte o "Guia do usuário do NetApp XCP" .
|
Os clientes do Windows devem copiar os dados usando listas de controle de acesso (ACLs). A NetApp recomenda usar o comando xcp copy -acl -fallbackuser\<username> -fallbackgroup\<username or groupname> <source> <destination> . Para obter o desempenho máximo, considerando o volume de origem que possui dados SMB com ACL e os dados acessíveis por NFS e SMB, o destino deve ser um volume NTFS. Usando o XCP (versão NFS), copie os dados do servidor Linux e execute a sincronização do XCP (versão SMB) com o -acl e -nodata opções do servidor Windows para copiar as ACLs dos dados de origem para os dados SMB de destino.
|
Para etapas detalhadas, consulte "Configurando a política 'Gerenciar auditoria e log de segurança'" .
Etapas de implantação - Migração de dados HDFS/MapRFS
Nesta seção, discutimos o novo recurso do XCP chamado Hadoop Filesystem Data Transfer to NAS, que migra dados do HDFS/MapRFS para o NFS e vice-versa.
Pré-requisitos
Para o recurso MapRFS/HDFS, você deve executar o seguinte procedimento em um ambiente de usuário não root. Normalmente, o usuário não root é hdfs, mapr ou um usuário que tem permissão para fazer alterações no sistema de arquivos HDFS e MapRFS.
-
Defina as variáveis CLASSPATH, HADOOP_HOME, NHDFS_LIBJVM_PATH, LB_LIBRARY_PATH e NHDFS_LIBHDFS_PATH na CLI ou no arquivo .bashrc do usuário junto com o
xcp
comando.-
NHDFS_LIBHDFS_PATH aponta para o arquivo libhdfs.so. Este arquivo fornece APIs HDFS para interagir e manipular os arquivos e o sistema de arquivos HDFS/MapRFS como parte da distribuição Hadoop.
-
NHDFS_LIBJVM_PATH aponta para o arquivo libjvm.so. Esta é uma biblioteca de máquina virtual JAVA compartilhada no local jre.
-
CLASSPATH aponta para todos os arquivos jars usando valores (Hadoop classpath –glob).
-
LD_LIBRARY_PATH aponta para o local da pasta da biblioteca nativa do Hadoop.
Veja o exemplo a seguir baseado em um cluster Cloudera.
export CLASSPATH=$(hadoop classpath --glob) export LD_LIBRARY_PATH=/usr/java/jdk1.8.0_181-cloudera/jre/lib/amd64/server/ export HADOOP_HOME=/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6751098/ #export HADOOP_HOME=/opt/cloudera/parcels/CDH/ export NHDFS_LIBJVM_PATH=/usr/java/jdk1.8.0_181-cloudera/jre/lib/amd64/server/libjvm.so export NHDFS_LIBHDFS_PATH=$HADOOP_HOME/lib64/libhdfs.so
+
Nesta versão, oferecemos suporte a operações de digitalização, cópia e verificação do XCP e migração de dados do HDFS para o NFS. Você pode transferir dados de um único nó de trabalho de cluster de data lake e de vários nós de trabalho. Na versão 1.8, usuários root e não root podem realizar a migração de dados. -
Etapas de implantação - Usuário não root migra dados HDFS/MaprFS para NetApp NFS
-
Siga os mesmos passos mencionados nos passos 1 a 9 da seção etapas para implantação.
-
No exemplo a seguir, o usuário migra dados do HDFS para o NFS.
-
Crie uma pasta e arquivos (usando
hadoop fs -copyFromLocal
) no HDFS.[root@n138 ~]# su - tester -c 'hadoop fs -mkdir /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src' [root@n138 ~]# su - tester -c 'hadoop fs -ls -d /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src' drwxr-xr-x - tester supergroup 0 2021-11-16 16:52 /tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src [root@n138 ~]# su - tester -c "echo 'testfile hdfs' > /tmp/a_hdfs.txt" [root@n138 ~]# su - tester -c "echo 'testfile hdfs 2' > /tmp/b_hdfs.txt" [root@n138 ~]# ls -ltrah /tmp/*_hdfs.txt -rw-rw-r-- 1 tester tester 14 Nov 16 17:00 /tmp/a_hdfs.txt -rw-rw-r-- 1 tester tester 16 Nov 16 17:00 /tmp/b_hdfs.txt [root@n138 ~]# su - tester -c 'hadoop fs -copyFromLocal /tmp/*_hdfs.txt hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src' [root@n138 ~]#
-
Verifique as permissões na pasta HDFS.
[root@n138 ~]# su - tester -c 'hadoop fs -ls hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src' Found 2 items -rw-r--r-- 3 tester supergroup 14 2021-11-16 17:01 hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/a_hdfs.txt -rw-r--r-- 3 tester supergroup 16 2021-11-16 17:01 hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/b_hdfs.txt
-
Crie uma pasta no NFS e verifique as permissões.
[root@n138 ~]# su - tester -c 'mkdir /xcpsrc_vol/mohankarthiknfs_dest' [root@n138 ~]# su - tester -c 'ls -l /xcpsrc_vol/mohankarthiknfs_dest' total 0 [root@n138 ~]# su - tester -c 'ls -d /xcpsrc_vol/mohankarthiknfs_dest' /xcpsrc_vol/mohankarthiknfs_dest [root@n138 ~]# su - tester -c 'ls -ld /xcpsrc_vol/mohankarthiknfs_dest' drwxrwxr-x 2 tester tester 4096 Nov 16 14:32 /xcpsrc_vol/mohankarthiknfs_dest [root@n138 ~]#
-
Copie os arquivos do HDFS para o NFS usando o XCP e verifique as permissões.
[root@n138 ~]# su - tester -c '/usr/src/hdfs_nightly/xcp/linux/xcp copy -chown hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/ 10.63.150.126:/xcpsrc_vol/mohankarthiknfs_dest' XCP Nightly_dev; (c) 2021 NetApp, Inc.; Licensed to Karthikeyan Nagalingam [NetApp Inc] until Wed Feb 9 13:38:12 2022 xcp: WARNING: No index name has been specified, creating one with name: autoname_copy_2021-11-16_17.04.03.652673 Xcp command : xcp copy -chown hdfs:///tmp/testerfolder_src/util-linux-2.23.2/mohankarthikhdfs_src/ 10.63.150.126:/xcpsrc_vol/mohankarthiknfs_dest Stats : 3 scanned, 2 copied, 3 indexed Speed : 3.44 KiB in (650/s), 80.2 KiB out (14.8 KiB/s) Total Time : 5s. STATUS : PASSED [root@n138 ~]# su - tester -c 'ls -l /xcpsrc_vol/mohankarthiknfs_dest' total 0 -rw-r--r-- 1 tester supergroup 14 Nov 16 17:01 a_hdfs.txt -rw-r--r-- 1 tester supergroup 16 Nov 16 17:01 b_hdfs.txt [root@n138 ~]# su - tester -c 'ls -ld /xcpsrc_vol/mohankarthiknfs_dest' drwxr-xr-x 2 tester supergroup 4096 Nov 16 17:01 /xcpsrc_vol/mohankarthiknfs_dest [root@n138 ~]#
-