Conditions requises pour les transferts de système de fichiers

Avant de créer une tâche de transfert de système de fichiers, vous devez activer les API requises et installer Docker.

Si vous recevez des messages d'erreur lors de la configuration initiale, vérifiez que l'utilisateur avec lequel vous vous êtes connecté dispose des autorisations nécessaires pour effectuer la configuration. Dans de nombreux cas, ces autorisations ne sont pas disponibles pour tous les utilisateurs et vous devrez peut-être contacter un administrateur de projet pour obtenir de l'aide.

Configuration requise

Pour utiliser le service de transfert de stockage pour les transferts du système de fichiers, vous avez besoin des éléments suivants:

Les exigences de la machine de l'agent de transfert sont répertoriées ci-dessous:

  • Un serveur ou une machine virtuelle Linux 64 bits compatible avec Docker qui peut accéder aux données que vous prévoyez de transférer. Docker Community Edition, est compatible avec les systèmes d'exploitation CentOs, Debian, Fedora et Ubuntu.

    Pour utiliser d'autres systèmes d'exploitation Linux, consultez la page sur Docker Enterprise.

  • Au minimum 8 Go de mémoire par conteneur et au moins quatre processeurs pour être plus efficace.

  • Toutes les contraintes au niveau du système ou de l'utilisateur sur le nombre d'ID de processus autorisés, telles que configurées avec ulimit -u, doivent tenir compte du nombre d'agents que vous prévoyez d'exécuter. Chaque processus d'agent peut créer jusqu'à plusieurs centaines de threads. Nous vous recommandons de supprimer les limites d'ID de processus lorsque vous exécutez les agents de transfert.

    Les clients utilisant Podman pour créer des conteneurs d'agents doivent spécifier une valeur --pids-limit suffisamment élevée pour accueillir les threads de l'agent de service de transfert de stockage. La valeur --pids-limit par défaut est 2 048, ce qui peut entraîner des problèmes lors de l'exécution de plusieurs agents. Nous vous recommandons de définir --pids-limit=-1 pour autoriser un nombre illimité d'ID de processus par conteneur.

Restrictions liées au scaling des tâches et des agents

Le service de transfert de stockage présente les restrictions de scaling suivantes pour les agents et les tâches de transfert:

  • Le nombre de fichiers par tâche doit être inférieur à un milliard.
  • Jusqu'à 100 agents par pool d'agents
  • La limite de bande passante doit être supérieure à 1 Mbit/s.

De plus, le nombre d'agents et de pools d'agents par projet est limité par le nombre d'abonnements Pub/Sub qu'ils consomment:

  • Chaque projet accepte jusqu'à 10 000 abonnements.
  • Un pool d'agents nécessite 20 abonnements.
  • Chaque agent nécessite un abonnement.

Par exemple, un pool d'agents contenant 100 agents nécessite 120 abonnements. Par conséquent, un projet peut accepter 83 pools d'agents de 100 agents (10,000 / 120 = 83.3).

Activer les API

  1. Activez Google Storage Transfer API.

    Activer l'API

  2. Activez Pub/Sub API.

    Activer l'API

Installer Docker

Installez Docker Community Edition sur une machine Linux physique ou virtuelle en procédant comme suit :

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker

Si des erreurs se produisent pendant l'installation, consultez la section Dépannage.

Autoriser l'authentification de Docker

Pour permettre au conteneur Docker de s'authentifier avec vos identifiants par défaut gcloud, créez un volume Docker contenant un fichier avec les identifiants par défaut de votre application en exécutant la commande suivante:

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

Étape suivante