Instale um cliente CPFS-POSIX no Alibaba Cloud Linux 2 e use-o para montar um sistema de arquivos CPFS.
Contexto
As instâncias ECS de destino mencionadas neste tópico correspondem aos nós de computação que montam e acessam o sistema de arquivos CPFS.
O Cloud Parallel File Storage (CPFS) é compatível com a interface POSIX. Para usar o CPFS, instale o cliente CPFS-POSIX e monte um sistema de arquivos. O cliente CPFS-POSIX oferece serviços personalizados e suporta instalação no Alibaba Cloud Linux 2. Para acessar o sistema de arquivos CPFS pelo protocolo NFS, consulte Mount a file system by using a CPFS-NFS client.
Após adicionar um ponto de montagem POSIX, o CPFS cria automaticamente três instâncias ECS de nó de gerenciamento: <FSID>-<GENID>-qr-001, <FSID>-<GENID>-qr-002 e <FSID>-<GENID>-qr-003. A primeira instância ECS de nó de gerenciamento (<FSID>-<GENID>-qr-001) da lista é o nó de instalação padrão do cliente CPFS-POSIX.
Pré-requisitos
Um sistema de arquivos foi criado. Para mais informações, consulte Create a file system.
Um ponto de montagem POSIX foi adicionado. Para mais informações, consulte Add a POSIX mount target.
-
Uma ou mais instâncias ECS com Alibaba Cloud Linux 2 foram criadas, com as seguintes especificações:
Versão: Alibaba Cloud Linux 2.1903 LTS 64-bit
-
Versão do kernel: 4.19.91-27.4.al7.x86_64 ou anterior.
Execute o comando uname -r para verificar a versão do kernel.
Etapa 1: Configure o grupo de segurança das instâncias ECS de destino
Antes de montar um sistema de arquivos nas instâncias ECS criadas nos pré-requisitos, adicione o grupo de segurança das instâncias ECS de nó de gerenciamento do CPFS-POSIX às instâncias ECS de destino. Essa configuração evita falhas em conexões remotas e na transmissão de dados entre as instâncias ECS de destino e o cluster CPFS.
-
Obtenha o ID do grupo de segurança do nó de controle CPFS-POSIX.
Faça login no NAS console.
No painel de navegação à esquerda, escolha .
-
No canto superior esquerdo da página, selecione o grupo de recursos e a região do sistema de arquivos de destino.

