Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeurs pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Déplacement de données vers les services OCI Cloud Storage à l'aide d'OCI Object Storage Sync et de l'outil s5cmd
Introduction
Voici le tutoriel 3 d'une série de quatre tutoriels qui vous montre différentes façons de migrer des données vers les services de stockage cloud Oracle Cloud Infrastructure (OCI). La série est configurée pour vous permettre de consulter le tutoriel 1 : Utilisation des outils de migration pour déplacer des données vers les services OCI Cloud Storage afin d'acquérir une connaissance approfondie des différents outils, puis de passer aux tutoriels ou documents associés correspondant à vos besoins en matière de migration. Ce tutoriel se concentrera sur l'utilisation d'OCI Object Storage Sync (synchronisation de système de fichiers) et de s5cmd pour migrer les données de système de fichiers (y compris OCI File Storage) vers et depuis OCI Object Storage.
OCI fournit aux clients des options de calcul haute performance et de stockage cloud à faible coût. Grâce au stockage local, d'objets, de fichiers, de blocs et d'archives à la demande, Oracle répond aux exigences et aux cas d'emploi clés en matière de charge globale de stockage.
Les services de stockage cloud OCI offrent des options de stockage cloud rapides, sécurisées et durables pour tous vos besoins d'entreprise. A partir d'options hautes performances telles qu'OCI File Storage avec Lustre et le service OCI Block Volumes, de systèmes de fichiers entièrement gérés à l'échelle d'exaoctets du service OCI File Storage avec des cibles de montage hautes performances, à OCI Object Storage hautement durable et évolutif. Nos solutions peuvent répondre à vos demandes, allant des applications exigeantes en performances telles que les workloads d'IA/ML aux lacs de données à l'échelle des exaoctets.
-
OCI Object Storage Sync fait partie de l'interface de ligne de commande Oracle Cloud Infrastructure (interface de ligne de commande OCI), qui synchronise un répertoire de système de fichiers avec les objets d'un bucket. La commande parcourt les sous-répertoires copiant des fichiers ou des objets nouveaux et modifiés de la source vers la destination et, éventuellement, supprime ceux qui ne sont pas présents dans la source.
-
L'outil s5cmd est un projet open source gratuit. s5cmd permet de parcourir et de transférer des données vers/depuis des banques d'objets compatibles S3 (y compris OCI Object Storage) vers/depuis des données de système de fichiers (y compris OCI File Storage). Il est écrit dans la langue Go.
Déterminez la quantité de données à migrer et le temps d'inactivité disponible pour le basculement vers la nouvelle plate-forme de stockage OCI. Les migrations par lots sont un bon choix pour décomposer la migration en incréments gérables. Les migrations par lots vous permettent de planifier un temps d'arrêt pour des applications spécifiques dans différentes fenêtres. Certains clients ont la possibilité d'effectuer une migration ponctuelle sur une fenêtre de maintenance programmée sur 2 à 4 jours. OCI FastConnect peut être utilisé pour créer une connexion privée dédiée entre OCI et votre environnement, avec des vitesses de port de 1G à 400G pour accélérer le processus de transfert de données. OCI FastConnect peut être intégré à des solutions partenaires telles que Megaport et ConsoleConnect pour créer une connexion privée à votre centre de données ou une interconnexion cloud à cloud afin de déplacer les données plus directement d'un autre fournisseur cloud vers le service de stockage cloud OCI. Pour plus d'informations, reportez-vous à FastConnect integration with Megaport Cloud Router.
Public
DevOps ingénieurs, développeurs, administrateurs et utilisateurs de stockage cloud OCI, responsables informatiques, super utilisateurs OCI et administrateurs d'applications.
Objectif
Découvrez comment copier et/ou synchroniser des données de système de fichiers vers/depuis OCI Object Storage à l'aide de l'interface de ligne de commande OCI avec la synchronisation os et l'outil s5cmd.
-
Utilisez la commande
os sync
avec différents paramètres et options. -
Différentes façons d'exécuter l'outil s5cmd pour la migration et la synchronisation des données.
Prérequis
-
Un compte OCI.
-
Instance de machine virtuelle sur OCI pour déployer les outils de migration ou système sur lequel vous pouvez déployer et utiliser les outils de migration.
-
L'interface de ligne de commande OCI est installée avec un fichier de configuration fonctionnel dans votre répertoire de base, dans un sous-répertoire appelé
.oci
. Pour plus d'informations, reportez-vous à la rubrique Configuration du fichier de configuration. -
Accès à un bucket OCI Object Storage.
-
Droits d'accès utilisateur dans OCI pour utiliser OCI Object Storage, avoir accès à la gestion des buckets et des objets ou à la gestion de la famille d'objets pour au moins 1 bucket ou compartiment. Pour plus d'informations, reportez-vous à Stratégies courantes et à Référence de stratégie.
-
Droits d'accès utilisateur permettant de créer, d'exporter et de monter OCI File Storage, ou d'accéder à une cible de montage OCI File Storage déjà montée sur une machine virtuelle, ou à un autre système de fichiers local ou de montage NFS à utiliser pour copier des données vers et à partir de. Pour plus d'informations, reportez-vous à Gestion de la stratégie File Storage.
-
Connaissance de l'utilisation d'une interface de terminal ou de shell sur Mac OS, Linux, Berkeley Software Distribution (BSD), ou sous Windows PowerShell, invite de commande ou bash.
-
Consultez Migration Essentials for Moving Data into OCI Cloud Storage pour installer l'interface de ligne de commande OCI avec la synchronisation os et l'outil s5cmd.
-
Pour connaître les outils de migration que nous pouvons utiliser, reportez-vous au Tutoriel 1 : Utilisation des outils de migration pour déplacer des données vers les services OCI Cloud Storage.
Synchroniser le système de fichiers réseau et les données de système de fichiers local vers/depuis OCI Object Storage
OCI Object Storage Sync fait partie de l'interface de ligne de commande OCI qui synchronise un répertoire de système de fichiers avec les objets d'un bucket. La commande parcourt les sous-répertoires copiant des fichiers ou des objets nouveaux et modifiés de la source vers la destination et, éventuellement, supprime ceux qui ne sont pas présents dans la source. Il s'agit d'un outil pratique permettant de maintenir la synchronisation des données de système de fichiers et des buckets OCI Object Storage. Notre environnement de test a constaté qu'OCI Object Storage Sync fonctionnait bien pour les ensembles de données mixtes et mieux que les autres outils pour les fichiers volumineux (1 To ou plus).
OCI Object Storage prend en charge une API de compatibilité Amazon S3. Les clients qui connaissent déjà la variété des outils Amazon S3 peuvent continuer à les utiliser. L'outil s5cmd est un projet open source gratuit. Il permet de parcourir et de transférer des données vers/à partir d'une banque d'objets compatible S3. Il est écrit dans le langage Go et est optimisé pour le débit parallèle. Lors de nos tests, nous avons constaté que l'outil s5cmd fonctionne mieux pour les petits fichiers (fichiers de moins de 1 Mo jusqu'à 30 Mo) et a exécuté tous les autres outils pour déplacer les petits fichiers. L'outil s5cmd fonctionne également bien pour les ensembles de données mixtes lors du déplacement de données de systèmes de fichiers vers OCI Object Storage.
Si vos données peuvent être organisées en sous-ensembles par répertoires ou préfixes, vous pouvez également augmenter la synchronisation de système d'exploitation et l'exécution de s5cmd sur plusieurs machines virtuelles afin d'améliorer les temps de transfert.
Utiliser la synchronisation OS pour synchroniser
-
Synchronisez les données de système de fichiers local dans OCI Object Storage.
Exécutez la commande
os sync
de base suivante pour synchroniser les fichiers d'un répertoire source dans un bucket de destination.oci os object sync --src-dir <path to migration-files> --bucket-name <bucket name>
Remarque : cette même commande peut être utilisée pour les systèmes de fichiers locaux sur site, les systèmes de fichiers NFS sur site et sur une instance OCI Compute avec des montages NFS OCI File Storage afin de déplacer des données d'OCI File Storage vers un bucket OCI Object Storage.
-
Migrez des données d'OCI Object Storage vers un système de fichiers local.
Exécutez la commande
os sync
de base suivante pour synchroniser les fichiers/objets à partir d'un bucket source dans un système de fichiers de destination.oci os object sync --dest-dir <path to migration-target directory> --bucket-name <bucket name>
Remarque : cette même commande peut être utilisée pour les systèmes de fichiers locaux sur site, les systèmes de fichiers NFS sur site et sur une instance OCI Compute avec un montage NFS OCI File Storage afin de déplacer les données du service OCI File Storage vers un bucket OCI Object Storage.
-
Augmentez les opérations parallèles.
Par défaut, seules 10 opérations sont exécutées en parallèle, l'augmentation des opérations en parallèle améliore les vitesses de transfert de données et consomme plus de ressources système et de bande passante. Dans notre environnement de test, nous avons utilisé
VM.Standard.E4.Flex
avec 24 OCPU, 24Gbps bande passante réseau, 384 Go de mémoire et trouvé 100 opérations parallèles qui fonctionnent le mieux pour les vitesses de transfert. Les machines virtuelles plus grandes peuvent augmenter ce nombre de 10 opérations à la fois jusqu'à ce qu'une vitesse de transfert optimale soit atteinte ou jusqu'à ce que le maximum de 1 000 transferts parallèles soit atteint. Les formes de machine virtuelle plus petites doivent commencer par 10 opérations et augmenter par incréments de 5 à 10 jusqu'à obtenir un débit optimal. Augmentez ou diminuez les opérations parallèles avec l'indicateur suivant.--parallel-operations-count <integer range>
Remarque : si des erreurs commencent à se produire après l'augmentation de l'opération parallèle, en particulier les erreurs avec 429 "TooManyRequests", réduisez les opérations parallèles de 2 jusqu'à ce que les erreurs s'arrêtent.
-
Filtrez les fichiers mis en correspondance à l'aide de la commande pattern.
Les modèles peuvent être utilisés pour inclure ou exclure des fichiers mis en correspondance. Les commandes de modèle peuvent être utilisées plusieurs fois sur la ligne de commande pour correspondre à plusieurs modèles.
-
Pour inclure des fichiers qui correspondent à un modèle, utilisez la commande suivante.
--include
-
Pour exclure des fichiers qui correspondent à un modèle, utilisez la commande suivante.
--exclude
Remarque :
*
: correspond à tous les caractères?
: correspond à n'importe quel caractère unique[sequence]
: correspond à n'importe quel caractère dans la séquence.[!sequence]
: correspond à tout caractère non séquentiel.
-
-
Utilisez l'indicateur
--prefix
.L'indicateur
--prefix
utilisé lors du téléchargement de fichiers vers le stockage d'objet à l'aide de la commande--src-dir
télécharge des objets et ajoute le chemin de répertoire au nom d'objet en tant que préfixe. Lorsqu'ils sont utilisés pour télécharger des objets à partir d'OCI Object Storage, seuls les objets avec le préfixe indiqué sont téléchargés et n'apparaissent pas dans le nom d'objet/de fichier. -
Vérifiez un transfert avant une exécution.
Avant de démarrer un transfert, vous pouvez déterminer les fichiers qui seront téléchargés vers/depuis OCI Object Storage en effectuant une impression uniquement avec la synchronisation os. Exécutez la ligne de commande avec l'indicateur suivant.
--dry-run
Utiliser s5cmd pour synchroniser
-
Commande de synchronisation et de copie.
-
L'option
sync
pour s5cmd effectue une synchronisation unidirectionnelle de la source vers la destination sans modifier les fichiers source et ne supprime pas les fichiers sur la destination qui n'existent pas sur la source. Ajoutez l'indicateur--delete
pour enlever sur la destination les fichiers qui n'existent pas dans la source. -
La commande
copy
copie simplement les objets de la source vers la destination.
-
-
Correspondance de modèle.
L'outil s5cmd prend en charge les caractères génériques à plusieurs niveaux pour les opérations de synchronisation et de copie. Pour ce faire, répertoriez tous les objets avec le préfixe jusqu'au premier caractère générique, puis filtrez les résultats en mémoire.
Lorsque la source est un système de fichiers, les caractères génériques s'appliquent également. Lorsque vous utilisez le caractère
*
, il est parfois interprété comme un caractère générique de type globbing et encapsulé entre apostrophes pour éviter les résultats inattendus.Par exemple, pour copier tous les fichiers gzippés d'un répertoire dans un bucket, exécutez la commande suivante.
s5cmd cp '*.gz' s3:/<bucket name>
-
Commande de synchronisation de base.
-
Synchronisez les données de système de fichiers local dans OCI Object Storage. Exécutez la commande
s5cmd
de base suivante pour synchroniser les fichiers d'un répertoire source dans un bucket de destination.s5cmd sync /<path to migration-files> s3://<bucket name>
-
Synchronisez les données d'OCI Object Storage vers un système de fichiers local. Exécutez la commande
s5cmd
de base suivante pour synchroniser les fichiers/objets à partir d'un bucket source dans un système de fichiers de destination.s5cmd sync s3:/<bucket name>/* /<path to migration-target directory>
Remarque : les mêmes commandes peuvent être utilisées pour les systèmes de fichiers locaux sur site, les systèmes de fichiers NFS sur site et sur une instance OCI Compute avec des montages NFS OCI File Storage afin de déplacer des données d'OCI File Storage vers un bucket OCI Object Storage.
-
-
Commande de copie de base.
Exécutez la commande
s5cmd
de base suivante pour copier les fichiers d'un répertoire source de système de fichiers local vers un bucket de destination OCI Object Storage.s5cmd cp /<path to migration-files> s3://<bucket name>
Copiez les données d'OCI Object Storage vers un système de fichiers local.
s5cmd cp "s3:/<bucket name>/*" /<path to migration-target directory>
Remarque : ces commandes peuvent être utilisées pour les systèmes de fichiers locaux sur site, les systèmes de fichiers NFS sur site et sur une instance de calcul OCI avec des montages NFS OCI File Storage afin de déplacer des données d'OCI File Storage vers un bucket OCI Object Storage. Nos tests ont principalement utilisé la commande de copie avec s5cmd.
-
Augmentez le parallélisme.
L'outil s5cmd exécute 256 processus actifs en parallèle par défaut. Selon la taille de votre machine virtuelle, vous pouvez augmenter ou réduire le parallélisme. Dans notre environnement de test, nous avons utilisé
VM.Standard.E4.Flex
avec 24 OCPU, 24Gbps bande passante réseau, 384 Go de mémoire et avons trouvé 1 000 opérations parallèles qui fonctionnent le mieux pour les vitesses de transfert. Les machines virtuelles plus grandes peuvent augmenter ce nombre de 10 opérations à la fois jusqu'à ce qu'une vitesse de transfert optimale soit atteinte ou jusqu'à ce que le maximum de 1 000 transferts parallèles soit atteint. Les formes de machine virtuelle plus petites doivent commencer par 10 opérations et augmenter par incréments de 5 à 10 jusqu'à obtenir un débit optimal. Augmentez ou diminuez les opérations parallèles avec l'indicateur suivant.--numworkers <interger>
Remarque : si des erreurs commencent à se produire après l'augmentation du nombre de salariés, en particulier les erreurs avec 429 "TooManyRequests", réduisez le nombre de salariés de 2 jusqu'à ce que les erreurs cessent de se produire.
Par exemple, copiez tous les objets d'un bucket dans un répertoire de système de fichiers local.
s5cmd --numworkers 1000 cp "s3://MyBucket/*" /my/directory
Remarque : nous avons testé avec jusqu'à 1 500 salariés et nous n'avons constaté aucune amélioration significative. Comme nos tests ont révélé que l'outil s5cmd fonctionnait mieux pour les petits fichiers, nous n'avons trouvé aucun avantage à utiliser l'indicateur
concurrency
pour les fichiers nécessitant des téléchargements multipart et l'utilisation d'un nombre élevé de processus actifs a montré les meilleures performances globales.
Environnements de test (facultatif)
Les recommandations sont basées sur les tests et les interactions avec les clients.
Remarque : les résultats de Rclone sont inclus pour fournir plus d'informations. Pour plus d'informations sur l'utilisation de Rclone, reportez-vous au tutoriel 2 : déplacement de données vers OCI Cloud Storage Services à l'aide de Rclone.
Environnement de test 1:
1 instance de machine virtuelle VM.Standard.E4.Flex
, 1 OCPU, 1Gbps bande passante réseau, 16 Go de mémoire. Pour simuler une migration sur site vers OCI, les données copiées de NFS PHX vers IAD ont été copiées.
Ensembles de données
-
Ensemble de données 1:
Taille totale Nombre de fichiers Plage de tailles de fichier 3TB 3 1TB Méthode A - De Temps Commande Indicateurs synchronisation os NFS/Fichier PHX vers Object IAD 123m17.102s S/O --parallel-operations-count 100
s5cmd NFS/Fichier PHX vers Object IAD 239m20.625s copier run commands.txt
, exécution par défaut--numworkers 256
rclone NFS/Fichier PHX vers Object IAD 178m27.101s copier --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest
Remarque : nos tests ont montré que
os sync
fonctionnait le plus rapidement pour cet ensemble de données. -
Ensemble de données 2:
Taille totale Nombre de fichiers Plage de tailles de fichier 9.787GB 20 000 1 Mo Méthode A - De Temps Commande Indicateurs s5cmd NFS/Fichier PHX vers Object IAD 1m12.746s copier exécution par défaut --numworkers 256
synchronisation os NFS/Fichier PHX vers Object IAD 2m48.742s S/O --parallel-operations-count 1000
rclone NFS/Fichier PHX vers Object IAD 1m52.886s copier --transfers=500 --oos-no-check-bucket --no-check-dest
Remarque : nos tests ont montré que s5cmd était le mieux adapté à cet ensemble de données.
Environnement de test 2:
Instances de machine virtuelle : 1 à 2 instances de machine virtuelle ont été utilisées pour chaque test. Nous avons utilisé un élément VM.Standard.E4.Flex
avec 24 OCPU, une bande passante réseau 24Gbps et 384 Go de mémoire. Oracle Linux 8 a été utilisé pour les tests Linux.
Ensembles de données
-
Ensemble de données 1:
14 répertoires principaux avec le nombre et la taille de fichiers suivants.
Répertoire d'ensemble de données Taille Nombre de fichiers Taille de chaque fichier Répertoire 1 107.658 Gio 110 242 1 Mio Répertoire 2 1.687 Gio 110 569 15 Mio Répertoire 3 222 Gio 111 2 Gio Répertoire 4 1.265 Tio 1 295 1 Gio Répertoire 5 26.359 Gio 1 687 16 Mio Répertoire 6 105.281 Mio 26 952 4 kio Répertoire 7 29.697 Mio 30 410 1 kio Répertoire 8 83.124 Gio 340 488 256 kio Répertoire 9 21.662 Gio 354 909 64 kio Répertoire 10 142.629 Gio 36 514 4 Mio Répertoire 11 452.328 Mio 57 898 8 Mio Répertoire 12 144 Gio 72 2Gio Répertoire 13 208.500 Gio 834 256 Mio Répertoire 14 54.688 Gio 875 64 Mio Remarque :
- Les 14 répertoires ont été répartis entre les 2 instances de machine virtuelle.
- Chaque machine virtuelle exécutait 7 commandes/processus, 1 pour chaque répertoire, sauf indication contraire.
Méthode A - De Temps Commande Indicateurs/Notes s5cmd NFS/Fichier PHX vers Object IAD 54m41.814s copier --numworkers 74
synchronisation os NFS/Fichier PHX vers Object IAD 65m43.200s S/O --parallel-operations-count 50
rclone NFS/Fichier PHX vers Object IAD 111m59.704s copier --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
Remarque : nos tests ont montré que s5cmd fonctionnait le plus rapidement, la synchronisation os se faisant assez bien par rapport à Rclone.
Etapes suivantes
Passez au(x) tutoriel(s) correspondant(s) à vos besoins en matière de migration. Pour déplacer des données vers les services de stockage cloud OCI, procédez comme suit :
-
A l'aide de Rclone, reportez-vous au tutoriel 2 : Déplacement de données vers OCI Cloud Storage Services à l'aide de Rclone.
-
A l'aide de Fpsync et de Rsync pour les migrations de données de système de fichiers, reportez-vous à Tutoriel 4 : Déplacement de données vers les services OCI Cloud Storage à l'aide de Fpsync et de Rsync pour les migrations de données de système de fichiers.
Liens connexes
-
Notions fondamentales relatives à la migration des données vers OCI Cloud Storage
-
Tutoriel 2 : Déplacement de données vers les services de stockage cloud OCI à l'aide de Rclone
-
Synchronisation Object Storage de l'interface de ligne de commande OCI
Remerciements
- Auteur - Melinda Centeno (chef de produit principal senior, OCI Object Storage)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation produit, consultez le site Oracle Help Center.
Move Data into OCI Cloud Storage Services using OCI Object Storage Sync and the s5cmd Tool
G25642-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.