Openstack Installation nouvelle node du cluster » Historique » Version 8
Mehdi Abaakouk, 25/03/2015 00:05
1 | 1 | Mehdi Abaakouk | h1. Openstack Installation nouvelle node du cluster |
---|---|---|---|
2 | 1 | Mehdi Abaakouk | |
3 | 1 | Mehdi Abaakouk | h2. Allocation IPs |
4 | 1 | Mehdi Abaakouk | |
5 | 1 | Mehdi Abaakouk | Sur http://wiki.tetaneutral.net/index.php/Architecture prends des ips dans les réseaux suivant: |
6 | 1 | Mehdi Abaakouk | |
7 | 1 | Mehdi Abaakouk | * 89.234.156.x et 2a01:6600:8083:xx |
8 | 1 | Mehdi Abaakouk | * 192.168.3.xx VLAN admin 3175 |
9 | 1 | Mehdi Abaakouk | * 192.168.128.xx VLAN vPro 128 (port RJ45 de la machine sur untag 128 de switch) |
10 | 1 | Mehdi Abaakouk | * 192.168.99.xx VLAN ceph 3199 |
11 | 1 | Mehdi Abaakouk | |
12 | 2 | Mehdi Abaakouk | h2. allocation des ports de switch |
13 | 1 | Mehdi Abaakouk | |
14 | 1 | Mehdi Abaakouk | *s4810* |
15 | 1 | Mehdi Abaakouk | |
16 | 1 | Mehdi Abaakouk | Rien à configurer, juste choisir un port libre |
17 | 1 | Mehdi Abaakouk | |
18 | 1 | Mehdi Abaakouk | *s8 ou s9* |
19 | 1 | Mehdi Abaakouk | |
20 | 2 | Mehdi Abaakouk | Choir et configurer un port untag sur le vlan 128 |
21 | 1 | Mehdi Abaakouk | |
22 | 1 | Mehdi Abaakouk | h2. Connectique réseau |
23 | 1 | Mehdi Abaakouk | |
24 | 1 | Mehdi Abaakouk | 1 cable Fibre de la carte 10G vers le s4810 |
25 | 1 | Mehdi Abaakouk | 1 cable RJ45 de la carte réseau interne (vpro) du PC vers s8 ou s8 |
26 | 1 | Mehdi Abaakouk | |
27 | 1 | Mehdi Abaakouk | h2. Configuration DNS |
28 | 1 | Mehdi Abaakouk | |
29 | 1 | Mehdi Abaakouk | Dans le git des zones DNS de ttnn ajouter gX |
30 | 1 | Mehdi Abaakouk | |
31 | 1 | Mehdi Abaakouk | example: https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/bind-zones/revisions/582180e9af2f6fc5aaaf0425f7c3e9e87ab2b117 |
32 | 1 | Mehdi Abaakouk | |
33 | 1 | Mehdi Abaakouk | h2. Configuration BIOS de la machine |
34 | 1 | Mehdi Abaakouk | |
35 | 6 | Mehdi Abaakouk | Activer 'PowerOn' On 'AC failure' |
36 | 6 | Mehdi Abaakouk | Désactiver 'Alarm/Warn when case open' (Hardware Monitorning) |
37 | 6 | Mehdi Abaakouk | Activer 'Boot from LAN/Ethernet' |
38 | 6 | Mehdi Abaakouk | Mettre SSD en premier pour l'ordre de BOOT |
39 | 6 | Mehdi Abaakouk | Activer 'MEBx selection screen' (VPRO bios screen) |
40 | 6 | Mehdi Abaakouk | |
41 | 6 | Mehdi Abaakouk | |
42 | 6 | Mehdi Abaakouk | |
43 | 3 | Mehdi Abaakouk | h2. Configuration VPRO de la machine |
44 | 1 | Mehdi Abaakouk | |
45 | 1 | Mehdi Abaakouk | Faire ce paragraphe: https://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/VPro#First-step |
46 | 1 | Mehdi Abaakouk | |
47 | 1 | Mehdi Abaakouk | Puis sur g4: |
48 | 1 | Mehdi Abaakouk | |
49 | 1 | Mehdi Abaakouk | <pre> |
50 | 1 | Mehdi Abaakouk | $ ./vpro_enable_vnc 192.168.128.XXX |
51 | 1 | Mehdi Abaakouk | ... |
52 | 1 | Mehdi Abaakouk | # Vérifier qu'il y a pas de rouge (juste du bleu et violet) ainsi que ceci vers la fin: |
53 | 1 | Mehdi Abaakouk | ... |
54 | 1 | Mehdi Abaakouk | <g:Is5900PortEnabled>true</g:Is5900PortEnabled> |
55 | 1 | Mehdi Abaakouk | <g:OptInPolicy>false</g:OptInPolicy> |
56 | 1 | Mehdi Abaakouk | </pre> |
57 | 5 | Mehdi Abaakouk | |
58 | 5 | Mehdi Abaakouk | h2. Préparation configuration réseau |
59 | 5 | Mehdi Abaakouk | |
60 | 5 | Mehdi Abaakouk | Sur g1, ajouter un block avec un les addresses ips dans le fichier /etc/rc.local |
61 | 5 | Mehdi Abaakouk | |
62 | 5 | Mehdi Abaakouk | <pre> |
63 | 5 | Mehdi Abaakouk | ceph_disks_manual_activate["g6"]="9ba884f0-55b2-438d-989f-8db2bf9fe0c7" |
64 | 5 | Mehdi Abaakouk | vlan3132_ipv4["g6"]="89.234.156.201" |
65 | 5 | Mehdi Abaakouk | vlan3132_ipv6["g6"]="2a01:6600:8083:c900::1" |
66 | 5 | Mehdi Abaakouk | vlan3175_ipv4["g6"]="192.168.3.109" |
67 | 5 | Mehdi Abaakouk | vlan3199_ipv4["g6"]="192.168.99.243" |
68 | 5 | Mehdi Abaakouk | </pre> |
69 | 5 | Mehdi Abaakouk | |
70 | 5 | Mehdi Abaakouk | Ajouter la nouvelle machine dans le fichier /etc/hosts: |
71 | 5 | Mehdi Abaakouk | |
72 | 5 | Mehdi Abaakouk | <pre> |
73 | 5 | Mehdi Abaakouk | 89.234.156.201 g6.tetaneutral.net g6 |
74 | 5 | Mehdi Abaakouk | </pre> |
75 | 5 | Mehdi Abaakouk | |
76 | 5 | Mehdi Abaakouk | Sur g1, commiter et diffuser le fichier hosts et rc.local sur les autres machines: |
77 | 5 | Mehdi Abaakouk | |
78 | 5 | Mehdi Abaakouk | <pre> |
79 | 5 | Mehdi Abaakouk | cd /root/tools |
80 | 5 | Mehdi Abaakouk | ./sync-rclocal.sh |
81 | 5 | Mehdi Abaakouk | </pre> |
82 | 5 | Mehdi Abaakouk | |
83 | 5 | Mehdi Abaakouk | _Note: celui-ci relance la partie réseau du rc.local mais comme la plupart des ips sont déjà configuré plusieur message 'RTNETLINK answers: File exists' apparaissent_ |
84 | 7 | Mehdi Abaakouk | |
85 | 7 | Mehdi Abaakouk | h2. Préparation configuration puppet |
86 | 7 | Mehdi Abaakouk | |
87 | 7 | Mehdi Abaakouk | Sur la machine puppet éditer /etc/puppet/manifests/nodes/opentack.pp et ajouter un block pour la nouvelle machine: |
88 | 7 | Mehdi Abaakouk | |
89 | 7 | Mehdi Abaakouk | <pre> |
90 | 7 | Mehdi Abaakouk | node "gX.tetaneutral.net" inherits openstack_node_common { |
91 | 7 | Mehdi Abaakouk | # Configuration du routerid et de l'AS number de cette machine |
92 | 7 | Mehdi Abaakouk | # Il faut aussi mettre la conf bgp de h7 ainsi que les fichiers |
93 | 7 | Mehdi Abaakouk | # /etc/puppet/manifests/files/openstack/bird.conf.erb et |
94 | 7 | Mehdi Abaakouk | # /etc/puppet/manifests/files/openstack/bird6.conf.erb |
95 | 7 | Mehdi Abaakouk | # pour ajouter cette AS interne |
96 | 7 | Mehdi Abaakouk | ttnn_os_bird {'198.51.100.1': asnum => "65008"} |
97 | 7 | Mehdi Abaakouk | |
98 | 7 | Mehdi Abaakouk | # Dans le cas d'une moniteur ceph, mais uniquement 3 suffissent, on a déjà g1,g2,g3 |
99 | 7 | Mehdi Abaakouk | ttnn_ceph_mon {$::hostname:} |
100 | 7 | Mehdi Abaakouk | # Sinon utilisait: |
101 | 7 | Mehdi Abaakouk | # class{"ttnn_ceph_osd_only": } |
102 | 7 | Mehdi Abaakouk | |
103 | 7 | Mehdi Abaakouk | # La partie Openstack, l'uuid doit être unique par machine (générer avec uuid-gen) |
104 | 7 | Mehdi Abaakouk | ttnn_os_compute {"9d26ec10-XXXX-XXXX-XXXX-f10ed16d270f": } |
105 | 7 | Mehdi Abaakouk | } |
106 | 7 | Mehdi Abaakouk | </pre> |
107 | 7 | Mehdi Abaakouk | |
108 | 7 | Mehdi Abaakouk | Puis dans le fichier /etc/puppet/manifests/files/openstack/bird.conf.erb ajouter un nouveau protocol avec le router id choisi au dessus: |
109 | 7 | Mehdi Abaakouk | |
110 | 7 | Mehdi Abaakouk | <pre> |
111 | 7 | Mehdi Abaakouk | <% if asnum != "65008" %> |
112 | 7 | Mehdi Abaakouk | protocol bgp OPENSTACK_G6 from mesh_bgp{ |
113 | 7 | Mehdi Abaakouk | neighbor 89.234.156.201 as 65008; |
114 | 7 | Mehdi Abaakouk | } |
115 | 7 | Mehdi Abaakouk | <% end -%> |
116 | 7 | Mehdi Abaakouk | </pre> |
117 | 7 | Mehdi Abaakouk | |
118 | 7 | Mehdi Abaakouk | Puis dans le fichier /etc/puppet/manifests/files/openstack/bird6.conf.erb ajouter un nouveau protocol avec le router id choisi au dessus: |
119 | 7 | Mehdi Abaakouk | |
120 | 7 | Mehdi Abaakouk | <pre> |
121 | 7 | Mehdi Abaakouk | <% if asnum != "65008" %> |
122 | 7 | Mehdi Abaakouk | protocol bgp OPENSTACK_G6 from mesh_bgp{ |
123 | 7 | Mehdi Abaakouk | neighbor 2a01:6600:8083:c900::1 as 65008; |
124 | 7 | Mehdi Abaakouk | } |
125 | 7 | Mehdi Abaakouk | <% end -%> |
126 | 7 | Mehdi Abaakouk | </pre> |
127 | 7 | Mehdi Abaakouk | |
128 | 7 | Mehdi Abaakouk | h2. Installation de debian sur la nouvelle machine |
129 | 8 | Mehdi Abaakouk | |
130 | 8 | Mehdi Abaakouk | h3. Example de mon (sileht) setup pour faire l'installation: |
131 | 8 | Mehdi Abaakouk | |
132 | 8 | Mehdi Abaakouk | <pre> |
133 | 8 | Mehdi Abaakouk | /etc/network/interfaces |
134 | 8 | Mehdi Abaakouk | auto eth0 |
135 | 8 | Mehdi Abaakouk | iface eth0 inet static |
136 | 8 | Mehdi Abaakouk | address 192.168.0.1 |
137 | 8 | Mehdi Abaakouk | netmask 255.255.255.0 |
138 | 8 | Mehdi Abaakouk | |
139 | 8 | Mehdi Abaakouk | /etc/dnsmasq.d/local.conf |
140 | 8 | Mehdi Abaakouk | interface=eth0 |
141 | 8 | Mehdi Abaakouk | domain=tetaneutral.net |
142 | 8 | Mehdi Abaakouk | dhcp-range=192.168.0.3,192.168.0.253,255.255.255.0,1h |
143 | 8 | Mehdi Abaakouk | dhcp-boot=pxelinux.0,pxeserver,192.168.0.1 |
144 | 8 | Mehdi Abaakouk | dhcp-option=option:router,192.168.0.1 |
145 | 8 | Mehdi Abaakouk | pxe-service=x86PC, "Install Linux", pxelinux |
146 | 8 | Mehdi Abaakouk | enable-tftp |
147 | 8 | Mehdi Abaakouk | tftp-root=/srv/tftp |
148 | 8 | Mehdi Abaakouk | </pre> |
149 | 8 | Mehdi Abaakouk | |
150 | 8 | Mehdi Abaakouk | Activer le routage et masquerade: |
151 | 8 | Mehdi Abaakouk | |
152 | 8 | Mehdi Abaakouk | <pre> |
153 | 8 | Mehdi Abaakouk | echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward |
154 | 8 | Mehdi Abaakouk | sudo iptables -t nat -A POSTROUTING -s "192.168.0.0/24" ! -d "192.168.0.0/24" -j MASQUERADE |
155 | 8 | Mehdi Abaakouk | </pre> |
156 | 8 | Mehdi Abaakouk | |
157 | 8 | Mehdi Abaakouk | Script pour download l'installeur PXE debian (sans firmware) /srv/tftp/dl.sh: |
158 | 8 | Mehdi Abaakouk | <pre> |
159 | 8 | Mehdi Abaakouk | #!/bin/bash -x |
160 | 8 | Mehdi Abaakouk | |
161 | 8 | Mehdi Abaakouk | YOURMIRROR=ftp.fr.debian.org |
162 | 8 | Mehdi Abaakouk | ARCH=amd64 |
163 | 8 | Mehdi Abaakouk | DIST=jessie |
164 | 8 | Mehdi Abaakouk | mkdir -p /srv/tftp |
165 | 8 | Mehdi Abaakouk | cd /srv/tftp |
166 | 8 | Mehdi Abaakouk | |
167 | 8 | Mehdi Abaakouk | rm -rf netboot.tar.gz Release* SHA* debian-installer version.info pxelinux.0 pxelinux.cfg ldlinux.c32 |
168 | 8 | Mehdi Abaakouk | wget -q http://"$YOURMIRROR"/debian/dists/${DIST}/main/installer-"$ARCH"/current/images/netboot/netboot.tar.gz |
169 | 8 | Mehdi Abaakouk | wget -q http://"$YOURMIRROR"/debian/dists/${DIST}/main/installer-"$ARCH"/current/images/SHA256SUMS |
170 | 8 | Mehdi Abaakouk | wget -q http://"$YOURMIRROR"/debian/dists/${DIST}/Release |
171 | 8 | Mehdi Abaakouk | wget -q http://"$YOURMIRROR"/debian/dists/${DIST}/Release.gpg |
172 | 8 | Mehdi Abaakouk | tar -xzf netboot.tar.gz |
173 | 8 | Mehdi Abaakouk | </pre> |
174 | 8 | Mehdi Abaakouk | |
175 | 8 | Mehdi Abaakouk | Je remplace provisoirement le cable du vpro par un cable entre mon PC et ce port. |
176 | 8 | Mehdi Abaakouk | |
177 | 8 | Mehdi Abaakouk | h3. Installation de l'OS |
178 | 8 | Mehdi Abaakouk | |
179 | 8 | Mehdi Abaakouk | Date: CET (Europe/France/Paris) |
180 | 8 | Mehdi Abaakouk | Locale: Etat Unis (en_US.UTF-8) |
181 | 8 | Mehdi Abaakouk | Clavier: FR |
182 | 8 | Mehdi Abaakouk | Partitionement: une seul partition bootable en ext4 de 20G sur le SSD pour / |
183 | 8 | Mehdi Abaakouk | Packages: système minimal avec SSH |
184 | 8 | Mehdi Abaakouk | |
185 | 8 | Mehdi Abaakouk | h3. Configuration non puppet de l'OS |
186 | 8 | Mehdi Abaakouk | |
187 | 8 | Mehdi Abaakouk | <pre> |
188 | 8 | Mehdi Abaakouk | $ apt-get update |
189 | 8 | Mehdi Abaakouk | $ apt-get dist-upgrade |
190 | 8 | Mehdi Abaakouk | $ apt-get install sysvinit-core systemd-shim |
191 | 8 | Mehdi Abaakouk | # reboot |
192 | 8 | Mehdi Abaakouk | $ apt-get purge systemd |
193 | 8 | Mehdi Abaakouk | </pre> |
194 | 8 | Mehdi Abaakouk | |
195 | 8 | Mehdi Abaakouk | Editer /etc/udev/rules.d/70-persistent-net.rules et mettre avoir: |
196 | 8 | Mehdi Abaakouk | * les ixgbe en eth0 (celui avec le cable branché) et eth1 |
197 | 8 | Mehdi Abaakouk | * la e1000e en eth2 |
198 | 8 | Mehdi Abaakouk | |
199 | 8 | Mehdi Abaakouk | Installation configuration de openvswitch |
200 | 8 | Mehdi Abaakouk | |
201 | 8 | Mehdi Abaakouk | <pre> |
202 | 8 | Mehdi Abaakouk | apt-get install openvswitch-switch |
203 | 8 | Mehdi Abaakouk | modprobe vhost-net |
204 | 8 | Mehdi Abaakouk | modprobe tun |
205 | 8 | Mehdi Abaakouk | |
206 | 8 | Mehdi Abaakouk | # On créé un switch br-eth0 |
207 | 8 | Mehdi Abaakouk | ovs-vsctl add-br br-eth0 |
208 | 8 | Mehdi Abaakouk | # On rajoute une petite bricole pour openstack |
209 | 8 | Mehdi Abaakouk | ovs-vsctl br-set-external-id br-eth0 bridge-id br-eth0 |
210 | 8 | Mehdi Abaakouk | # On ajoute le port eth0 dans le switch |
211 | 8 | Mehdi Abaakouk | ovs-vsctl add-port br-eth0 eth0 # Si aucun trunk vlan n'est spécifié, c'est un trunk avec tous les vlans |
212 | 8 | Mehdi Abaakouk | |
213 | 8 | Mehdi Abaakouk | # On créé des interfaces réseau utilisable sur la machine avec des vlans: |
214 | 8 | Mehdi Abaakouk | ovs-vsctl add-br vlan3132 br-eth0 3132 |
215 | 8 | Mehdi Abaakouk | ovs-vsctl add-br vlan3175 br-eth0 3175 |
216 | 8 | Mehdi Abaakouk | ovs-vsctl add-br vlan3199 br-eth0 3199 |
217 | 8 | Mehdi Abaakouk | |
218 | 8 | Mehdi Abaakouk | # On s'assure que eth0 sera toujours up |
219 | 8 | Mehdi Abaakouk | ovs-ofctl mod-port br-eth0 eth0 up |
220 | 8 | Mehdi Abaakouk | </pre> |
221 | 8 | Mehdi Abaakouk | |
222 | 8 | Mehdi Abaakouk | Copier le fichier /etc/hosts et /etc/rc.local à partir de g1 et supprimer la configuration des ethX du fichier /etc/network/interfaces |
223 | 8 | Mehdi Abaakouk | |
224 | 8 | Mehdi Abaakouk | <pre> |
225 | 8 | Mehdi Abaakouk | reboot |
226 | 8 | Mehdi Abaakouk | </pre> |
227 | 8 | Mehdi Abaakouk | |
228 | 8 | Mehdi Abaakouk | Vérifier que tous les réseaux ping correctement. |
229 | 8 | Mehdi Abaakouk | |
230 | 8 | Mehdi Abaakouk | (remettre le cable vpro si besoin) |