WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:divers:coin_geek:1a

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:divers:coin_geek:1a [2019/01/10 15:56]
gabery
wiki:divers:coin_geek:1a [2020/06/27 18:16] (Version actuelle)
Ligne 1: Ligne 1:
-Machine tortipousse (port 43) \\ +===== Expérimentation avec Ceph =====
-2 interfaces ayant les ip suivantes : +
-  * 192.168.1.2 ; MAC bridge 00:19:5b:0f:82:c8 +
-  * 192.168.103.26+
  
-Machine ouisticram (port 45) \\ 
-2 interfaces ayant les ip suivantes: 
-  * 192.168.1.1 ; MAC bridge 00:15:17:b2:60:d2 
-  * 192.168.103.35 
- 
-Machine tiplouf (port 47) \\ 
-2 interfaces ayant les ip suivantes: 
-  * 192.168.1.3 ; MAC bridge 00:15:17:b2:5d:0e 
-  * 192.168.103.25 
  
 2 IP/machine avec 2 réseaux 2 IP/machine avec 2 réseaux
Ligne 61: Ligne 49:
 </code> </code>
  
-Afin d'éviter la tempête de broadcast, on ajoute des règles ebtables permettant de filtrer le trafic passant par le bridge. De plus, on souhaite que chaque machine communique avec la machine voisine sans passer par une autre intermédiaire. Par exemple, doit communiquer avec sans passer par 3+Afin d'éviter la tempête de broadcast, on ajoute des règles ebtables permettant de filtrer le trafic passant par le bridge. De plus, on souhaite que chaque machine communique avec la machine voisine sans passer par une autre intermédiaire. Par exemple, tiplouf doit communiquer avec ouisticram sans passer par tortipousse
  
-Pour cela, on empêche la communication entre les deux interfaces des bridges, ce qui s'écrit à l'aide des règles suivantes, avec iface1 et iface2 les noms des interfaces correspondantes :+Pour cela, on empêche toute communication entre les deux interfaces des bridges, ce qui s'écrit à l'aide des règles suivantes, avec iface1 et iface2 les noms des interfaces correspondantes :
  
-   ebtables -A FORWARD -i iface1 -o iface2 -d ff:ff:ff:ff:ff:ff -j DROP +  ebtables -A FORWARD -i iface1 -o iface2 -j DROP 
-   ebtables -A FORWARD -i iface2 -o iface1 -d ff:ff:ff:ff:ff:ff -j DROP+  ebtables -A FORWARD -i iface2 -o iface1 -j DROP
      
 Afin de garder ces changements permanents, même après un redémarrage, on utilise le script suivant (nommé config.sh) : Afin de garder ces changements permanents, même après un redémarrage, on utilise le script suivant (nommé config.sh) :
Ligne 79: Ligne 67:
 fi fi
  
-ebtables -A FORWARD -i $1 -o $2 -d ff:ff:ff:ff:ff:ff -j DROP +ebtables -A FORWARD -i $1 -o $2 -j DROP 
-ebtables -A FORWARD -i $2 -o $1 -d ff:ff:ff:ff:ff:ff -j DROP+ebtables -A FORWARD -i $2 -o $1 -j DROP
  
 </code> </code>
Ligne 86: Ligne 74:
 On ajoute l'appel à ce script dans /etc/rc.local pour qu'il soit exécuté au démarrage. On ajoute l'appel à ce script dans /etc/rc.local pour qu'il soit exécuté au démarrage.
  
 +Une autre méthode consiste à sauvegarder la configuration ebtables et à la recharger au démarrage à l'aide des commandes suivantes, la deuxième peut être ajoutée dans le rc.local :
 +
 +  EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables --atomic-save
 +  EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables --atomic-commit
  
 Afin d'assurer la bonne installation de Ceph, on ajoute dans le fichier /etc/environment  Afin d'assurer la bonne installation de Ceph, on ajoute dans le fichier /etc/environment 
  
