<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archives des RedHat/Centos Linux - CoffeeBreak Info</title>
	<atom:link href="https://coffeebreak.en-images.info/category/systeme-linux/redhat-centos-linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://coffeebreak.en-images.info/category/systeme-linux/redhat-centos-linux/</link>
	<description>Une petite pause :)</description>
	<lastBuildDate>Sat, 26 Jul 2025 10:44:36 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://coffeebreak.en-images.info/wp-content/uploads/2021/07/cropped-Tasse_Cafe-scaled-1-32x32.jpg</url>
	<title>Archives des RedHat/Centos Linux - CoffeeBreak Info</title>
	<link>https://coffeebreak.en-images.info/category/systeme-linux/redhat-centos-linux/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>MODOP – Mise en place d&#8217;une infrastructure IPFS décentralisée et hautement disponible sur réseau public &#8211; Partie 1</title>
		<link>https://coffeebreak.en-images.info/modop-mise-en-place-dune-infrastructure-ipfs-decentralisee-et-hautement-disponible-sur-reseau-public-partie-1/</link>
					<comments>https://coffeebreak.en-images.info/modop-mise-en-place-dune-infrastructure-ipfs-decentralisee-et-hautement-disponible-sur-reseau-public-partie-1/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:41:32 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9438</guid>

					<description><![CDATA[<p>MODOP sur l’installation d’une infrastructure robuste et distribuée pour le stockage et la diffusion de fichiers à l’échelle mondiale. Elle repose sur le protocole IPFS (InterPlanetary File System), basé sur une architecture P2P comprenant un nœud leader responsable de la gestion des pins, accompagné de deux peers assurant la réplication des données. L’ensemble des machines est configuré en RAID1 afin de garantir une redondance locale des données sur chaque nœud. Connectées via le réseau public (Internet), elles offrent une accessibilité universelle et permettent une mise à l’échelle mondiale du partage de contenu. Grâce à l'adressage par CID (Content Identifier) et à la nature décentralisée du protocole IPFS, si l’un des nœuds devient indisponible, les autres peuvent continuer à servir les fichiers, assurant ainsi une haute disponibilité .L'architecture distribuée, couplée à une répartition géographique des peers, optimise la latence et la performance du système pour les utilisateurs finaux. Ce type d'infrastructure est particulièrement adapté aux cas d’usage nécessitant scalabilité, résilience et disponibilité continue, tels que le stockage de données sensibles, l’hébergement web décentralisé ou les applications Web.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-mise-en-place-dune-infrastructure-ipfs-decentralisee-et-hautement-disponible-sur-reseau-public-partie-1/">MODOP – Mise en place d&rsquo;une infrastructure IPFS décentralisée et hautement disponible sur réseau public &#8211; Partie 1</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" width="1400" height="548" class="wp-image-9439" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-1.png 1400w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-1-300x117.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-1-1024x401.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-1-768x301.png 768w" sizes="(max-width: 1400px) 100vw, 1400px" /></p>
<h2><span style="color: #000000;">1. Inventaire du Cluster</span></h2>
<h4><span style="color: #000000;">Hostname</span></h4>
<ul>
<li>Node-ipfsl : IP = <strong>192.168.1.70 (leader)</strong></li>
<li>Node-ipfsp1 : IP = <strong>192.168.1.71 (peer n°1)</strong></li>
<li>Node-ipfsp2 : IP = <strong>192.168.1.72 (peer n°2)</strong></li>
</ul>
<h4><span style="color: #000000;">HDD</span></h4>
<ul>
<li>Disque SCSI0 : Système</li>
<li>Disque SCSI1 &amp; SCSI2 : RAID1</li>
</ul>
<h2><span style="color: #000000;">2. Installation des prérequis (3 nœuds)</span></h2>
<h3><span style="color: #000000;">Update machine</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">dnf -y update</span></pre>
<h3><span style="color: #000000;">Desactiver SELinux </span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">setenforce 0</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">getenforce</span>
<span style="color: #ff0000;"><em>Permissive</em></span></pre>
<h3><span style="color: #000000;">Paramétrage ntp </span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> timedatectl</span></pre>
<p><img decoding="async" width="639" height="162" class="wp-image-9440" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-2.png 639w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-2-300x76.png 300w" sizes="(max-width: 639px) 100vw, 639px" /></p>
<h3><span style="color: #000000;">Installation paquets utils</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">dnf install epel-release net-tools nmap wget tar -y</span></pre>
<h2><span style="color: #000000;">3. Configuration RAID1 (3 nœuds)</span></h2>
<h3><span style="color: #000000;">Inventaire des disques</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">lsblk</span></pre>
<p><img decoding="async" width="602" height="178" class="wp-image-9441" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-3.png 602w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-3-300x89.png 300w" sizes="(max-width: 602px) 100vw, 602px" /></p>
<h3><span style="color: #000000;">Installation du paquet RAID Logiciel</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">yum -y install mdadm</span></pre>
<h3><span style="color: #000000;">Chargement des modules RAID</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> modprobe linear</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">modprobe raid1</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">cat /proc/mdstat</span></pre>
<p><img loading="lazy" decoding="async" width="496" height="106" class="wp-image-9442" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-4.png 496w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-4-300x64.png 300w" sizes="auto, (max-width: 496px) 100vw, 496px" /></p>
<h3><span style="color: #000000;">Chargement des modules RAID (On Boot)</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> echo "modprobe linear" &gt;&gt; /etc/rc.local</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">echo "modprobe raid1" &gt;&gt; /etc/rc.local</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">chmod +x /etc/rc.local</span></pre>
<h3><span style="color: #000000;">Examen des volumes disques</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">mdadm -E /dev/sd[b-c]</span>
<span style="color: #ff0000;"><em>mdadm: No md superblock detected on /dev/sdb.</em></span>
<span style="color: #ff0000;"><em>mdadm: No md superblock detected on /dev/sdc.</em></span></pre>
<h3><span style="color: #000000;">Partitionnement des disques en mode RAID</span></h3>
<h4><span style="color: #000000;">Disque /dev/sdb</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">parted -s /dev/sdb mklabel msdos</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">parted -s /dev/sdb mkpart primary 1MiB 100</span>%
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> parted -s /dev/sdb set 1 raid on</span></pre>
<h4><span style="color: #000000;">Disque /dev/sdc</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> parted -s /dev/sdc mklabel msdos</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">parted -s /dev/sdc mkpart primary 1MiB 100%</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">parted -s /dev/sdc set 1 raid on</span>

[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">fdisk -l /dev/sd[b-c] |grep RAID</span></pre>
<p><img loading="lazy" decoding="async" width="722" height="164" class="wp-image-9443" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-5.png 722w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-5-300x68.png 300w" sizes="auto, (max-width: 722px) 100vw, 722px" /></p>
<h3><span style="color: #000000;">Création du RAID 1 </span></h3>
<h4><span style="color: #000000;"><strong>Inventaire des deux disques</strong></span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">mdadm -E /dev/sd[b-c]</span></pre>
<p><img loading="lazy" decoding="async" width="579" height="127" class="wp-image-9444" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-6.png 579w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-6-300x66.png 300w" sizes="auto, (max-width: 579px) 100vw, 579px" /></p>
<h4><span style="color: #000000;"><strong>Création RAID </strong></span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1</span></pre>
<p><img loading="lazy" decoding="async" width="829" height="160" class="wp-image-9445" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-7.png 829w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-7-300x58.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-7-768x148.png 768w" sizes="auto, (max-width: 829px) 100vw, 829px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">watch -n1 cat /proc/mdstat</span></pre>
<p><img loading="lazy" decoding="async" width="836" height="153" class="wp-image-9446" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-8.png 836w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-8-300x55.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-8-768x141.png 768w" sizes="auto, (max-width: 836px) 100vw, 836px" /></p>
<p><img loading="lazy" decoding="async" width="805" height="136" class="wp-image-9447" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-9.png 805w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-9-300x51.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-9-768x130.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-9-800x136.png 800w" sizes="auto, (max-width: 805px) 100vw, 805px" /></p>
<p><img loading="lazy" decoding="async" width="488" height="126" class="wp-image-9448" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-10.png 488w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-10-300x77.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></p>
<h4><span style="color: #000000;">Inventaire des disques RAID</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> lsblk</span></pre>
<p><img loading="lazy" decoding="async" width="756" height="215" class="wp-image-9449" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-11.png 756w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-11-300x85.png 300w" sizes="auto, (max-width: 756px) 100vw, 756px" /></p>
<h2><span style="color: #000000;">4. Préparation du Volume RAID (3 machines)</span></h2>
<h3><span style="color: #000000;">Formatage sur disque Raid1</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">mkfs.ext4 /dev/md0</span></pre>
<p><img loading="lazy" decoding="async" width="762" height="229" class="wp-image-9450" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-12.png 762w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-12-300x90.png 300w" sizes="auto, (max-width: 762px) 100vw, 762px" /></p>
<h3><span style="color: #000000;">Création du Volume IPFS</span></h3>
<pre>[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> ~]# <span style="color: #ff0000;">mkdir -p /mnt/ipfs-data</span></pre>
<h3><span style="color: #000000;">Montage du Volume IPFS</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">echo "/dev/md0 /mnt/ipfs-data ext4 defaults 0 2" &gt;&gt; /etc/fstab</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">systemctl daemon-reload</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">mount -a</span>

[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">df -h |grep ipfs</span></pre>
<p><img loading="lazy" decoding="async" width="803" height="119" class="wp-image-9451" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-13.png 803w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-13-300x44.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-13-768x114.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-13-800x119.png 800w" sizes="auto, (max-width: 803px) 100vw, 803px" /></p>
<h2><span style="color: #000000;">5. Installer et configure GO (3 machines)</span></h2>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">cd /home</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://go.dev/dl/go1.24.4.linux-amd64.tar.gz">https://go.dev/dl/go1.24.4.linux-amd64.tar.gz</a></span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">tar -xvf go1.24.4.linux-amd64.tar.gz</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> mv go /usr/local</span>

[root@node-<strong><span style="color: #ff0000;">ipfsx</span> </strong>home]# <span style="color: #ff0000;">mkdir $HOME/gopath</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">vi $HOME/.bashrc</span>
<span style="color: #ff0000;"><em>#export PATH</em></span>
<span style="color: #ff0000;"><em>export GOROOT=/usr/local/go</em></span>
<span style="color: #ff0000;"><em>export GOPATH=$HOME/gopath</em></span>
<span style="color: #ff0000;"><em>export PATH=$PATH:$GOROOT/bin:$GOPATH/bin</em></span></pre>
<p><img loading="lazy" decoding="async" width="435" height="86" class="wp-image-9452" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-14.png 435w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-14-300x59.png 300w" sizes="auto, (max-width: 435px) 100vw, 435px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">source ~/.bashrc</span>
[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong> </span>home]#<span style="color: #ff0000;"> go version</span></pre>
<p><img loading="lazy" decoding="async" width="399" height="54" class="wp-image-9453" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-15.png 399w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-15-300x41.png 300w" sizes="auto, (max-width: 399px) 100vw, 399px" /></p>
<h2><span style="color: #000000;">6. Règles firewall peer client (3 machines)</span></h2>
<ul>
<li>4001 TCP Connexions entrantes (swarm IPFS)</li>
<li>5001 TCP (optionnel) API IPFS (utile pour le contrôle à distance)</li>
<li>8080 TCP (optionnel) Passerelle HTTP (consultation via navigateur)</li>
<li>9094 TCP IPFS Cluster</li>
<li>9096 TCP Communications internes entre pairs du cluster</li>
</ul>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --add-port={4001,5001,9094,9095,9096}/tcp --permanent</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --add-port=4001/udp --permanent</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --reload</span></pre>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --list-all</span></pre>
<p><img loading="lazy" decoding="async" width="648" height="246" class="wp-image-9454" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-16.png 648w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-16-300x114.png 300w" sizes="auto, (max-width: 648px) 100vw, 648px" /></p>
<h2><span style="color: #000000;">7. Installation Kubo (go-ipfs) &#8211; IPFS (3 machines)</span></h2>
<ul>
<li>https://dist.ipfs.tech/kubo/v0.35.0/</li>
</ul>
<p><img loading="lazy" decoding="async" width="853" height="544" class="wp-image-9455" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-17.png 853w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-17-300x191.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-17-768x490.png 768w" sizes="auto, (max-width: 853px) 100vw, 853px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">cd /home</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span> </strong>home]# <span style="color: #ff0000;">wget https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> tar -xzvf kubo_v0.35.0_linux-amd64.tar.gz kubo/</span></pre>
<p><img loading="lazy" decoding="async" width="607" height="145" class="wp-image-9456" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-18.png 607w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-18-300x72.png 300w" sizes="auto, (max-width: 607px) 100vw, 607px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> cd kubo &amp;&amp; bash install.sh &amp;&amp; cd ..</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">ipfs --version</span>
<span style="color: #ff0000;"><em>ipfs version 0.35.0</em></span></pre>
<h2><span style="color: #000000;">8. Installation Cluster IPFS (3 machines)</span></h2>
<h3><span style="color: #000000;">Installation paquet Cluster service</span></h3>
<p><em><img loading="lazy" decoding="async" width="852" height="483" class="wp-image-9457" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-19.png 852w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-19-300x170.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-19-768x435.png 768w" sizes="auto, (max-width: 852px) 100vw, 852px" /></em></p>
<pre>[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">cd /home &amp;&amp; wget https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">tar -xzvf ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz ipfs-cluster-service/</span>

[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">mv ipfs-cluster-service/ipfs-cluster-service /usr/local/bin/</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">ipfs-cluster-service --version</span>
<span style="color: #ff0000;"><em>ipfs-cluster-service version 1.1.4</em></span></pre>
<h3><span style="color: #000000;">Installation paquet Cluster ctl</span></h3>
<p><img loading="lazy" decoding="async" width="886" height="465" class="wp-image-9458" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-20.png 886w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-20-300x157.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-20-768x403.png 768w" sizes="auto, (max-width: 886px) 100vw, 886px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> <span style="color: #ff0000;">home]# cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz">https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz</a></span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">tar -xzvf ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz ipfs-cluster-ctl/</span>

[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">mv ipfs-cluster-ctl/ipfs-cluster-ctl /usr/local/bin/</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">ipfs-cluster-ctl --version</span>
<span style="color: #ff0000;"><em>ipfs-cluster-ctl version 1.1.4</em></span></pre>
<h2><span style="color: #000000;">9. Initialisation et Service IPFS (go-ipfs) (3 machines)</span></h2>
<h3><span style="color: #000000;">Définition variable IPFS fichier configuration</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">export IPFS_PATH=/mnt/ipfs-data/ipfs</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> vi $HOME/.bashrc</span></pre>
<p><img loading="lazy" decoding="async" width="519" height="102" class="wp-image-9459" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-21.png 519w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-21-300x59.png 300w" sizes="auto, (max-width: 519px) 100vw, 519px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">source $HOME/.bashrc</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">echo $IPFS_PATH</span>
<span style="color: #ff0000;">/mnt/ipfs-data/ipfs</span></pre>
<h2><span style="color: #000000;">10. Initialisation ipfs des 3 machines</span></h2>
<h3><span style="color: #000000;">Initialisation &amp; réglages Système Node-ipfsl <strong>(leader)</strong></span></h3>
<h4><span style="color: #000000;">Initialisation ipfs</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs init</span>
<span style="color: #ff0000;"><em>generating ED25519 keypair...done</em></span>
<span style="color: #ff0000;"><em>peer identity: </em><strong><em>12D3KooWCWwgEQx51YWB54Fn82JVQJ1SNm52sTHmNtQQAvMr6yza</em></strong></span>
<span style="color: #ff0000;"><em>initializing IPFS node at </em><strong><em>/mnt/ipfs-data/ipfs</em></strong></span></pre>
<h4><span style="color: #000000;">Réglage système</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config --json Datastore.StorageMax '"40GB"'</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://<strong>192.168.1.70:5001</strong>", "http://localhost:3000", "http://127.0.0.1:5001", "https://<strong>node-ipfsl.house.cp</strong>"]'</span></pre>
<h3><span style="color: #000000;">Initialisation Node-ipfsp1&amp; réglages Système (peer n°1)</span></h3>
<h4><span style="color: #000000;">Initialisation ipfs</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs init</span>
<span style="color: #ff0000;"><em>generating ED25519 keypair...done</em></span>
<span style="color: #ff0000;"><em>peer identity: </em><strong><em>12D3KooWJb4HwVbXFuxZSeFAUjocurt7gPw14G6CsZRwTpVgMNdP</em></strong></span>
<span style="color: #ff0000;"><em>initializing IPFS node at </em><strong><em>/mnt/ipfs-data/ipfs</em></strong></span></pre>
<h4><span style="color: #000000;">Réglage système</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs config --json Datastore.StorageMax '"40GB"'</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://<strong>192.168.1.71:5001</strong>", "http://localhost:3000", "http://127.0.0.1:5001", "https://<strong>node-ipfsp1.house.cp</strong>"]'</span></pre>
<h3><span style="color: #000000;">Initialisation Node-ipfsp1 &amp; réglages Système (peer n°2)</span></h3>
<h4><span style="color: #000000;">Initialisation ipfs</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">ipfs init</span>
<span style="color: #ff0000;"><em>generating ED25519 keypair...done</em></span>
<span style="color: #ff0000;"><em>peer identity: </em><strong><em>12D3KooWQ4VuBLMjVvmW4F4fhKxbArFG4Y9SQ3coVBo1PL29qrJx</em></strong></span>
<span style="color: #ff0000;"><em>initializing IPFS node at </em><strong><em>/mnt/ipfs-data/ipfs</em></strong></span></pre>
<h4><span style="color: #000000;">Réglage système</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">ipfs config --json Datastore.StorageMax '"40GB"'</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'</span>
[root@node-<span style="color: #ff0000;">ipfs2</span> home]# <span style="color: #ff0000;">ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://<strong>192.168.1.72:5001</strong>", "http://localhost:3000", "http://127.0.0.1:5001", "https://<strong>node-ipfsp2.house.cp</strong>"]'</span></pre>
<h2><span style="color: #000000;">11. Configuration Service daemon ipfs (3 machines)</span></h2>
<h3><span style="color: #000000;">Création du service</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">vi /etc/systemd/system/ipfs-peer.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=IPFS Node (Pair – stockage RAID1)</em></span>
<span style="color: #ff0000;"><em>After=network.target</em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>User=root</em></span>
<span style="color: #ff0000;"><em>Environment="IPFS_PATH=/mnt/ipfs-data/ipfs"</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/ipfs daemon</em></span>
<span style="color: #ff0000;"><em>Restart=on-failure</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=10240</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h3><span style="color: #000000;">Démarrage du service</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> systemctl daemon-reexec</span>
[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">systemctl daemon-reload</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">systemctl enable ipfs-peer</span>
<span style="color: #ff0000;"><em>Created symlink /etc/systemd/system/multi-user.target.wants/ipfs-peer.service → /etc/systemd/system/ipfs-peer.service.</em></span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">systemctl start ipfs-peer</span></pre>
<h3><span style="color: #000000;">Check du service Node-ipfsl (leader)</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl status ipfs-peer</span></pre>
<p><img loading="lazy" decoding="async" width="1025" height="335" class="wp-image-9460" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-22.png 1025w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-22-300x98.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-22-768x251.png 768w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></p>
<h3><span style="color: #000000;">Check du service Node-ipfsp1 (peer n°1)</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]#<span style="color: #ff0000;"> systemctl status ipfs-peer</span></pre>
<p><img loading="lazy" decoding="async" width="973" height="323" class="wp-image-9461" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-23.png 973w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-23-300x100.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-23-768x255.png 768w" sizes="auto, (max-width: 973px) 100vw, 973px" /></p>
<h3><span style="color: #000000;">Check du service Node-ipfsp2 (peer n°2)</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl status ipfs-peer</span></pre>
<p><img loading="lazy" decoding="async" width="959" height="325" class="wp-image-9462" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-24.png 959w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-24-300x102.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-24-768x260.png 768w" sizes="auto, (max-width: 959px) 100vw, 959px" /></p>
<h2><span style="color: #000000;">12. Initialisation et Service Cluster IPFS (3 machines)</span></h2>
<h3><span style="color: #000000;">Définition variable IPFS fichier configuration Cluster</span></h3>
<pre>[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">export IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster</span>
[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">vi $HOME/.bashrc</span></pre>
<p><img loading="lazy" decoding="async" width="631" height="114" class="wp-image-9463" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-25.png 631w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-25-300x54.png 300w" sizes="auto, (max-width: 631px) 100vw, 631px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]#<span style="color: #ff0000;"> source $HOME/.bashrc</span>
<em>[root@node-</em><strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">echo $IPFS_CLUSTER_PATH</span>
<em><span style="color: #ff0000;">/mnt/ipfs-data/ipfs-cluster</span> </em></pre>
<h3><span style="color: #000000;">Initialisation cluster</span></h3>
<pre>[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]#<span style="color: #ff0000;"> ipfs-cluster-service init</span>
<span style="color: #ff0000;"><em>2025-07-12T13:25:21.695+0200 INFO config config/config.go:482 Saving configuration</em></span>
<span style="color: #ff0000;"><em>configuration written to <strong>/mnt/ipfs-data/ipfs-cluster/service.json</strong>.</em></span>
<span style="color: #ff0000;"><em>2025-07-12T13:25:21.697+0200 INFO config config/identity.go:73 Saving identity</em></span>
<span style="color: #ff0000;"><em>new identity written to </em><strong><em>/mnt/ipfs-data/ipfs-cluster/identity.json</em></strong></span>
<span style="color: #ff0000;"><em>new empty peerstore written to </em><strong><em>/mnt/ipfs-data/ipfs-cluster/peerstore.</em></strong></span></pre>
<h3><span style="color: #000000;">Node-ipfsl (leader)</span></h3>
<h4><span style="color: #000000;">Récupération la clef secrète du leader</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">cat /mnt/ipfs-data/ipfs-cluster/service.json |grep -i secret</span>
<span style="color: #ff0000;"><em> "secret": "</em><strong><em>9dc28eb1c943ec508cc9f5a8b4c4726a5398be979c62521dd93252d62cb72196</em></strong><em>",</em></span></pre>
<h3><span style="color: #000000;">Injection de la clef secrète dans les peers client</span></h3>
<h4><span style="color: #000000;">Node-ipfsp1 (peer n°1)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]#<span style="color: #ff0000;"> vi /mnt/ipfs-data/ipfs-cluster/service.json</span></pre>
<p><img loading="lazy" decoding="async" width="715" height="153" class="wp-image-9464" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-26.png 715w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-26-300x64.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></p>
<h4><span style="color: #000000;">Node-ipfsp2 (peer n°2)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]#<span style="color: #ff0000;"> vi /mnt/ipfs-data/ipfs-cluster/service.json</span></pre>
<p><img loading="lazy" decoding="async" width="846" height="164" class="wp-image-9465" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-27.png 846w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-27-300x58.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-27-768x149.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px" /></p>
<h3><span style="color: #000000;">Création des services Leader et peers</span></h3>
<h4><span style="color: #000000;">Service Node-ipfsl (leader)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">vi /etc/systemd/system/ipfs-cluster.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=IPFS Cluster Service (RAID1)</em></span>
<span style="color: #ff0000;"><em>After=network.target</em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>User=root</em></span>
<span style="color: #ff0000;"><em>Group=root</em></span>
<span style="color: #ff0000;"><em>Environment=IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/ipfs-cluster-service daemon</em></span>
<span style="color: #ff0000;"><em>WorkingDirectory=/mnt/ipfs-data/ipfs-cluster</em></span>
<span style="color: #ff0000;"><em>Restart=always</em></span>
<span style="color: #ff0000;"><em>RestartSec=10</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=10240</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h4><span style="color: #000000;">Démarrage du service Cluster &#8211; leader</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl daemon-reexec</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl daemon-reload</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl enable ipfs-cluster.service</span>
<span style="color: #ff0000;"><em>Created symlink /etc/systemd/system/multi-user.target.wants/ipfs-cluster.service → /etc/systemd/system/ipfs-cluster.service.</em></span>

<em>.</em>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster.service</span></pre>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl status ipfs-cluster.service</span></pre>
<p><img loading="lazy" decoding="async" width="1537" height="332" class="wp-image-9466" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-28.png 1537w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-28-300x65.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-28-1024x221.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-28-768x166.png 768w" sizes="auto, (max-width: 1537px) 100vw, 1537px" /></p>
<h4><span style="color: #000000;">Récupération ID leader</span></h4>
<pre>[root@node-ipfsl home]# <span style="color: #ff0000;">ipfs-cluster-ctl id |head -8</span>
<span style="color: #ff0000;">12D3KooWALCus4V2sFQmK8ZtLeSsBvxsE9GeUpdv4jJvwC3qPpAD | node-ipfsl | Sees 0 other peers</span>
<span style="color: #ff0000;">&gt; Addresses:</span>
<span style="color: #ff0000;">- /ip4/127.0.0.1/tcp/9096/p2p/<strong>12D3KooWALCus4V2sFQmK8ZtLeSsBvxsE9GeUpdv4jJvwC3qPpAD</strong></span>
<span style="color: #ff0000;">- /ip4/<strong>192.168.1.70</strong>/tcp/9096/p2p/<strong>12D3KooWALCus4V2sFQmK8ZtLeSsBvxsE9GeUpdv4jJvwC3qPpAD</strong></span></pre>
<h3><span style="color: #000000;">Services Node-ipfsp1 et Node-ipfsp2 (peers n°1 &amp; 2)</span></h3>
<h4><span style="color: #000000;">Service cluster – peers</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsp[1,2]</span></strong> home]# <span style="color: #ff0000;">vi /etc/systemd/system/ipfs-cluster-peer.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=IPFS Cluster Peer Service</em></span>
<span style="color: #ff0000;"><em>After=network.target</em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>User=root</em></span>
<span style="color: #ff0000;"><em>Group=root</em></span>
<span style="color: #ff0000;"><em>Environment=IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/ipfs-cluster-service daemon --bootstrap </em><strong><em>/ip4/192.168.1.70/tcp/9096/p2p/12D3KooWALCus4V2sFQmK8ZtLeSsBvxsE9GeUpdv4jJvwC3qPpAD</em></strong></span>
<span style="color: #ff0000;"><em>WorkingDirectory=/mnt/ipfs-data/ipfs-cluster</em></span>
<span style="color: #ff0000;"><em>Restart=always</em></span>
<span style="color: #ff0000;"><em>RestartSec=10</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=10240</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h4><span style="color: #000000;">Démarrage du service Cluster – node-ipfsp1</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]#<span style="color: #ff0000;"> systemctl daemon-reexec</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl daemon-reload</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl enable ipfs-cluster-peer.service</span>
<em><span style="color: #ff0000;">Created symlink /etc/systemd/system/multi-user.target.wants/ipfs-cluster-peer.service → /etc/systemd/system/ipfs-cluster-peer.service</span>.</em>

[root@<strong>node-<span style="color: #ff0000;">ipfsl</span></strong> home]# <span style="color: #ff0000;">journalctl -f</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span></pre>
<h4><span style="color: #000000;">Check add Node-ipfsl</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl status ipfs-cluster-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="1570" height="329" class="wp-image-9467" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29.png 1570w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29-300x63.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29-1024x215.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29-768x161.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-29-1536x322.png 1536w" sizes="auto, (max-width: 1570px) 100vw, 1570px" /></p>
<p>Sur le journal de log leader</p>
<p><img loading="lazy" decoding="async" width="1568" height="83" class="wp-image-9468" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30.png 1568w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30-300x16.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30-1024x54.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30-768x41.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-30-1536x81.png 1536w" sizes="auto, (max-width: 1568px) 100vw, 1568px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep 192</span></pre>
<p><img loading="lazy" decoding="async" width="1640" height="215" class="wp-image-9469" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31.png 1640w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31-300x39.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31-1024x134.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31-768x101.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-31-1536x201.png 1536w" sizes="auto, (max-width: 1640px) 100vw, 1640px" /></p>
<h4><span style="color: #000000;">Démarrage du service Cluster – node-ipfsp2</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl daemon-reexec</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl daemon-reload</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl enable ipfs-cluster-peer.service</span>
<span style="color: #ff0000;"><em>Created symlink /etc/systemd/system/multi-user.target.wants/ipfs-cluster-peer.service → /etc/systemd/system/ipfs-cluster-peer.service.</em></span>

</pre>
<h4><span style="color: #000000;">Check add Node-ipfsl</span></h4>
<pre>[root@<strong>node-<span style="color: #ff0000;">ipfsl</span></strong> home]# <span style="color: #ff0000;">journalctl -f</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="1560" height="328" class="wp-image-9470" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32.png 1560w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32-300x63.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32-1024x215.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32-768x161.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-32-1536x323.png 1536w" sizes="auto, (max-width: 1560px) 100vw, 1560px" /></p>
<p>Sur le journal de log leader</p>
<p><img loading="lazy" decoding="async" width="1576" height="82" class="wp-image-9471" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33.png 1576w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33-300x16.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33-1024x53.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33-768x40.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-33-1536x80.png 1536w" sizes="auto, (max-width: 1576px) 100vw, 1576px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]#<span style="color: #ff0000;"> ipfs-cluster-ctl peers ls |grep 192</span></pre>
<p><em><img loading="lazy" decoding="async" width="1632" height="306" class="wp-image-9472" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34.png 1632w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34-300x56.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34-1024x192.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34-768x144.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-34-1536x288.png 1536w" sizes="auto, (max-width: 1632px) 100vw, 1632px" /></em></p>
<h2><span style="color: #000000;">13. Application Web API IPFS</span></h2>
<ul>
<li>http://<strong><span style="color: #ff0000;">192.168.1.70</span></strong>:5001/webui</li>
</ul>
<p><em><img loading="lazy" decoding="async" width="1727" height="809" class="wp-image-9473" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35.png 1727w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35-300x141.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35-1024x480.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35-768x360.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-35-1536x720.png 1536w" sizes="auto, (max-width: 1727px) 100vw, 1727px" /></em></p>
<p>Cliquez sur « Pairs »</p>
<p><em><img loading="lazy" decoding="async" width="1662" height="737" class="wp-image-9474" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36.png 1662w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36-300x133.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36-1024x454.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36-768x341.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-36-1536x681.png 1536w" sizes="auto, (max-width: 1662px) 100vw, 1662px" /></em></p>
<p>Notre Cluster et machines sont Public</p>
<h3><span style="color: #000000;">Recherche nos machines sur le domaine public</span></h3>
<h4><span style="color: #000000;">Node-ipfsl (leader)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs id |grep -i ID |head -1</span>
<span style="color: #ff0000;"><em> "ID": "</em><strong><em>12D3KooWCWwgEQx51YWB54Fn82JVQJ1SNm52sTHmNtQQAvMr6yza</em></strong><em>",</em></span></pre>
<p><img loading="lazy" decoding="async" width="1666" height="372" class="wp-image-9475" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37.png 1666w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37-300x67.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37-1024x229.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37-768x171.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-37-1536x343.png 1536w" sizes="auto, (max-width: 1666px) 100vw, 1666px" /></p>
<h4>Node-ipfsp1 (peer n°1)</h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs id |grep -i ID |head -1</span>
<span style="color: #ff0000;"><em> "ID": "</em><strong><em>12D3KooWJb4HwVbXFuxZSeFAUjocurt7gPw14G6CsZRwTpVgMNdP</em></strong><em>",</em></span></pre>
<p><img loading="lazy" decoding="async" width="1669" height="361" class="wp-image-9476" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38.png 1669w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38-300x65.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38-1024x221.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38-768x166.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-38-1536x332.png 1536w" sizes="auto, (max-width: 1669px) 100vw, 1669px" /></p>
<h4>Node-ipfsp1 (peer n°2)</h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]#<span style="color: #ff0000;"> ipfs id |grep -i ID |head -1</span>
<span style="color: #ff0000;"><em> "ID": "</em><strong><em>12D3KooWQ4VuBLMjVvmW4F4fhKxbArFG4Y9SQ3coVBo1PL29qrJx</em></strong><em>",</em></span></pre>
<p><img loading="lazy" decoding="async" width="1660" height="352" class="wp-image-9477" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39.png 1660w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39-300x64.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39-1024x217.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39-768x163.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9438-39-1536x326.png 1536w" sizes="auto, (max-width: 1660px) 100vw, 1660px" /></p>
<p>Views: 12</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-mise-en-place-dune-infrastructure-ipfs-decentralisee-et-hautement-disponible-sur-reseau-public-partie-1/">MODOP – Mise en place d&rsquo;une infrastructure IPFS décentralisée et hautement disponible sur réseau public &#8211; Partie 1</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-mise-en-place-dune-infrastructure-ipfs-decentralisee-et-hautement-disponible-sur-reseau-public-partie-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Transition d’un cluster IPFS du mode public vers une architecture privée &#8211; Partie 2</title>
		<link>https://coffeebreak.en-images.info/modop-transition-dun-cluster-ipfs-du-mode-public-vers-une-architecture-privee-partie-2/</link>
					<comments>https://coffeebreak.en-images.info/modop-transition-dun-cluster-ipfs-du-mode-public-vers-une-architecture-privee-partie-2/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:40:05 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9399</guid>

					<description><![CDATA[<p>Ce MODOP décrit la migration d’une infrastructure IPFS, initialement déployée en mode public, vers un environnement privé et sécurisé. La nouvelle architecture repose sur un réseau P2P fermé, tout en conservant sa structure : un nœud leader chargé d’orchestrer les pins, accompagné de deux peers assurant la réplication des données. Dans ce cadre privé, seuls les nœuds disposant de la clé swarm partagée peuvent rejoindre le réseau, garantissant la confidentialité des échanges ainsi que le contrôle d’accès. Cette approche renforce la sécurité tout en préservant les caractéristiques essentielles de l’infrastructure, notamment une haute disponibilité , même en cas de défaillance d’un nœud ,et une scalabilité maintenue, permettant l’ajout de nouveaux pairs sans exposition au réseau public.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-transition-dun-cluster-ipfs-du-mode-public-vers-une-architecture-privee-partie-2/">MODOP – Transition d’un cluster IPFS du mode public vers une architecture privée &#8211; Partie 2</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="842" height="533" class="wp-image-9400" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-1.png 842w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-1-300x190.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-1-768x486.png 768w" sizes="auto, (max-width: 842px) 100vw, 842px" /></p>
<h2><span style="color: #000000;">1. Passage du Cluster en mode privée</span></h2>
<h3><span style="color: #000000;">Stopper les services (3 machines)</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster.service</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>

[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>

[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span></pre>
<h3><span style="color: #000000;">Création d’un clef secrète (leader)</span></h3>
<h4><span style="color: #000000;">Récupération script automatique</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">dnf install git</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">cd /home &amp;&amp; go install github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen@latest</span>
<span style="color: #ff0000;"><em>go: downloading github.com/Kubuxu/go-ipfs-swarm-key-gen v0.0.0-20170218193930-0ee739ec6d32</em></span></pre>
<h4><span style="color: #000000;">Génération de la clef privée</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs-swarm-key-gen &gt; /mnt/ipfs-data/ipfs/swarm.key</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]#<span style="color: #ff0000;"> cat /mnt/ipfs-data/ipfs/swarm.key</span>
<span style="color: #ff0000;"><em>/key/swarm/psk/1.0.0/</em></span>
<span style="color: #ff0000;"><em>/base16/</em></span>
<span style="color: #ff0000;"><em>1c77bfd716e3d5811049260f3aaedcdcadf0997113b02dbddc1ecab3308b15ac</em></span></pre>
<h4><span style="color: #000000;">Copie de la clef sur les peers clients</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">scp /mnt/ipfs-data/ipfs/swarm.key <a style="color: #ff0000;" href="mailto:root@192.168.1.71:/mnt/ipfs-data/ipfs/swarm.key">root@<strong>192.168.1.71</strong>:/mnt/ipfs-data/ipfs/swarm.key</a></span>

[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">scp /mnt/ipfs-data/ipfs/swarm.key root@<strong>192.168.1.72</strong>:/mnt/ipfs-data/ipfs/swarm.key</span></pre>
<h3><span style="color: #000000;">Activation mode Privée et suppression de tous les « bootstap » (3 machines)</span></h3>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">export LIBP2P_FORCE_PNET=1</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">vi $HOME/.bashrc</span></pre>
<p><img loading="lazy" decoding="async" width="647" height="128" class="wp-image-9401" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-2.png 647w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-2-300x59.png 300w" sizes="auto, (max-width: 647px) 100vw, 647px" /></p>
<h4><span style="color: #000000;">Node leader</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsl</span></strong> home]# <span style="color: #ff0000;">ipfs bootstrap rm --all</span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span></pre>
<h4><span style="color: #000000;">Node peer n°1</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsp1</span></strong> home]# <span style="color: #ff0000;">ipfs bootstrap rm --all</span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span></pre>
<h4><span style="color: #000000;">Node peer n°2</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsp2</span></strong> home]#<span style="color: #ff0000;"> ipfs bootstrap rm --all</span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span></pre>
<h3><span style="color: #000000;">Spécification système réseau privé (master &amp; clients)</span></h3>
<pre>[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">ipfs config Routing.Type dht</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">ipfs config --json AutoTLS.Enabled false</span>
[root@node-<span style="color: #ff0000;"><strong>ipfsx</strong></span> home]# <span style="color: #ff0000;">ipfs config --json Swarm.Transports.Network.WebTransport false</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">ipfs config --json Swarm.Transports.Network '{"TCP": true, "QUIC": false, "Websocket": false, "Relay": false, "WebTransport": false, "WebRTCDirect": false}'</span></pre>
<p><img loading="lazy" decoding="async" width="1521" height="126" class="wp-image-9402" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-3.png 1521w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-3-300x25.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-3-1024x85.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-3-768x64.png 768w" sizes="auto, (max-width: 1521px) 100vw, 1521px" /></p>
<h3><span style="color: #000000;">Redémarre les services peer sur les machines (master &amp; clients)</span></h3>
<h4><span style="color: #000000;">Service ipfs (go-ipfs) leader</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl start ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]#<span style="color: #ff0000;"> systemctl status ipfs-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="911" height="297" class="wp-image-9403" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-4.png 911w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-4-300x98.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-4-768x250.png 768w" sizes="auto, (max-width: 911px) 100vw, 911px" /></p>
<h4><span style="color: #000000;">Service ipfs (go-ipfs) peers</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl start ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl status ipfs-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="936" height="292" class="wp-image-9404" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-5.png 936w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-5-300x94.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-5-768x240.png 768w" sizes="auto, (max-width: 936px) 100vw, 936px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl start ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl status ipfs-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="888" height="295" class="wp-image-9405" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-6.png 888w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-6-300x100.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-6-768x255.png 768w" sizes="auto, (max-width: 888px) 100vw, 888px" /></p>
<h3><span style="color: #000000;">Check des peers mode réseau Privé</span></h3>
<h4><span style="color: #000000;">Sur le leader</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs swarm peers</span>
<span style="color: #ff0000;"><em>/ip4/<strong>192.168.1.71</strong>/tcp/4001/p2p/<strong>12D3KooWJb4HwVbXFuxZSeFAUjocurt7gPw14G6CsZRwTpVgMNdP</strong></em></span>
<span style="color: #ff0000;"><em>/ip4/<strong>192.168.1.72</strong>/tcp/4001/p2p/<strong>12D3KooWQ4VuBLMjVvmW4F4fhKxbArFG4Y9SQ3coVBo1PL29qrJx</strong></em></span></pre>
<ul>
<li><a href="http://192.168.1.70:5001/webui">http://<strong><span style="color: #ff0000;">192.168.1.70</span></strong>:5001/webui</a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1456" height="401" class="wp-image-9406" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-7.png 1456w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-7-300x83.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-7-1024x282.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-7-768x212.png 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /></p>
<h4><span style="color: #000000;">Sur le peer n°1</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">ipfs swarm peers</span>
<span style="color: #ff0000;"><em>/ip4/<strong>192.168.1.70</strong>/tcp/4001/p2p/<strong>12D3KooWCWwgEQx51YWB54Fn82JVQJ1SNm52sTHmNtQQAvMr6yza</strong></em></span>
<span style="color: #ff0000;"><em>/ip4/<strong>192.168.1.72</strong>/tcp/4001/p2p/<strong>12D3KooWQ4VuBLMjVvmW4F4fhKxbArFG4Y9SQ3coVBo1PL29qrJx</strong></em></span></pre>
<ul>
<li><a href="http://192.168.1.71:5001/webui">http://<strong><span style="color: #ff0000;">192.168.1.71</span></strong>:5001/webui</a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1662" height="397" class="wp-image-9407" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8.png 1662w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8-300x72.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8-1024x245.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8-768x183.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-8-1536x367.png 1536w" sizes="auto, (max-width: 1662px) 100vw, 1662px" /></p>
<h4><span style="color: #000000;">Sur le peer n°2</span></h4>
<pre>[root@node-ipfsp2 home]#<span style="color: #ff0000;"> ipfs swarm peers</span>
<span style="color: #ff0000;">/ip4/<strong>192.168.1.70</strong>/tcp/4001/p2p/<strong>12D3KooWCWwgEQx51YWB54Fn82JVQJ1SNm52sTHmNtQQAvMr6yza</strong></span>
<span style="color: #ff0000;">/ip4/<strong>192.168.1.71</strong>/tcp/4001/p2p/<strong>12D3KooWJb4HwVbXFuxZSeFAUjocurt7gPw14G6CsZRwTpVgMNdP</strong></span></pre>
<ul>
<li><a href="http://192.168.1.72:5001/webui">http://<strong>192.168.1.72</strong>:5001/webui</a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1661" height="386" class="wp-image-9408" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9.png 1661w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9-300x70.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9-1024x238.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9-768x178.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-9-1536x357.png 1536w" sizes="auto, (max-width: 1661px) 100vw, 1661px" /></p>
<h3><span style="color: #000000;">Redémarre les services cluster sur les machines (master &amp; clients)</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster.service</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl status ipfs-cluster.service</span></pre>
<p><img loading="lazy" decoding="async" width="1566" height="342" class="wp-image-9409" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10.png 1566w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10-300x66.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10-1024x224.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10-768x168.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-10-1536x335.png 1536w" sizes="auto, (max-width: 1566px) 100vw, 1566px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl status ipfs-cluster-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="1545" height="337" class="wp-image-9410" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11.png 1545w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11-300x65.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11-1024x223.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11-768x168.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-11-1536x335.png 1536w" sizes="auto, (max-width: 1545px) 100vw, 1545px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl status ipfs-cluster-peer.service</span></pre>
<p><img loading="lazy" decoding="async" width="1547" height="339" class="wp-image-9411" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12.png 1547w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12-300x66.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12-1024x224.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12-768x168.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-12-1536x337.png 1536w" sizes="auto, (max-width: 1547px) 100vw, 1547px" /></p>
<h3><span style="color: #000000;">Check des cluster ipfs mode réseau Privé</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls</span></pre>
<p><img loading="lazy" decoding="async" width="1119" height="397" class="wp-image-9412" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-13.png 1119w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-13-300x106.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-13-1024x363.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-13-768x272.png 768w" sizes="auto, (max-width: 1119px) 100vw, 1119px" /></p>
<h2><span style="color: #000000;">2. Autoriser l’accès à l’API Cluster (master &amp; clients)</span></h2>
<h4><span style="color: #000000;">Check port API</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">lsof -i :9094</span></pre>
<p><img loading="lazy" decoding="async" width="703" height="88" class="wp-image-9413" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-14.png 703w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-14-300x38.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></p>
<h4><span style="color: #000000;">Stopper les services cluster (dans l’ordre)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-cluster-peer.service</span></pre>
<h4><span style="color: #000000;">Modification l’écoute</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">vi /mnt/ipfs-data/ipfs-cluster/service.json</span></pre>
<p><img loading="lazy" decoding="async" width="637" height="132" class="wp-image-9414" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-15.png 637w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-15-300x62.png 300w" sizes="auto, (max-width: 637px) 100vw, 637px" /></p>
<p>Modifier par la configuration ci-dessous</p>
<p><img loading="lazy" decoding="async" width="631" height="142" class="wp-image-9415" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-16.png 631w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-16-300x68.png 300w" sizes="auto, (max-width: 631px) 100vw, 631px" /></p>
<h4><span style="color: #000000;">Démarrer les services cluster (dans l’ordre)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl start ipfs-cluster-peer.service</span></pre>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep "192.168.1.7"</span></pre>
<p><img loading="lazy" decoding="async" width="775" height="125" class="wp-image-9416" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-17.png 775w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-17-300x48.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-17-768x124.png 768w" sizes="auto, (max-width: 775px) 100vw, 775px" /></p>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">lsof -i :9094</span></pre>
<p><img loading="lazy" decoding="async" width="627" height="78" class="wp-image-9417" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-18.png 627w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-18-300x37.png 300w" sizes="auto, (max-width: 627px) 100vw, 627px" /></p>
<h3><span style="color: #000000;">Inventaire du nœud leader</span></h3>
<pre>[root@node-ipfsl home]# <span style="color: #ff0000;">curl -s http://192.168.1.70:9094/id | jq .</span></pre>
<p><img loading="lazy" decoding="async" width="1052" height="473" class="wp-image-9418" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-19.png 1052w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-19-300x135.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-19-1024x460.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-19-768x345.png 768w" sizes="auto, (max-width: 1052px) 100vw, 1052px" /></p>
<h3><span style="color: #000000;">Liste les nœuds du cluster</span></h3>
<ul>
<li>http://<strong><span style="color: #ff0000;">192.168.1.50</span></strong>:9094/peers</li>
</ul>
<p><img loading="lazy" decoding="async" width="1899" height="361" class="wp-image-9419" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20.png 1899w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20-1024x195.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20-768x146.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-20-1536x292.png 1536w" sizes="auto, (max-width: 1899px) 100vw, 1899px" /></p>
<h2><span style="color: #000000;">3. Des fichiers sur le cluster</span></h2>
<h3><span style="color: #000000;">Ajout de fichier</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">echo "Nouveau Cluster IPFS - Chris" &gt; IPFS_file01.txt</span>
[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs-cluster-ctl add IPFS_file01.txt</span>
<span style="color: #ff0000;"><em>added </em><strong><em>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei </em></strong><em>IPFS_file01.txt</em></span></pre>
<p><img loading="lazy" decoding="async" width="1572" height="207" class="wp-image-9420" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21.png 1572w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21-300x40.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21-1024x135.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21-768x101.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-21-1536x202.png 1536w" sizes="auto, (max-width: 1572px) 100vw, 1572px" />«Add sur le nœud leader avec succès »</p>
<pre>[root@ node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">ipfs cat <strong>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei</strong></span></pre>
<p><img loading="lazy" decoding="async" width="676" height="62" class="wp-image-9421" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-22.png 676w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-22-300x28.png 300w" sizes="auto, (max-width: 676px) 100vw, 676px" /></p>
<h3><span style="color: #000000;">Check de la réplication du fichier mode Block</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">journalctl -f</span></pre>
<p><img loading="lazy" decoding="async" width="1569" height="154" class="wp-image-9422" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23.png 1569w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23-300x29.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23-1024x101.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23-768x75.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-23-1536x151.png 1536w" sizes="auto, (max-width: 1569px) 100vw, 1569px" />«Add sur le nœud peer n°1 avec succès »</p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp1</span> home]#<span style="color: #ff0000;"> ipfs cat <strong>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei</strong></span></pre>
<p><img loading="lazy" decoding="async" width="703" height="69" class="wp-image-9423" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-24.png 703w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-24-300x29.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">journalctl –f</span></pre>
<p><img loading="lazy" decoding="async" width="1575" height="146" class="wp-image-9424" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25.png 1575w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25-300x28.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25-1024x95.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25-768x71.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-25-1536x142.png 1536w" sizes="auto, (max-width: 1575px) 100vw, 1575px" />«Add sur le nœud peer n°2 avec succès »</p>
<pre>[root@node-<span style="color: #ff0000;">ipfsp2</span> home]#<span style="color: #ff0000;"> ipfs cat <strong>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei</strong></span></pre>
<p><img loading="lazy" decoding="async" width="687" height="64" class="wp-image-9425" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-26.png 687w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-26-300x28.png 300w" sizes="auto, (max-width: 687px) 100vw, 687px" /></p>
<h3><span style="color: #000000;">Liste du fichier sur le Cluster</span></h3>
<pre>[root@node-ipfsp2 home]#<span style="color: #ff0000;"> curl -s http://192.168.1.70:9094/pins | jq .|grep cid</span>
<span style="color: #ff0000;"><em><strong> "cid": "QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei",</strong></em></span>

[root@node-ipfsl home]# <span style="color: #ff0000;">ipfs-cluster-ctl status <strong>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei</strong></span>
<span style="color: #ff0000;"><em>QmP1zpXsnefj7eskAruAje8dgbKcKBaBviCEYWQStDCRei:</em></span>
<span style="color: #ff0000;"><em> &gt; node-ipfsp2 : PINNED | 2025-07-12T15:05:16Z | Attempts: 0 | Priority: false</em></span>
<span style="color: #ff0000;"><em> &gt; node-ipfsl : PINNED | 2025-07-12T17:05:16+02:00 | Attempts: 0 | Priority: false</em></span>
<span style="color: #ff0000;"><em> &gt; node-ipfsp1 : PINNED | 2025-07-12T15:05:16Z | Attempts: 0 | Priority: false</em></span></pre>
<h2><span style="color: #000000;">4. Autoriser l’accès à Web URL (master &amp; clients)</span></h2>
<h4><span style="color: #000000;">Check port Web URL</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> home]# <span style="color: #ff0000;">lsof -i :8080</span>
<span style="color: #ff0000;"><em>COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME</em></span>
<span style="color: #ff0000;"><em>ipfs 7968 root 13u IPv4 64280 0t0 TCP </em><strong><em>localhos</em></strong><em>t:webcache (LISTEN)</em></span></pre>
<h4><span style="color: #000000;">Stopper les services (3 machines)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span></pre>
<h4><span style="color: #000000;">Modifier le fichier de conf (3 machines)</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfspx</span></strong> ~]#<span style="color: #ff0000;"> vi /mnt/ipfs-data/ipfs/config</span></pre>
<p><img loading="lazy" decoding="async" width="431" height="126" class="wp-image-9426" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-27.png 431w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-27-300x88.png 300w" sizes="auto, (max-width: 431px) 100vw, 431px" /></p>
<p>Modifier comme ci-dessous</p>
<p><img loading="lazy" decoding="async" width="412" height="135" class="wp-image-9427" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-28.png 412w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-28-300x98.png 300w" sizes="auto, (max-width: 412px) 100vw, 412px" /></p>
<h4><span style="color: #000000;">Redémarrer les services (3 machines)</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsl</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp1</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span>
[root@node-<span style="color: #ff0000;">ipfsp2</span> home]# <span style="color: #ff0000;">systemctl stop ipfs-peer.service</span></pre>
<h4><span style="color: #000000;">Ouvrir les flux firewall pour le port 8080/tcp (3 machines)</span></h4>
<pre>[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> firewall-cmd --add-port=8080/tcp --permanent</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]# <span style="color: #ff0000;">firewall-cmd --reload</span>
[root@node-<strong><span style="color: #ff0000;">ipfsx</span></strong> ~]#<span style="color: #ff0000;"> firewall-cmd --list-all</span></pre>
<p><img loading="lazy" decoding="async" width="682" height="159" class="wp-image-9428" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-29.png 682w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-29-300x70.png 300w" sizes="auto, (max-width: 682px) 100vw, 682px" /></p>
<h2><span style="color: #000000;">5. Ajouter et consulter une image sur le cluster IPFS</span></h2>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> cd /home</span>
[root@node-ipfsl home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://media.senscritique.com/media/000011292508/source_big/Bob_l_eponge.jpg">https://media.senscritique.com/media/000011292508/source_big/Bob_l_eponge.jpg</a></span>

[root@node-ipfsl home]# <span style="color: #ff0000;">ipfs-cluster-ctl add Bob_l_eponge.jpg</span>
<span style="color: #ff0000;"><em>added <strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong> Bob_l_eponge.jpg</em></span>

[root@node-ipfsl home]#<span style="color: #ff0000;"> ipfs-cluster-ctl status <strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></pre>
<p><img loading="lazy" decoding="async" width="825" height="101" class="wp-image-9429" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-30.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-30.png 825w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-30-300x37.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-30-768x94.png 768w" sizes="auto, (max-width: 825px) 100vw, 825px" /></p>
<h3><span style="color: #000000;">Accès du fichier via le leader &amp; peers</span></h3>
<h4><span style="color: #000000;">Via le leader</span></h4>
<ul>
<li><a href="http://192.168.1.70:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<span style="color: #ff0000;"><strong>192.168.1.70</strong></span>:8080/ipfs/<span style="color: #ff0000;"><strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1251" height="614" class="wp-image-9430" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-31.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-31.png 1251w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-31-300x147.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-31-1024x503.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-31-768x377.png 768w" sizes="auto, (max-width: 1251px) 100vw, 1251px" /></p>
<h4><span style="color: #000000;">Via le peer n°1</span></h4>
<ul>
<li><a href="http://192.168.1.71:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<span style="color: #ff0000;"><strong>192.168.1.71</strong></span>:8080/ipfs/<span style="color: #ff0000;"><strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1102" height="590" class="wp-image-9431" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-32.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-32.png 1102w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-32-300x161.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-32-1024x548.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-32-768x411.png 768w" sizes="auto, (max-width: 1102px) 100vw, 1102px" /></p>
<h4><span style="color: #000000;">Via le peer n°2</span></h4>
<ul>
<li><a href="http://192.168.1.72:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<span style="color: #ff0000;"><strong>192.168.1.72</strong></span>:8080/ipfs/<span style="color: #ff0000;"><strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1010" height="588" class="wp-image-9432" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-33.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-33.png 1010w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-33-300x175.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9399-33-768x447.png 768w" sizes="auto, (max-width: 1010px) 100vw, 1010px" /></p>
<p>Views: 1</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-transition-dun-cluster-ipfs-du-mode-public-vers-une-architecture-privee-partie-2/">MODOP – Transition d’un cluster IPFS du mode public vers une architecture privée &#8211; Partie 2</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-transition-dun-cluster-ipfs-du-mode-public-vers-une-architecture-privee-partie-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Déploiement d’un peers au Cluster via le leader – Partie 3</title>
		<link>https://coffeebreak.en-images.info/modop-deploiement-dun-peers-au-cluster-via-le-leader-partie-3/</link>
					<comments>https://coffeebreak.en-images.info/modop-deploiement-dun-peers-au-cluster-via-le-leader-partie-3/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:38:20 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9333</guid>

					<description><![CDATA[<p>MODOP sur l'intégration d’un nouveau nœud peer dans un cluster IPFS privé, sans interruption du service. L’ajout de ce nœud permet d’étendre la capacité de stockage, de renforcer la haute disponibilité et la résilience en cas de panne, ainsi que d’accroître la redondance des données grâce à la réplication P2P. Cette opération est réalisée sans perturber les nœuds existants. Le nouveau nœud s’intègre de manière transparente au sein du cluster.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-deploiement-dun-peers-au-cluster-via-le-leader-partie-3/">MODOP – Déploiement d’un peers au Cluster via le leader – Partie 3</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="1251" height="523" class="wp-image-9334" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-1.png 1251w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-1-300x125.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-1-1024x428.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-1-768x321.png 768w" sizes="auto, (max-width: 1251px) 100vw, 1251px" /></p>
<h2><span style="color: #000000;">1. Inventaire du nouveau peer</span></h2>
<h4><strong>Hostname</strong></h4>
<ul>
<li>Node-ipfsp3 : IP =<strong> 192.168.1.73 (peer)</strong></li>
</ul>
<h4><span style="color: #000000;">HDD</span></h4>
<ul>
<li>Disque SCSI0 : Système</li>
<li>Disque SCSI1 &amp; SCSI2 : RAID1</li>
</ul>
<p><img loading="lazy" decoding="async" width="949" height="133" class="wp-image-9335" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-2.png 949w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-2-300x42.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-2-768x108.png 768w" sizes="auto, (max-width: 949px) 100vw, 949px" /></p>
<h2><span style="color: #000000;">2. Installation des prérequis</span></h2>
<h3><span style="color: #000000;">Ajout des clefs SSH sur le client</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh-keygen</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh-copy-id <a style="color: #ff0000;" href="mailto:root@192.168.1.73">root@192.168.1.73</a></span></pre>
<h3><span style="color: #000000;">Modifier le hostname client</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>hostnamectl hostname node-ipfsp3</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>hostnamectl</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="699" height="245" class="wp-image-9336" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-3.png 699w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-3-300x105.png 300w" sizes="auto, (max-width: 699px) 100vw, 699px" /></p>
<h3><span style="color: #000000;">Update machine cliente</span></h3>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> ssh root@192.168.1.73 '<strong>dnf update -y</strong></span>'</pre>
<p><img loading="lazy" decoding="async" width="736" height="447" class="wp-image-9337" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-4.png 736w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-4-300x182.png 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></p>
<h3><span style="color: #000000;">Desactiver SELinux</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cat /etc/selinux/config |grep SELINUX</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="698" height="114" class="wp-image-9338" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-5.png 698w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-5-300x49.png 300w" sizes="auto, (max-width: 698px) 100vw, 698px" /></p>
<h3><span style="color: #000000;">Paramétrage ntp</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>timedatectl set-timezone Europe/Paris</strong>'</span></pre>
<h3><span style="color: #000000;">Installation paquets utils</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>dnf install epel-release net-tools nmap wget tar git -y</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="908" height="413" class="wp-image-9339" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-6.png 908w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-6-300x136.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-6-768x349.png 768w" sizes="auto, (max-width: 908px) 100vw, 908px" /></p>
<h2><span style="color: #000000;">3. Installation du RAID1</span></h2>
<h3><span style="color: #000000;">Prédisposition du RAID Logiciel</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "modprobe linear" &gt;&gt; /etc/rc.local</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "modprobe raid1" &gt;&gt; /etc/rc.local</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>chmod +x /etc/rc.local</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>source /etc/rc.local</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cat /proc/mdstat</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="542" height="84" class="wp-image-9340" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-7.png 542w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-7-300x46.png 300w" sizes="auto, (max-width: 542px) 100vw, 542px" /></p>
<h3><span style="color: #000000;">Partitionnement des disques en mode RAID</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdb mklabel msdos</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdc mklabel msdos</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdb mkpart primary 1MiB 100%</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdc mkpart primary 1MiB 100%</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdb set 1 raid on</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>parted -s /dev/sdc set 1 raid on</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>fdisk -l /dev/sd[b-c] |grep RAID</strong>'</span>
<span style="color: #ff0000;"><em>/dev/sdb1 2048 104857599 104855552 50G fd RAID Linux autodétecté</em></span>
<span style="color: #ff0000;"><em>/dev/sdc1 2048 104857599 104855552 50G fd RAID Linux autodétecté</em></span></pre>
<h3><span style="color: #000000;">Création du RAID 1</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mdadm -E /dev/sd[b-c]</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="570" height="131" class="wp-image-9341" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-8.png 570w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-8-300x69.png 300w" sizes="auto, (max-width: 570px) 100vw, 570px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="973" height="158" class="wp-image-9342" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-9.png 973w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-9-300x49.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-9-768x125.png 768w" sizes="auto, (max-width: 973px) 100vw, 973px" /></p>
<pre>[root@node-ipfsl ~]# ssh root@192.168.1.73 '<strong>cat /proc/mdstat</strong>'</pre>
<p><img loading="lazy" decoding="async" width="845" height="113" class="wp-image-9343" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-10.png 845w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-10-300x40.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-10-768x103.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></p>
<p><strong><span style="color: #ff0000;">Attendre la fin de la création du raid1</span></strong></p>
<p><img loading="lazy" decoding="async" width="561" height="115" class="wp-image-9344" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-11.png 561w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-11-300x61.png 300w" sizes="auto, (max-width: 561px) 100vw, 561px" /></p>
<h2><span style="color: #000000;">4. Préparation du volume RAID1</span></h2>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mkfs.ext4 /dev/md0</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mkdir -p /mnt/ipfs-data</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "/dev/md0 /mnt/ipfs-data ext4 defaults 0 2" &gt;&gt; /etc/fstab</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl daemon-reload</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mount -a</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>df -Th |grep ipfs</strong>'</span>
<span style="color: #ff0000;"><em>/dev/md0 ext4 49G 24K 47G 1% /mnt/ipfs-data</em></span></pre>
<p><img loading="lazy" decoding="async" width="898" height="115" class="wp-image-9345" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-12.png 898w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-12-300x38.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-12-768x98.png 768w" sizes="auto, (max-width: 898px) 100vw, 898px" /></p>
<h2><span style="color: #000000;">5. Règle Firewall</span></h2>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>firewall-cmd --add-port={4001,5001,9094,9095,9096,8080}/tcp --permanent</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>firewall-cmd --add-port=4001/udp --permanent</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanen</strong>t'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>firewall-cmd --reload</strong>'</span></pre>
<h2><span style="color: #000000;">6. Installation langage GO</span></h2>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://go.dev/dl/go1.24.4.linux-amd64.tar.gz">https://go.dev/dl/go1.24.4.linux-amd64.tar.gz</a></strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="932" height="313" class="wp-image-9346" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-13.png 932w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-13-300x101.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-13-768x258.png 768w" sizes="auto, (max-width: 932px) 100vw, 932px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; tar -xvf go1.24.4.linux-amd64.tar.gz &amp;&amp; mv go /usr/local</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>mkdir $HOME/gopath</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export GOROOT=/usr/local/go" &gt;&gt; $HOME/.bashrc</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export GOPATH=$HOME/gopath" &gt;&gt; $HOME/.bashrc</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>sed -i 's/export PATH/#export PATH/g' $HOME/.bashrc</strong>"</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" &gt;&gt; $HOME/.bashrc</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>source ~/.bashrc</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>go version</strong>'</span>
<span style="color: #ff0000;"><em>go version go1.24.4 linux/amd64</em></span></pre>
<h2><span style="color: #000000;">7. Installation des paquets nécessaires</span></h2>
<h3><span style="color: #000000;">Installation du paquet IPFS KUBO</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; wget </strong><a style="color: #ff0000;" href="https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz"><strong>https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz</strong></a>'</span></pre>
<p><img loading="lazy" decoding="async" width="1140" height="262" class="wp-image-9347" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-14.png 1140w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-14-300x69.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-14-1024x235.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-14-768x177.png 768w" sizes="auto, (max-width: 1140px) 100vw, 1140px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; tar -xzvf kubo_v0.35.0_linux-amd64.tar.gz kubo/</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="889" height="153" class="wp-image-9348" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-15.png 889w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-15-300x52.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-15-768x132.png 768w" sizes="auto, (max-width: 889px) 100vw, 889px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home/kubo &amp;&amp; bash install.sh</strong>'</span>
<span style="color: #ff0000;"><em>Moved ./ipfs to /usr/local/bin</em></span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs --version</strong>'</span>
<span style="color: #ff0000;"><em>ipfs version 0.35.0</em></span></pre>
<h3><span style="color: #000000;">Installation du paquet cluster ipfs service</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; wget </strong><a style="color: #ff0000;" href="https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz"><strong>https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz</strong></a>'</span></pre>
<p><img loading="lazy" decoding="async" width="1304" height="264" class="wp-image-9349" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-16.png 1304w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-16-300x61.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-16-1024x207.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-16-768x155.png 768w" sizes="auto, (max-width: 1304px) 100vw, 1304px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; tar -xzvf ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz ipfs-cluster-service/</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="1149" height="139" class="wp-image-9350" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-17.png 1149w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-17-300x36.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-17-1024x124.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-17-768x93.png 768w" sizes="auto, (max-width: 1149px) 100vw, 1149px" /></p>
<pre>[root@node-ipfsl ~]<span style="color: #ff0000;"># ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; mv ipfs-cluster-service/ipfs-cluster-service /usr/local/bin/</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs-cluster-service --version</strong>'</span>
<span style="color: #ff0000;"><em>ipfs-cluster-service version 1.1.4</em></span></pre>
<h3><span style="color: #000000;">Installation du paquet cluster ipfs ctl</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; wget https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="1278" height="223" class="wp-image-9351" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-18.png 1278w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-18-300x52.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-18-1024x179.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-18-768x134.png 768w" sizes="auto, (max-width: 1278px) 100vw, 1278px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; tar -xzvf ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz ipfs-cluster-ctl/</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="1103" height="147" class="wp-image-9352" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-19.png 1103w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-19-300x40.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-19-1024x136.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-19-768x102.png 768w" sizes="auto, (max-width: 1103px) 100vw, 1103px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>cd /home &amp;&amp; mv ipfs-cluster-ctl/ipfs-cluster-ctl /usr/local/bin/</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs-cluster-ctl --version</strong>'</span>
<em><span style="color: #ff0000;">ipfs-cluster-ctl version 1.1.4</span></em></pre>
<h3><span style="color: #000000;">Variables d’environnements</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export IPFS_PATH=/mnt/ipfs-data/ipfs" &gt;&gt; $HOME/.bashrc</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster" &gt;&gt; $HOME/.bashrc</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>echo "export LIBP2P_FORCE_PNET=1" &gt;&gt; $HOME/.bashrc</strong>'</span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>source $HOME/.bashrc</strong>'</span></pre>
<h2><span style="color: #000000;">8. Initialisation et service IPFS Peer node-ipfsp3</span></h2>
<h3><span style="color: #000000;">Initialisation nœud IPFS</span></h3>
<pre>[root@node-ipfsl ~]# ssh root@192.168.1.73 'ipfs init'</pre>
<p><img loading="lazy" decoding="async" width="631" height="88" class="wp-image-9353" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-20.png 631w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-20-300x42.png 300w" sizes="auto, (max-width: 631px) 100vw, 631px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs config Datastore.StorageMax \"40GB\"</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"*\"]'</strong>"</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '[\"PUT\", \"POST\"]'</strong>"</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"http://192.168.1.73:5001\", \"http://localhost:3000\", \"http://127.0.0.1:5001\", \"https://node-ipfsp3.house.cp\"]'</strong>"</span></pre>
<h3><span style="color: #000000;">Mode privé du noeud</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">scp /mnt/ipfs-data/ipfs/<strong>swarm.key</strong> root@192.168.1.73:/mnt/ipfs-data/ipfs/<strong>swarm.key</strong></span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs bootstrap rm --all</strong>'</span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt</em></span>
<span style="color: #ff0000;"><em>removed /dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span>
<span style="color: #ff0000;"><em>removed /ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ</em></span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs config Routing.Type dht</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs config --json AutoTLS.Enabled false</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs config --json Swarm.Transports.Network.WebTransport false</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>ipfs config --json Swarm.Transports.Network '{\"TCP\": true, \"QUIC\": false, \"Websocket\": false, \"Relay\": false, \"WebTransport\": false, \"WebRTCDirect\": false}'</strong>"</span></pre>
<h3><span style="color: #000000;">Service daemon ipfs</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">scp <strong>/etc/systemd/system/ipfs-peer.service</strong> <a style="color: #ff0000;" href="mailto:root@192.168.1.73:/etc/systemd/system/ipfs-peer.service">root@192.168.1.73:/etc/systemd/system/ipfs-peer.service</a></span>

[root@node-ipfsl ~]#<span style="color: #ff0000;"> ssh root@192.168.1.73 '<strong>systemctl daemon-reexec &amp;&amp; systemctl daemon-reload</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl enable ipfs-peer &amp;&amp; systemctl start ipfs-peer</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl status ipfs-peer</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="1012" height="334" class="wp-image-9354" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-21.png 1012w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-21-300x99.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-21-768x253.png 768w" sizes="auto, (max-width: 1012px) 100vw, 1012px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ipfs swarm peers</span>
<span style="color: #ff0000;"><em>/ip4/192.168.1.71/tcp/4001/p2p/12D3KooWJb4HwVbXFuxZSeFAUjocurt7gPw14G6CsZRwTpVgMNdP</em></span>
<span style="color: #ff0000;"><em>/ip4/192.168.1.72/tcp/4001/p2p/12D3KooWQ4VuBLMjVvmW4F4fhKxbArFG4Y9SQ3coVBo1PL29qrJx</em></span></pre>
<p><em><img loading="lazy" decoding="async" width="756" height="75" class="wp-image-9355" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-22.png 756w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-22-300x30.png 300w" sizes="auto, (max-width: 756px) 100vw, 756px" /></em></p>
<h2><span style="color: #000000;">9. Initialisation et service Cluster IPFS Peer node-ipfsp3</span></h2>
<h3><span style="color: #000000;">Initialisation nœud cluster IPFS</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>ipfs-cluster-service init</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="819" height="122" class="wp-image-9356" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-23.png 819w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-23-300x45.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-23-768x114.png 768w" sizes="auto, (max-width: 819px) 100vw, 819px" /></p>
<h3><span style="color: #000000;">Récupération la clef secrète du leader</span></h3>
<pre>[root@node-ipfsl home]#<span style="color: #ff0000;"> cat /mnt/ipfs-data/ipfs-cluster/service.json |grep -i secret</span>
<span style="color: #ff0000;"><em> "secret": "</em><strong><em>9dc28eb1c943ec508cc9f5a8b4c4726a5398be979c62521dd93252d62cb72196</em></strong><em>",</em></span>

[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>sed -i 's/\"secret\": \".*\"/\"secret\": \"9dc28eb1c943ec508cc9f5a8b4c4726a5398be979c62521dd93252d62cb72196\"/' /mnt/ipfs-data/ipfs-cluster/service.json</strong>"</span></pre>
<h3><span style="color: #000000;">Copie du service Peers Cluster avec bootstrap leader</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">scp root@192.168.1.71:<strong>/etc/systemd/system/ipfs-cluster-peer.service</strong> <a style="color: #ff0000;" href="mailto:root@192.168.1.73:/etc/systemd/system/ipfs-cluster-peer.service">root@192.168.1.73:/etc/systemd/system/ipfs-cluster-peer.service</a></span></pre>
<h3><span style="color: #000000;">Autoriser les accès Cluster API et Web URL</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>sed -i 's|"/ip4/127.0.0.1/tcp/9094"|"/ip4/0.0.0.0/tcp/9094"|' /mnt/ipfs-data/ipfs-cluster/service.json</strong>"</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>sed -i 's|"/ip4/127.0.0.1/tcp/8080"|"/ip4/0.0.0.0/tcp/8080"|' /mnt/ipfs-data/ipfs/config</strong>"</span></pre>
<h2><span style="color: #000000;">10. Démarrer tous les services node-ipfsp3</span></h2>
<h3><span style="color: #000000;">Redémarrage peer IPFS</span></h3>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> ssh root@192.168.1.73 "<strong>systemctl stop ipfs-peer &amp;&amp; systemctl start ipfs-peer</strong>"</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 "<strong>systemctl status ipfs-peer</strong>"</span></pre>
<p><img loading="lazy" decoding="async" width="1013" height="348" class="wp-image-9357" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-24.png 1013w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-24-300x103.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-24-768x264.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></p>
<h3><span style="color: #000000;">Démarrage Cluster service IPFS</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl daemon-reexec &amp;&amp; systemctl daemon-reload</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl enable ipfs-cluster-peer.service &amp;&amp; systemctl start ipfs-cluster-peer.service</strong>'</span>
[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh root@192.168.1.73 '<strong>systemctl status ipfs-cluster-peer.service</strong>'</span></pre>
<p><img loading="lazy" decoding="async" width="1531" height="371" class="wp-image-9358" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-25.png 1531w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-25-300x73.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-25-1024x248.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-25-768x186.png 768w" sizes="auto, (max-width: 1531px) 100vw, 1531px" /></p>
<h2><span style="color: #000000;">11. Check du nouveau nœud</span></h2>
<h3><span style="color: #000000;">Liste les nœuds peers du cluster</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep "192.168.1.7"</span></pre>
<p><img loading="lazy" decoding="async" width="979" height="160" class="wp-image-9359" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-26.png 979w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-26-300x49.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-26-768x126.png 768w" sizes="auto, (max-width: 979px) 100vw, 979px" /></p>
<p><img loading="lazy" decoding="async" width="1356" height="417" class="wp-image-9360" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-27.png 1356w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-27-300x92.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-27-1024x315.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-27-768x236.png 768w" sizes="auto, (max-width: 1356px) 100vw, 1356px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls</span></pre>
<p><img loading="lazy" decoding="async" width="1025" height="502" class="wp-image-9361" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-28.png 1025w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-28-300x147.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-28-768x376.png 768w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></p>
<h3><span style="color: #000000;">Accès du fichier «Bob_l_eponge.jpg » répliqué précédemment</span></h3>
<ul>
<li>http://<strong><span style="color: #ff0000;">192.168.1.73</span></strong>:8080/ipfs/<strong><span style="color: #ff0000;">QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</span></strong></li>
</ul>
<p><img loading="lazy" decoding="async" width="1022" height="589" class="wp-image-9362" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-29.png 1022w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-29-300x173.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9333-29-768x443.png 768w" sizes="auto, (max-width: 1022px) 100vw, 1022px" /></p>
<p>Views: 0</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-deploiement-dun-peers-au-cluster-via-le-leader-partie-3/">MODOP – Déploiement d’un peers au Cluster via le leader – Partie 3</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-deploiement-dun-peers-au-cluster-via-le-leader-partie-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Cluster IPFS RAID1 – déploiement d’un peers au Cluster via Script Bash – Partie 4</title>
		<link>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-dun-peers-au-cluster-via-script-bash-partie-4/</link>
					<comments>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-dun-peers-au-cluster-via-script-bash-partie-4/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:36:29 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9325</guid>

					<description><![CDATA[<p>Ce MODOP décrit l’évolution du cluster IPFS privé par l’ajout d’un nouveau nœud peer, réalisé à l’aide d’un script Bash automatisant l’ensemble des étapes techniques. Cette approche permet une intégration rapide, fiable, et sans interruption de service pour les nœuds déjà actifs. L'objectif de l'automatisation est accélérer le déploiement de nouveaux nœuds, réduire les risques d’erreurs liés aux manipulations manuelles en ligne de commande (CLI),simplifier l’extension du cluster et garantir la confidentialité des échanges et la stabilité du réseau. Le script assure une intégration transparente du nouveau nœud dans un contexte industriel, avec une logique de scalabilité maîtrisée. Cette méthode facilite l’industrialisation du processus tout en respectant les exigences de sécurité, de redondance, et de haute disponibilité du système.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-dun-peers-au-cluster-via-script-bash-partie-4/">MODOP – Cluster IPFS RAID1 – déploiement d’un peers au Cluster via Script Bash – Partie 4</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="1318" height="447" class="wp-image-9326" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-1.png 1318w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-1-300x102.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-1-1024x347.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-1-768x260.png 768w" sizes="auto, (max-width: 1318px) 100vw, 1318px" /></p>
<h2><span style="color: #000000;">1. Inventaire du nouveaux peer</span></h2>
<h4>Hostname</h4>
<ul>
<li>Node-ipfsp4 : IP = <strong>192.168.1.74 (peer)</strong></li>
</ul>
<h4>HDD</h4>
<ul>
<li>Disque SCSI0 : Système</li>
<li>Disque SCSI1 &amp; SCSI2 : RAID1</li>
</ul>
<h2><span style="color: #000000;">2. Installation des prérequis</span></h2>
<pre><strong>##### CONFIGURATION #####</strong>

<em><span style="color: #ff0000;">HOSTNAME="node-ipfsp4"</span></em>
<em><span style="color: #ff0000;">DEVICE1="/dev/sdb"</span></em>
<em><span style="color: #ff0000;">DEVICE2="/dev/sdc"</span></em>
<em><span style="color: #ff0000;">DEVICERAID="/dev/md0"</span></em>
<em><span style="color: #ff0000;">MOUNT_POINT="/mnt/ipfs-data"</span></em>
<em><span style="color: #ff0000;">IPHOST="192.168.1.74"</span></em>

<strong>echo "#################################"</strong>
<strong>echo " Prérequis client peer "</strong>
<strong>echo "#################################"</strong>

<strong>echo "##### 1 - Set Hostname #####"</strong>
<em><span style="color: #ff0000;">hostnamectl hostname ${HOSTNAME}</span></em>
<em><span style="color: #ff0000;">hostnamectl</span></em>

<strong>echo "##### 2 - Update Machine #####"</strong>
<span style="color: #ff0000;"><em>dnf -y update</em></span>

<strong>echo "##### 3 - Desactiver SELinux #####"</strong>
<span style="color: #ff0000;"><em>sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</em></span>
<span style="color: #ff0000;"><em>setenforce 0</em></span>

<strong>echo "##### 4 - NTP Client #####"</strong>
<em><span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span></em>
<span style="color: #ff0000;"><em>timedatect</em>l</span>

<strong>echo "##### 5 - Installer paquet utils #####"</strong>
<span style="color: #ff0000;"><em>dnf install epel-release net-tools nmap wget tar git –y</em></span></pre>
<h2><span style="color: #000000;">3. Installation du RAID1</span></h2>
<pre><strong>echo "#################################"</strong>
<strong>echo " Installation du RAID1 "</strong>
<strong>echo "#################################"</strong>

<strong>echo "#### 1 - Prédisposition du RAID Logiciel #####"</strong>
<span style="color: #ff0000;"><em>dnf -y install mdadm</em></span>
<span style="color: #ff0000;"><em>
echo "modprobe linear" &gt;&gt; /etc/rc.local</em></span>
<span style="color: #ff0000;"><em>echo "modprobe raid1" &gt;&gt; /etc/rc.local</em></span>
<span style="color: #ff0000;"><em>chmod +x /etc/rc.local</em></span>
<span style="color: #ff0000;"><em>source /etc/rc.local</em></span>
<span style="color: #ff0000;"><em>cat /proc/mdstat</em></span>

<strong>echo "##### 2 - Partitionnement des disques en mode RAID #####"</strong>
<span style="color: #ff0000;"><em>parted -s ${DEVICE1} mklabel msdos</em></span>
<span style="color: #ff0000;"><em>parted -s ${DEVICE2} mklabel msdos</em></span>

<span style="color: #ff0000;"><em>parted -s ${DEVICE1} mkpart primary 1MiB 100%</em></span>
<span style="color: #ff0000;"><em>parted -s ${DEVICE2} mkpart primary 1MiB 100%</em></span>

<span style="color: #ff0000;"><em>parted -s ${DEVICE1} set 1 raid on</em></span>
<span style="color: #ff0000;"><em>parted -s ${DEVICE2} set 1 raid on</em></span>

<strong>echo "#### 3 - Création du RAID1 #####"</strong>
<em><span style="color: #ff0000;">yes | mdadm --create ${DEVICERAID} --level=1 --raid-devices=2 ${DEVICE1}1 ${DEVICE2}1</span></em>

<em><span style="color: #ff0000;">while grep -qE 'resync|recovery' /proc/mdstat; do</span></em>
<em><span style="color: #ff0000;"> cat /proc/mdstat</span></em>
<em><span style="color: #ff0000;"> sleep 20</span></em>
<em><span style="color: #ff0000;">done</span></em>

<strong>echo "#### 4 - Préparation du volume RAID"</strong>
<em><span style="color: #ff0000;">mkfs.ext4 ${DEVICERAID}</span></em>
<em><span style="color: #ff0000;">mkdir -p ${MOUNT_POINT}</span></em>
<em><span style="color: #ff0000;">
echo "/dev/md0 /mnt/ipfs-data ext4 defaults 0 2" &gt;&gt; /etc/fstab</span></em>
<em><span style="color: #ff0000;">systemctl daemon-reload</span></em>
<em><span style="color: #ff0000;">mount -a</span></em>
<em><span style="color: #ff0000;">df -Th |grep ipfs</span></em></pre>
<h2><span style="color: #000000;">4. Installation des règles Firewall</span></h2>
<pre><strong>echo "###################################"</strong>
<strong>echo " Installation des règles Firewall "</strong>
<strong>echo "###################################"</strong>

<span style="color: #ff0000;"><em>firewall-cmd --add-port={4001,5001,9094,9095,9096,8080}/tcp --permanent</em></span>
<span style="color: #ff0000;"><em>firewall-cmd --add-port=4001/udp --permanent</em></span>
<span style="color: #ff0000;"><em>firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent</em></span>
<span style="color: #ff0000;"><em>firewall-cmd --reload</em></span>
<span style="color: #ff0000;"><em>firewall-cmd --list-all</em></span></pre>
<h2><span style="color: #000000;">5. Installation des middleware IPFS et Cluster</span></h2>
<pre><strong>echo "###################################"</strong>
<strong>echo " Installation Middleware IPFS "</strong>
<strong>echo "###################################"</strong>

<strong>echo "#### 1 - Installation langage GO #####"</strong>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; wget https://go.dev/dl/go1.24.4.linux-amd64.tar.gz</em></span>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; tar -xvf go1.24.4.linux-amd64.tar.gz &amp;&amp; mv go /usr/local</em></span>
<span style="color: #ff0000;"><em>mkdir $HOME/gopath</em></span>

<span style="color: #ff0000;"><em>echo "export GOROOT=/usr/local/go" &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>echo "export GOPATH=$HOME/gopath" &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>sed -i 's/export PATH/#export PATH/g' $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>source $HOME/.bashrc</em></span>

<span style="color: #ff0000;"><em>echo ""</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>go version</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>sleep 1</em></span>
<span style="color: #ff0000;"><em>clear</em></span>

<strong>echo "##### 2 - Installation Go-ipfs KUBO #####"</strong>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; wget https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz</em></span>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; tar -xzvf kubo_v0.35.0_linux-amd64.tar.gz kubo/</em></span>
<span style="color: #ff0000;"><em>cd /home/kubo &amp;&amp; bash install.sh</em></span>

<span style="color: #ff0000;"><em>echo ""</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>ipfs --version</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>sleep 1</em></span>
<span style="color: #ff0000;"><em>clear</em></span>

<strong>echo "##### 3 - Installation ipfs Cluster service #####"</strong>
<span style="color: #ff0000;">cd /home &amp;&amp; wget https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz</span>
<span style="color: #ff0000;">cd /home &amp;&amp; tar -xzvf ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz ipfs-cluster-service/</span>
<span style="color: #ff0000;">cd /home &amp;&amp; mv ipfs-cluster-service/ipfs-cluster-service /usr/local/bin/</span>

<span style="color: #ff0000;">echo ""</span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>ipfs-cluster-service --version</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>sleep 1</em></span>
<span style="color: #ff0000;"><em>clear</em></span>

<strong>echo "##### 4 - Installation ipfs cluster ctl #####"</strong>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; wget https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz</em></span>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; tar -xzvf ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz ipfs-cluster-ctl/</em></span>
<span style="color: #ff0000;"><em>cd /home &amp;&amp; mv ipfs-cluster-ctl/ipfs-cluster-ctl /usr/local/bin/</em></span>

<span style="color: #ff0000;"><em>echo ""</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>ipfs-cluster-ctl --version</em></span>
<span style="color: #ff0000;"><em>echo "#####################"</em></span>
<span style="color: #ff0000;"><em>sleep 1</em></span>
<em><span style="color: #ff0000;">clear</span> </em>

<strong>echo "##### 5 - Installation des variables ENV ipfs ####"</strong>
<span style="color: #ff0000;"><em>echo "export IPFS_PATH=/mnt/ipfs-data/ipfs" &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>echo "export IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster" &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>echo "export LIBP2P_FORCE_PNET=1" &gt;&gt; $HOME/.bashrc</em></span>
<span style="color: #ff0000;"><em>source $HOME/.bashrc</em></span></pre>
<h2><span style="color: #000000;">6. Initialisation et service IPFS Kubo</span></h2>
<pre><strong>echo "#######################################"</strong>
<strong>echo " Initialisation et service IPFS Peer "</strong>
<strong>echo "#######################################"</strong>

<strong>echo "#### 1 - Initialisation du Peer #####"</strong>
<span style="color: #ff0000;"><em>ipfs init</em></span>

<strong>echo "#### 2 - Paramètrage du peer #####"</strong>
<span style="color: #ff0000;"><em>ipfs config --json Datastore.StorageMax '"40GB"'</em></span>
<span style="color: #ff0000;"><em>ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001</em></span>
<span style="color: #ff0000;"><em>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'</em></span>
<span style="color: #ff0000;"><em>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]'</em></span>
<span style="color: #ff0000;"><em>ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://'${IPHOST}':5001", "http://localhost:3000", "http://127.0.0.1:5001", "https://'${HOSTNAME}'.house.cp"]'</em></span>

<strong>echo "#### 3 - Paramétrage mode Privé #####"</strong>
<span style="color: #ff0000;"><em>cat &lt;&lt;EOF &gt; /mnt/ipfs-data/ipfs/swarm.key</em></span>
<span style="color: #ff0000;"><em>/key/swarm/psk/1.0.0/</em></span>
<span style="color: #ff0000;"><em>/base16/</em></span>
<span style="color: #ff0000;"><em>1c77bfd716e3d5811049260f3aaedcdcadf0997113b02dbddc1ecab3308b15ac</em></span>
<span style="color: #ff0000;"><em>EOF</em></span>

<span style="color: #ff0000;"><em>ipfs bootstrap rm --all</em></span>
<span style="color: #ff0000;"><em>ipfs config Routing.Type dht</em></span>
<span style="color: #ff0000;"><em>ipfs config --json AutoTLS.Enabled false</em></span>
<span style="color: #ff0000;"><em>ipfs config --json Swarm.Transports.Network.WebTransport false</em></span>
<span style="color: #ff0000;"><em>ipfs config --json Swarm.Transports.Network '{"TCP": true, "QUIC": false, "Websocket": false, "Relay": false, "WebTransport": false, "WebRTCDirect": false}'</em></span>

<strong>echo "#### 4 - Service ipfs peer ####"</strong>
<span style="color: #ff0000;"><em>cat &lt;&lt;EOF &gt; /etc/systemd/system/ipfs-peer.service</em></span>
<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=IPFS Node (Pair – stockage RAID1)</em></span>
<span style="color: #ff0000;"><em>After=network.target</em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>User=root</em></span>
<span style="color: #ff0000;"><em>Environment="IPFS_PATH=/mnt/ipfs-data/ipfs"</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/ipfs daemon</em></span>
<span style="color: #ff0000;"><em>Restart=on-failure</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=10240</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span>
<span style="color: #ff0000;"><em>EOF</em></span>

<span style="color: #ff0000;"><em>systemctl daemon-reexec &amp;&amp; systemctl daemon-reload</em></span>
<span style="color: #ff0000;"><em>systemctl enable ipfs-peer.service &amp;&amp; systemctl restart ipfs-peer.service</em></span>
<span style="color: #ff0000;"><em>systemctl status ipfs-peer.service</em></span></pre>
<h2><span style="color: #000000;">7. Initialisation et service IPFS Cluster</span></h2>
<pre><strong>echo "###################################"</strong><br /><strong>echo " Installation du cluster IPFS "</strong><br /><strong>echo "#################################i##"</strong><br /><br /><strong>echo "##### 1 - Initialisation du Cluster sur la machine ######"</strong><br /><span style="color: #ff0000;"><em>ipfs-cluster-service init</em></span><br /><br /><strong>echo "##### 2 - Ajout de la clef privée du cluster #####"</strong><br /><span style="color: #ff0000;"><em>sed -i 's/\"secret\": \".*\"/\"secret\": \"9dc28eb1c943ec508cc9f5a8b4c4726a5398be979c62521dd93252d62cb72196\"/' /mnt/ipfs-data/ipfs-cluster/service.json</em></span><br /><br /><strong>echo "##### 3 - Service ipfs Cluster ####"</strong><br /><span style="color: #ff0000;"><em>cat &lt;&lt;EOF &gt; /etc/systemd/system/ipfs-cluster-peer.service</em></span><br /><span style="color: #ff0000;"><em>[Unit]</em></span><br /><span style="color: #ff0000;"><em>Description=IPFS Cluster Peer Service</em></span><br /><span style="color: #ff0000;"><em>After=network.target</em></span><br /><br /><span style="color: #ff0000;"><em>[Service]</em></span><br /><span style="color: #ff0000;"><em>User=root</em></span><br /><span style="color: #ff0000;"><em>Group=root</em></span><br /><span style="color: #ff0000;"><em>Environment=IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster</em></span><br /><span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/ipfs-cluster-service daemon --bootstrap /ip4/192.168.1.70/tcp/9096/p2p/12D3KooWALCus4V2sFQmK8ZtLeSsBvxsE9GeUpdv4jJvwC3qPpAD</em></span><br /><span style="color: #ff0000;"><em>WorkingDirectory=/mnt/ipfs-data/ipfs-cluster</em></span><br /><span style="color: #ff0000;"><em>Restart=always</em></span><br /><span style="color: #ff0000;"><em>RestartSec=10</em></span><br /><span style="color: #ff0000;"><em>LimitNOFILE=10240</em></span><br /><br /><span style="color: #ff0000;"><em>[Install]</em></span><br /><span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span><br /><span style="color: #ff0000;"><em>EOF</em></span><br /><br /><strong>echo "##### 4 - Ouverture des accès web API 9094 ####"</strong><br /><span style="color: #ff0000;"><em>sed -i 's|"/ip4/127.0.0.1/tcp/9094"|"/ip4/0.0.0.0/tcp/9094"|' /mnt/ipfs-data/ipfs-cluster/service.json</em></span><br /><br /><strong>echo "##### 5 - OUverture des accès Web URL 8080 #####"</strong><br /><span style="color: #ff0000;"><em>sed -i 's|"/ip4/127.0.0.1/tcp/8080"|"/ip4/0.0.0.0/tcp/8080"|' /mnt/ipfs-data/ipfs/config</em></span><br /><br /><strong>echo "##### 6 - Démarrage de l'ensembl des service IPS et IPS Cluster #####"</strong><br /><span style="color: #ff0000;"><em>systemctl stop ipfs-peer &amp;&amp; systemctl start ipfs-peer</em></span><br /><span style="color: #ff0000;"><em>systemctl daemon-reexec &amp;&amp; systemctl daemon-reload</em></span><br /><span style="color: #ff0000;"><em>systemctl enable ipfs-cluster-peer.service &amp;&amp; systemctl start ipfs-cluster-peer.service</em></span><br /><span style="color: #ff0000;"><em>sleep 6</em></span><br /><br /><strong>echo "##### 7 - Check des connexions clientes et Cluster #####"</strong><br /><br />echo ""<br /><strong>echo "########### Liste des Noeuds du Cluster ############################"</strong><br /><span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep "192.168.1.7"</span><br /><br />echo ""<br /><strong>echo "########## Liste des Noeuds attaché au peer client ################"</strong><br /><span style="color: #ff0000;">ipfs swarm peers</span></pre>
<h2><span style="color: #000000;">8. Résultat du script</span></h2>
<h3><span style="color: #000000;">Liste les nœuds du cluster IPFS</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsp4</span> ~]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep "192.168.1.7"</span></pre>
<p><em><img loading="lazy" decoding="async" width="867" height="191" class="wp-image-9327" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-2.png 867w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-2-300x66.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-2-768x169.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></em></p>
<h3><span style="color: #000000;">Liste les nœuds connectés sur le peer n°4</span></h3>
<pre>[root@node-<span style="color: #ff0000;">ipfsp4</span> ~]# <span style="color: #ff0000;">ipfs swarm peers</span></pre>
<p><img loading="lazy" decoding="async" width="725" height="113" class="wp-image-9328" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-3.png 725w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-3-300x47.png 300w" sizes="auto, (max-width: 725px) 100vw, 725px" /></p>
<h3><span style="color: #000000;">Accès du fichier «Bob_l_eponge.jpg » répliqué précédemment</span></h3>
<ul>
<li><a href="http://192.168.1.74:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<span style="color: #ff0000;"><strong>192.168.1.74</strong></span>:8080/ipfs/<strong><span style="color: #ff0000;">QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</span></strong></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1041" height="565" class="wp-image-9329" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-4.png 1041w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-4-300x163.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-4-1024x556.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9325-4-768x417.png 768w" sizes="auto, (max-width: 1041px) 100vw, 1041px" /></p>


<p></p>
<p>Views: 3</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-dun-peers-au-cluster-via-script-bash-partie-4/">MODOP – Cluster IPFS RAID1 – déploiement d’un peers au Cluster via Script Bash – Partie 4</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-dun-peers-au-cluster-via-script-bash-partie-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Cluster IPFS RAID1 – déploiement de deux peers via Parallèle-SSH – Partie 5</title>
		<link>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-de-deux-peers-via-parallele-ssh-partie-5/</link>
					<comments>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-de-deux-peers-via-parallele-ssh-partie-5/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:34:43 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9273</guid>

					<description><![CDATA[<p>Ce MODOP décrit l’ajout de deux nœuds peers supplémentaires dans un cluster IPFS privé, réalisé à l’aide de connexions SSH parallèles afin d’accélérer et de synchroniser le processus de déploiement. L’objectif est d’automatiser l’intégration simultanée de deux nouveaux nœuds peers au sein du cluster, en utilisant des connexions SSH parallèles. Cette méthode permet :un déploiement multi-nœuds efficace, de garantir l’homogénéité des configurations, de maintenir la confidentialité, d’assurer la continuité du service, et de renforcer la scalabilité ainsi que la résilience du cluster.Les deux nœuds peers sont intégrés en parallèle, avec une configuration cohérente et une réplication immédiate des données P2P. L’approche par SSH parallèle réduit les délais d’intégration et permet un déploiement reproductible dans un cadre industriel structuré.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-de-deux-peers-via-parallele-ssh-partie-5/">MODOP – Cluster IPFS RAID1 – déploiement de deux peers via Parallèle-SSH – Partie 5</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>


<p><em><img loading="lazy" decoding="async" width="1304" height="673" class="wp-image-9274" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-1.png 1304w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-1-300x155.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-1-1024x528.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-1-768x396.png 768w" sizes="auto, (max-width: 1304px) 100vw, 1304px" /></em></p>
<h2><span style="color: #000000;">1. Inventaire des 2 nouveaux peers</span></h2>
<h4><span style="color: #000000;">Hostname</span></h4>
<ul>
<li>Node-ipfsp5 : IP = <strong>192.168.1.75 (peer)</strong></li>
<li>Node-ipfsp6 : IP = <strong>192.168.1.76 (peer)</strong></li>
</ul>
<h4><span style="color: #000000;">HDD</span></h4>
<ul>
<li>Disque SCSI0 : Système</li>
<li>Disque <strong>SCSI1 &amp; SCSI2 : RAID1</strong></li>
</ul>
<h2><span style="color: #000000;">2. Installation de Cluster-ssh</span></h2>
<h3><span style="color: #000000;">Installation du paquet parallèle SSH</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">dnf config-manager --set-enabled crb</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">dnf makecache</span></pre>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">dnf install pssh</span></pre>
<p><img loading="lazy" decoding="async" width="1669" height="266" class="wp-image-9275" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2.png 1669w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2-300x48.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2-1024x163.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2-768x122.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-2-1536x245.png 1536w" sizes="auto, (max-width: 1669px) 100vw, 1669px" /></p>
<h3><span style="color: #000000;">Configuration des hosts machines IPFS </span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">echo "root@192.168.1.75" &gt;&gt; <strong>~/.prod_ipfs.txt</strong></span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">echo "root@192.168.1.76" &gt;&gt; <strong>~/.prod_ipfs.txt</strong></span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">echo "root@192.168.1.75" &gt;&gt;<strong> ~/.prod_ipfsp5.txt</strong></span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">echo "root@192.168.1.76" &gt;&gt; <strong>~/.prod_ipfsp6.txt</strong></span></pre>
<h3><span style="color: #000000;">Echange de clef de connexion du leader sur les peers</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh-keygen</span></pre>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> ssh-copy-id root@192.168.1.75</span></pre>
<p><em><img loading="lazy" decoding="async" width="989" height="229" class="wp-image-9276" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-3.png 989w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-3-300x69.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-3-768x178.png 768w" sizes="auto, (max-width: 989px) 100vw, 989px" /></em></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ssh-copy-id root@192.168.1.76</span></pre>
<p><em><img loading="lazy" decoding="async" width="1011" height="238" class="wp-image-9277" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-4.png 1011w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-4-300x71.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-4-768x181.png 768w" sizes="auto, (max-width: 1011px) 100vw, 1011px" /></em></p>
<h2><span style="color: #000000;">3. Installation des prérequis IPFS via pssh</span></h2>
<h3><span style="color: #000000;">Set le hotsname des machines</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfsp5.txt</strong> -i "hostnamectl hostname ipfsp5"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfsp6.txt</strong> -i "hostnamectl hostname ipfsp6"</span></pre>
<p><img loading="lazy" decoding="async" width="694" height="87" class="wp-image-9278" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-5.png 694w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-5-300x38.png 300w" sizes="auto, (max-width: 694px) 100vw, 694px" /></p>
<h3><span style="color: #000000;">Désactiver le SELinux</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config"</span></pre>
<p><img loading="lazy" decoding="async" width="971" height="55" class="wp-image-9279" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-6.png 971w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-6-300x17.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-6-768x44.png 768w" sizes="auto, (max-width: 971px) 100vw, 971px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "setenforce 0"</span></pre>
<p><img loading="lazy" decoding="async" width="549" height="67" class="wp-image-9280" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-7.png 549w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-7-300x37.png 300w" sizes="auto, (max-width: 549px) 100vw, 549px" /></p>
<h3><span style="color: #000000;">Set le NTP sur le fuseau de PARIS</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "timedatectl set-timezone Europe/Paris"</span></pre>
<p><img loading="lazy" decoding="async" width="733" height="68" class="wp-image-9281" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-8.png 733w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-8-300x28.png 300w" sizes="auto, (max-width: 733px) 100vw, 733px" /></p>
<h3><span style="color: #000000;">Mise à jour du système d’exploitation</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "yes | dnf -y update"</span></pre>
<p><img loading="lazy" decoding="async" width="970" height="192" class="wp-image-9282" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-9.png 970w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-9-300x59.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-9-768x152.png 768w" sizes="auto, (max-width: 970px) 100vw, 970px" /></p>
<h3><span style="color: #000000;">Ajout des dépendances pour IPFS</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "dnf install epel-release net-tools nmap wget tar git -y"</span></pre>
<h2><span style="color: #000000;">4. Installation du RAID1</span></h2>
<h3><span style="color: #000000;">Prédisposition du RAID Logiciel</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -v -i "dnf -y install mdadm"</span><br />[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "echo "modprobe raid1" &gt;&gt; /etc/rc.local"</span></pre>
<p><img loading="lazy" decoding="async" width="801" height="100" class="wp-image-9283" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-10.png 801w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-10-300x37.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-10-768x96.png 768w" sizes="auto, (max-width: 801px) 100vw, 801px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -v -i "chmod +x /etc/rc.local &amp;&amp; source /etc/rc.local"</span></pre>
<p><img loading="lazy" decoding="async" width="830" height="71" class="wp-image-9284" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-11.png 830w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-11-300x26.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-11-768x66.png 768w" sizes="auto, (max-width: 830px) 100vw, 830px" /></p>
<h3><span style="color: #000000;">Partitionnement des disques en mode</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "parted -s /dev/sdb mklabel msdos &amp;&amp; parted -s /dev/sdc mklabel msdos"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "parted -s /dev/sdb mkpart primary 1MiB 100% &amp;&amp; parted -s /dev/sdc mkpart primary 1MiB 100%"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "parted -s /dev/sdb set 1 raid on &amp;&amp; parted -s /dev/sdc set 1 raid on"</span></pre>
<p><img loading="lazy" decoding="async" width="1222" height="167" class="wp-image-9285" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-12.png 1222w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-12-300x41.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-12-1024x140.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-12-768x105.png 768w" sizes="auto, (max-width: 1222px) 100vw, 1222px" /></p>
<h3><span style="color: #000000;">Création du RAID1</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "<strong>yes |</strong> mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1"</span></pre>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "cat /proc/mdstat"</span></pre>
<p><img loading="lazy" decoding="async" width="868" height="252" class="wp-image-9286" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-13.png 868w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-13-300x87.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-13-768x223.png 768w" sizes="auto, (max-width: 868px) 100vw, 868px" /></p>
<p><img loading="lazy" decoding="async" width="823" height="234" class="wp-image-9287" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-14.png 823w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-14-300x85.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-14-768x218.png 768w" sizes="auto, (max-width: 823px) 100vw, 823px" /></p>
<p><img loading="lazy" decoding="async" width="676" height="215" class="wp-image-9288" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-15.png 676w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-15-300x95.png 300w" sizes="auto, (max-width: 676px) 100vw, 676px" /></p>
<h3><span style="color: #000000;">Préparation du volume RAID</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "<strong>yes|</strong>mkfs.ext4 /dev/md0 "</span></pre>
<p><img loading="lazy" decoding="async" width="713" height="444" class="wp-image-9289" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-16.png 713w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-16-300x187.png 300w" sizes="auto, (max-width: 713px) 100vw, 713px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "mkdir -p /mnt/ipfs-data"</span></pre>
<p><img loading="lazy" decoding="async" width="685" height="73" class="wp-image-9290" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-17.png 685w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-17-300x32.png 300w" sizes="auto, (max-width: 685px) 100vw, 685px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "echo "/dev/md0 /mnt/ipfs-data ext4 defaults 0 2" &gt;&gt; /etc/fstab"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "systemctl daemon-reload"</span></pre>
<p><img loading="lazy" decoding="async" width="967" height="95" class="wp-image-9291" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-18.png 967w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-18-300x29.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-18-768x75.png 768w" sizes="auto, (max-width: 967px) 100vw, 967px" /></p>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "mount -a"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "df -Th|grep ipfs"</span></pre>
<p><img loading="lazy" decoding="async" width="657" height="149" class="wp-image-9292" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-19.png 657w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-19-300x68.png 300w" sizes="auto, (max-width: 657px) 100vw, 657px" /></p>
<h2><span style="color: #000000;">5. Installation des règles Firewall</span></h2>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -v -i "firewall-cmd --add-port={4001,5001,9094,9095,9096,8080}/tcp --permanent"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "firewall-cmd --add-port=4001/udp --permanent"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent"</span></pre>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -v -i "firewall-cmd --reload"</span></pre>
<p><img loading="lazy" decoding="async" width="1085" height="312" class="wp-image-9293" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-20.png 1085w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-20-300x86.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-20-1024x294.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-20-768x221.png 768w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></p>
<h2><span style="color: #000000;">6. Installation des middleware IPFS et Cluster</span></h2>
<h3><span style="color: #000000;">Installation langage GO</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://go.dev/dl/go1.24.4.linux-amd64.tar.gz">https://go.dev/dl/go1.24.4.linux-amd64.tar.gz</a>"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "cd /home &amp;&amp; tar -xvf go1.24.4.linux-amd64.tar.gz &amp;&amp; mv go /usr/local"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "mkdir $HOME/gopath"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i 'echo "export GOROOT=/usr/local/go" &gt;&gt; $HOME/.bashrc'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i 'echo "export GOPATH=$HOME/gopath" &gt;&gt; $HOME/.bashrc'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "sed -i 's/export PATH/#export PATH/g' $HOME/.bashrc"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i 'echo "export</span> <span style="color: #ff0000;">PATH=$PATH:$GOROOT/bin:$GOPATH/bin" &gt;&gt; $HOME/.bashrc'</span></pre>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i 'source ~/.bashrc &amp;&amp; go version'</span></pre>
<p><img loading="lazy" decoding="async" width="985" height="306" class="wp-image-9294" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-21.png 985w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-21-300x93.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-21-768x239.png 768w" sizes="auto, (max-width: 985px) 100vw, 985px" /></p>
<h3><span style="color: #000000;">Installation Go-ipfs KUBO</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -v -i "cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz">https://dist.ipfs.tech/kubo/v0.35.0/kubo_v0.35.0_linux-amd64.tar.gz</a>"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "cd /home &amp;&amp; tar -xzvf kubo_v0.35.0_linux-amd64.tar.gz kubo/"</span></pre>
<p><img loading="lazy" decoding="async" width="979" height="281" class="wp-image-9295" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-22.png 979w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-22-300x86.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-22-768x220.png 768w" sizes="auto, (max-width: 979px) 100vw, 979px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "cd /home/kubo &amp;&amp; bash install.sh"</span><br />[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfs.txt</strong> -v -i "ipfs --version"</span></pre>
<p><img loading="lazy" decoding="async" width="713" height="179" class="wp-image-9296" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-23.png 713w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-23-300x75.png 300w" sizes="auto, (max-width: 713px) 100vw, 713px" /></p>
<h3><span style="color: #000000;">Installation IPFS Cluster service</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz">https://dist.ipfs.tech/ipfs-cluster-service/v1.1.4/ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz</a>"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "cd /home &amp;&amp; tar -xzvf ipfs-cluster-service_v1.1.4_linux-amd64.tar.gz ipfs-cluster-service/"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "cd /home &amp;&amp; mv ipfs-cluster-service/ipfs-cluster-service /usr/local/bin/"</span></pre>
<p><img loading="lazy" decoding="async" width="1193" height="285" class="wp-image-9297" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-24.png 1193w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-24-300x72.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-24-1024x245.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-24-768x183.png 768w" sizes="auto, (max-width: 1193px) 100vw, 1193px" /></p>
<h3>I<span style="color: #000000;">nstallation IPFS Cluster ctl</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "cd /home &amp;&amp; wget <a style="color: #ff0000;" href="https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz">https://dist.ipfs.tech/ipfs-cluster-ctl/v1.1.4/ipfs-cluster-ctl_v1.1.4_linux-amd64.tar.gz</a>"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "cd /home &amp;&amp; mv ipfs-cluster-ctl/ipfs-cluster-ctl /usr/local/bin/"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs-cluster-ctl --version"</span></pre>
<p><img loading="lazy" decoding="async" width="1079" height="354" class="wp-image-9298" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-25.png 1079w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-25-300x98.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-25-1024x336.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-25-768x252.png 768w" sizes="auto, (max-width: 1079px) 100vw, 1079px" /></p>
<h3><span style="color: #000000;">Installation des variables ENV ipfs</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i 'echo "export IPFS_PATH=/mnt/ipfs-data/ipfs" &gt;&gt; $HOME/.bashrc'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i 'echo "export IPFS_CLUSTER_PATH=/mnt/ipfs-data/ipfs-cluster" &gt;&gt; $HOME/.bashrc'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i 'echo "export LIBP2P_FORCE_PNET=1" &gt;&gt; $HOME/.bashrc'</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i 'source $HOME/.bashrc'</span></pre>
<p><img loading="lazy" decoding="async" width="1115" height="188" class="wp-image-9299" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-26.png 1115w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-26-300x51.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-26-1024x173.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-26-768x129.png 768w" sizes="auto, (max-width: 1115px) 100vw, 1115px" /></p>
<h2><span style="color: #000000;">7. Initialisation et service IPFS Kubo</span></h2>
<h3><span style="color: #000000;">Initialisation du Peer</span></h3>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs init"</span></pre>
<p><img loading="lazy" decoding="async" width="667" height="161" class="wp-image-9300" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-27.png 667w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-27-300x72.png 300w" sizes="auto, (max-width: 667px) 100vw, 667px" /></p>
<h3><span style="color: #000000;">Paramétrage du peer</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h<strong> ~/.prod_ipfs.txt</strong> -i 'ipfs config Datastore.StorageMax \"40GB\"'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i 'ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001'</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"*\"]'"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '[\"PUT\", \"POST\"]'"</span></pre>
<p><img loading="lazy" decoding="async" width="1119" height="188" class="wp-image-9301" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-28.png 1119w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-28-300x50.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-28-1024x172.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-28-768x129.png 768w" sizes="auto, (max-width: 1119px) 100vw, 1119px" /></p>
<pre>[root@node-ipfsl ~]#<span style="color: #ff0000;"> pssh -h <strong>~/.prod_ipfsp5.txt</strong> -i "ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"http://<strong>192.168.1.75</strong>:5001\", \"http://localhost:3000\", \"http://127.0.0.1:5001\", \"https://<strong>node-ipfsp5.house.cp</strong>\"]'"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfsp6.txt -i</strong> "ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '[\"http://<strong>192.168.1.76</strong>:5001\", \"http://localhost:3000\", \"http://127.0.0.1:5001\", \"https://<strong>node-ipfsp6.house.cp</strong>\"]'"</span></pre>
<p><img loading="lazy" decoding="async" width="1675" height="122" class="wp-image-9302" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29.png 1675w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29-300x22.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29-1024x75.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29-768x56.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-29-1536x112.png 1536w" sizes="auto, (max-width: 1675px) 100vw, 1675px" /></p>
<h3><span style="color: #000000;">Paramétrage mode Privé</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">for i in {5..6}; do scp <strong>/mnt/ipfs-data/ipfs/swarm.key</strong> root@192.168.1.7$i:/mnt/ipfs-data/ipfs/swarm.key ;done</span></pre>
<p><img loading="lazy" decoding="async" width="1657" height="70" class="wp-image-9303" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30.png 1657w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30-300x13.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30-1024x43.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30-768x32.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-30-1536x65.png 1536w" sizes="auto, (max-width: 1657px) 100vw, 1657px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs bootstrap rm --all"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config Routing.Type dht"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config --json AutoTLS.Enabled false"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config --json Swarm.Transports.Network.WebTransport false"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs config --json Swarm.Transports.Network '{\"TCP\": true, \"QUIC\": false, \"Websocket\": false, \"Relay\": false, \"WebTransport\": false, \"WebRTCDirect\": false}'"</span></pre>
<p><img loading="lazy" decoding="async" width="1676" height="465" class="wp-image-9304" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31.png 1676w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31-300x83.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31-1024x284.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31-768x213.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-31-1536x426.png 1536w" sizes="auto, (max-width: 1676px) 100vw, 1676px" /></p>
<h3><span style="color: #000000;">Service ipfs peer</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">for i in {5..6}; do scp <strong>/etc/systemd/system/ipfs-peer.service</strong> root@192.168.1.7$i:/etc/systemd/system/ipfs-peer.service ;done</span></pre>
<p><img loading="lazy" decoding="async" width="1652" height="75" class="wp-image-9305" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32.png 1652w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32-300x14.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32-1024x46.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32-768x35.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-32-1536x70.png 1536w" sizes="auto, (max-width: 1652px) 100vw, 1652px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl daemon-reexec &amp;&amp; systemctl daemon-reload"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl enable ipfs-peer.service &amp;&amp; systemctl restart ipfs-peer.service"</span></pre>
<p><img loading="lazy" decoding="async" width="1032" height="128" class="wp-image-9306" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-33.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-33.png 1032w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-33-300x37.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-33-1024x127.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-33-768x95.png 768w" sizes="auto, (max-width: 1032px) 100vw, 1032px" /></p>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl status ipfs-peer.service"</span></pre>
<p><img loading="lazy" decoding="async" width="975" height="670" class="wp-image-9307" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-34.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-34.png 975w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-34-300x206.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-34-768x528.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></p>
<h2><span style="color: #000000;">8. Initialisation et service IPFS Cluster</span></h2>
<h3><span style="color: #000000;">Initialisation du Cluster-service</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "ipfs-cluster-service init"</span></pre>
<p><img loading="lazy" decoding="async" width="885" height="217" class="wp-image-9308" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-35.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-35.png 885w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-35-300x74.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-35-768x188.png 768w" sizes="auto, (max-width: 885px) 100vw, 885px" /></p>
<h3><span style="color: #000000;">Ajout de la clef privée du cluster</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "sed -i 's/\"secret\": \".*\"/\"secret\": \"<strong>9dc28eb1c943ec508cc9f5a8b4c4726a5398be979c62521dd93252d62cb72196</strong>\"/' /mnt/ipfs-data/ipfs-cluster/service.json"</span></pre>
<p><img loading="lazy" decoding="async" width="1300" height="80" class="wp-image-9309" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-36.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-36.png 1300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-36-300x18.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-36-1024x63.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-36-768x47.png 768w" sizes="auto, (max-width: 1300px) 100vw, 1300px" /></p>
<h3><span style="color: #000000;">Service ipfs Cluster</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">for i in {5..6}; do scp root@192.168.1.74:<strong>/etc/systemd/system/ipfs-cluster-peer.service</strong> root@192.168.1.7$i:/etc/systemd/system/ipfs-cluster-peer.service ;done</span></pre>
<p><img loading="lazy" decoding="async" width="1668" height="204" class="wp-image-9310" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37.png 1668w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37-300x37.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37-1024x125.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37-768x94.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-37-1536x188.png 1536w" sizes="auto, (max-width: 1668px) 100vw, 1668px" /></p>
<h3><span style="color: #000000;">Ouverture des accès web API 9094</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "sed -i 's|"/ip4/127.0.0.1/tcp/9094"|"/ip4/0.0.0.0/tcp/9094"|' /mnt/ipfs-data/ipfs-cluster/service.json"</span></pre>
<p><img loading="lazy" decoding="async" width="1243" height="55" class="wp-image-9311" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-38.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-38.png 1243w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-38-300x13.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-38-1024x45.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-38-768x34.png 768w" sizes="auto, (max-width: 1243px) 100vw, 1243px" /></p>
<h3><span style="color: #000000;">Ouverture des accès Web URL 8080</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "sed -i 's|"/ip4/127.0.0.1/tcp/8080"|"/ip4/0.0.0.0/tcp/8080"|' /mnt/ipfs-data/ipfs/config"</span></pre>
<p><img loading="lazy" decoding="async" width="1130" height="69" class="wp-image-9312" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-39.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-39.png 1130w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-39-300x18.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-39-1024x63.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-39-768x47.png 768w" sizes="auto, (max-width: 1130px) 100vw, 1130px" /></p>
<h3><span style="color: #000000;">Démarrage de l&rsquo;ensemble des service IPS et IPS Cluster</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "sed -i 's|"/ip4/127.0.0.1/tcp/8080"|"/ip4/0.0.0.0/tcp/8080"|' /mnt/ipfs-data/ipfs/config"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl stop ipfs-peer &amp;&amp; systemctl start ipfs-peer"</span><br /><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl daemon-reexec &amp;&amp; systemctl daemon-reload"</span><br />[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfs.txt</strong> -i "systemctl enable ipfs-cluster-peer.service &amp;&amp; systemctl start ipfs-cluster-peer.service"</span></pre>
<p><img loading="lazy" decoding="async" width="1159" height="230" class="wp-image-9313" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-40.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-40.png 1159w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-40-300x60.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-40-1024x203.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-40-768x152.png 768w" sizes="auto, (max-width: 1159px) 100vw, 1159px" /></p>
<h2><span style="color: #000000;">9. Résultat du déploiement via parallèle SSH</span></h2>
<h3><span style="color: #000000;">Liste les nœuds du cluster IPFS</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">ipfs-cluster-ctl peers ls |grep "192.168.1.7"</span></pre>
<p><img loading="lazy" decoding="async" width="950" height="248" class="wp-image-9314" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-41.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-41.png 950w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-41-300x78.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-41-768x200.png 768w" sizes="auto, (max-width: 950px) 100vw, 950px" /></p>
<h3><span style="color: #000000;">Liste les nœuds connectés sur le peer n°5</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfsp5.txt</strong> -i "ipfs swarm peers"</span></pre>
<p><img loading="lazy" decoding="async" width="782" height="150" class="wp-image-9315" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-42.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-42.png 782w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-42-300x58.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-42-768x147.png 768w" sizes="auto, (max-width: 782px) 100vw, 782px" /></p>
<h3><span style="color: #000000;">Liste les nœuds connectés sur le peer n°6</span></h3>
<pre>[root@node-ipfsl ~]# <span style="color: #ff0000;">pssh -h <strong>~/.prod_ipfsp6.txt</strong> -i "ipfs swarm peers"</span></pre>
<p><img loading="lazy" decoding="async" width="704" height="148" class="wp-image-9316" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-43.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-43.png 704w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-43-300x63.png 300w" sizes="auto, (max-width: 704px) 100vw, 704px" /></p>
<h3><span style="color: #000000;">Accès du fichier «Bob_l_eponge.jpg » répliqué précédemment</span></h3>
<ul>
<li><a href="http://192.168.1.75:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<span style="color: #ff0000;"><strong>192.168.1.75</strong></span>:8080/ipfs/<span style="color: #ff0000;"><strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="902" height="555" class="wp-image-9317" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-44.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-44.png 902w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-44-300x185.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-44-768x473.png 768w" sizes="auto, (max-width: 902px) 100vw, 902px" /></p>
<ul>
<li><a href="http://192.168.1.76:8080/ipfs/QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm">http://<strong><span style="color: #ff0000;">192.168.1.76</span></strong>:8080/ipfs/<span style="color: #ff0000;"><strong>QmP5rxgZxYjit96NnKqLB7KduPA79nmBwEJAAuxpcqefnm</strong></span></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="926" height="571" class="wp-image-9318" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-45.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-45.png 926w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-45-300x185.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9273-45-768x474.png 768w" sizes="auto, (max-width: 926px) 100vw, 926px" /></p><p>Views: 1</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-de-deux-peers-via-parallele-ssh-partie-5/">MODOP – Cluster IPFS RAID1 – déploiement de deux peers via Parallèle-SSH – Partie 5</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-de-deux-peers-via-parallele-ssh-partie-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Cluster IPFS RAID1 – déploiement Site Web en mode H.A – Partie 6</title>
		<link>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-site-web-en-mode-h-a-partie-6/</link>
					<comments>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-site-web-en-mode-h-a-partie-6/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:32:27 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[InterPlanetary File System]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[IPFS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9252</guid>

					<description><![CDATA[<p>Ce MODOP présente le déploiement d’une solution Web P2P hautement disponible, accessible via une IP virtuelle (VIP), en s’appuyant sur l’infrastructure IPFS existante. L’enjeu consiste à ajouter deux nouvelles machines destinées à assurer la redondance et la gestion de charge pour l’accès aux données distribuées sur les peers. Deux services essentiels sont installés : KeepAlive, pour garantir la continuité du service Web en cas de défaillance d’un nœud et HAProxy, pour gérer l’équilibrage de charge et la distribution du trafic client vers les nœuds disponibles. Cette infrastructure Web P2P permettra une Une accessibilité continue du site hébergé via la VIP, Un hébergement distribué des données Web sur IPFS, Une résilience optimale grâce à KeepAlive, HAProxy et IPFS et Une scalabilité fluide, avec la possibilité d’extension sans interruption du service</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-site-web-en-mode-h-a-partie-6/">MODOP – Cluster IPFS RAID1 – déploiement Site Web en mode H.A – Partie 6</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="1593" height="855" class="wp-image-9253" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1.png 1593w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1-300x161.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1-1024x550.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1-768x412.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-1-1536x824.png 1536w" sizes="auto, (max-width: 1593px) 100vw, 1593px" /></p>
<h2><span style="color: #000000;">1. Création d’un mini site pour la démo</span></h2>
<h3><span style="color: #000000;">Structure</span></h3>
<pre>spongebob-site/
├── index.html
├── about.html
├── gallery.html
├── css/
│ └── style.css
├── js/
│ └── script.js
└── images/
├── spongebob1.jpg
├── patrick.png
└── bikini-bottom.jpg</pre>
<pre>[root@node-ipfsl home]# <span style="color: #ff0000;">mkdir -p spongebob-site/{css,js,images}</span></pre>
<h3><span style="color: #000000;">Page index.html</span></h3>
<pre>[root@node-ipfsl home]#<span style="color: #ff0000;"> cd spongebob-site/</span></pre>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">vi index.html</span>

<em><span style="color: #ff0000;">&lt;!DOCTYPE html&gt;</span></em>
<em><span style="color: #ff0000;">&lt;html lang="fr"&gt;</span></em>
<em><span style="color: #ff0000;">&lt;head&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;meta charset="UTF-8"&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;title&gt;Bienvenue à Bikini Bottom&lt;/title&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;link rel="stylesheet" href="css/style.css"&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;script src="js/script.js" defer&gt;&lt;/script&gt;</span></em>
<em><span style="color: #ff0000;">&lt;/head&gt;</span></em>

<em><span style="color: #ff0000;">&lt;body&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;header&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;h1&gt;Bienvenue dans l'univers de SpongeBob !&lt;/h1&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;nav&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;a href="index.html"&gt;Accueil&lt;/a&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;a href="about.html"&gt;À propos&lt;/a&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;a href="gallery.html"&gt;Galerie&lt;/a&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;/nav&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;/header&gt;</span></em>

<em><span style="color: #ff0000;"> &lt;main&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;img src="images/spongebob1.jpg" alt="SpongeBob souriant" width="300"&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;p&gt;Explore le monde sous-marin de Bikini Bottom avec SpongeBob et ses amis !&lt;/p&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;/main&gt;</span></em>

<em><span style="color: #ff0000;"> &lt;footer&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;p&gt;&amp;copy; 2025 Création par Chris@house.cpb&lt;/p&gt;</span></em>
<em><span style="color: #ff0000;"> &lt;/footer&gt;</span></em>
<em><span style="color: #ff0000;">&lt;/body&gt;</span></em>
<em><span style="color: #ff0000;">&lt;/html&gt;</span></em></pre>
<h3><span style="color: #000000;">Page about.html</span></h3>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">vi about.html</span>

<span style="color: #ff0000;"><em>&lt;!DOCTYPE html&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;html lang="fr"&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;head&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;meta charset="UTF-8"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;title&gt;À propos&lt;/title&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;link rel="stylesheet" href="css/style.css"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;script src="js/script.js" defer&gt;&lt;/script&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/head&gt;</em></span>

<span style="color: #ff0000;"><em>&lt;body&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;header&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;h1&gt;À propos de ce site&lt;/h1&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;nav&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="index.html"&gt;Accueil&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="about.html"&gt;À propos&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="gallery.html"&gt;Galerie&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/nav&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/header&gt;</em></span>

<span style="color: #ff0000;"><em> &lt;main&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;p&gt;Ce site est une célébration créative de l’univers de SpongeBob et inspirée de Bikini Bottom.&lt;/p&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;p&gt;Créé par Christian, passionné de web et de dessins animés.&lt;/p&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/main&gt;</em></span>

<span style="color: #ff0000;"><em> &lt;footer&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;p&gt;&amp;copy; 2025 Création par Chris@house.cpb &lt;/p&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/footer&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/body&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/html&gt;</em></span></pre>
<h3><span style="color: #000000;">Page gallery.html</span></h3>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">vi gallery.html</span>

<span style="color: #ff0000;"><em>&lt;!DOCTYPE html&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;html lang="fr"&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;head&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;meta charset="UTF-8"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;title&gt;Galerie&lt;/title&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;link rel="stylesheet" href="css/style.css"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;script src="js/script.js" defer&gt;&lt;/script&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/head&gt;</em></span>

<span style="color: #ff0000;"><em>&lt;body&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;header&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;h1&gt;Galerie de Bikini Bottom&lt;/h1&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;nav&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="index.html"&gt;Accueil&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="about.html"&gt;À propos&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;a href="gallery.html"&gt;Galerie&lt;/a&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/nav&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/header&gt;</em></span>

<span style="color: #ff0000;"><em> &lt;main&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;section class="gallery"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;img src="images/spongebob1.jpg" alt="SpongeBob" width="200"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;img src="images/patrick.png" alt="Patrick" width="200"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;img src="images/bikini-bottom.jpg" alt="Bikini Bottom" width="200"&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/section&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/main&gt;</em></span>
<span style="color: #ff0000;"><em>
 &lt;footer&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;p&gt;&amp;copy; 2025 Création par Chris@house.cpb&lt;/p&gt;</em></span>
<span style="color: #ff0000;"><em> &lt;/footer&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/body&gt;</em></span>
<span style="color: #ff0000;"><em>&lt;/html&gt;</em></span></pre>
<h3><span style="color: #000000;">Page de style css/style.css</span></h3>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">vi css/style.css</span>

<span style="color: #ff0000;"><em>/* Style général */</em></span>
<span style="color: #ff0000;"><em>body {</em></span>
<span style="color: #ff0000;"><em> font-family: 'Comic Sans MS', cursive, sans-serif;</em></span>
<span style="color: #ff0000;"><em> background: linear-gradient(to bottom, #a0eaff, #f0ffff);</em></span>
<span style="color: #ff0000;"><em> color: #333;</em></span>
<span style="color: #ff0000;"><em> margin: 0;</em></span>
<span style="color: #ff0000;"><em> padding: 0;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>/* En-tête */</em></span>

<span style="color: #ff0000;"><em>header {</em></span>
<span style="color: #ff0000;"><em> background-color: #ffe600;</em></span>
<span style="color: #ff0000;"><em> padding: 20px;</em></span>
<span style="color: #ff0000;"><em> text-align: center;</em></span>
<span style="color: #ff0000;"><em> border-bottom: 5px solid #ff9900;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>header h1 {</em></span>
<span style="color: #ff0000;"><em> margin: 0;</em></span>
<span style="color: #ff0000;"><em> font-size: 2.5em;</em></span>
<span style="color: #ff0000;"><em> color: #0055aa;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>/* Navigation */</em></span>

<span style="color: #ff0000;"><em>nav {</em></span>
<span style="color: #ff0000;"><em> margin-top: 10px;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>nav a {</em></span>
<span style="color: #ff0000;"><em> margin: 0 15px;</em></span>
<span style="color: #ff0000;"><em> text-decoration: none;</em></span>
<span style="color: #ff0000;"><em> color: #0077cc;</em></span>
<span style="color: #ff0000;"><em> font-weight: bold;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>nav a:hover {</em></span>
<span style="color: #ff0000;"><em> color: #ff6600;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>/* Contenu principal */</em></span>
<span style="color: #ff0000;"><em>main {</em></span>
<span style="color: #ff0000;"><em> padding: 20px;</em></span>
<span style="color: #ff0000;"><em> text-align: center;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>/* Galerie */</em></span>
<span style="color: #ff0000;"><em>.gallery {</em></span>
<span style="color: #ff0000;"><em> display: flex;</em></span>
<span style="color: #ff0000;"><em> justify-content: center;</em></span>
<span style="color: #ff0000;"><em> gap: 20px;</em></span>
<span style="color: #ff0000;"><em> flex-wrap: wrap;</em></span>
<span style="color: #ff0000;"><em> margin-top: 20px;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>.gallery img {</em></span>
<span style="color: #ff0000;"><em> border: 3px solid #ffcc00;</em></span>
<span style="color: #ff0000;"><em> border-radius: 10px;</em></span>
<span style="color: #ff0000;"><em> transition: transform 0.3s;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>.gallery img:hover {</em></span>
<span style="color: #ff0000;"><em> transform: scale(1.1);</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>/* Pied de page */</em></span>
<span style="color: #ff0000;"><em>footer {</em></span>
<span style="color: #ff0000;"><em> background-color: #ffe600;</em></span>
<span style="color: #ff0000;"><em> text-align: center;</em></span>
<span style="color: #ff0000;"><em> padding: 10px;</em></span>
<span style="color: #ff0000;"><em> border-top: 5px solid #ff9900;</em></span>
<span style="color: #ff0000;"><em> position: relative;</em></span>
<span style="color: #ff0000;"><em> bottom: 0;</em></span>
<span style="color: #ff0000;"><em> width: 100%;</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h3><span style="color: #000000;">Page de script : js/script.js</span></h3>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">vi js/script.js</span>

<span style="color: #ff0000;"><em>// message de bienvenue</em></span>
<span style="color: #ff0000;"><em>window.addEventListener('DOMContentLoaded', () =&gt; {</em></span>
<span style="color: #ff0000;"><em> alert("Bienvenue à Bikini Bottom ! &#x1f9fd;&#x1f30a;");</em></span>
<span style="color: #ff0000;"><em>});</em></span></pre>
<h3><span style="color: #000000;">Images</span></h3>
<pre>[root@node-ipfsl spongebob-site]# <span style="color: #ff0000;">cd images/</span></pre>
<ul>
<li>images/spongebob1.jpg</li>
<li>images/patrick.png</li>
<li>images/bikini-bottom.jpg</li>
</ul>
<pre>[root@node-ipfsl images]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://i.pinimg.com/736x/b5/9d/7b/b59d7ba1520c46c32fe92b5b6c8b0097--luna-ukulele-ukulele-art.jpg%20spongebob1.jpg">https://i.pinimg.com/736x/b5/9d/7b/b59d7ba1520c46c32fe92b5b6c8b0097--luna-ukulele-ukulele-art.jpg spongebob1.jpg</a> &amp;&amp; mv mvb59d7ba1520c46c32fe92b5b6c8b0097--luna-ukulele-ukulele-art.jpg spongebob1.jpg</span>

[root@node-ipfsl images]#<span style="color: #ff0000;"> wget https://www.pngplay.com/wp-content/uploads/14/Spongebob-And-Patrick-No-Background.png &amp;&amp; mv Spongebob-And-Patrick-No-Background.png patrick.png</span>

[root@node-ipfsl images]# <span style="color: #ff0000;">wget https://i.pinimg.com/originals/6b/1c/a4/6b1ca4fb540aa01411ba69fea7b4fad4.jpg &amp;&amp; mv 6b1ca4fb540aa01411ba69fea7b4fad4.jpg bikini-bottom.jpg</span>

[root@node-ipfsl images]# <span style="color: #ff0000;">cd ../..</span>

[root@node-ipfsl home]# <span style="color: #ff0000;">du -a spongebob-site/</span></pre>
<h2><img loading="lazy" decoding="async" width="422" height="218" class="wp-image-9254" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-2.png 422w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-2-300x155.png 300w" sizes="auto, (max-width: 422px) 100vw, 422px" /></h2>
<h2><span style="color: #000000;">2. Ajout du site Web sur le Cluster IPFS de 6 peers et 1 leader</span></h2>
<pre>[root@node-ipfsl home]# <span style="color: #ff0000;">ipfs add -r spongebob-site/</span></pre>
<p><img loading="lazy" decoding="async" width="1664" height="239" class="wp-image-9255" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3.png 1664w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3-300x43.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3-1024x147.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3-768x110.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-3-1536x221.png 1536w" sizes="auto, (max-width: 1664px) 100vw, 1664px" /></p>
<pre>[root@node-ipfsl home]# <span style="color: #ff0000;">ipfs add -r spongebob-site/</span>
<span style="color: #ff0000;"><em>added QmQU7A1iWFGXR8JuJwpudhGs59BKwSzt3AKFawUkDSahQZ spongebob-site/about.html</em></span>
<span style="color: #ff0000;"><em>added QmTwd45sjBJChyJiL9GRYJ8QrTFfSmJXGmCiBhKNfxcoeC spongebob-site/css/style.css</em></span>
<span style="color: #ff0000;"><em>added QmUW3ZxZqygWK9UnrZerYCp55WJsqezr9ZM3Fu76RaUe5t spongebob-site/gallery.html</em></span>
<span style="color: #ff0000;"><em>added QmYptE7uFvfUBX7HzXS7nFTNWfKBTKWqabMx9R5q8FWptJ spongebob-site/images/bikini-bottom.jpg</em></span>
<span style="color: #ff0000;"><em>added QmRnakAuccrg1YYaQLJEGJgdkpR1d7HaANcsHXUPJkYmw9 spongebob-site/images/patrick.png</em></span>
<span style="color: #ff0000;"><em>added QmTmGcEFvicbREu8JyvVYYZFHK5ft2PiPtxcm4KPTnPvmH spongebob-site/images/spongebob1.jpg</em></span>
<span style="color: #ff0000;"><em>added QmR1Ur6NYPCoiQgJ1MWUtgskkeQpDrML9CBxCJs9nDPvBK spongebob-site/index.html</em></span>
<span style="color: #ff0000;"><em>added QmPvGFKhoUvUN6nVd9DerM9Ty1hPrKL4cdvBzwa159U9Bq spongebob-site/js/script.js</em></span>
<span style="color: #ff0000;"><em>added QmcBDd4GFd6BvRGa8svMnMQwWugQifqUN5mJD7dGCypMCB spongebob-site/css</em></span>
<span style="color: #ff0000;"><em>added Qmdasvvo4i1fG66g6fQwBf7qXEMuDPhvMaAvRGuj2h1Dah spongebob-site/images</em></span>
<span style="color: #ff0000;"><em>added QmT5KvjXxmj8fu18xjtiwh3Ek6ZKSWt6B2hymtUGdx89yy spongebob-site/js</em></span>
<span style="color: #ff0000;"><em>added </em><strong><em>QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk</em></strong><em> spongebob-site</em></span></pre>
<h2><span style="color: #000000;">3 . Check du site spongebob mode P2P</span></h2>
<h3><span style="color: #000000;">Check site spongebob sur leader</span></h3>
<ul>
<li>http://<strong>192.168.1.70</strong>:8080/ipfs/<strong>QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk</strong></li>
</ul>
<p><img loading="lazy" decoding="async" width="1349" height="693" class="wp-image-9256" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-4.png 1349w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-4-300x154.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-4-1024x526.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-4-768x395.png 768w" sizes="auto, (max-width: 1349px) 100vw, 1349px" /></p>
<h3><span style="color: #000000;">Check réplication des données site spongebob sur peer n°1 &amp; peer n°</span>2</h3>
<h3><span style="color: #000000;"><img loading="lazy" decoding="async" width="1152" height="498" class="wp-image-9257" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-5.png 1152w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-5-300x130.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-5-1024x443.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-5-768x332.png 768w" sizes="auto, (max-width: 1152px) 100vw, 1152px" />Check réplication des données site spongebob sur peer n°3 &amp; peer n°4</span></h3>
<p><img loading="lazy" decoding="async" width="1533" height="615" class="wp-image-9258" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-6.png 1533w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-6-300x120.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-6-1024x411.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-6-768x308.png 768w" sizes="auto, (max-width: 1533px) 100vw, 1533px" /></p>
<h3><span style="color: #000000;">Check réplication des données site spongebob sur peer n°5 &amp; peer n°6</span></h3>
<p><img loading="lazy" decoding="async" width="1530" height="611" class="wp-image-9259" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-7.png 1530w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-7-300x120.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-7-1024x409.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-7-768x307.png 768w" sizes="auto, (max-width: 1530px) 100vw, 1530px" /></p>
<h2><span style="color: #000000;">4. Installaton d’un cluster H.A Proxy</span></h2>
<h3><span style="color: #000000;"><strong>Inventaire des deux machines du cluster H.A proxy</strong></span></h3>
<h5><strong>Hostname</strong></h5>
<ul>
<li>Node-ipfsh1 : IP = 192.168.1.77</li>
<li>Node-ipfsh2 : IP = 192.168.1.78</li>
</ul>
<h3><span style="color: #000000;"><strong>Installation des prérequis (2 nœuds)</strong></span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">dnf -y update</span></pre>
<h3><span style="color: #000000;">Installation des middlewares (2 nœuds ) </span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">dnf install dnf-utils epel-release net-tools nmap curl wget tar -y</span></pre>
<h3><span style="color: #000000;">Synchroniser DateTime sur le fuseau de PARIS (2 nœuds) </span></h3>
<pre>[root@node-ipfsx ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span></pre>
<h3><span style="color: #000000;">Désactiver SELinux </span><span style="color: #000000; font-size: 1.5rem; font-weight: revert;">(2 nœuds) </span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">setenforce 0</span></pre>
<h2><span style="color: #000000;">5. Règle Firewalld pour Keepalived (VRRP) </span><span style="color: #000000; font-size: 1.5rem; font-weight: revert;">(2 nœuds) </span></h2>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent</span>
[root@node-ipfshx ~]#<span style="color: #ff0000;"> firewall-cmd --remove-service={cockpit,dhcpv6-client} --permanent</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">firewall-cmd --reload</span></pre>
<h2><span style="color: #000000;">6. Installation du « heartbeat » keepAlive (2 nœuds) </span></h2>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">dnf install keepalived ipvsadm –y</span></pre>
<h3><span style="color: #000000;">Modules IPVS</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">lsmod |grep ip_vs</span>
<span style="color: #ff0000;"><em>ip_vs 237568 0</em></span>
<span style="color: #ff0000;"><em>nf_conntrack 229376 3 nf_nat,nft_ct,ip_vs</em></span>
<span style="color: #ff0000;"><em>nf_defrag_ipv6 24576 2 nf_conntrack,ip_vs</em></span>
<span style="color: #ff0000;"><em>libcrc32c 12288 5 nf_conntrack,nf_nat,nf_tables,xfs,ip_vs</em></span></pre>
<h3><span style="color: #000000;">Modules à charger</span></h3>
<pre>[root@node-ipfshx ~]#<span style="color: #ff0000;"> modprobe ip_vs</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">modprobe ip_vs_rr</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">modprobe ip_vs_wrr</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">modprobe ip_vs_sh</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">modprobe nf_conntrack</span></pre>
<h3><span style="color: #000000;">Chargement automatique au démarrage</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">echo ip_vs &gt;&gt; /etc/modules-load.d/ipvs.conf</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">echo ip_vs_rr &gt;&gt; /etc/modules-load.d/ipvs.conf</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">echo ip_vs_wrr &gt;&gt; /etc/modules-load.d/ipvs.conf</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">echo ip_vs_sh &gt;&gt; /etc/modules-load.d/ipvs.conf</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">echo nf_conntrack &gt;&gt; /etc/modules-load.d/ipvs.conf</span>

[root@node-ipfshx ~]# <span style="color: #ff0000;">systemctl restart systemd-modules-load.service</span></pre>
<h3><span style="color: #000000;">Configuration KeepAlive</span></h3>
<h4><span style="color: #000000;">Node-ipfsh1</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsh1</span> ~]# <span style="color: #ff0000;">mv /etc/keepalived/keepalived.conf{,-old}</span></pre>
<pre>[root@node-<span style="color: #ff0000;">ipfsh1</span> ~]# <span style="color: #ff0000;">vi /etc/keepalived/keepalived.conf</span>

<span style="color: #ff0000;"><em>! /etc/keepalived/keepalived.conf</em></span>
<span style="color: #ff0000;"><em>! Configuration File for keepalived</em></span>
<span style="color: #ff0000;"><em>global_defs {</em></span>
<span style="color: #ff0000;"><em> notification_email {</em></span>
<span style="color: #ff0000;"><em> chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em> notification_email_from chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> smtp_server localhost</em></span>
<span style="color: #ff0000;"><em> smtp_connect_timeout 30</em></span>
<span style="color: #ff0000;"><em> }</em></span>

<span style="color: #ff0000;"><em>vrrp_instance VI_1 {</em></span>
<span style="color: #ff0000;"><em> state </em><strong><em>MASTER</em></strong></span>
<span style="color: #ff0000;"><em> interface <strong><span style="color: #ff0000;">ens18</span></strong></em></span>
<span style="color: #ff0000;"><em> virtual_router_id 100</em></span>
<span style="color: #ff0000;"><strong><em>priority 200</em></strong></span>
<span style="color: #ff0000;"><em> authentication {</em></span>
<span style="color: #ff0000;"><em> auth_type PASS</em></span>
<span style="color: #ff0000;"><em> auth_pass </em><strong><em>EYZTE865433021</em></strong></span>
<span style="color: #ff0000;"><em> }</em></span>

<span style="color: #ff0000;"><em> virtual_ipaddress {</em></span>
<span style="color: #ff0000;"><strong><em>192.168.1.79</em></strong><em>/24 dev<strong> ens18</strong></em></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h4><span style="color: #000000;">Node-ipfsh2</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsh2</span> ~]# <span style="color: #ff0000;">mv /etc/keepalived/keepalived.conf{,-old}</span></pre>
<pre>[root@node-<span style="color: #ff0000;">ipfsh2</span> ~]# <span style="color: #ff0000;">vi /etc/keepalived/keepalived.conf</span>

<span style="color: #ff0000;"><em>! /etc/keepalived/keepalived.conf</em></span>
<span style="color: #ff0000;"><em>! Configuration File for keepalived</em></span>
<span style="color: #ff0000;"><em>global_defs {</em></span>
<span style="color: #ff0000;"><em>notification_email {</em></span>
<span style="color: #ff0000;"><em>chris@house.cpb</em></span>
<span style="color: #ff0000;"><em>}</em></span>
<span style="color: #ff0000;"><em> notification_email_from chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> smtp_server localhost</em></span>
<span style="color: #ff0000;"><em> smtp_connect_timeout 30</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>vrrp_instance VI_1 {</em></span>
<span style="color: #ff0000;"><em> state </em><strong><em>BACKUP</em></strong></span>
<span style="color: #ff0000;"><em> interface <strong>ens18</strong></em></span>
<span style="color: #ff0000;"><em> virtual_router_id 100</em></span>
<span style="color: #ff0000;"><em> priority </em><strong><em>199</em></strong></span>
<span style="color: #ff0000;"><em>authentication {</em></span>
<span style="color: #ff0000;"><em> auth_type PASS</em></span>
<span style="color: #ff0000;"><em> auth_pass </em><strong><em>EYZTE865433021</em></strong></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>virtual_ipaddress {</em></span>
<span style="color: #ff0000;"><strong><em>192.168.1.79</em></strong><em>/24 dev <strong>ens18</strong></em></span>
<span style="color: #ff0000;"><em>}</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h3><span style="color: #000000;">Prérequis KeepAlive</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">echo "net.ipv4.ip_nonlocal_bind = 1" &gt;&gt; /etc/sysctl.conf</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">sysctl -p</span>
<span style="color: #ff0000;"><em>net.ipv4.ip_nonlocal_bind = 1</em></span></pre>
<h3><span style="color: #000000;">Lancement du service KeepAlived</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">systemctl enable keepalived</span>
<span style="color: #ff0000;"><em>Created symlink /etc/systemd/system/multi-user.target.wants/keepalived.service → /usr/lib/systemd/system/keepalived.service.</em></span>

[root@node-ipfshx ~]#<span style="color: #ff0000;"> systemctl start keepalived</span></pre>
<h4><span style="color: #000000;">Node-ipfsh1</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsh1</span> ~]# <span style="color: #ff0000;">systemctl status keepalived</span></pre>
<p><img loading="lazy" decoding="async" width="1010" height="339" class="wp-image-9260" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-8.png 1010w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-8-300x101.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-8-768x258.png 768w" sizes="auto, (max-width: 1010px) 100vw, 1010px" /></p>
<pre>[root@node-<span style="color: #ff0000;">ipfsh1</span> ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="811" height="137" class="wp-image-9261" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-9.png 811w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-9-300x51.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-9-768x130.png 768w" sizes="auto, (max-width: 811px) 100vw, 811px" /></p>
<h4><span style="color: #000000;">Node-ipfsh2</span></h4>
<pre>[root@node-<span style="color: #ff0000;">ipfsh2</span> ~]#<span style="color: #ff0000;"> systemctl status keepalived</span></pre>
<p><img loading="lazy" decoding="async" width="1242" height="345" class="wp-image-9262" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-10.png 1242w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-10-300x83.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-10-1024x284.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-10-768x213.png 768w" sizes="auto, (max-width: 1242px) 100vw, 1242px" /></p>
<pre>[root@node-ipfsh2 ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="853" height="117" class="wp-image-9263" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-11.png 853w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-11-300x41.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-11-768x105.png 768w" sizes="auto, (max-width: 853px) 100vw, 853px" /></p>
<h2><span style="color: #000000;">7. Installation HaProxy (2 nœuds )</span></h2>
<h3><span style="color: #000000;">Installation du packet haproxy</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">dnf install -y haproxy</span></pre>
<h3><span style="color: #000000;">Configuration des services Front et backend</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">mv /etc/haproxy/haproxy.cfg{,-old}</span></pre>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">vi /etc/haproxy/haproxy.cfg</span>

<span style="color: #ff0000;"><em>global</em></span>
<span style="color: #ff0000;"><em> log /dev/log local0</em></span>
<span style="color: #ff0000;"><em> log /dev/log local1 notice</em></span>
<span style="color: #ff0000;"><em> daemon</em></span>
<span style="color: #ff0000;"><em> maxconn 2048</em></span>

<span style="color: #ff0000;"><em>defaults</em></span>
<span style="color: #ff0000;"><em> log global</em></span>
<span style="color: #ff0000;"><em> mode http</em></span>
<span style="color: #ff0000;"><em> option httplog</em></span>
<span style="color: #ff0000;"><em> option dontlognull</em></span>
<span style="color: #ff0000;"><em> retries 2</em></span>
<span style="color: #ff0000;"><em> timeout client 30m</em></span>
<span style="color: #ff0000;"><em> timeout connect 4s</em></span>
<span style="color: #ff0000;"><em> timeout server 30m</em></span>
<span style="color: #ff0000;"><em> timeout check 5s</em></span>

<span style="color: #ff0000;">listen stats</span>
<span style="color: #ff0000;">mode http</span>
<span style="color: #ff0000;">bind <strong><em>*:1234</em></strong></span>
<span style="color: #ff0000;">stats enable</span>
<span style="color: #ff0000;">stats uri /status</span>
<span style="color: #ff0000;">stats refresh 2s</span>
<span style="color: #ff0000;">stats auth <strong>chris:Chris</strong></span>
<span style="color: #ff0000;">stats admin if TRUE</span>

<span style="color: #ff0000;"><strong><em># Frontend pour le Site Web IPFS (port 80 → 8080)</em></strong></span>
<span style="color: #ff0000;"><em>frontend ipfs_WebSite</em></span>
<span style="color: #ff0000;"><em> bind *:80</em></span>
<span style="color: #ff0000;"><em> mode http</em></span>
<span style="color: #ff0000;"><em> default_backend ipfs_WebSite_backend</em></span>

<span style="color: #ff0000;"><strong><em># Backend vers les serveurs IPFS sur port 8080</em></strong></span>
<span style="color: #ff0000;"><em>backend ipfs_WebSite_backend</em></span>
<span style="color: #ff0000;"><em> mode http</em></span>
<span style="color: #ff0000;"><em> balance roundrobin</em></span>
<span style="color: #ff0000;"><em> option httpchk GET /ipfs/</em><strong><em>QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk</em></strong></span>
<span style="color: #ff0000;"><em> server ipfsl 192.168.1.70:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp1 192.168.1.71:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp2 192.168.1.72:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp3 192.168.1.73:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp4 192.168.1.74:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp5 192.168.1.75:8080 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp6 192.168.1.76:8080 check inter 2s</em></span>

<span style="color: #ff0000;"><strong><em>#Frontend pour l’API IPFS (port 5001 → 5001)</em></strong></span>
<span style="color: #ff0000;"><em>frontend ipfs_api</em></span>
<span style="color: #ff0000;"><em> bind *:5001</em></span>
<span style="color: #ff0000;"><em> mode http</em></span>
<span style="color: #ff0000;"><em> default_backend ipfs_api_backend</em></span>

<span style="color: #ff0000;"><strong><em># Backend vers les serveurs IPFS sur port 5001</em></strong></span>
<span style="color: #ff0000;"><em>backend ipfs_api_backend</em></span>
<span style="color: #ff0000;"><em> mode http</em></span>
<span style="color: #ff0000;"><em> balance roundrobin</em></span>
<span style="color: #ff0000;"><em> option httpchk GET /webui </em></span>
<span style="color: #ff0000;"><em> server ipfsl 192.168.1.70:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp1 192.168.1.71:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp2 192.168.1.72:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp3 192.168.1.73:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp4 192.168.1.74:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp5 192.168.1.75:5001 check inter 2s</em></span>
<span style="color: #ff0000;"><em> server ipfsp6 192.168.1.76:5001 check inter 2s</em></span></pre>
<h3><span style="color: #000000;">Vérification de la syntax du fichier de configuration</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">haproxy -c -V -f /etc/haproxy/haproxy.cfg</span>
<span style="color: #ff0000;"><em>Configuration file is valid</em></span></pre>
<h3><span style="color: #000000;">Lancement du service HAproxy</span></h3>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">systemctl enable haproxy</span>
<span style="color: #ff0000;"><em>Created symlink /etc/systemd/system/multi-user.target.wants/haproxy.service → /usr/lib/systemd/system/haproxy.service.</em></span></pre>
<pre>[root@node-ipfsh1 log]# <span style="color: #ff0000;">systemctl status haproxy</span></pre>
<p><img loading="lazy" decoding="async" width="984" height="257" class="wp-image-9264" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-12.png 984w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-12-300x78.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-12-768x201.png 768w" sizes="auto, (max-width: 984px) 100vw, 984px" /></p>
<h2><span style="color: #000000;">8. Règle Firewalld pour HAproxy</span></h2>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">firewall-cmd --add-port={1234,80,5001}/tcp –permanent</span>
[root@node-ipfshx ~]# <span style="color: #ff0000;">firewall-cmd --reload</span></pre>
<pre>[root@node-ipfshx ~]# <span style="color: #ff0000;">firewall-cmd --list-all</span></pre>
<p><img loading="lazy" decoding="async" width="573" height="260" class="wp-image-9265" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-13.png 573w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-13-300x136.png 300w" sizes="auto, (max-width: 573px) 100vw, 573px" /></p>
<h2><span style="color: #000000;">9. Check HaProxy</span></h2>
<ul>
<li><a href="http://192.168.1.79:1234/status">http://192.168.1.79:1234/status</a></li>
</ul>
<p><img loading="lazy" decoding="async" width="350" height="284" class="wp-image-9266" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-14.png 350w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-14-300x243.png 300w" sizes="auto, (max-width: 350px) 100vw, 350px" /></p>
<p>Crédenciales définis dans le fichier de configuration HAproxy<span style="color: #ff0000;"> (stats auth <strong>chris:Chris)</strong></span></p>
<h3><span style="color: #000000;">Check UP du serveur WebSite spongebob</span></h3>
<p><img loading="lazy" decoding="async" width="1905" height="358" class="wp-image-9267" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15.png 1905w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15-300x56.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15-1024x192.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15-768x144.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-15-1536x289.png 1536w" sizes="auto, (max-width: 1905px) 100vw, 1905px" /></p>
<h3><span style="color: #000000;">Check UP des API des peers IPFS</span></h3>
<p><img loading="lazy" decoding="async" width="1901" height="351" class="wp-image-9268" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16.png 1901w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16-300x55.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16-1024x189.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16-768x142.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-16-1536x284.png 1536w" sizes="auto, (max-width: 1901px) 100vw, 1901px" /></p>
<h3><span style="color: #000000;">Check d’accès au site Spongebob répliqué sur les 6 peers et leader</span></h3>
<ul>
<li><a href="http://192.168.1.79/ipfs/QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk/gallery.html">http://<span style="color: #ff0000;"><strong>192.168.1.79</strong></span>/ipfs/<strong><span style="color: #ff0000;">QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk</span>/gallery.html</strong></a></li>
<li><a href="http://ipfs-cluster/ipfs/QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk/gallery.html">http://<strong><span style="color: #ff0000;">ipfs-cluste</span>r</strong>/ipfs/<strong><span style="color: #ff0000;">QmSaVM6BoUmyPuiEs6FGo5PH9eYDReHAYubb9sZkcCJcrk</span>/gallery.html</strong></a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1207" height="602" class="wp-image-9269" src="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-17.png 1207w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-17-300x150.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-17-1024x511.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2025/07/word-image-9252-17-768x383.png 768w" sizes="auto, (max-width: 1207px) 100vw, 1207px" /></p>
<p>Views: 0</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-site-web-en-mode-h-a-partie-6/">MODOP – Cluster IPFS RAID1 – déploiement Site Web en mode H.A – Partie 6</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-cluster-ipfs-raid1-deploiement-site-web-en-mode-h-a-partie-6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Partie 1 – Installation Cluster 6 hosts minIO</title>
		<link>https://coffeebreak.en-images.info/modop-partie-1-installation-cluster-6-hosts-minio/</link>
					<comments>https://coffeebreak.en-images.info/modop-partie-1-installation-cluster-6-hosts-minio/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 14:51:59 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[MinIO]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Fichier distribué]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Minio]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9162</guid>

					<description><![CDATA[<p>MODOP - Mise en place de l'installation et la configuration d'un cluster MinIO composé de six hôtes, chacun équipé de quatre disques. MinIO est une solution de stockage d'objets conçue pour fournir une plateforme de stockage hautement évolutive, fiable et compatible avec l'API Amazon S3. C'est particulièrement utile dans les environnements où les besoins en stockage sont importants, comme les entreprises qui manipulent de grandes quantités de données. MinIO est privilégié pour sa sécurité robuste, incluant le chiffrement des données au repos et en transit, et ses performances élevées. Il est également apprécié pour sa capacité à être déployé sur divers environnements, qu'il s'agisse de serveurs locaux, de conteneurs Docker, ou de plateformes cloud. En résumé, MinIO offre une solution flexible et sécurisée pour gérer et protéger des volumes massifs de données.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-1-installation-cluster-6-hosts-minio/">MODOP – Partie 1 – Installation Cluster 6 hosts minIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="1410" height="501" class="wp-image-9163" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-1.png 1410w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-1-300x107.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-1-1024x364.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-1-768x273.png 768w" sizes="auto, (max-width: 1410px) 100vw, 1410px" /></p>
<h4><strong>Constitution du Cluster </strong></h4>
<ul>
<li>node-minio-s01</li>
<li>node-minio-s02</li>
<li>node-minio-s03</li>
<li>node-minio-s04</li>
<li>node-minio-s05</li>
<li>node-minio-s06</li>
</ul>
<h4><strong>Spécification des 6 nodes minIO</strong></h4>
<ul>
<li>IP : <strong>10.100.0.41 à 10.100.46</strong></li>
<li>vCPU : 2</li>
<li>RAM : 2Go</li>
<li>Disque : 8Go (Système)</li>
<li>Disque : 32Go (Data01)</li>
<li>Disque : 32Go (Data02)</li>
<li>Disque : 32Go (Data03)</li>
<li>Disque : 32Go (Data04)</li>
<li>OS : RockyLinux 8</li>
</ul>
<h2>1. Installation des prérequis (6 noeuds)</h2>
<h3>Mise à jour</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">dnf -y update</span></pre>
<h3>Installation des middlewares</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">dnf install dnf-utils epel-release net-tools nmap curl wget tar -y</span></pre>
<h3>Désactiver SELinux</h3>
<pre>[root@node-minio-s0x ~]#<span style="color: #ff0000;"> getenforce</span>
<span style="color: #ff0000;"><em>Enforcing</em></span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">setenforce 0</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">getenforce</span>
<span style="color: #ff0000;"><em>Permissive</em></span></pre>
<p><img loading="lazy" decoding="async" width="882" height="112" class="wp-image-9164" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-2.png 882w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-2-300x38.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-2-768x98.png 768w" sizes="auto, (max-width: 882px) 100vw, 882px" /></p>
<h3>Synchroniser DateTime sur le fuseau de PARIS</h3>
<pre>[root@node-minio-s0x ~]#<span style="color: #ff0000;"> timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="589" height="129" class="wp-image-9165" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-3.png 589w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-3-300x66.png 300w" sizes="auto, (max-width: 589px) 100vw, 589px" /></p>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<p><img loading="lazy" decoding="async" width="725" height="158" class="wp-image-9166" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-4.png 725w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-4-300x65.png 300w" sizes="auto, (max-width: 725px) 100vw, 725px" /></p>
<h3>Intégration des Hosts au DNS</h3>
<p><img loading="lazy" decoding="async" width="661" height="175" class="wp-image-9167" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-5.png 661w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-5-300x79.png 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /></p>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">for i in {1..6} ; do nslookup node-minio-s0${i} ; done</span></pre>
<p><img loading="lazy" decoding="async" width="967" height="558" class="wp-image-9168" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-6.png 967w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-6-300x173.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-6-768x443.png 768w" sizes="auto, (max-width: 967px) 100vw, 967px" /></p>
<h3>Règle de Firewall</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">firewall-cmd --remove-service={dhcpv6-client,cockpit} --permanent &amp;&amp; firewall-cmd --reload</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">firewall-cmd --add-port={9000,9001}/tcp --permanent &amp;&amp; firewall-cmd --reload</span></pre>
<h2>2. Préparation des disques MinIO</h2>
<pre>[root@node-minio-s0x home]# <span style="color: #ff0000;">lsblk</span></pre>
<p><img loading="lazy" decoding="async" width="566" height="203" class="wp-image-9169" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-7.png 566w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-7-300x108.png 300w" sizes="auto, (max-width: 566px) 100vw, 566px" /></p>
<h3>Partitionnement des disques</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdb mklabel msdos</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdc mklabel msdos</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdd mklabel msdos</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sde mklabel msdos</span>

[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdb mkpart primary 1MiB 100%</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdc mkpart primary 1MiB 100%</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sdd mkpart primary 1MiB 100%</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">parted -s /dev/sde mkpart primary 1MiB 100%</span>

[root@node-minio-s0x home]# <span style="color: #ff0000;">lsblk</span></pre>
<p><img loading="lazy" decoding="async" width="701" height="245" class="wp-image-9170" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-8.png 701w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-8-300x105.png 300w" sizes="auto, (max-width: 701px) 100vw, 701px" /></p>
<h3>Formatage des disques</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdb1</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdc1</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdd1</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sde1</span></pre>
<h3>Montage des disques</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">for i in <strong>{1..4}</strong> ;do mkdir -p /minio/minio_0${i};done</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">ls -al /minio/</span></pre>
<p><img loading="lazy" decoding="async" width="533" height="129" class="wp-image-9171" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-9.png 533w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-9-300x73.png 300w" sizes="auto, (max-width: 533px) 100vw, 533px" /></p>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">echo "/dev/sdb1 /minio/minio_01 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">echo "/dev/sdc1 /minio/minio_02 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-s0x ~]#<span style="color: #ff0000;"> echo "/dev/sdd1 /minio/minio_03 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">echo "/dev/sde1 /minio/minio_04 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">for i in {1..4} ;do mount /minio/minio_0${i};done</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">df -h |grep mini</span></pre>
<p><img loading="lazy" decoding="async" width="674" height="98" class="wp-image-9172" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-10.png 674w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-10-300x44.png 300w" sizes="auto, (max-width: 674px) 100vw, 674px" /></p>
<h2>3. Création des comptes (6 nœuds)</h2>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">groupadd -r minio-user</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">useradd -M -r -g minio-user minio-user</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">chown -R minio-user:minio-user /minio</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">ls -al /minio</span></pre>
<p><img loading="lazy" decoding="async" width="724" height="145" class="wp-image-9173" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-11.png 724w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-11-300x60.png 300w" sizes="auto, (max-width: 724px) 100vw, 724px" /></p>
<h2>4. Installation MinIO (6 nœuds)</h2>
<h3>Installation des binaires</h3>
<ul>
<li><a href="https://dl.min.io/server/minio/release/linux-amd64/archive/">https://dl.min.io/server/minio/release/linux-amd64/archive/</a></li>
</ul>
<p><img loading="lazy" decoding="async" width="1008" height="402" class="wp-image-9174" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-12.png 1008w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-12-300x120.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-12-768x306.png 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></p>
<h4>Téléchargement des binaires</h4>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">cd /home/</span>
[root@node-minio-s0x home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm">https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm</a></span>
[root@node-minio-s0x home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm.sha256sum">https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm.sha256sum</a></span></pre>
<h4>Check l’intégrité du fichier</h4>
<pre>[root@node-minio-s0x home]# <span style="color: #ff0000;">sha256sum minio-20240406052602.0.0-1.x86_64.rpm</span>
<span style="color: #ff0000;"><strong><em>87e08df00a8725bfe9637fade415e307797d200539f107627daafef767e3d942</em></strong><em> minio-20240406052602.0.0-1.x86_64.rpm</em></span>

[root@node-minio-s0x home]# <span style="color: #ff0000;">cat minio-20240406052602.0.0-1.x86_64.rpm.sha256sum</span>
<span style="color: #ff0000;"><strong>87e08df00a8725bfe9637fade415e307797d200539f107627daafef767e3d942</strong> minio-20240406052602.0.0-1.x86_64.rpm</span></pre>
<p><img loading="lazy" decoding="async" width="1140" height="125" class="wp-image-9175" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-13.png 1140w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-13-300x33.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-13-1024x112.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-13-768x84.png 768w" sizes="auto, (max-width: 1140px) 100vw, 1140px" /></p>
<pre>[root@node-minio-s0x home]# <span style="color: #ff0000;">dnf install minio-20240406052602.0.0-1.x86_64.rpm</span></pre>
<p><img loading="lazy" decoding="async" width="1626" height="493" class="wp-image-9176" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14.png 1626w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14-300x91.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14-1024x310.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14-768x233.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-14-1536x466.png 1536w" sizes="auto, (max-width: 1626px) 100vw, 1626px" /></p>
<h2>5. Création du service minIO (6 nœuds)</h2>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">vi /usr/lib/systemd/system/minio.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=MinIO</em></span>
<span style="color: #ff0000;"><em>Documentation=https://docs.min.io</em></span>
<span style="color: #ff0000;"><em>Wants=network-online.target</em></span>
<span style="color: #ff0000;"><em>After=network-online.target</em></span>
<span style="color: #ff0000;"><em>AssertFileIsExecutable=/usr/local/bin/minio</em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>Type=notify</em></span>
<span style="color: #ff0000;"><em>WorkingDirectory=/usr/local</em></span>
<span style="color: #ff0000;"><em>User=minio-user</em></span>
<span style="color: #ff0000;"><em>Group=minio-user</em></span>
<span style="color: #ff0000;"><em>ProtectProc=invisible</em></span>
<span style="color: #ff0000;"><em>EnvironmentFile=-/etc/default/minio</em></span>
<span style="color: #ff0000;"><em>ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"</em></span>
<span style="color: #ff0000;"><em>ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES</em></span>

<span style="color: #ff0000;"><em># Let systemd restart this service always</em></span>
<span style="color: #ff0000;"><em>Restart=always</em></span>

<span style="color: #ff0000;"><em># Specifies the maximum file descriptor number that can be opened by this process</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=1048576</em></span>

<span style="color: #ff0000;"><em># Turn-off memory accounting by systemd, which is buggy.</em></span>
<span style="color: #ff0000;"><em>MemoryAccounting=no</em></span>

<span style="color: #ff0000;"><em># Specifies the maximum number of threads this process can create</em></span>
<span style="color: #ff0000;"><em>TasksMax=infinity</em></span>

<span style="color: #ff0000;"><em># Disable timeout logic and wait until process is stopped</em></span>
<span style="color: #ff0000;"><em>TimeoutSec=infinity</em></span>
<span style="color: #ff0000;"><em>SendSIGKILL=no</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h2>6. Variable environnement des ressources minIO (6 nœuds)</h2>
<h3>Les Hosts minIO</h3>
<ul>
<li>node-minio-s01</li>
<li>node-minio-s02</li>
<li>node-minio-s03</li>
<li>node-minio-s04</li>
<li>node-minio-s05</li>
<li>node-minio-s06</li>
</ul>
<h3>Les disques minIO</h3>
<ul>
<li>/minio/minio_01</li>
<li>/minio/minio_02</li>
<li>/minio/minio_03</li>
<li>/minio/minio_04</li>
</ul>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">mkdir /etc/minio</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">chown minio-user:minio-user /etc/minio</span></pre>
<h3>Fichier d’environnement</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">vi /etc/default/minio</span>

<span style="color: #ff0000;"><em># Variable spécifiant les hosts et les volumes par hosts</em></span>
<span style="color: #ff0000;"><em>MINIO_VOLUMES="</em><strong><em>http://node-minio-s0{1...6}.house.cpb:9000/minio/minio_0{1...4</em></strong><em>}"</em></span>

<span style="color: #ff0000;"><em>#Paramètre du port de la console</em></span>
<span style="color: #ff0000;"><em>MINIO_OPTS="--console-address :9001"</em></span>

<span style="color: #ff0000;"><em>#Credentials</em></span>
<span style="color: #ff0000;"><em>MINIO_ROOT_USER=</em><strong><em>minioadmin</em></strong></span>
<span style="color: #ff0000;"><em>MINIO_ROOT_PASSWORD=</em><strong><em>minioadmin</em></strong></span>

<span style="color: #ff0000;"><em>#Adresse VIP du LoadBalancer</em></span>
<span style="color: #ff0000;"><em>#MINIO_SERVER_URL=</em><a style="color: #ff0000;" href="http://minio.house.cpb:9000"><em>http://minio.house.cpb:9000</em></a></span></pre>
<h2>7. Démarrage du cluster</h2>
<h3>Démarrage du service</h3>
<pre>[root@node-minio-s0x ~]# <span style="color: #ff0000;">systemctl start minio.service</span>
[root@node-minio-s0x ~]# <span style="color: #ff0000;">systemctl enable minio.service</span></pre>
<h3>Check des statuts</h3>
<pre>[root@<strong><span style="color: #ff0000;">node-minio-s01</span></strong> ~]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1618" height="290" class="wp-image-9177" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15.png 1618w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15-300x54.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15-1024x184.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15-768x138.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-15-1536x275.png 1536w" sizes="auto, (max-width: 1618px) 100vw, 1618px" /></p>
<pre>[root@<span style="color: #ff0000;"><strong>node-minio-s02</strong></span> home]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1517" height="286" class="wp-image-9178" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-16.png 1517w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-16-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-16-1024x193.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-16-768x145.png 768w" sizes="auto, (max-width: 1517px) 100vw, 1517px" /></p>
<pre>[root@<strong><span style="color: #ff0000;">node-minio-s03</span></strong> home]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1462" height="276" class="wp-image-9179" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-17.png 1462w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-17-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-17-1024x193.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-17-768x145.png 768w" sizes="auto, (max-width: 1462px) 100vw, 1462px" /></p>
<pre>[root@<span style="color: #ff0000;"><strong>node-minio-s04</strong></span> home]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1484" height="282" class="wp-image-9180" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-18.png 1484w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-18-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-18-1024x195.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-18-768x146.png 768w" sizes="auto, (max-width: 1484px) 100vw, 1484px" /></p>
<pre>[root@<strong>node-minio-s05</strong> home]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1457" height="276" class="wp-image-9181" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-19.png 1457w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-19-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-19-1024x194.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-19-768x145.png 768w" sizes="auto, (max-width: 1457px) 100vw, 1457px" /></p>
<pre>[root@<strong><span style="color: #ff0000;">node-minio-s06</span></strong> home]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1456" height="267" class="wp-image-9182" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-20.png 1456w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-20-300x55.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-20-1024x188.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-20-768x141.png 768w" sizes="auto, (max-width: 1456px) 100vw, 1456px" /></p>
<h3>Connexion au service</h3>
<h4>Pour rappel</h4>
<ul>
<li>Login : <span style="color: #ff0000;">minioadmin</span></li>
<li>Password : <span style="color: #ff0000;">minioadmin</span></li>
<li><span style="color: #ff0000;"><a style="color: #ff0000;" href="http://node-minio-s01.house.cpb:9000">http://node-minio-s01.house.cpb:9000</a></span></li>
</ul>
<p><img loading="lazy" decoding="async" width="1762" height="756" class="wp-image-9183" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21.png 1762w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21-300x129.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21-1024x439.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21-768x330.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-21-1536x659.png 1536w" sizes="auto, (max-width: 1762px) 100vw, 1762px" /></p>
<p><img loading="lazy" decoding="async" width="1042" height="254" class="wp-image-9184" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-22.png 1042w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-22-300x73.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-22-1024x250.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-22-768x187.png 768w" sizes="auto, (max-width: 1042px) 100vw, 1042px" /></p>
<h3>Création d’un « bucket »</h3>
<p><img loading="lazy" decoding="async" width="1240" height="236" class="wp-image-9185" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-23.png 1240w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-23-300x57.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-23-1024x195.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-23-768x146.png 768w" sizes="auto, (max-width: 1240px) 100vw, 1240px" /></p>
<p><img loading="lazy" decoding="async" width="1329" height="494" class="wp-image-9186" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-24.png 1329w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-24-300x112.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-24-1024x381.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-24-768x285.png 768w" sizes="auto, (max-width: 1329px) 100vw, 1329px" /><br />
Précisez un nom de « <strong>bucket</strong> » et « <strong>Create Bucket</strong> »</p>
<p><img loading="lazy" decoding="async" width="1244" height="349" class="wp-image-9187" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-25.png 1244w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-25-300x84.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-25-1024x287.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-25-768x215.png 768w" sizes="auto, (max-width: 1244px) 100vw, 1244px" /></p>
<h3>Check des metrics</h3>
<p><img loading="lazy" decoding="async" width="1657" height="951" class="wp-image-9188" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26.png 1657w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26-300x172.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26-1024x588.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26-768x441.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9162-26-1536x882.png 1536w" sizes="auto, (max-width: 1657px) 100vw, 1657px" /></p>
<h4>On retrouve notre cluster</h4>
<ul>
<li>6 serveurs minIO</li>
<li>24 Disques – 4/Serveurs</li>
<li>1 Bucket</li>
</ul>


<p></p>
<p>Views: 5</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-1-installation-cluster-6-hosts-minio/">MODOP – Partie 1 – Installation Cluster 6 hosts minIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-partie-1-installation-cluster-6-hosts-minio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Partie 3 – Client Linux &#8211; Cluster minIO</title>
		<link>https://coffeebreak.en-images.info/modop-partie-3-client-linux-cluster-minio/</link>
					<comments>https://coffeebreak.en-images.info/modop-partie-3-client-linux-cluster-minio/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 14:48:08 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[MinIO]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Fichier distribué]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Minio]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9091</guid>

					<description><![CDATA[<p>MODOP sur l'installation et la configuration d'un client Linux pour interagir efficacement avec un cluster MinIO. Il permet une gestion optimisée et sécurisée des ressources de stockage. Le client facilite les tâches quotidiennes telles que la surveillance et l'administration des données réparties. En outre, il assure l'accessibilité et la manipulation sécurisée des données grâce au chiffrement et à l'authentification intégrés de MinIO.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-3-client-linux-cluster-minio/">MODOP – Partie 3 – Client Linux &#8211; Cluster minIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="985" height="635" class="wp-image-9092" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-1.png 985w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-1-300x193.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-1-768x495.png 768w" sizes="auto, (max-width: 985px) 100vw, 985px" /></p>
<h4><strong>Constitution du Cluster </strong></h4>
<ul>
<li>node-minio-c01</li>
</ul>
<h4><strong>Spécification des 2 nodes HA minIO</strong></h4>
<ul>
<li>IP : <strong>10.100.0.50</strong></li>
<li>vCPU : 2</li>
<li>RAM : 2Go</li>
<li>Disque : 8Go (Système)</li>
<li>OS : RockyLinux 8</li>
</ul>
<h2>1. Installation des prérequis</h2>
<h3>Mise à jour</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">dnf -y update</span></pre>
<h3>Installation des middlewares</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">dnf install dnf-utils epel-release net-tools nmap curl wget tar -y</span></pre>
<h3>Synchroniser DateTime sur le fuseau de PARIS</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span>

[root@node-minio-c01 ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<h2>2. Interaction client ⬄ cluster</h2>
<h3>Installation « mc » command line</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">curl https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc</span>
[root@node-minio-c01 ~]# <span style="color: #ff0000;">chmod +x /usr/local/bin/mc</span>
[root@node-minio-c01 ~]# <span style="color: #ff0000;">mc -help</span></pre>
<p><img loading="lazy" decoding="async" width="1601" height="635" class="wp-image-9093" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2.png 1601w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2-300x119.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2-1024x406.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2-768x305.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-2-1536x609.png 1536w" sizes="auto, (max-width: 1601px) 100vw, 1601px" /></p>
<h3>Création des clefs d’accès client sur le cluster</h3>
<ul>
<li>http://cluster-minio.house.cpb:9001/access-keys</li>
</ul>
<p><img loading="lazy" decoding="async" width="1520" height="242" class="wp-image-9094" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-3.png 1520w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-3-300x48.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-3-1024x163.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-3-768x122.png 768w" sizes="auto, (max-width: 1520px) 100vw, 1520px" /><br />
« <strong>Create access Key </strong>»</p>
<p><img loading="lazy" decoding="async" width="1237" height="543" class="wp-image-9095" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-4.png 1237w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-4-300x132.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-4-1024x450.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-4-768x337.png 768w" sizes="auto, (max-width: 1237px) 100vw, 1237px" /><br />
« <strong>Create</strong> »</p>
<p><img loading="lazy" decoding="async" width="656" height="343" class="wp-image-9096" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-5.png 656w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-5-300x157.png 300w" sizes="auto, (max-width: 656px) 100vw, 656px" /><br />
Copier les deux clefs précieusement</p>
<ul>
<li><strong>Acces Key</strong> : <span style="color: #ff0000;">74mAOkc0HcqKxBqhq2jH</span></li>
<li><strong>Secret Key</strong> : <span style="color: #ff0000;">eJ2u2YslW9aVmmoGaPgvnmX05EnBHisysDfTBH8q</span></li>
</ul>
<p><img loading="lazy" decoding="async" width="1384" height="231" class="wp-image-9097" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-6.png 1384w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-6-300x50.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-6-1024x171.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-6-768x128.png 768w" sizes="auto, (max-width: 1384px) 100vw, 1384px" /></p>
<h3>Import des accès keys sur le client</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mc alias set cluster http://cluster-minio.house.cpb:9000 <strong>74mAOkc0HcqKxBqhq2jH eJ2u2YslW9aVmmoGaPgvnmX05EnBHisysDfTBH8q</strong></span></pre>
<p><img loading="lazy" decoding="async" width="1336" height="66" class="wp-image-9098" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-7.png 1336w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-7-300x15.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-7-1024x51.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-7-768x38.png 768w" sizes="auto, (max-width: 1336px) 100vw, 1336px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mc alias list</span></pre>
<p><img loading="lazy" decoding="async" width="647" height="148" class="wp-image-9099" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-8.png 647w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-8-300x69.png 300w" sizes="auto, (max-width: 647px) 100vw, 647px" /></p>
<h3>Check le statut du cluster</h3>
<pre>[root@node-minio-c01 ~]#<span style="color: #ff0000;"> mc admin info cluster</span></pre>
<p><img loading="lazy" decoding="async" width="932" height="742" class="wp-image-9100" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-9.png 932w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-9-300x239.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-9-768x611.png 768w" sizes="auto, (max-width: 932px) 100vw, 932px" /></p>
<h2>3. Check les Buckets du Cluster</h2>
<h4>Liste des buckets présents sur le cluster</h4>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mc stat cluster</span></pre>
<p><img loading="lazy" decoding="async" width="448" height="92" class="wp-image-9101" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-10.png 448w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-10-300x62.png 300w" sizes="auto, (max-width: 448px) 100vw, 448px" /></p>
<h4>Création d’un Bucket Web</h4>
<pre>[root@node-minio-c01 ~]#<span style="color: #ff0000;"> mc mb cluster/web</span></pre>
<p><img loading="lazy" decoding="async" width="508" height="65" class="wp-image-9102" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-11.png 508w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-11-300x38.png 300w" sizes="auto, (max-width: 508px) 100vw, 508px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mc stat cluster</span></pre>
<p><img loading="lazy" decoding="async" width="644" height="164" class="wp-image-9103" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-12.png 644w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-12-300x76.png 300w" sizes="auto, (max-width: 644px) 100vw, 644px" /></p>
<h4>Copie d’une image dans le Bucket « web »</h4>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://blog.min.io/content/images/size/w2000/2023/12/Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg">https://blog.min.io/content/images/size/w2000/2023/12/Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg</a></span>
[root@node-minio-c01 home]# <span style="color: #ff0000;">ls -al</span></pre>
<p><img loading="lazy" decoding="async" width="857" height="110" class="wp-image-9104" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-13.png 857w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-13-300x39.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-13-768x99.png 768w" sizes="auto, (max-width: 857px) 100vw, 857px" /></p>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">mc cp Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg cluster/web</span></pre>
<p><img loading="lazy" decoding="async" width="1622" height="65" class="wp-image-9105" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14.png 1622w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14-300x12.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14-1024x41.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14-768x31.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-14-1536x62.png 1536w" sizes="auto, (max-width: 1622px) 100vw, 1622px" /></p>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">mc du cluster/web</span></pre>
<p><img loading="lazy" decoding="async" width="472" height="57" class="wp-image-9106" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-15.png 472w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-15-300x36.png 300w" sizes="auto, (max-width: 472px) 100vw, 472px" /></p>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">mc ls cluster/web</span></pre>
<p><img loading="lazy" decoding="async" width="814" height="61" class="wp-image-9107" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-16.png 814w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-16-300x22.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-16-768x58.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-16-800x61.png 800w" sizes="auto, (max-width: 814px) 100vw, 814px" /></p>
<p><img loading="lazy" decoding="async" width="1158" height="231" class="wp-image-9108" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-17.png 1158w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-17-300x60.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-17-1024x204.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-17-768x153.png 768w" sizes="auto, (max-width: 1158px) 100vw, 1158px" /><br />
« <strong>Côté IHM</strong> »</p>
<h4>Set l’accès en mode Public le Bucket « web »</h4>
<p><img loading="lazy" decoding="async" width="1219" height="431" class="wp-image-9109" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-18.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-18.png 1219w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-18-300x106.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-18-1024x362.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-18-768x272.png 768w" sizes="auto, (max-width: 1219px) 100vw, 1219px" /><br />
« <strong>Bucket</strong> » &#8211; « <strong>Access Policy</strong> » &#8211; Change Access Policy « <strong>Public</strong> » et « <strong>Set</strong> »</p>
<p><img loading="lazy" decoding="async" width="1041" height="264" class="wp-image-9110" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-19.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-19.png 1041w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-19-300x76.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-19-1024x260.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-19-768x195.png 768w" sizes="auto, (max-width: 1041px) 100vw, 1041px" /></p>
<h4>Accès via l’url du Cluster</h4>
<ul>
<li><span style="color: #ff0000;">http://cluster-minio.house.cpb:9000/web/Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg</span></li>
</ul>
<p><img loading="lazy" decoding="async" width="1008" height="439" class="wp-image-9111" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-20.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-20.png 1008w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-20-300x131.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-20-768x334.png 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></p>
<h2>4. Check les Buckets &#8211; distribution du fichier sur les Volumes</h2>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">for i in <strong>{1..6}</strong>;do ssh -t root@<strong>node-minio-s0${i}</strong> "du -a /minio/ |grep Ray-Data-and-MinIO";done</span></pre>
<p><img loading="lazy" decoding="async" width="1130" height="579" class="wp-image-9112" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-21.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-21.png 1130w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-21-300x154.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-21-1024x525.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-21-768x394.png 768w" sizes="auto, (max-width: 1130px) 100vw, 1130px" /></p>
<p>Le fichier « Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg » est distribué sur les 6 Hosts du cluster minIO et copie sur chacun des disques /dev/sdd1 et /dev/sde1</p>
<p>On peut constater une grande résilience à la panne ou la perte du fichier « Distributed-Data-Processing-with-Ray-Data-and-MinIO.jpg »</p>
<h2>5. Installation fuse</h2>
<h3>Installation du paquet « fuse »</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">dnf search s3fs-fuse</span></pre>
<p><img loading="lazy" decoding="async" width="1243" height="92" class="wp-image-9113" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-22.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-22.png 1243w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-22-300x22.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-22-1024x76.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-22-768x57.png 768w" sizes="auto, (max-width: 1243px) 100vw, 1243px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">dnf install -y s3fs-fuse</span></pre>
<h3>Création du fichier d’authentification via l’« access key »</h3>
<h4>Pour rappel</h4>
<ul>
<li><strong>Acces Key</strong> : <span style="color: #ff0000;">74mAOkc0HcqKxBqhq2jH</span></li>
<li><strong>Secret Key</strong> : <span style="color: #ff0000;">eJ2u2YslW9aVmmoGaPgvnmX05EnBHisysDfTBH8q</span></li>
</ul>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">echo <strong>74mAOkc0HcqKxBqhq2jH:eJ2u2YslW9aVmmoGaPgvnmX05EnBHisysDfTBH8q</strong> &gt;&gt; /root/.passwd_cluster</span>
[root@node-minio-c01 ~]# <span style="color: #ff0000;">chmod 600 /root/.passwd_cluster</span>
[root@node-minio-c01 ~]# <span style="color: #ff0000;">ls -al /root/.passwd_cluster</span></pre>
<p><img loading="lazy" decoding="async" width="966" height="93" class="wp-image-9114" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-23.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-23.png 966w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-23-300x29.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-23-768x74.png 768w" sizes="auto, (max-width: 966px) 100vw, 966px" /></p>
<h3>Montage du bucket « web »</h3>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mkdir /web01</span>
[root@node-minio-c01 ~]# <span style="color: #ff0000;">s3fs web /web01 -o passwd_file=/root/.passwd_cluster,use_path_request_style,url=http://cluster-minio:9000</span>
[root@node-minio-c01 ~]#<span style="color: #ff0000;"> df -h |grep web</span></pre>
<p><img loading="lazy" decoding="async" width="545" height="61" class="wp-image-9115" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-24.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-24.png 545w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-24-300x34.png 300w" sizes="auto, (max-width: 545px) 100vw, 545px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">mount | grep s3fs</span></pre>
<p><img loading="lazy" decoding="async" width="650" height="61" class="wp-image-9116" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-25.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-25.png 650w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-25-300x28.png 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">ls -al /web01</span></pre>
<p><img loading="lazy" decoding="async" width="896" height="108" class="wp-image-9117" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-26.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-26.png 896w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-26-300x36.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-26-768x93.png 768w" sizes="auto, (max-width: 896px) 100vw, 896px" /></p>
<pre>[root@node-minio-c01 ~]# <span style="color: #ff0000;">du -sh /web01/*</span></pre>
<p><img loading="lazy" decoding="async" width="705" height="58" class="wp-image-9118" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-27.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-27.png 705w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-27-300x25.png 300w" sizes="auto, (max-width: 705px) 100vw, 705px" /></p>
<h3>Check fichier distribué via Fuse</h3>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://www.ecranlarge.com/uploads/image/001/120/bob-leponge-photo-1120727.jpg">https://www.ecranlarge.com/uploads/image/001/120/bob-leponge-photo-1120727.jpg</a></span>
[root@node-minio-c01 home]# <span style="color: #ff0000;">cp bob-leponge-photo-1120727.jpg /web01/</span>
[root@node-minio-c01 home]# <span style="color: #ff0000;">du -a /web01</span></pre>
<p><img loading="lazy" decoding="async" width="685" height="87" class="wp-image-9119" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-28.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-28.png 685w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-28-300x38.png 300w" sizes="auto, (max-width: 685px) 100vw, 685px" /></p>
<h4>Côté IHM</h4>
<p><img loading="lazy" decoding="async" width="1380" height="274" class="wp-image-9120" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-29.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-29.png 1380w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-29-300x60.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-29-1024x203.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-29-768x152.png 768w" sizes="auto, (max-width: 1380px) 100vw, 1380px" /></p>
<h4>Accès via l’url du Cluster</h4>
<ul>
<li><span style="color: #ff0000;">http://cluster-minio.house.cpb:9000/web/bob-leponge-photo-1120727.jpg</span></li>
</ul>
<p><img loading="lazy" decoding="async" width="1018" height="559" class="wp-image-9121" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-30.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-30.png 1018w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-30-300x165.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-30-768x422.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-30-800x440.png 800w" sizes="auto, (max-width: 1018px) 100vw, 1018px" /></p>
<h4>Côté des clusters disques (24 Disques)</h4>
<pre>[root@node-minio-c01 home]# <span style="color: #ff0000;">for i in <strong>{1..6}</strong>;do ssh -t root@<strong>node-minio-s0${i}</strong> "du -a /minio/ |grep /bob-leponge-photo";done</span></pre>
<p><img loading="lazy" decoding="async" width="1014" height="575" class="wp-image-9122" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-31.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-31.png 1014w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-31-300x170.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9091-31-768x436.png 768w" sizes="auto, (max-width: 1014px) 100vw, 1014px" /></p>
<p>Le fichier « bob-leponge-photo-1120727.jpg » est distribué sur les 6 Hosts du cluster minIO et copie sur chacun des disques /dev/sdb1 et /dev/sdc1</p>
<p>On peut constater une grande résilience à la panne ou la perte du fichier « bob-leponge-photo-1120727.jpg »</p>


<p></p>
<p>Views: 0</p><p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-3-client-linux-cluster-minio/">MODOP – Partie 3 – Client Linux &#8211; Cluster minIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-partie-3-client-linux-cluster-minio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Partie 4 &#8211; Cluster de Réplication MinIO</title>
		<link>https://coffeebreak.en-images.info/modop-partie-4-cluster-de-replication-minio/</link>
					<comments>https://coffeebreak.en-images.info/modop-partie-4-cluster-de-replication-minio/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 14:45:19 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[MinIO]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Fichier distribué]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Minio]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Système]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9071</guid>

					<description><![CDATA[<p>MODOP sur l'installation et configuration un cluster de réplication MinIO, garantissant la haute disponibilité et l'efficacité dans la gestion de grandes quantités de données. Ce deuxième cluster de réplication MinIO est conçu pour assurer une haute disponibilité des données entre deux sites géographiquement distants. En répartissant les données sur plusieurs emplacements, cette configuration garantit que même en cas de défaillance d'un site, les données restent accessibles et intactes. Cette architecture renforce la résilience et la robustesse de l’infrastructure, minimisant les temps d'arrêt et assurant une continuité des opérations.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-4-cluster-de-replication-minio/">MODOP – Partie 4 &#8211; Cluster de Réplication MinIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" width="1772" height="674" class="wp-image-9072" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1.png 1772w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1-300x114.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1-1024x389.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1-768x292.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-1-1536x584.png 1536w" sizes="auto, (max-width: 1772px) 100vw, 1772px" /></p>
<h4><strong>Constitution du Cluster </strong></h4>
<ul>
<li>node-minio-r01</li>
<li>node-minio-r02</li>
<li>node-minio-r03</li>
</ul>
<h4><strong>Spécification des 3 nodes minIO</strong></h4>
<ul>
<li>IP : <strong>10.10.0.51 à 10.10.53</strong></li>
<li>vCPU : 2</li>
<li>RAM : 2Go</li>
<li>Disque : 8Go (Système)</li>
<li>Disque : 32Go (Data01)</li>
<li>Disque : 32Go (Data02)</li>
<li>Disque : 32Go (Data03)</li>
<li>Disque : 32Go (Data04)</li>
<li>OS : RockyLinux 8</li>
</ul>
<h2>1. Installation des prérequis (3 nœuds réplicas)</h2>
<h3>Mise à jour</h3>
<pre>[root@node-minio-r0x ~]#<span style="color: #ff0000;"> dnf -y update</span></pre>
<h3>Installation des middlewares</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">dnf install dnf-utils epel-release net-tools nmap curl wget tar -y</span></pre>
<h3>Désactiver SELinux</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">getenforce</span>
<span style="color: #ff0000;"><em>Enforcing</em></span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">setenforce 0</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">getenforce</span>
<span style="color: #ff0000;"><em>Permissive</em></span></pre>
<h3>Synchroniser DateTime sur le fuseau de PARIS</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">timedatectl set-timezone Europe/Paris</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">timedatectl</span></pre>
<h3>Intégration des Hosts au DNS</h3>
<p><img loading="lazy" decoding="async" width="592" height="277" class="wp-image-9073" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-2.png 592w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-2-300x140.png 300w" sizes="auto, (max-width: 592px) 100vw, 592px" /></p>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">for i in {1..3} ; do nslookup node-minio-r0${i} ; done</span></pre>
<h3>Règle de Firewall</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">firewall-cmd --remove-service={dhcpv6-client,cockpit} --permanent &amp;&amp; firewall-cmd –reload</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">firewall-cmd --add-port={9000,9001}/tcp --permanent &amp;&amp; firewall-cmd --reload</span></pre>
<p><img loading="lazy" decoding="async" width="991" height="117" class="wp-image-9075" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-4.png 991w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-4-300x35.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-4-768x91.png 768w" sizes="auto, (max-width: 991px) 100vw, 991px" /></p>
<h2>2. Préparation des disques MinIO (3 nœuds réplicas)</h2>
<pre>[root@node-minio-r0x home]# <span style="color: #ff0000;">lsblk</span></pre>
<p><img loading="lazy" decoding="async" width="715" height="197" class="wp-image-9076" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-5.png 715w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-5-300x83.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></p>
<h3>Partitionnement des disques</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sdb mklabel msdos</span>
[root@node-minio-r0x ~]#<span style="color: #ff0000;"> parted -s /dev/sdc mklabel msdos</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sdd mklabel msdos</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sde mklabel msdos</span>

[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sdb mkpart primary 1MiB 100%</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sdc mkpart primary 1MiB 100%</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sdd mkpart primary 1MiB 100%</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">parted -s /dev/sde mkpart primary 1MiB 100%</span></pre>
<p><img loading="lazy" decoding="async" width="775" height="128" class="wp-image-9077" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-6.png 775w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-6-300x50.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-6-768x127.png 768w" sizes="auto, (max-width: 775px) 100vw, 775px" /></p>
<pre>[root@node-minio-r0x home]#<span style="color: #ff0000;"> lsblk</span></pre>
<p><img loading="lazy" decoding="async" width="718" height="261" class="wp-image-9078" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-7.png 718w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-7-300x109.png 300w" sizes="auto, (max-width: 718px) 100vw, 718px" /></p>
<h3>Formatage des disques</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdb1</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdc1</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sdd1</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">mkfs.xfs -f /dev/sde1</span></pre>
<h3>Montage des disques</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">for i in {1..4} ;do mkdir -p /minio/replicat_0${i};done</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">ls -al /minio/</span></pre>
<p><img loading="lazy" decoding="async" width="813" height="163" class="wp-image-9079" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-8.png 813w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-8-300x60.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-8-768x154.png 768w" sizes="auto, (max-width: 813px) 100vw, 813px" /></p>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">echo "/dev/sdb1 /minio/replicat_01 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">echo "/dev/sdc1 /minio/replicat_02 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">echo "/dev/sdd1 /minio/replicat_03 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-r0x ~]#<span style="color: #ff0000;"> echo "/dev/sde1 /minio/replicat_04 xfs defaults 0 0" &gt;&gt; /etc/fstab</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">systemctl daemon-reload</span></pre>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">for i in {1..4} ;do mount /minio/replicat_0${i};done</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">df -h |grep mini</span></pre>
<p><img loading="lazy" decoding="async" width="713" height="103" class="wp-image-9080" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-9.png 713w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-9-300x43.png 300w" sizes="auto, (max-width: 713px) 100vw, 713px" /></p>
<h2>3. Création des comptes (3 nœuds réplicas)</h2>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">groupadd -r minio-user</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">useradd -M -r -g minio-user minio-user</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">chown -R minio-user:minio-user /minio</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">ls -al /minio</span></pre>
<p><img loading="lazy" decoding="async" width="736" height="137" class="wp-image-9081" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-10.png 736w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-10-300x56.png 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></p>
<h2>4. Installation MinIO (3 nœuds réplicas)</h2>
<h3>Installation des binaires</h3>
<h4>Téléchargement des binaires</h4>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">cd /home/</span>
[root@node-minio-r0x home]# <span style="color: #ff0000;">wget <a style="color: #ff0000;" href="https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm">https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240406052602.0.0-1.x86_64.rpm</a></span>
[root@node-minio-r0x home]# <span style="color: #ff0000;">dnf install minio-20240406052602.0.0-1.x86_64.rpm</span></pre>
<h2>5. Création du service minIO (3 nœuds réplicas)</h2>
<pre>[root@node-minio-r0x ~]#<span style="color: #ff0000;"> vi /usr/lib/systemd/system/minio.service</span>

<span style="color: #ff0000;"><em>[Unit]</em></span>
<span style="color: #ff0000;"><em>Description=MinIO</em></span>
<span style="color: #ff0000;"><em>Documentation=https://docs.min.io</em></span>
<span style="color: #ff0000;"><em>Wants=network-online.target</em></span>
<span style="color: #ff0000;"><em>After=network-online.target</em></span>
<span style="color: #ff0000;"><em>AssertFileIsExecutable=<strong>/usr/local/bin/minio</strong></em></span>

<span style="color: #ff0000;"><em>[Service]</em></span>
<span style="color: #ff0000;"><em>Type=notify</em></span>
<span style="color: #ff0000;"><em>WorkingDirectory=/usr/local</em></span>
<span style="color: #ff0000;"><em>User=<strong>minio-user</strong></em></span>
<span style="color: #ff0000;"><em>Group=<strong>minio-user</strong></em></span>
<span style="color: #ff0000;"><em>ProtectProc=invisible</em></span>
<span style="color: #ff0000;"><em>EnvironmentFile=-/etc/default/minio</em></span>
<span style="color: #ff0000;"><em>ExecStartPre=<strong>/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"</strong></em></span>
<span style="color: #ff0000;"><em>ExecStart=<strong><span style="color: #ff0000;">/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES</span></strong></em></span>

<span style="color: #ff0000;"><em># Let systemd restart this service always</em></span>
<span style="color: #ff0000;"><em>Restart=always</em></span>

<span style="color: #ff0000;"><em># Specifies the maximum file descriptor number that can be opened by this process</em></span>
<span style="color: #ff0000;"><em>LimitNOFILE=1048576</em></span>

<span style="color: #ff0000;"><em># Turn-off memory accounting by systemd, which is buggy.</em></span>
<span style="color: #ff0000;"><em>MemoryAccounting=no</em></span>

<span style="color: #ff0000;"><em># Specifies the maximum number of threads this process can create</em></span>
<span style="color: #ff0000;"><em>TasksMax=infinity</em></span>

<span style="color: #ff0000;"><em># Disable timeout logic and wait until process is stopped</em></span>
<span style="color: #ff0000;"><em>TimeoutSec=infinity</em></span>
<span style="color: #ff0000;"><em>SendSIGKILL=no</em></span>

<span style="color: #ff0000;"><em>[Install]</em></span>
<span style="color: #ff0000;"><em>WantedBy=multi-user.target</em></span></pre>
<h2>6. Variable environnement minIO (3 nœuds réplicas)</h2>
<h3>Les Hosts minIO</h3>
<ul>
<li>node-minio-r01</li>
<li>node-minio-r02</li>
<li>node-minio-r03</li>
</ul>
<h3>Les disques minIO</h3>
<ul>
<li>/minio/replicat_01</li>
<li>/minio/replicat_02</li>
<li>/minio/replicat_03</li>
<li>/minio/replicat_04</li>
</ul>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">mkdir /etc/minio</span>
[root@node-minio-r0x ~]# <span style="color: #ff0000;">chown minio-user:minio-user /etc/minio</span></pre>
<h3>Fichier d’environnement</h3>
<pre>[root@node-minio-r0x ~]#<span style="color: #ff0000;"> vi /etc/default/minio</span>

<span style="color: #ff0000;"><em># Variable spécifiant les hosts et les volumes par hosts</em></span>
<span style="color: #ff0000;"><em>MINIO_VOLUMES="</em><strong><em>http://node-minio-r0{1...3}.house.cpb:9000/minio/replicat_0{1...4</em></strong><em>}"</em></span>

<span style="color: #ff0000;"><em>#Paramètre du port de la console</em></span>
<span style="color: #ff0000;"><em>MINIO_OPTS="--console-address :9001"</em></span>

<span style="color: #ff0000;"><em>#Credentials , tous les nœuds entre sites doivent avoir les mêmes crdentials</em></span>
<span style="color: #ff0000;"><em>MINIO_ROOT_USER=</em><strong><em> minioadmin</em></strong></span>
<span style="color: #ff0000;"><em>MINIO_ROOT_PASSWORD=</em><strong><em> minioadmin</em></strong></span>

<span style="color: #ff0000;"><em>#Adresse VIP du LoadBalancer</em></span>
<span style="color: #ff0000;"><em>#MINIO_SERVER_URL=</em><a style="color: #ff0000;" href="http://minio.house.cpb:9000"><em>http://minio.house.cpb:9000</em></a></span></pre>
<h2>7. Démarrage du cluster (3 nœuds réplicas)</h2>
<h3>Démarrage du service (<span style="text-decoration: underline;">les 3 parallèlements</span> )</h3>
<pre>[root@node-minio-r0x ~]# <span style="color: #ff0000;">systemctl start minio.service</span>
[root@node-minio-r0x ~]#<span style="color: #ff0000;"> systemctl enable minio.service</span></pre>
<h3>Check des statuts</h3>
<pre>[root@<span style="color: #ff0000;">node-minio-r01</span> ~]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1210" height="276" class="wp-image-9082" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-11.png 1210w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-11-300x68.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-11-1024x234.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-11-768x175.png 768w" sizes="auto, (max-width: 1210px) 100vw, 1210px" /></p>
<pre>[root@<span style="color: #ff0000;">node-minio-r02</span> ~]# <span style="color: #ff0000;">systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1187" height="264" class="wp-image-9083" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-12.png 1187w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-12-300x67.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-12-1024x228.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-12-768x171.png 768w" sizes="auto, (max-width: 1187px) 100vw, 1187px" /></p>
<pre>[root@<span style="color: #ff0000;">node-minio-r03</span> ~]#<span style="color: #ff0000;"> systemctl status minio.service</span></pre>
<p><img loading="lazy" decoding="async" width="1177" height="284" class="wp-image-9084" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-13.png 1177w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-13-300x72.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-13-1024x247.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-13-768x185.png 768w" sizes="auto, (max-width: 1177px) 100vw, 1177px" /></p>
<h3>Connexion au service</h3>
<h4>Pour rappel</h4>
<ul>
<li>Login : <span style="color: #ff0000;"><strong>replicatadmin</strong></span></li>
<li>Password :<span style="color: #ff0000;"><strong> replicatadmin</strong></span></li>
<li><span style="color: #ff0000;"><a style="color: #ff0000;" href="http://node-minio-r01.house.cpb:9000">http://node-minio-r01.house.cpb:9000</a></span></li>
</ul>
<p><img loading="lazy" decoding="async" width="1866" height="862" class="wp-image-9085" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14.png 1866w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14-300x139.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14-1024x473.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14-768x355.png 768w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9071-14-1536x710.png 1536w" sizes="auto, (max-width: 1866px) 100vw, 1866px" /></p>
<p>Views: 2</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-4-cluster-de-replication-minio/">MODOP – Partie 4 &#8211; Cluster de Réplication MinIO</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-partie-4-cluster-de-replication-minio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MODOP – Partie 5 – Installation « LoadBalancer » Cluster Réplicas</title>
		<link>https://coffeebreak.en-images.info/modop-partie-5-installation-loadbalancer-cluster-replicas/</link>
					<comments>https://coffeebreak.en-images.info/modop-partie-5-installation-loadbalancer-cluster-replicas/#respond</comments>
		
		<dc:creator><![CDATA[chris]]></dc:creator>
		<pubDate>Sat, 12 Oct 2024 14:43:55 +0000</pubDate>
				<category><![CDATA[Fichiers Distribué]]></category>
		<category><![CDATA[MinIO]]></category>
		<category><![CDATA[OS Linux]]></category>
		<category><![CDATA[RedHat/Centos Linux]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Cluster HA]]></category>
		<category><![CDATA[Fichier distribué]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Minio]]></category>
		<category><![CDATA[RockyLinux]]></category>
		<category><![CDATA[Système]]></category>
		<guid isPermaLink="false">https://coffeebreak.en-images.info/?p=9048</guid>

					<description><![CDATA[<p>MODOP sur l’installation et la configuration d’un cluster HAProxy pour assurer la haute disponibilité et l’équilibrage de charge d’un cluster MinIO en mode réplication, il sera composé de deux hosts. HAProxy équilibrera la charge de manière efficace entre les différents hôtes MinIOA, assurant que chaque serveur du répliquas contribue de manière optimale à l'ensemble. Ce processus de mise en place permet de minimiser les points de défaillance unique, d'améliorer les performances globales et de garantir un accès continu aux données, même en cas de panne de l'un des nœuds. HAProxy optimisera l'utilisation des ressources et renforcera la résilience du cluster de réplication (site2) MinIO.</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-5-installation-loadbalancer-cluster-replicas/">MODOP – Partie 5 – Installation « LoadBalancer » Cluster Réplicas</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><strong>Constitution du Cluster </strong></h3>
<ul>
<li>node-minio-n01</li>
<li>node-minio-n02</li>
</ul>
<h3><strong>Spécification des 2 nodes HA minIO</strong></h3>
<ul>
<li>IP : <strong>10.10.0.54 à 10.10.55</strong></li>
<li>IP virtuelle : <strong>10.100.56 </strong></li>
<li>DNS VIP : <strong>replicas-minio.house.cpb</strong></li>
<li>vCPU : 2</li>
<li>RAM : 2Go</li>
<li>Disque : 8Go (Système)</li>
<li>OS : RockyLinux 8</li>
</ul>
<h2>1. Installation des prérequis (2 nodes)</h2>
<h3>Mise à jour</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">dnf -y update</span></pre>
<h3>Installation des middlewares</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">dnf install dnf-utils epel-release net-tools nmap curl wget tar –y</span></pre>
<h3>Désactiver SELinux</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config</span>
[root@node-minio-n0x ~]#<span style="color: #ff0000;"> setenforce 0</span></pre>
<h3>Synchroniser DateTime sur le fuseau de PARIS</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">timedatectl</span> <span style="color: #ff0000;">set-timezone Europe/Paris</span></pre>
<h3>Intégration des Hosts au DNS</h3>
<p><img loading="lazy" decoding="async" width="766" height="352" class="wp-image-9049" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-1.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-1.png 766w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-1-300x138.png 300w" sizes="auto, (max-width: 766px) 100vw, 766px" /></p>
<pre>[root@node-minio-n01 ~]# <span style="color: #ff0000;">for i in {1..2} ; do nslookup node-minio-n0${i} ; done</span></pre>
<p><img loading="lazy" decoding="async" width="809" height="190" class="wp-image-9050" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-2.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-2.png 809w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-2-300x70.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-2-768x180.png 768w" sizes="auto, (max-width: 809px) 100vw, 809px" /></p>
<pre>[root@node-minio-n01 ~]# <span style="color: #ff0000;">nslookup replicas-minio.house.cpb</span></pre>
<p><img loading="lazy" decoding="async" width="588" height="131" class="wp-image-9051" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-3.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-3.png 588w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-3-300x67.png 300w" sizes="auto, (max-width: 588px) 100vw, 588px" /></p>
<h3>Règle de Firewall</h3>
<pre>[root@node-minio-n0x ~]#<span style="color: #ff0000;"> firewall-cmd --remove-service={dhcpv6-client,cockpit} --permanent &amp;&amp; firewall-cmd --reload</span>
[root@node-minio-n0x ~]# <span style="color: #ff0000;">firewall-cmd --add-port={9000,9001}/tcp --permanent &amp;&amp; firewall-cmd --reload</span></pre>
<p><img loading="lazy" decoding="async" width="991" height="116" class="wp-image-9052" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-4.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-4.png 991w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-4-300x35.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-4-768x90.png 768w" sizes="auto, (max-width: 991px) 100vw, 991px" /></p>
<h2>2. Installation du « heartbeat » keepAlive (2 nodes)</h2>
<h3>Installation des binaires</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">dnf install keepalived ipvsadm –y</span></pre>
<h3>Chargement du module ip_vs</h3>
<pre>[root@node-minio-h01 ~]# <span style="color: #ff0000;">modprobe ip_vs</span>
[root@node-minio-h01 ~]# <span style="color: #ff0000;">lsmod |grep ip_vs</span></pre>
<p><img loading="lazy" decoding="async" width="668" height="116" class="wp-image-9053" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-5.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-5.png 668w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-5-300x52.png 300w" sizes="auto, (max-width: 668px) 100vw, 668px" /></p>
<h3>Configuration KeepAlive</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">mv /etc/keepalived/keepalived.conf{,-old}</span></pre>
<h4><span style="text-decoration: underline;"><strong>Node-minio-h01</strong></span></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-<strong>n01</strong> </span>~]# <span style="color: #ff0000;">vi /etc/keepalived/keepalived.conf</span>

<span style="color: #ff0000;"><em>! /etc/keepalived/keepalived.conf</em></span>
<span style="color: #ff0000;"><em>! Configuration File for keepalived</em></span>

<span style="color: #ff0000;"><em>global_defs {</em></span>
<span style="color: #ff0000;"><em> notification_email {</em></span>
<span style="color: #ff0000;"><em> chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em> notification_email_from chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> smtp_server localhost</em></span>
<span style="color: #ff0000;"><em> smtp_connect_timeout 30</em></span>
<span style="color: #ff0000;"><em> }</em></span>

<span style="color: #ff0000;"><em>vrrp_instance VI_1 {</em></span>
<span style="color: #ff0000;"><em> state </em><strong><em>MASTER</em></strong></span>
<span style="color: #ff0000;"><em> interface </em><strong><em>ens18</em></strong></span>
<span style="color: #ff0000;"><em> virtual_router_id 100</em></span>
<span style="color: #ff0000;"><strong><em> priority 200</em></strong></span>
<span style="color: #ff0000;"><em> authentication {</em></span>
<span style="color: #ff0000;"><em>  auth_type PASS</em></span>
<span style="color: #ff0000;"><em>  auth_pass </em><strong><em>replicas@2024</em></strong></span>
<span style="color: #ff0000;"><em> }</em></span>

<span style="color: #ff0000;"><em> virtual_ipaddress {</em></span>
<span style="color: #ff0000;"><strong><em>10.10.0.56/16 dev ens18</em></strong></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h4><span style="text-decoration: underline;"><strong>Node-minio-h02</strong></span></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-<strong>n02 </strong></span>~]# <span style="color: #ff0000;">vi /etc/keepalived/keepalived.conf</span>

<span style="color: #ff0000;"><em>! /etc/keepalived/keepalived.conf</em></span>
<span style="color: #ff0000;"><em>! Configuration File for keepalived</em></span>

<span style="color: #ff0000;"><em>global_defs {</em></span>
<span style="color: #ff0000;"><em>notification_email {</em></span>
<span style="color: #ff0000;"><em>chris@house.cpb</em></span>
<span style="color: #ff0000;"><em>}</em></span>
<span style="color: #ff0000;"><em> notification_email_from chris@house.cpb</em></span>
<span style="color: #ff0000;"><em> smtp_server localhost</em></span>
<span style="color: #ff0000;"><em> smtp_connect_timeout 30</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>vrrp_instance VI_1 {</em></span>
<span style="color: #ff0000;"><em> state </em><strong><em>BACKUP</em></strong></span>
<span style="color: #ff0000;"><em> interface ens18</em></span>
<span style="color: #ff0000;"><em> virtual_router_id 100</em></span>
<span style="color: #ff0000;"><strong><em> priority 199</em></strong></span>
<span style="color: #ff0000;"><em>authentication {</em></span>
<span style="color: #ff0000;"><em> auth_type PASS</em></span>
<span style="color: #ff0000;"><em> auth_pass </em><strong><em>replicas@2024</em></strong></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>virtual_ipaddress {</em></span>
<span style="color: #ff0000;"><strong><em>10.10.0.56/16 dev ens18</em></strong></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h3>Ajout prérequis keepalived</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">echo "net.ipv4.ip_nonlocal_bind = 1" &gt;&gt; /etc/sysctl.conf</span>
[root@node-minio-n0x ~]# <span style="color: #ff0000;">sysctl -p</span>
<em><span style="color: #ff0000;">net.ipv4.ip_nonlocal_bind = 1</span> </em></pre>
<h3>Ajout règles Firewall « vrrp »</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent --zone=public</span>
[root@node-minio-n0x ~]# <span style="color: #ff0000;">firewall-cmd --reload</span></pre>
<h3>Lancement du service</h3>
<h4><strong><span style="text-decoration: underline;">Node-minio-h01</span></strong></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">systemctl start --now keepalived</span>
[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">systemctl enable keepalived</span>
[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">systemctl status keepalived</span></pre>
<p><img loading="lazy" decoding="async" width="1056" height="328" class="wp-image-9054" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-6.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-6.png 1056w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-6-300x93.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-6-1024x318.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-6-768x239.png 768w" sizes="auto, (max-width: 1056px) 100vw, 1056px" /></p>
<pre>[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="920" height="130" class="wp-image-9055" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-7.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-7.png 920w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-7-300x42.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-7-768x109.png 768w" sizes="auto, (max-width: 920px) 100vw, 920px" /></p>
<h4><span style="text-decoration: underline;"><strong>Node-minio-h02</strong></span></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-n02</span> ~]#<span style="color: #ff0000;"> systemctl start --now keepalived</span>
[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">systemctl enable keepalived</span>
[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">systemctl status keepalived</span></pre>
<p><img loading="lazy" decoding="async" width="1226" height="318" class="wp-image-9056" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-8.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-8.png 1226w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-8-300x78.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-8-1024x266.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-8-768x199.png 768w" sizes="auto, (max-width: 1226px) 100vw, 1226px" /></p>
<pre>[root@node-minio-h02 ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="926" height="104" class="wp-image-9057" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-9.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-9.png 926w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-9-300x34.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-9-768x86.png 768w" sizes="auto, (max-width: 926px) 100vw, 926px" /></p>
<h3>Check « HeartBeat »</h3>
<p>Désactivons le master « <strong>node-minio-n01</strong> » portant la VIP via la priorité la plus haute.</p>
<pre>[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">systemctl stop keepalived</span>
[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="908" height="113" class="wp-image-9058" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-10.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-10.png 908w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-10-300x37.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-10-768x96.png 768w" sizes="auto, (max-width: 908px) 100vw, 908px" /></p>
<pre>[root@node-minio-h02 ~]# <span style="color: #ff0000;">ip a show ens18</span></pre>
<p><img loading="lazy" decoding="async" width="895" height="129" class="wp-image-9059" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-11.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-11.png 895w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-11-300x43.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-11-768x111.png 768w" sizes="auto, (max-width: 895px) 100vw, 895px" /></p>
<h2>3. Installation Loadbalancer via « nginx » (2 nodes)</h2>
<h3>Installation des binaires</h3>
<pre>[root@node-minio-n0x ~]# <span style="color: #ff0000;">dnf install nginx -y</span></pre>
<h3>Configuration nginx « loadbalancer »</h3>
<pre>[root@node-minio-n0x ~]#<span style="color: #ff0000;"> mv /etc/nginx/nginx.conf{,-old}</span></pre>
<h4>Node-minio-n01 et Node-minio-n02</h4>
<pre>[root@node-minio-<strong>n0x</strong> ~]# <span style="color: #ff0000;">vi /etc/nginx/nginx.conf</span>

<span style="color: #ff0000;"><em>user nginx;</em></span>
<span style="color: #ff0000;"><em>worker_processes auto;</em></span>
<span style="color: #ff0000;"><em>error_log /var/log/nginx/error.log;</em></span>
<span style="color: #ff0000;"><em>pid /run/nginx.pid;</em></span>
<span style="color: #ff0000;"><em>
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.</em></span>
<span style="color: #ff0000;"><em>include /usr/share/nginx/modules/*.conf;</em></span>
<span style="color: #ff0000;"><em>events {</em></span>
<span style="color: #ff0000;"><em> worker_connections 1024;</em></span>
<span style="color: #ff0000;"><em>}</em></span>

<span style="color: #ff0000;"><em>http {</em></span>
<span style="color: #ff0000;"><em> log_format main '$remote_addr - $remote_user [$time_local] "$request" '</em></span>
<span style="color: #ff0000;"><em> '$status $body_bytes_sent "$http_referer" '</em></span>
<span style="color: #ff0000;"><em> '"$http_user_agent" "$http_x_forwarded_for"';</em></span>
<span style="color: #ff0000;"><em> access_log /var/log/nginx/access.log main;</em></span>
<span style="color: #ff0000;"><em> sendfile on;</em></span>
<span style="color: #ff0000;"><em> tcp_nopush on;</em></span>
<span style="color: #ff0000;"><em> tcp_nodelay on;</em></span>
<span style="color: #ff0000;"><em> keepalive_timeout 65;</em></span>
<span style="color: #ff0000;"><em> types_hash_max_size 2048;</em></span>
<span style="color: #ff0000;"><em> include /etc/nginx/mime.types;</em></span>
<span style="color: #ff0000;"><em> default_type application/octet-stream;</em></span>

<span style="color: #ff0000;"><em>### Serveur MinIO</em></span>
<span style="color: #ff0000;"><strong><em> upstream api_minio {</em></strong></span>
<span style="color: #ff0000;"><strong><em> least_conn;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r01.house.cpb:9000;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r02.house.cpb:9000;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r02.house.cpb:9000;</em></strong></span>
<span style="color: #ff0000;"><strong><em> }</em></strong></span>

<span style="color: #ff0000;"><strong><em> upstream replicas_minio {</em></strong></span>
<span style="color: #ff0000;"><strong><em> least_conn;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r01.house.cpb:9001;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r02.house.cpb:9001;</em></strong></span>
<span style="color: #ff0000;"><strong><em> server node-minio-r03.house.cpb:9001;</em></strong></span>
<span style="color: #ff0000;"><strong><em> }</em></strong></span>

<span style="color: #ff0000;"><em> server {</em></span>
<span style="color: #ff0000;"><em> listen 80 default_server;</em></span>
<span style="color: #ff0000;"><em> server_name replicas-minio.house.cpb;</em></span>

<span style="color: #ff0000;"><em> ## Préconisation Minio</em></span>
<span style="color: #ff0000;"><em> ignore_invalid_headers off;</em></span>
<span style="color: #ff0000;"><em> client_max_body_size 0;</em></span>
<span style="color: #ff0000;"><em> proxy_buffering off;</em></span>
<span style="color: #ff0000;"><em> proxy_request_buffering off;</em></span>

<span style="color: #ff0000;"><strong><em> location / {</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header Host $http_host;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Real-IP $remote_addr;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Forwarded-Proto $scheme;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_connect_timeout 300;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_http_version 1.1;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header Connection "";</em></strong></span>
<span style="color: #ff0000;"><strong><em> chunked_transfer_encoding off;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_pass http://api_minio;</em></strong></span>
<span style="color: #ff0000;"><strong><em> }</em></strong></span>

<span style="color: #ff0000;"><strong><em>location /minio/ui/ {</em></strong></span>
<span style="color: #ff0000;"><strong><em> rewrite ^/minio/ui/(.*) /$1 break;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header Host $http_host;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Real-IP $remote_addr;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-Forwarded-Proto $scheme;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header X-NginX-Proxy true;</em></strong></span>
<span style="color: #ff0000;"><strong><em>
 # This is necessary to pass the correct IP to be hashed</em></strong></span>
<span style="color: #ff0000;"><strong><em> real_ip_header X-Real-IP;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_connect_timeout 300;</em></strong></span>

<span style="color: #ff0000;"><strong><em> # To support websockets in MinIO versions released after January 2023</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_http_version 1.1;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header Upgrade $http_upgrade;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_set_header Connection "upgrade";</em></strong></span>
<span style="color: #ff0000;"><strong><em> chunked_transfer_encoding off;</em></strong></span>
<span style="color: #ff0000;"><strong><em> proxy_pass http://replicas_minio</em></strong></span>

<span style="color: #ff0000;"><strong><em> }</em></strong></span>
<span style="color: #ff0000;"><em> }</em></span>
<span style="color: #ff0000;"><em>}</em></span></pre>
<h3>Modification du fichier « /etc/default/minio » sur les <span style="text-decoration: underline;">3 nœuds node-minio-r0x</span></h3>
<pre>[root@<strong>node-minio-r0x</strong> ~]# <span style="color: #ff0000;">vi /etc/default/minio
</span>
<span style="color: #ff0000;"># Variable spécifiant les hosts et les volumes par hosts</span>
<span style="color: #ff0000;">MINIO_VOLUMES="http://node-minio-r0{1...3}.house.cpb:9000/minio/replicat_0{1...4}"</span>

<span style="color: #ff0000;">#Paramètre du port de la console</span>
<span style="color: #ff0000;">MINIO_OPTS="--console-address :9001"</span>

<span style="color: #ff0000;">#Credentials</span>
<span style="color: #ff0000;">MINIO_ROOT_USER=replicatadmin</span>
<span style="color: #ff0000;">MINIO_ROOT_PASSWORD=replicatadmin</span>

<span style="color: #ff0000;"><strong>#Adresse VIP du LoadBalancer</strong></span>
<span style="color: #ff0000;"><strong>MINIO_SERVER_URL=http://replicas-minio.house.cpb</strong></span>
<strong><span style="color: #ff0000;">MINIO_BROWSER_REDIRECT_URL=http://replicas-minio.house.cpb/minio/ui</span> </strong></pre>
<pre>[root@<span style="color: #ff0000;">node-minio-r01</span> ~]# <span style="color: #ff0000;">systemctl restart minio.service</span>
[root@<span style="color: #ff0000;">node-minio-r02</span> ~]# <span style="color: #ff0000;">systemctl restart minio.service</span>
[root@<span style="color: #ff0000;">node-minio-r03</span> ~]# <span style="color: #ff0000;">systemctl restart minio.servic</span>e</pre>
<h3>Lancement du service « nginx »</h3>
<h4><span style="text-decoration: underline;">Node-minio-n01</span></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">systemctl start nginx</span>
[root@<span style="color: #ff0000;">node-minio-h01</span> ~]# <span style="color: #ff0000;">systemctl enable nginx</span>
[root@<span style="color: #ff0000;">node-minio-h01</span> ~]# <span style="color: #ff0000;">systemctl status nginx</span></pre>
<p><img loading="lazy" decoding="async" width="1085" height="278" class="wp-image-9060" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-12.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-12.png 1085w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-12-300x77.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-12-1024x262.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-12-768x197.png 768w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></p>
<pre>[root@<span style="color: #ff0000;">node-minio-n01</span> ~]# <span style="color: #ff0000;">netstat -antp</span></pre>
<p><img loading="lazy" decoding="async" width="895" height="141" class="wp-image-9061" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-13.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-13.png 895w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-13-300x47.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-13-768x121.png 768w" sizes="auto, (max-width: 895px) 100vw, 895px" /></p>
<h4><span style="text-decoration: underline;">Node-minio-n02</span></h4>
<pre>[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">systemctl start nginx</span>
[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">systemctl enable nginx</span>
[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">systemctl status nginx</span></pre>
<p><img loading="lazy" decoding="async" width="1115" height="262" class="wp-image-9062" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-14.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-14.png 1115w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-14-300x70.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-14-1024x241.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-14-768x180.png 768w" sizes="auto, (max-width: 1115px) 100vw, 1115px" /></p>
<pre>[root@<span style="color: #ff0000;">node-minio-n02</span> ~]# <span style="color: #ff0000;">netstat -antp</span></pre>
<p><img loading="lazy" decoding="async" width="949" height="147" class="wp-image-9063" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-15.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-15.png 949w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-15-300x46.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-15-768x119.png 768w" sizes="auto, (max-width: 949px) 100vw, 949px" /></p>
<h3>Connexion cluster replicas minIO via Nginx LB</h3>
<ul>
<li>http://replicas-minio.house.cpb</li>
</ul>
<p><img loading="lazy" decoding="async" width="1384" height="373" class="wp-image-9064" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-16.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-16.png 1384w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-16-300x81.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-16-1024x276.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-16-768x207.png 768w" sizes="auto, (max-width: 1384px) 100vw, 1384px" /></p>
<p><img loading="lazy" decoding="async" width="1205" height="371" class="wp-image-9065" src="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-17.png" srcset="https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-17.png 1205w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-17-300x92.png 300w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-17-1024x315.png 1024w, https://coffeebreak.en-images.info/wp-content/uploads/2024/06/word-image-9048-17-768x236.png 768w" sizes="auto, (max-width: 1205px) 100vw, 1205px" /></p>
<p>Views: 0</p>
<p>L’article <a href="https://coffeebreak.en-images.info/modop-partie-5-installation-loadbalancer-cluster-replicas/">MODOP – Partie 5 – Installation « LoadBalancer » Cluster Réplicas</a> est apparu en premier sur <a href="https://coffeebreak.en-images.info">CoffeeBreak Info</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://coffeebreak.en-images.info/modop-partie-5-installation-loadbalancer-cluster-replicas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
