Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-01-11 GMT+08:00

Uso de Internet para migrar datos

Contexto

Puede migrar datos desde un NAS local a SFS Turbo a través de Internet.

En esta solución, para migrar datos desde el NAS local a la nube, se crea un servidor Linux tanto en la nube como en las instalaciones. El tráfico entrante y saliente está permitido en el puerto 22 de estos dos servidores. El servidor local se utiliza para acceder al NAS local, y el ECS se utiliza para acceder a SFS Turbo.

También puede consultar esta solución para migrar datos desde un NAS en la nube a SFS Turbo. Para más detalles, consulte Migración de datos de On-cloud NAS a SFS Turbo.

Limitaciones y Restricciones

  • Los datos no se pueden migrar desde el NAS local a SFS Orientado a la capacidad mediante Internet.
  • Solo los ECS de Linux se pueden utilizar para migrar datos.
  • El UID y el GID del archivo ya no serán consistentes después de la migración de datos.
  • Los modos de acceso a archivos ya no serán coherentes después de la migración de datos.
  • Se debe permitir el tráfico entrante y saliente en el puerto 22.
  • Se admite la migración incremental, de modo que solo se migran los datos modificados.

Prerrequisitos

  • Se ha creado un servidor Linux en la nube y en las instalaciones respectivamente.
  • Los EIP se han configurado para los servidores para garantizar que los dos servidores puedan comunicarse entre sí.
  • Ha creado un sistema de archivos SFS Turbo y ha obtenido el punto de montaje del sistema de archivos.
  • Ha obtenido el punto de montaje del NAS local.

Procedimiento

  1. Inicie sesión en la consola de ECS.
  2. Inicie sesión en el cliente de servidor local creado client1 y ejecute el siguiente comando para acceder al NAS local:

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point of the local NAS /mnt/src

  3. Inicie sesión en el cliente Linux ECS creado client2 y ejecute el siguiente comando para acceder al sistema de archivos SFS Turbo:

    mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point of the SFS Turbo file system  /mnt/dst

  4. Ejecute los siguientes comandos en client1 para instalar la herramienta rclone:

    wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificate
    unzip rclone-v1.53.4-linux-amd64.zip
    chmod 0755 ./rclone-*/rclone
    cp ./rclone-*/rclone /usr/bin/
    rm -rf ./rclone-*

  5. Ejecute los siguientes comandos en client1 para configurar el entorno:

    rclone config
    No remotes found - make a new one
    n) New remote
    s) Set configuration password
    q) Quit config
    n/s/q> n
    name> remote name (New name)
    Type of storage to configure.
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
    24 / SSH/SFTP Connection
       \ "sftp"
    Storage> 24 (Select the SSH/SFTP number)
    SSH host to connect to
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
     1 / Connect to example.com
       \ "example.com"
    host> ip address (IP address of client2)
    SSH username, leave blank for current username, root
    Enter a string value. Press Enter for the default ("").
    user> user name (Username of client2)
    SSH port, leave blank to use default (22)
    Enter a string value. Press Enter for the default ("").
    port> 22
    SSH password, leave blank to use ssh-agent.
    y) Yes type in my own password
    g) Generate random password
    n) No leave this optional password blank
    y/g/n> y
    Enter the password:
    password: (Password for logging in to client2)
    Confirm the password:
    password: (Confirm the password for logging in to client2)
    Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
    Enter a string value. Press Enter for the default ("").
    key_file> (Press Enter)
    The passphrase to decrypt the PEM-encoded private key file.
    Only PEM encrypted key files (old OpenSSH format) are supported. Encrypted keys
    in the new OpenSSH format can't be used.
    y) Yes type in my own password
    g) Generate random password
    n) No leave this optional password blank
    y/g/n> n
    When set forces the usage of the ssh-agent.
    When key-file is also set, the ".pub" file of the specified key-file is read and only the associated key is
    requested from the ssh-agent. This allows to avoid `Too many authentication failures for *username*` errors
    when the ssh-agent contains many keys.
    Enter a boolean value (true or false). Press Enter for the default ("false").
    key_use_agent> (Press Enter)
    Enable the use of the aes128-cbc cipher. This cipher is insecure and may allow plaintext data to be recovered by an attacker.
    Enter a boolean value (true or false). Press Enter for the default ("false").
    Choose a number from below, or type in your own value
     1 / Use default Cipher list.
       \ "false"
     2 / Enables the use of the aes128-cbc cipher.
       \ "true"
    use_insecure_cipher> (Press Enter)
    Disable the execution of SSH commands to determine if remote file hashing is available.
    Leave blank or set to false to enable hashing (recommended), set to true to disable hashing.
    Enter a boolean value (true or false). Press Enter for the default ("false").
    disable_hashcheck> 
    Edit advanced config? (y/n)
    y) Yes
    n) No
    y/n> n
    Remote config
    -------------------
    [remote_name] 
    type = sftp
    host=(client2 ip)
    user=(client2 user name)
    port = 22
    pass = *** ENCRYPTED ***
    key_file_pass = *** ENCRYPTED ***
    --------------------
    y) Yes this is OK
    e) Edit this remote
    d) Delete this remote
    y/e/d> y
    Current remotes:
    Name                 Type
    ====                 ====
    remote_name          sftp 
    e) Edit existing remote
    n) New remote
    d) Delete remote
    r) Rename remote
    c) Copy remote
    s) Set configuration password
    q) Quit config
    e/n/d/r/c/s/q> q

  6. Ejecute el siguiente comando para ver el archivo rclone.conf en /root/.config/rclone/rclone.conf:

    cat /root/.config/rclone/rclone.conf
    [remote_name]
    type = sftp
    host=(client2 ip)
    user=(client2 user name)
    port = 22
    pass = ***
    key_file_pass = ***

  7. Ejecute el siguiente comando en client1 para sincronizar datos:

    rclone copy /mnt/src remote_name:/mnt/dst -P --transfers 32 --checkers 64
    • Reemplace remote_name en el comando con el nombre remoto en el entorno.
    • Establezca transfers y checkers según las especificaciones del sistema. Los parámetros se describen a continuación:
      • transfers: número de archivos que se pueden transferir simultáneamente
      • checkers: número de archivos locales que se pueden analizar simultáneamente
      • P: progreso de la copia de datos

    Una vez completada la sincronización de datos, vaya al sistema de archivos SFS Turbo para comprobar si se han migrado los datos.

Migración de datos de On-cloud NAS a SFS Turbo

Para migrar datos de un NAS en la nube a SFS Turbo mediante Internet, consulte los pasos anteriores.