Transfert de données vers et depuis le service de stockage de fichiers

De nombreux cas d'utilisation courants pour le service de stockage de fichiers d'Oracle Cloud Infrastructure (OCI) incluent le transfert d'une grande quantité de données. En fonction de l'origine, de la destination et de la direction du transfert de données, la meilleure méthode pour effectuer ce transfert peut varier.

Le tableau suivant fournit des recommandations pour les scénarios courants de transfert de données du service de stockage de fichiers, notamment la migration des données sur place, la copie des données du service de stockage de fichiers d'une région à une autre, la copie des données du service de stockage de fichiers dans une région et la copie des données du service de stockage de fichiers dans le service de stockage d'objets.

Pour des informations générales sur les connexions privées entre les données OCI et sur place, voir FastConnect et RPV site à site.

Scénarios de transfert des données de stockage de fichiers
Transférer les données depuis... Au... Méthode recommandée Préalables et points à considérer
Stockage sur place Service de stockage de fichiers sur OCI

Les utilisateurs de Linux peuvent utiliser la diffusion en continu d'instance à instance et l'outil fpsync.

Les utilisateurs Windows peuvent monter le partage de fichiers Windows sur place en tant que partage CIFS (Common Internet File System) sur une instance OCI Oracle Linux et utiliser un outil de copie tel que fss-parallel-tools ou fpsync pour transférer des données.

Pour plus d'informations, voir Transfert de données sur place vers le stockage de fichiers.

Assurez-vous que la connectivité réseau est établie entre les instances source et de destination.

Service de stockage de fichiers pour OCI Stockage de fichiers dans une autre région

Utilisez l'une des méthodes suivantes, en fonction des spécificités du cas d'utilisation :

  1. Utilisez la réplication des systèmes de fichiers. Pour plus d'informations, voir Utilisation de la réplication pour le transfert de données.
  2. Utilisez la diffusion en continu d'instance à instance et l'outil fpsync. Pour plus d'informations, voir Utilisation du service de diffusion en continu d'instance à instance pour transférer des données de stockage de fichiers.

Si vous utilisez la réplication, voir Limites et points à considérer de la réplication.

Si vous utilisez le service de flux d'instance à instance, assurez-vous que la connectivité réseau est établie entre les instances source et de destination.

Service de stockage de fichiers pour OCI Stockage de fichiers dans le même domaine de disponibilité

Utilisez l'une des méthodes suivantes, en fonction des spécificités du cas d'utilisation :

  1. Utilisez la réplication des systèmes de fichiers. Pour plus d'informations, voir Utilisation de la réplication pour le transfert de données.
  2. Utilisez la commande parcp dans notre suite d'outils parallèles pour transférer des données.

    Voir les exemples d'utilisation de parcp dans Utilisation des outils parallèles de stockage de fichiers, en particulier comment utiliser parcp comme alternative efficace pour rsync.

Si vous utilisez la réplication, voir Limites et points à considérer de la réplication.

Si vous utilisez parcp, assurez-vous que les systèmes de fichiers source et de destination sont montés dans l'instance.

Service de stockage de fichiers pour OCI Service de stockage d'objets OCI

Utilisez rclone. Pour plus d'informations, voir Sécurité des instantanés dans le stockage d'objets à l'aide de rclone.

L'instance doit pouvoir se connecter au seau de stockage d'objets.

Stockage de fichiers pour OCI Stockage sur place ou autres fournisseurs de services en nuage Les utilisateurs de Linux peuvent utiliser la diffusion en continu d'instance à instance et l'outil fpsync pour transférer des données à partir d'OCI. Pour obtenir des exemples, voir Transfert de données sur place vers le stockage de fichiers. La même technique peut être utilisée à l'envers. Assurez-vous que la connectivité réseau est établie entre l'instance source et la destination.

Transfert de données sur place vers le stockage de fichiers

Les scénarios suivants se sont avérés efficaces pour les utilisateurs Linux et Windows lors du transfert de grandes quantités de données du stockage sur place vers le service de stockage de fichiers OCI. Ils peuvent ne pas s'appliquer à tous les environnements ou répondre à toutes les exigences. Vous pouvez utiliser des scénarios et des outils similaires pour transférer des données du service File Storage vers le service de stockage sur place ou d'autres fournisseurs.

Pour les utilisateurs Linux

Utilisez l'outil fpsync pour effectuer une copie initiale des données sur place vers le stockage de fichiers OCI. Ensuite, les modifications de données incrémentielles peuvent être synchronisées à l'aide de rsync, car fpsync ne peut pas supprimer les fichiers et dossiers de la destination qui n'existent pas dans la source.

L'outil fpsync est un encapsuleur parallèle de rsync. Les utilisateurs de Linux peuvent télécharger fpsync à partir d'un référentiel yum. Les commandes diffèrent selon la version de Linux.

  1. Télécharger à partir du référentiel.

    Les utilisateurs de Linux 8 peuvent télécharger l'outil à l'aide de la commande suivante :

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    

    Les utilisateurs de Linux 9 peuvent télécharger l'outil à l'aide de la commande suivante :

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    
  2. Installez l'outil :
    sudo yum install fpart -y

