O CPFS permite acesso pelo protocolo NFS. Após criar um sistema de arquivos CPFS, ative o serviço de protocolo e crie um diretório de exportação para gerar um destino de montagem. Em seguida, instale o cliente CPFS-NFS em uma instância ECS e execute o comando de montagem para acessar o sistema de arquivos. O destino de montagem de um diretório de exportação é independente dos destinos de montagem POSIX. Se você precisar acessar o sistema de arquivos CPFS apenas pelo protocolo NFS, não será necessário criar um destino de montagem POSIX. Excluir um destino de montagem POSIX existente não afeta o acesso aos dados pelo diretório de exportação.
Pré-requisitos
Sistema de arquivos CPFS criado. Para mais informações, consulte Criar um sistema de arquivos.
Serviço de protocolo criado. Para mais informações, consulte Criar um serviço de protocolo.
Diretório de exportação criado. Para mais informações, consulte Criar um diretório de exportação.
-
Uma ou mais instâncias ECS criadas que atendam às seguintes condições. Para mais informações, consulte Criar uma instância ECS.
A instância ECS tem um endereço IPv4 público atribuído ou um endereço Elastic IP associado.
O sistema operacional da instância é um dos sistemas operacionais compatíveis com o cliente CPFS-NFS.
Uso
Sistemas operacionais compatíveis
|
Tipo de sistema operacional |
Versão do sistema operacional |
|
Alibaba Cloud Linux |
|
|
CentOS |
|
|
Ubuntu |
|
|
Debian |
|
|
SUSE |
|
Endereços IP e portas
O cliente CPFS-NFS usa o endereço IP local 127.0.1.255 e o intervalo de portas TCP de 30000 a 60000 para mapeamento de portas durante a montagem do sistema de arquivos.
Se outro aplicativo já estiver usando o endereço IP 127.0.1.255 ou o intervalo de portas de 30000 a 60000, modifique a configuração do cliente CPFS-NFS. Para mais informações, consulte Configuração do cliente.
Diretórios de arquivos
A instalação do cliente CPFS-NFS cria os seguintes diretórios na instância ECS: diretório de arquivos de configuração (/etc/aliyun/cpfs), diretório de tempo de execução (/var/run/cpfs) e diretório de logs (/var/log/aliyun/cpfs/).
O diretório de tempo de execução armazena os arquivos de configuração do haproxy gerados automaticamente. Se você especificar um caminho personalizado com a opção hp_config_dir , esse caminho substituirá o padrão.
Processos
Após montar um sistema de arquivos CPFS com o cliente CPFS-NFS, um processo haproxy inicia na instância ECS para acesso de E/S. Um processo watchdog também inicia para monitorar a integridade do cliente CPFS-NFS.
Logs do cliente
Consulte os logs do cliente CPFS-NFS no diretório /var/log/aliyun/cpfs/ para obter informações sobre erros de montagem. Para personalizar o conteúdo dos logs, modifique os parâmetros no arquivo de configuração de log em /etc/aliyun/cpfs/cpfs-utils.conf. Após modificar o arquivo de configuração, execute o comando sudo service aliyun-cpfs-mount-watchdog restart para reiniciar o processo watchdog de backend.
Etapa 1: Baixar e instalar o cliente CPFS-NFS
Este cliente é open source. Para obter o código-fonte ou compilá-lo manualmente, visite o repositório do GitHub .
Conecte-se à instância ECS onde você montará o sistema de arquivos CPFS. Para mais informações sobre como se conectar a uma instância ECS, consulte Métodos de conexão.
-
Baixe e instale o cliente CPFS-NFS.
Alibaba Cloud Linux
-
Baixe o cliente CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpm -
Instale o cliente CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
CentOS
-
Baixe o cliente CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpm -
Instale o cliente CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
Ubuntu
-
Baixe o cliente CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Instale o cliente CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian
-
Baixe o cliente CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Instale o cliente CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
SUSE
-
Baixe o cliente CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.lp15.x86_64.rpm -
Instale o cliente CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
-
-
Verifique a instalação.
which mount.cpfs-nfsUma instalação bem-sucedida retorna a seguinte saída:
/usr/sbin/mount.cpfs-nfs
Etapa 2: Montar o sistema de arquivos com o cliente
-
Monte o sistema de arquivos CPFS.
-
Cenário 1: Montagem geral (caminho padrão)
Este cenário aplica-se à maioria dos ambientes sem AppArmor, SELinux ou outras restrições especiais de acesso a caminhos ativadas.
sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt -
Cenário 2: Montagem em ambiente de alta segurança (por exemplo, sistemas com SELinux ou AppArmor ativado)
Se políticas de reforço de segurança, como AppArmor ou SELinux, estiverem ativadas no sistema operacional, a montagem padrão poderá causar erros de acesso. Nesse caso, especifique um caminho com a opção hp_config_dir. Ao executar o comando, substitua
<custom_directory>por um caminho permitido pela política de segurança do sistema.sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,hp_config_dir=<custom_directory> file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
-
-
Parâmetros do comando de montagem
Parâmetro
Descrição
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
Especifica o caminho de montagem e o caminho local. Substitua-os pelos valores reais.
-
Caminho de montagem: caminho de montagem do diretório de exportação. No console do File Storage NAS, na página de lista de sistemas de arquivos, clique em Manage no sistema de arquivos desejado para acessar a página Protocol Service. Na coluna Actions, clique em Export Directory para abrir o painel Export Directory e obter o caminho de montagem.
Exemplo:
cpfs-196f91a8e58b**-195ceeac7b6ac**.cn-chengdu.cpfs.aliyuncs.com:/share/fileset -
Caminho local: caminho na instância ECS onde montar o sistema de arquivos. Pode ser o diretório raiz (/) ou qualquer subdiretório, como /mnt. Se especificar um subdiretório, verifique se ele já existe.
vers
Versão do NFS. O CPFS oferece suporte apenas ao NFSv3.
Opções de montagem
Especifique várias opções de montagem separadas por vírgulas (,). As seguintes opções estão disponíveis:
-
rsize: tamanho do bloco de dados (em bytes) para leitura entre o cliente e o sistema de arquivos. Valor recomendado: 1048576.
-
wsize: tamanho do bloco de dados (em bytes) para escrita entre o cliente e o sistema de arquivos. Valor recomendado: 1048576.
NotaSe precisar alterar os parâmetros de tamanho de E/S (rsize e wsize), use o valor máximo (1048576) para evitar degradação de desempenho.
-
hard: se o sistema de arquivos CPFS ficar temporariamente indisponível, uma aplicação local que utilize um arquivo no sistema de arquivos será interrompida e aguardará até que o sistema volte a ficar online. Esta opção é recomendada.
-
timeo: duração, em décimos de segundo, que o cliente CPFS-NFS aguarda por uma resposta antes de tentar novamente uma solicitação ao sistema de arquivos. Valor recomendado: 600 (60 segundos).
NotaSe for necessário alterar o parâmetro de timeout (timeo), use um valor igual ou superior a 150. Este valor está em décimos de segundo, portanto 150 corresponde a 15 segundos.
-
retrans: número de vezes que o cliente CPFS-NFS tenta novamente uma solicitação. Valor recomendado: 2.
-
noresvport: usa uma nova porta TCP ao reconectar a rede, garantindo que a conexão não seja interrompida durante a recuperação de falhas de rede. Esta opção é recomendada.
Importante-
A opção
softnão é recomendada porque apresenta riscos à consistência dos dados. Se você usar a opçãosoft, assumirá todos os riscos associados. -
Evite definir outras opções de montagem com valores diferentes dos recomendados. Por exemplo, alterar os tamanhos de buffer de leitura ou escrita, ou desativar o cache de atributos, pode degradar o desempenho.
-
-
hp_config_dir: (Opcional) Especifica o diretório que contém o arquivo de configuração do haproxy. Defina este parâmetro se o sistema operacional possuir políticas de aplicação de segurança (como AppArmor ou SELinux) ou outras políticas de alta segurança que restrinjam processos a ler configurações ou executar apenas em caminhos específicos.
-
Recomendação de seleção de caminho: selecione um diretório adequado na lista de permissões da política de segurança do sistema e verifique se o caminho está autorizado pelo módulo de segurança.
-
Lógica: o cliente CPFS tenta primeiro usar o diretório especificado por este parâmetro. Se você não especificar este parâmetro, o cliente tentará analisar automaticamente a lista de permissões da política de segurança. Se a análise falhar, o cliente retornará ao caminho padrão
/var/run/cpfs.
-
-
-
Execute o comando mount -l para visualizar as informações de montagem.
Após montar o sistema de arquivos, execute o comando
df -hpara visualizar as informações de capacidade do sistema de arquivos. -
(Opcional) Configure a montagem automática na inicialização.
Para evitar perda das informações de montagem após a reinicialização da instância ECS, configure o arquivo
/etc/fstab. Se você utilizou o parâmetrohp_config_dirdurante a montagem manual, também deverá configurá-lo aqui.-
Abra o arquivo de configuração
/etc/fstabe adicione a configuração de montagem.-
Configuração para ambiente geral:
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 -
Exemplo de configuração para ambiente de alta segurança:
Substitua
<custom_directory>por um caminho permitido pela política de segurança do sistema.file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport,hp_config_dir=<custom_directory> 0 0 -
A tabela a seguir descreve os outros parâmetros.
Parâmetro
Descrição
_netdev
Impede que o cliente tente montar o sistema de arquivos antes que a rede esteja pronta.
0 (primeiro item após noresvport)
Um valor diferente de zero indica que o comando dump deve fazer backup do sistema de arquivos. Para sistemas de arquivos CPFS, este valor é 0.
0 (segundo item após noresvport)
Indica a ordem em que o comando fsck verifica o sistema de arquivos na inicialização. Para sistemas de arquivos CPFS, este valor é 0, o que impede a execução do fsck na inicialização.
-
-
Execute o comando
rebootpara reiniciar a instância ECS.Antes de reiniciar a instância ECS, confirme que a montagem manual foi bem-sucedida para evitar falhas na reinicialização. Se a montagem automática for configurada com sucesso, execute o comando
df -hpara visualizar o sistema de arquivos CPFS montado após a reinicialização da instância ECS.
-
Configuração do cliente
Arquivo de configuração
Se precisar modificar a configuração do cliente CPFS-NFS, entre em contato com a equipe de suporte técnico do CPFS. Modifique o arquivo de configuração apenas sob orientação deles para evitar interrupções no acesso de E/S. O arquivo de configuração está localizado em /etc/aliyun/cpfs/cpfs-utils.conf. A seguir, um exemplo de configuração:
[DEFAULT]
logging_level = INFO
logging_max_bytes = 1048576
logging_file_count = 10
[mount]
stunnel_debug_enabled = false
# Validate the certificate hostname on mount. This option is not supported by certain stunnel versions.
stunnel_check_cert_hostname = false
# Use OCSP to check certificate validity. This option is not supported by certain stunnel versions.
stunnel_check_cert_validity = false
proxy_port = 12049
cpfs_proxy_addr = 127.0.1.255
cpfs_proxy_port_min = 30000
cpfs_proxy_port_max = 60000
[mount-watchdog]
poll_interval_sec = 1
unmount_grace_period_sec = 30
dns_refresh_interval = 60
[client-tool]
A tabela a seguir descreve os parâmetros importantes no arquivo de configuração.
|
Parâmetro |
Descrição |
|
logging_level |
Nível de log. Valor padrão: INFO. |
|
logging_max_bytes |
Tamanho máximo de um arquivo de log, em bytes. Padrão: 1048576 (1 MiB). |
|
logging_file_count |
Número máximo de arquivos de log a serem retidos. Valor padrão: 10. |
|
cpfs_proxy_addr |
Endereço IP do proxy para o cliente CPFS. Valor padrão: 127.0.1.255. |
|
cpfs_proxy_port_min |
Valor mínimo do intervalo de portas do proxy para o cliente CPFS. Valor padrão: 30000. |
|
cpfs_proxy_port_max |
Valor máximo do intervalo de portas do proxy para o cliente CPFS. Valor padrão: 60000. |
|
poll_interval_sec |
Intervalo de detecção para o serviço watchdog em segundo plano. Valor padrão: 1s. |
|
unmount_grace_period_sec |
Período de carência para limpar os arquivos de configuração correspondentes após desmontar um destino de montagem CPFS-NFS. Valor padrão: 30s. |
|
dns_refresh_interval |
Intervalo em que o serviço watchdog em segundo plano verifica os registros DNS para determinar se os nós primário e secundário estão disponíveis. Valor padrão: 60s. |
Configuração do Haproxy
Durante a montagem, o cliente CPFS-NFS gera automaticamente um arquivo de configuração do haproxy e inicia os processos relacionados. Não modifique manualmente este arquivo de configuração, pois isso pode interromper o acesso de E/S. Consulte o arquivo de configuração haproxy-config.dns para obter detalhes. Por padrão, este arquivo é armazenado no diretório /var/run/cpfs/. Se você especificou o parâmetro hp_config_dir durante a montagem, o arquivo será armazenado no diretório personalizado especificado. O código a seguir mostra um exemplo do conteúdo do arquivo:
global
maxconn 4096
defaults
mode tcp
balance leastconn
timeout client 60s
timeout server 60s
timeout connect 3s
retries 3
frontend cpfs2049
bind 127.0.1.255:30000
default_backend bk2049
backend bk2049
server cpfs_primary 172.27.1.189:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 on-marked-up shutdown-backup-sessions
server cpfs_backup 172.27.0.214:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 backup
A tabela a seguir descreve os parâmetros importantes.
|
Parâmetro |
Descrição |
|
defaults |
Recomendamos não modificar os valores padrão dos parâmetros. |
|
frontend |
Endereço IP local e porta para o proxy haproxy. O endereço IP padrão é 127.0.1.255 e o intervalo de portas é de 30000 a 60000. |
|
backend |
Endereços IP do serviço CPFS-NFS de backend, onde |