-   export http_proxy="http://192.168.103.61:82" +  export http_proxy="http://192.168.103.61:82" 
-   export https_proxy="https://192.168.103.61:82" +  export https_proxy="https://192.168.103.61:82"
- +
-C'est utile lorsqu'on utilise ''%%ceph-deploy install tortipousse ouisticram tiplouf%%''... La commande se lance sur une des trois machines et installe les paquets sur toutes les autres, qui ne peuvent les télécharger si les proxys ne sont pas exportés.+
  
 +C'est utile lorsqu'on utilise ''%%ceph-deploy install tortipousse ouisticram tiplouf%%''... La commande se lance sur une des trois machines et installe les paquets sur toutes les autres, qui ne peuvent pas les télécharger si les proxys ne sont pas exportés.
  
 ==== Installation de Ceph ==== ==== Installation de Ceph ====
  
-[[ http://docs.ceph.com/docs/master/install/get-packages/#debian-packages ]]+Tout se passe par ici : [[ http://docs.ceph.com/docs/mimic/start/ ]].
  
-Il faut ajouter le repository dans les sources, puis on peut installer les paquets nécessaires : ceph-common, ceph-mon, ceph-mgret **pas** ceph-mds.+=== Prérequis === 
 + 
 +[[ http://docs.ceph.com/docs/mimic/start/quick-start-preflight/ ]] 
 + 
 +On ajoute le repository de Ceph dans les sources (([[ http://docs.ceph.com/docs/master/install/get-packages/#debian-packages ]])) pour installer ceph-deploy. Si nécessaireon l'ajoute à la main dans /etc/apt/sources.list.d/ceph.list
  
   sudo apt-add-repository 'deb https://download.ceph.com/debian-luminous/ stretch main'   sudo apt-add-repository 'deb https://download.ceph.com/debian-luminous/ stretch main'
 +
 +Il est ensuite nécessaire d’installer NTP sur chaque nœud, pour cela, on se réfère à cette page du wiki : [[ https://wiki.minet.net/wiki/services/ntp ]].
 +
 +Sur chaque machine, on génère des clés SSH, qu'on laisse sans mot de passe, et on copie la clé publique sur chaque nœud.
 +
 +  ssh-keygen -t rsa
 +  ssh-copy-id [USER]@[SERVER]
 +
 +Ensuite, on ouvre les ports nécessaires à la communication entre les machines(([[ http://docs.ceph.com/docs/mimic/start/quick-start-preflight/#open-required-ports ]])), et surtout **ne pas s'occuper des règles firewalld** (qui ne sont pas compatibles avec ebtables) :
 +
 +  * pour les moniteurs (//mon//) :
 +
 +  sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT
 +
 +  * pour les OSD :
 +
 +  sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6800:7300 -j ACCEPT
 +
 +Pour rendre ces règles permanentes, on installe le paquet ''%%iptables-permanent%%''.
      
-Ou à ajouter à la main dans /etc/apt/sources.list.d/ceph.list+On rajoute également dans /etc/hosts le nom des machines et leur IP : 
 + 
 +  192.168.103.25 tiplouf 
 +  192.168.103.26 tortipousse 
 +  192.168.103.35 ouisticram 
 + 
 +Afin de préparer les disques de stockage, ici /dev/sdb : 
 + 
 +  parted -s /dev/sdb mklabel gpt mkpart primary xfs 0% 100% 
 +  reboot 
 +  mkfs.xfs /dev/sdb -f 
 + 
 +=== Créer un cluster Ceph de 3 machines === 
 + 
 +Il suffit de suivre : [[ http://docs.ceph.com/docs/mimic/start/quick-ceph-deploy/ ]]
  
 +Pour spécifier le //public network// dans le fichier ceph.conf(([[ http://docs.ceph.com/docs/master/rados/configuration/network-config-ref/]])) :
  
-Faire un cluster Ceph de 3 machines.+  public_network = 192.168.103.0/24 
 +  cluster_network = 192.168.1.0/24
  
 +Pour installer la bonne version de Ceph à installer, utiliser plutôt
  
 +  ceph-deploy install --release=luminous tiplouf tortipousse ouisticram
  
 +Au final, on a un mon et un OSD sur chaque machine.
wiki/divers/coin_geek/1a.1547132212.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)