Avant de commencer le transfert de données, remplissez les préalables suivants :

  • Assurez-vous que la connectivité réseau est établie entre la source de données sur place et OCI. Utilisez la connexion FastConnect ou RPV site à site pour activer la diffusion en continu rapide d'instance à instance au moyen de SSH.
  • Créer une instance Oracle Linux dans OCI.
  • Attachez ou montez le partage de stockage sur place sur un serveur Linux. Une instance dédiée est recommandée.

Dans ce scénario, nous suggérons que la copie initiale utilise fpsync. Plus tard, les synchronisations incrémentielles utilisent rsync, car fpsync n'a pas l'option --delete.

  1. Montez le système de fichiers dans l'instance Oracle Linux.
  2. Exécutez la commande suivante à partir du serveur Linux sur place où le partage source est attaché ou monté pour effectuer la copie initiale :
    fpsync -vv -n `nproc` -f 2000 -o "-arxH --progress --log-file fpsync.log -e ssh" /<source>/ <user>@<oci_linux_instance>:/file_storage_destination/
  3. (Facultatif) Si vous devez exécuter une synchronisation incrémentielle jusqu'à une date spécifique, vous pouvez programmer la commande rsync suivante en tant que tâche cron :
    rsync -arxH --delete --progress --log-file rsync.log -e ssh" /source/ <user>@<oci_linux_instance>:/file_storage_destination/
Pour plus d'options fpsync, consultez la page de manuel fpsync.

Pour les utilisateurs Windows

N'utilisez pas les outils de copie Windows pour les copies de données volumineuses dans le service de stockage de fichiers. Utilisez plutôt une instance Linux pour OCI pour effectuer des copies volumineuses à l'aide des outils parallèles fournis avec une instance Linux pour OCI. Montez le partage Windows en tant que partage CIFS et utilisez un outil de copie tel que parcp ou fpsync pour transférer des données.

Comme le protocole SMB et le protocole NFS utilisés par le service de stockage de fichiers ne sont pas compatibles, une instance qui peut monter à la fois le système de fichiers NFS et le partage SMB est utilisée pour créer un pont entre eux.

  1. Identifiez ou créez une instance Linux dans Oracle Cloud Infrastructure qui a un accès réseau au système de fichiers du service Stockage de fichiers et au partage SMB Windows.
  2. Ouvrez une fenêtre de terminal sur l'instance.
  3. Tapez ce qui suit pour installer l'utilitaire CIFS (Common Internet File System) et vérifier son installation :

    $sudo yum install -y cifs-utils
    $rpm -qa|grep cifs
  4. Montez le partage SMB Windows en tant que partage CIFS .

    1. Créez un répertoire de point de montage. Par exemple :

      sudo mkdir /mnt/win_share
    2. Montez le partage CIFS :

      sudo mount -t cifs -o username=<win_share_user> //<win_IP_address/hostname>/<share_name> /mnt/<win_share_dir>

      Par exemple :

      $sudo mount -t cifs -o username=opc //win2012/c /mnt/win_share
  5. Copiez les fichiers du partage CIFS vers le système de fichiers monté à l'aide de l'utilitaire parcp de la suite d'outils parallèles du service de stockage de fichiers ou de fpsync. Pour des informations sur l'installation de parcp, voir Utilisation des outils parallèles de stockage de fichiers. Pour plus d'informations sur fpsync, consultez la page de manuel fpsync.

    Par exemple :

    parcp -P 32 /mnt/win_share /mnt/MyFilesystem
    fpsync -v -n 8 -f 101 -o "-lptgoD -v --numeric-ids -e ssh" /mnt/win_share /mnt/MyFilesystem

Utilisation du service de flux d'instance à instance pour transférer des données de stockage de fichiers

L'outil fpsync est un encapsuleur parallèle de rsync. Vous pouvez utiliser la diffusion en continu fpsync et d'instance à instance pour transférer des données entre des systèmes de fichiers de stockage de fichiers montés.

Pour installer fpsync, activez le référentiel Oracle Linux Developer, qui inclut l'utilitaire fpsync, sur l'instance OCI à l'aide d'une commande telle que suivante. La commande diffère en fonction de la version d'Oracle Linux utilisée :

yum --enablerepo ol7_developer_EPEL install -y fpart
yum --enablerepo ol8_developer_EPEL install -y fpart

Après avoir installé l'outil, utilisez une commande de diffusion en continu d'instance à instance telle que celle-ci pour diffuser les données :

fpsync -o "-e ssh --progress" /<fss_src_region>/test <ssh_user>@<remote_ip>:/<fss_dest_region>/

Pour plus d'informations et pour connaître les options, voir la page de manuel fpsync.

Voici un exemple illustrant la différence de performance entre les deux approches :

# date; time fpsync -o "-e ssh --progress --log-file ~/speedtest.log" /fss_src_bom/test root@DR_hyd:/fss_dest_hyd/ ; date
Sun Mar 13 15:22:58 GMT 2022

real 0m1.467s
user 0m0.111s
sys 0m0.075s
Sun Mar 13 15:23:00 GMT 2022

# ls -ltrd test
drwxr-xr-x. 2 root root 1 Mar 13 15:22 test
# du -sh test
1001M test
# cp -r test test1

# date; time fpsync -o "--progress --log-file ~/speedtest1.log" /fss_src_bom/test1 /fss_dest_hyd/ ; date
Sun Mar 13 15:25:16 GMT 2022

real 1m28.847s
user 0m3.688s
sys 0m1.439s
Sun Mar 13 15:26:44 GMT 202