Clique no sistema de arquivos de destino. Na página de detalhes, clique em Mount Targets.
Na seção Client Management node, clique na primeira instância ECS da lista para acessar a página de detalhes da instância.
-
Na página Instance Details, clique na aba Security Groups e anote o Security Group ID/Name do nó de controle.
O nome do grupo de segurança do nó de controle segue o formato: <FSID>-<GENID>-qr-sg.
Nesse formato, <FSID> é o ID do sistema de arquivos CPFS e <GENID> é o número de sequência do ponto de montagem, incrementado a cada novo ponto de montagem CPFS criado.
-
Adicione o grupo de segurança do nó de controle à instância ECS de destino.
No painel de navegação à esquerda, escolha Instances & Images > Instances.
Na página Instance List, clique no ID da instância ECS a ser montada, selecione a aba Security Groups e clique em Change Security Group.
-
Na caixa de diálogo Change Security Group, selecione o grupo de segurança do nó de controle (<FSID>-<GENID>-qr-sg) registrado na Etapa 1 na lista suspensa Security Groups e clique em OK.
Etapa 2: Instale um cliente CPFS-POSIX
Faça login no NAS console.
No painel de navegação à esquerda, escolha .
-
No canto superior esquerdo da página, selecione o grupo de recursos e a região onde o sistema de arquivos de destino está localizado.
Para alternar entre grupos de recursos, use a lista suspensa All Resources na barra de navegação superior.
Clique no sistema de arquivos de destino para acessar a página de detalhes e clique em Mount Targets.
Na seção Client Management node, clique na primeira instância ECS de nó de gerenciamento da lista para acessar a página de detalhes da instância.
Clique em Connect para fazer login no nó de instalação do cliente CPFS-POSIX.
-
Configure o login sem senha entre o nó de gerenciamento e as instâncias ECS de destino.
NotaAntes de configurar o login sem senha entre os nós de gerenciamento CPFS e múltiplas instâncias ECS, recomendamos defina a mesma senha de login para todas as instâncias ECS de destino. Caso contrário, será necessário crie o arquivo client.list várias vezes e repetir as Etapas 10 a 12.
-
Crie o arquivo client.list e adicione os endereços IP privados das instâncias ECS de destino.
-
Crie o arquivo client.list
touch client.list -
Execute o comando
vi client.listpara abrir o arquivo client.list e adicione os endereços IP privados das instâncias ECS de destino.<Private IP address of target ECS instance 1> <Private IP address of target ECS instance 2> <Private IP address of target ECS instance 3>Exemplo:
192.168.1.249 192.168.1.250 192.168.1.251NotaÉ possível adicionar uma ou mais instâncias ECS. Ao adicionar várias instâncias, insira os endereços IP privados em linhas separadas.
Salve e saia.
-
-
Crie o arquivo qr.list e adicione os endereços IP dos nós de gerenciamento.
-
Crie o arquivo qr.list
touch qr.list -
Execute o comando
vi qr.listpara abrir o arquivo qr.list e adicione os endereços IP dos nós de gerenciamento. O exemplo a seguir ilustra o conteúdo do arquivo:10.0.2.41 10.0.2.42 10.0.2.43A seção Client Management node lista os endereços IP dos nós de gerenciamento do cliente CPFS-POSIX.
Salve e saia.
-
-
Configure o script auto_ssh.sh.
-
Crie o arquivo auto_ssh.sh.
touch auto_ssh.sh -
Execute o comando
vi auto_ssh.shpara abrir o arquivo auto_ssh.sh e adicione o seguinte conteúdo.#!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password [lindex $argv 1] set hostname [lindex $argv 2] spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $username@$hostname expect { #first connect, no public key in ~/.ssh/known_hosts "Are you sure you want to continue connecting (yes/no)?" { send "yes\r" expect "password:" send "$password\r" } #already has public key in ~/.ssh/known_hosts "password:" { send "$password\r" } "Now try logging into the machine" { #it has authorized, do nothing! } "already exist on the remote" { #it has authorized, do nothing! } } expect eof Salve e saia.
-
-
-
Execute o comando a seguir para conceder ao usuário a permissão de execução sobre o arquivo auto_ssh.sh.
chmod +x auto_ssh.sh -
Execute o comando a seguir para registrar o PASSWD das instâncias ECS de destino no client.list.
PASSWD='yourpassword'NotaSe as instâncias ECS de destino tiverem senhas diferentes, será necessário crie o arquivo client.list várias vezes e repetir as Etapas 8 a 10.
-
Execute o comando a seguir para configure o login sem senha no nó de gerenciamento.
cat client.list | xargs -I {} ./auto_ssh.sh root $PASSWD {} -
Execute o comando a seguir para instale remotamente o cliente CPFS nas instâncias ECS registradas no client.list. A instalação é concluída com êxito quando
Complete!é retornado.region_id=`curl http://100.100.100.200/latest/meta-data/region-id`; wget https://cpfs-${region_id}-pre.oss-${region_id}-internal.aliyuncs.com/cpfs/CPFS2.3.4-CentOS.tar.gz -O /root/CPFS2.3.4-CentOS.tar.gz; cat client.list | xargs -I {} scp /root/CPFS2.3.4-CentOS.tar.gz {}:/root/ pssh -ih client.list "tar xzvf /root/CPFS2.3.4-CentOS.tar.gz" pssh -ih client.list "cd /root/CPFS2.3.4-CentOS/CentOS7;yum install -y gpfs.adv-*.x86_64.rpm gpfs.base-*.x86_64.rpm gpfs.docs-*.noarch.rpm gpfs.gpl-*.noarch.rpm gpfs.gskit-*.x86_64.rpm gpfs.gss.pmsensors-*.x86_64.rpm gpfs.license.dm-*.x86_64.rpm gpfs.msg.en_US-*.noarch.rpm" -
Execute o comando a seguir para compilar remotamente a extensão do kernel nas instâncias ECS registradas no client.list.
pssh -ih client.list "/usr/bin/yum -y install cpp gcc-c++ elfutils-libelf-devel" pssh -ih client.list "export LINUX_DISTRIBUTION=KERNEL_ORG_LINUX; /usr/lpp/mmfs/bin/mmbuildgpl"Para reutilizar essa configuração em instâncias ECS adicionais, crie uma imagem personalizada a partir de uma instância já configurada. Para mais informações sobre como criar uma imagem personalizada, consulte Custom images.
Etapa 3: Monte o sistema de arquivos
No painel de navegação à esquerda, clique em Instances.
-
Na página Instance List, localize o ECS do nó de instalação do cliente CPFS-POSIX (qr-001) e clique em Connect na coluna Actions para fazer login no nó.
A seção Client Management Nodes exibe a senha de login do nó de instalação do cliente CPFS-POSIX.
-
Execute o comando a seguir para atualize o arquivo hosts no nó de gerenciamento e nas instâncias ECS de destino.
pssh -ih client.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-client.list pssh -ih qr.list "hostname;ifconfig eth0 | grep -v inet6 | grep inet | awk '{print \$2}'" | grep -v SUCC | sed 'N;s/\n/ /' > /tmp/ip-host-qr.list cat /tmp/ip-host-client.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/client-hosts.append cat /tmp/ip-host-qr.list | awk '{print $2,$1,$1"t_MAGICTAG"}' > /etc/qr-hosts.append pssh -ih client.list "cp /etc/hosts hosts.bak" pssh -ih qr.list "cp /etc/hosts hosts.bak" cat client.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/ cat client.list | xargs -I {} scp /etc/qr-hosts.append {}:/etc/ cat qr.list | xargs -I {} scp /etc/client-hosts.append {}:/etc/ pssh -ih client.list "cat /etc/client-hosts.append >> /etc/hosts" pssh -ih client.list "cat /etc/qr-hosts.append >> /etc/hosts" pssh -ih qr.list "cat /etc/client-hosts.append >> /etc/hosts" -
Execute o comando a seguir para adicionar as instâncias ECS de destino ao cluster CPFS.
-
Comando
mmaddnode -N client.list mmchlicense client --accept -N client.list mmchnode --perfmon -N client.list mmstartup -N client.list mmgetstate -a -
Exemplo de resposta
A instância ECS de destino é adicionada com êxito ao cluster CPFS quando o estado do nó muda para
active.Node number Node name GPFS state --------------------------------------------------------------- 1 cpfs-2989198****323d3-000001-qr-001 active 2 cpfs-2989198****323d3-000001-qr-002 active 3 cpfs-2989198****323d3-000001-qr-003 active 4 iZ0jl91t3p5kehvr6i5**** active
-
-
Execute o comando a seguir para verifique se a lista de nós inclui as instâncias ECS de destino.
-
Comando
mmlscluster -
Exemplo de resposta
Node Daemon node name IP address Admin node name Designation ----------------------------------------------------------------------------------------------------------- 1 cpfs-2989198****323d3-000001-qr-001 192.168.3.57 cpfs-2989198****323d3-000001-qr-001 quorum-manager-perfmon 2 cpfs-2989198****323d3-000001-qr-002 192.168.3.58 cpfs-2989198****323d3-000001-qr-002 quorum-manager-perfmon 3 cpfs-2989198****323d3-000001-qr-003 192.168.3.56 cpfs-2989198****323d3-000001-qr-003 quorum-manager-perfmon 4 iZ0jl91t3p5kehvr6i5**** 192.168.3.59 iZ0jl91t3p5kehvr6i5**** perfmon
-
-
(Opcional) Consulte o caminho padrão.
Após adicionar a instância ECS de destino ao nó de gerenciamento do cliente CPFS-POSIX, o sistema de arquivos é montado automaticamente no caminho padrão /cpfs/<número de série do FSID>. Execute o comando
mmlsfs <FSID serial number>-<GENID> -Tpara visualize o caminho de montagem padrão.-
Exemplo de comando
mmlsfs 2989198****323d3-000001 -T -
Exemplo de resposta
flag value description ------------------- ------------------------ ----------------------------------- -T /cpfs/2989198****323d3-000001 Default mount point
Para montar o sistema de arquivos CPFS em um caminho personalizado, use o comando
mount --bind.mount --bind /cpfs/2989198****323d3-000001 /mnt/testNesse comando, */cpfs/2989198****323d3-000001 é o caminho de montagem padrão do sistema de arquivos CPFS e /mnt/test* é o caminho de montagem personalizado.
NotaCaminhos de montagem personalizados não são permitidos no nó de instalação do sistema de arquivos CPFS.
A montagem de subdiretórios não é compatível.
-
Perguntas frequentes
Para mais perguntas frequentes e soluções sobre a montagem do CPFS, consulte Mount access FAQ.