Maison > Article > Opération et maintenance > Qu'est-ce que fastdfs et docker
fastdfs est un système de fichiers distribué open source. Ses fonctions incluent le stockage de fichiers, la synchronisation de fichiers, l'accès aux fichiers, etc., qui résout les problèmes de stockage de grande capacité et d'équilibrage de charge. Docker est un moteur de conteneur d'application open source qui peut empaqueter ; applications et packages de dépendances dans une image portable.
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.
FastDFS est un système de fichiers distribué open source écrit en langage C. FastDFS est conçu sur mesure pour Internet, prenant pleinement en compte la sauvegarde redondante, l'équilibrage de charge, l'expansion linéaire et d'autres mécanismes, et se concentrant sur la haute disponibilité, les hautes performances et d'autres indicateurs. Grâce à FastDFS, il est facile de créer un cluster de serveurs de fichiers hautes performances. pour fournir le téléchargement et le téléchargement de fichiers En attente de service.
L'architecture FastDFS comprend le serveur Tracker et le serveur de stockage. Le client demande au serveur Tracker de charger et de télécharger les fichiers, et le serveur de stockage termine finalement le téléchargement et le téléchargement des fichiers via la planification du serveur Tracker.
Le rôle du serveur Tracker est l'équilibrage de charge et la planification. Grâce au serveur Tracker, vous pouvez trouver le serveur de stockage pour fournir des services de téléchargement de fichiers conformément à certaines politiques lors du téléchargement de fichiers. Le tracker peut être appelé serveur de suivi ou serveur de planification.
Le serveur de stockage est utilisé pour le stockage de fichiers. Les fichiers téléchargés par le client sont finalement stockés sur le serveur de stockage. Storageserver n'implémente pas son propre système de fichiers mais utilise le système de fichiers du système d'exploitation pour gérer les fichiers. Le stockage peut être appelé serveur de stockage.
Deux rôles côté serveur :
Tracker : gère le cluster, et tracker peut également mettre en œuvre le clustering. Chaque nœud de suivi a le même statut. Collectez l'état du cluster de stockage.
Stockage : enregistrez réellement les fichiers, le stockage est divisé en plusieurs groupes et les fichiers enregistrés entre chaque groupe sont différents. Chaque groupe peut avoir plusieurs membres. Le contenu stocké à l'intérieur des membres du groupe est le même. Le statut des membres du groupe est le même.
Processus de téléchargement de fichier
Une fois que le client a téléchargé le fichier, le serveur de stockage renvoie l'ID de fichier au client. Cet ID de fichier est utilisé pour accéder aux informations d'index du fichier dans le fichier. avenir. Les informations d'index de fichiers incluent : le nom du groupe, le chemin du disque virtuel, le répertoire de données à deux niveaux et le nom du fichier.
Nom du fichier
group1/M00/00/00/wKi9hVz-GUKABj4gAAOTipWhnKM434.jpg
Nom du groupe : le nom du groupe de stockage sur lequel le fichier est téléchargé. Une fois le téléchargement réussi, le serveur de stockage revient et le client. doit le sauvegarder tout seul.
Chemin du disque virtuel : le chemin virtuel configuré par le stockage, correspondant à l'option disque store_path*. Si store_path0 est configuré, il s'agit de M00, si store_path1 est configuré, il s'agit de M01, et ainsi de suite.
Répertoire de données à deux niveaux : un répertoire à deux niveaux créé par le serveur de stockage sous chaque chemin de disque virtuel, utilisé pour stocker les fichiers de données.
Nom du fichier : différent de celui au moment où le fichier est téléchargé. Il est généré par le serveur de stockage sur la base d'informations spécifiques. Le nom du fichier comprend : l'adresse IP du serveur de stockage source, l'horodatage de création du fichier, la taille du fichier, le nombre aléatoire, l'extension du fichier et d'autres informations.
Simple FastDFS
4.1 Obtenez l'image
Vous pouvez utiliser l'image Docker FastDFS existante pour exécuter FastDFS.
Vous pouvez obtenir l'image en téléchargeant
docker image pull delron/fastdfs
ou vous pouvez utiliser directement le fichier de sauvegarde d'image existant
docker load -i 文件路径/fastdfs_docker.tar
Après avoir chargé l'image, vous pouvez démarrer le tracker et le stockage en exécutant FastDFS.
4.2. Exécuter le tracker
Exécutez la commande suivante pour démarrer le service de suivi
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
Nous mappons le répertoire d'exécution du tracker fastDFS au répertoire /var/fdfs/tracker de la machine locale.
Exécutez la commande suivante pour vérifier si le tracker est en cours d'exécution
docker container ls
Si vous souhaitez arrêter le service de tracker, vous pouvez exécuter la commande suivante
docker container stop tracker
Après l'arrêt, réexécutez le tracker, vous pouvez exécuter la commande suivante
docker container start tracker
4.3. Exécuter le stockage
Exécutez comme suit Commande pour démarrer le service de stockage
docker run -dti --network=host --name storage -e TRACKER_SERVER=10.211.55.5:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
TRACKER_SERVER=L'adresse IP de cette machine : 22122. N'utilisez pas 127.0.0.1 pour l'adresse IP locale
Nous mappons le fastDFS répertoire d'exécution du stockage dans le répertoire /var/fdfs/storage de cette machine
Exécuter Exécutez la commande suivante pour vérifier si le stockage est en cours d'exécution
docker container ls
Si vous souhaitez arrêter le service de stockage, vous pouvez exécuter la commande suivante
docker container stop storage
Après l'arrêt, réexécutez le stockage, vous pouvez exécuter la commande suivante
docker container start storage
Remarque : si elle ne peut pas être réexécutée, vous pouvez supprimer le fichier /var/fdfs fdfs_storaged.pid dans le répertoire /storage/data, puis exécuter le stockage. encore.
Apprentissage recommandé : "Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!