Refresh documentation!
This commit is contained in:
parent
8d78e61cff
commit
0ce07a4eee
|
@ -1,7 +1,7 @@
|
|||
# Documentation de l'infrastructure logicielle et matérielle
|
||||
|
||||
L'infrastructure informatique de Libre en Communs est répartie sur différents
|
||||
sites dans le but d'éviter une centralisation trop importante. Ce travail de
|
||||
L'infrastructure informatique de Libre en Communs est répartie sur différents
|
||||
sites dans le but d'éviter une centralisation trop importante. Ce travail de
|
||||
décentralisation étant encore en cours, la présente documentation évolue encore.
|
||||
|
||||
Cette documentation est publiée sous licence libre (GNU FDL) à l'exception du
|
||||
|
@ -10,43 +10,45 @@ l'[**ASUS KGPE-D16**](divers/manuel_Asus_KGPN_D16.pdf).
|
|||
|
||||
## Localisation de l'infrastructure
|
||||
|
||||
Les sites de l'infrastructure sont les lieux où Libre en Communs dispose de
|
||||
machines physiques. Nous faisons une distinction entre _sites principaux_ et
|
||||
Les sites de l'infrastructure sont les lieux où Libre en Communs dispose de
|
||||
machines physiques. Nous faisons une distinction entre _sites principaux_ et
|
||||
_sites annexes_. Ces sites sont nommés selon leur localisation grossière.
|
||||
|
||||
<img src="images/image_carte_infra.png" width="100%">
|
||||
|
||||
### Sites principaux
|
||||
|
||||
Les sites principaux sont :
|
||||
Les sites principaux sont :
|
||||
- [Le Parc](sites/leparc.md) ;
|
||||
- [Fontainebleau](sites/fontainebleau.md).
|
||||
|
||||
Un site principal doit répondre à certains prérequis :
|
||||
- il dispose d'au moins une baie au format _rack 19 pouces_ ;
|
||||
- il accueille des machines physiques principales avec du [matériel éligible](procédures/éligibilité_matériel.md) ;
|
||||
Un site principal doit répondre à certains prérequis :
|
||||
- il dispose d'au moins une baie au format _rack 19 pouces_ ;
|
||||
- il accueille des machines physiques principales avec du
|
||||
[matériel éligible](procédures/éligibilité_matériel.md) ;
|
||||
- il comporte un routeur **nommé d'après le nom du site** (par exemple, à
|
||||
Fontainebleau, le routeur se nomme `fontainebleau`) ;
|
||||
- il permet un accès à Internet fibré (FTTH) via une ligne dédiée souscrite auprès
|
||||
d'un opérateur de la [FFDN]() ;
|
||||
- il dispose d'un compteur électrique pour mesurer la consommation globale des
|
||||
dispositifs.
|
||||
- il permet un accès à Internet fibré (FTTH) via une ligne dédiée souscrite
|
||||
auprès d'un opérateur de la [FFDN](https://ffdn.org/) ;
|
||||
- il dispose d'un compteur électrique pour mesurer la consommation globale des
|
||||
dispositifs.
|
||||
|
||||
### Sites annexes
|
||||
|
||||
Les sites annexes sont :
|
||||
- [Gisors](sites/gisors.md).
|
||||
|
||||
Un site annexe est un lieu pouvant accueillir des machines physiques simples
|
||||
Un site annexe est un lieu pouvant accueillir des machines physiques simples
|
||||
(format tour, par exemple).
|
||||
|
||||
Un site annexe n'est utilisable que pour des opérations non critiques et annexes
|
||||
de l'infrastructure (ou secondaires/redondantes). Les conditions prérequises pour
|
||||
un tel site sont plus souples mais il n'en demeure pas moins que les machines physiques
|
||||
doivent être [éligibles](procédures/éligibilité_matériel.md) et l'accès internet
|
||||
éthiquement acceptable.
|
||||
Un site annexe n'est utilisable que pour des opérations non critiques et
|
||||
annexes de l'infrastructure (ou secondaires/redondantes). Les conditions
|
||||
prérequises pour un tel site sont plus souples mais il n'en demeure pas moins
|
||||
que les machines physiques doivent être
|
||||
[éligibles](procédures/éligibilité_matériel.md) et l'accès internet éthiquement
|
||||
acceptable.
|
||||
|
||||
## Documentation générique
|
||||
## Procédures d'administration
|
||||
|
||||
La gestion de l'infrastructure demande certaines opérations génériques qui ne
|
||||
dépendent pas d'un site particulier. C'est notamment le cas pour les procédures
|
||||
|
@ -56,6 +58,7 @@ _NB: seules les personnes membres de la commission infrastructure de
|
|||
Libre en Communs ont accès aux machines physiques sur site ou à distance._
|
||||
|
||||
Parmi ces procédures :
|
||||
- [Gestion des préfixes IPv4](procédures/gestion_IP_préfixe.md)
|
||||
- [Accès aux serveurs physiques](procédures/acces_machine_physique.md)
|
||||
- [Création de serveurs physiques](procédures/création_pm.md)
|
||||
- [Redémarrage des machines physiques](procédures/reboot_physique.md)
|
Binary file not shown.
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 192 KiB |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,181 @@
|
|||
# aelita, machine physique (fontainebleau)
|
||||
|
||||
## Matériel
|
||||
|
||||
Carte mère : 1 × Asus KGPN-D16 Rev 1.03G
|
||||
CPU : 1 × AMD Opteron 6280SE
|
||||
RAM : 47 Gio
|
||||
Alimentation : *(à compléter)*
|
||||
Casier : 1 × Inter-Tech IPC 4U
|
||||
Stockage de masse : 2 × KINGSTON SEDC600M3840G 4 To
|
||||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Trisquel GNU/Linux-libre 11 Aramo
|
||||
Noyau : Linux-libre
|
||||
Virtualisation : QEMU/KVM (`libvirt`)
|
||||
Gestion du onduleur : NUT/UPS
|
||||
Audit des paquets mensuel : `vrms`
|
||||
Sécurités de la maintenance : `etckeeper`, `mollyguard`, `tig`, `lm-sensors`, `fancontrol`, `screen`
|
||||
Mail Transfer Agent : `postfix`
|
||||
Réplication de stockage (vm) : `drbd`, `ocfs2`, `o2cb`
|
||||
|
||||
## Caractéristiques notables
|
||||
|
||||
Domaine : `aelita.libre-en-communs.org`
|
||||
Adresse ipv4 publique : `80.67.176.40`
|
||||
Adresse ipv4 locale : `192.168.1.3`
|
||||
Adresse ipv4 interne DRBD : `192.168.254.3`
|
||||
Adresse ipv6 publique : `2001:910:1028::2`
|
||||
|
||||
### Configuration réseau
|
||||
|
||||
Les machines physiques sont configurées pour récupérer leur IP locale via
|
||||
DHCP, le routeur du site embarquant un serveur DHCP.
|
||||
|
||||
Cette machine physique étant un hôte hyperviseur, elle partage sa connexion
|
||||
ethernet avec les machines virtuelles qu'elle héberge, c'est pourquoi nous
|
||||
configurons un pont.
|
||||
|
||||
De plus, nous configurons une connexion directe entre `aelita` et `anthea`
|
||||
pour la réplication `DRBD`.
|
||||
|
||||
#### /etc/network/interfaces
|
||||
<details>
|
||||
|
||||
auto lo br0
|
||||
iface lo inet loopback
|
||||
allow-hotplug ens10
|
||||
allow-hotplug ens9
|
||||
allow-hotplug ens11f0
|
||||
allow-hotplug ens11f1
|
||||
|
||||
# aelita
|
||||
iface ens11f1 inet static
|
||||
address 192.168.254.3
|
||||
|
||||
post-up /usr/bin/ip link set ens10 mtu 9000
|
||||
|
||||
# bridge for vm
|
||||
iface br0 inet dhcp
|
||||
bridge_ports ens11f0
|
||||
|
||||
iface br0 inet6 dhcp
|
||||
bridge_ports ens11f0
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration SSH
|
||||
|
||||
### /etc/ssh/sshd_config
|
||||
<details>
|
||||
|
||||
Port 223
|
||||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
PubkeyAuthentication yes
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
ChallengeResponseAuthentication no
|
||||
UsePAM yes
|
||||
AllowAgentForwarding yes
|
||||
AllowTcpForwarding yes
|
||||
GatewayPorts yes
|
||||
X11Forwarding no
|
||||
PrintMotd no
|
||||
TCPKeepAlive yes
|
||||
PermitTunnel yes
|
||||
AcceptEnv LANG LC\_* GIT\_*
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
Match User admin666 Address *,!192.168.0.0/16,!::1,!127.0.0.1
|
||||
DenyUsers admin666
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration DRBD
|
||||
|
||||
### /etc/drbd.d/drbd1.res
|
||||
<details>
|
||||
|
||||
resource drbd1 {
|
||||
meta-disk internal;
|
||||
device /dev/drbd1;
|
||||
|
||||
startup {
|
||||
become-primary-on both;
|
||||
}
|
||||
net {
|
||||
verify-alg sha256;
|
||||
allow-two-primaries yes;
|
||||
after-sb-0pri discard-zero-changes;
|
||||
after-sb-1pri discard-secondary;
|
||||
protocol C;
|
||||
ko-count 0;
|
||||
timeout 119;
|
||||
ping-int 120;
|
||||
connect-int 120;
|
||||
max-buffers 36k;
|
||||
sndbuf-size 0;
|
||||
rcvbuf-size 0;
|
||||
}
|
||||
handlers {
|
||||
pri-lost-after-sb "killall virt-backup";
|
||||
}
|
||||
disk {
|
||||
on-io-error pass_on;
|
||||
md-flushes;
|
||||
c-fill-target 10M;
|
||||
c-max-rate 700M;
|
||||
c-plan-ahead 0;
|
||||
c-min-rate 4M;
|
||||
resync-rate 500M;
|
||||
}
|
||||
|
||||
on anthea.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.2:7789; # IP Address to be used to connect to the n>
|
||||
}
|
||||
|
||||
on aelita.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.3:7789; # IP Address to be used to connect to the n>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</details>
|
||||
|
||||
### /etc/ocfs2/cluster.conf
|
||||
<details>
|
||||
|
||||
node:
|
||||
ip_address = 192.168.254.2
|
||||
ip_port = 7777
|
||||
number = 0
|
||||
name = anthea.libre-en-communs.org
|
||||
cluster = vmverse
|
||||
node:
|
||||
ip_address = 192.168.254.3
|
||||
ip_port = 7777
|
||||
number = 1
|
||||
name = aelita.libre-en-communs.org
|
||||
cluster = vmverse
|
||||
cluster:
|
||||
name = vmverse
|
||||
node_count = 2
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration MTA
|
||||
|
||||
### /etc/postfix/transport
|
||||
|
||||
a-lec.org :
|
||||
* discard:
|
||||
|
||||
### /etc/postfix/virtual
|
||||
|
||||
@localhost admin@a-lec.org
|
||||
@aelita.libre-en-communs.org admin@a-lec.org
|
142
pm/anthea.md
142
pm/anthea.md
|
@ -4,56 +4,68 @@
|
|||
|
||||
Carte mère : 1 × Asus KGPN-D16 Rev 1.03G
|
||||
CPU : 2 × AMD Opteron 6280SE
|
||||
RAM : 32 Gio
|
||||
RAM : 47 Gio
|
||||
Alimentation : *(à compléter)*
|
||||
Casier : *(à compléter)*
|
||||
Stockage de masse : *(à compléter)*
|
||||
Casier : 1 × 1 × Inter-Tech IPC 4U
|
||||
Stockage de masse : 2 × KINGSTON SEDC600M3840G 4 To
|
||||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : Coreboot 4.6 + SeaBIOS, sans blob privateur
|
||||
Système d'exploitation : Debian GNU/Linux-libre 11 (Bullseye)
|
||||
Noyau : Linux-libre LTS (`linux-libre-lts` des dépôts https://linux-libre.fsfla.org)
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Trisquel GNU/Linux-libre 11 Aramo
|
||||
Noyau : Linux-libre
|
||||
Virtualisation : QEMU/KVM (`libvirt`)
|
||||
Gestion du onduleur : NUT/UPS
|
||||
Audit des paquets mensuel : `vrms`
|
||||
Sécurités de la maintenance : `etckeeper`, `mollyguard`, `tig`, `lm-sensors`, `fancontrol`, `screen`
|
||||
Mail Transfer Agent : `postfix`
|
||||
Réplication de stockage (vm) : `drbd`, `ocfs2`, `o2cb`
|
||||
|
||||
## Caractéristiques notables
|
||||
|
||||
Domaine : `anthea.libre-en-communs.org`
|
||||
Adresse ipv4 publique : `80.67.176.40`
|
||||
Adresse ipv4 locale : `192.168.1.2`
|
||||
Adresse ipv4 locale : `192.168.1.2`
|
||||
Adresse ipv4 interne DRBD : `192.168.254.2`
|
||||
Adresse ipv6 publique : `2001:910:1028::2`
|
||||
|
||||
Emplacement des images de disques des machines virtuelles : `/srv/vmverse`
|
||||
|
||||
### Configuration réseau
|
||||
|
||||
Les machines physiques sont configurées pour récupérer leur IP locale via
|
||||
DHCP, le routeur du site embarquant un serveur DHCP.
|
||||
|
||||
Cette machine physique étant un hôte hyperviseur, elle partage sa connexion
|
||||
ethernet avec les machines virtuelles qu'elle héberge, c'est pourquoi nous
|
||||
configurons un pont.
|
||||
|
||||
De plus, nous configurons une connexion directe entre `aelita` et `anthea`
|
||||
pour la réplication `DRBD`.
|
||||
|
||||
#### /etc/network/interfaces
|
||||
<details>
|
||||
|
||||
auto lo br0
|
||||
iface lo inet loopback
|
||||
|
||||
# The primary network interface
|
||||
allow-hotplug ens10
|
||||
allow-hotplug ens9
|
||||
allow-hotplug ens11f0
|
||||
allow-hotplug ens11f1
|
||||
|
||||
# anthea
|
||||
iface ens11f1 inet static
|
||||
address 192.168.254.2
|
||||
|
||||
post-up /usr/bin/ip link set ens10 mtu 9000
|
||||
|
||||
# bridge for vm
|
||||
iface br0 inet static
|
||||
bridge_ports ens10
|
||||
address 192.168.1.2
|
||||
gateway 192.168.0.1
|
||||
broadcast 192.168.255.255
|
||||
netmask 255.255.0.0
|
||||
iface br0 inet dhcp
|
||||
bridge_ports ens11f0
|
||||
|
||||
iface br0 inet6 dhcp
|
||||
bridge_ports ens11f0
|
||||
|
||||
iface br0 inet6 static
|
||||
bridge_ports ens10
|
||||
address 2001:910:1028:0::2/128
|
||||
gateway 2001:910:1028::1
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration SSH
|
||||
|
@ -65,33 +77,97 @@ Emplacement des images de disques des machines virtuelles : `/srv/vmverse`
|
|||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
|
||||
PubkeyAuthentication yes
|
||||
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
|
||||
ChallengeResponseAuthentication no
|
||||
|
||||
UsePAM yes
|
||||
|
||||
AllowAgentForwarding yes
|
||||
AllowTcpForwarding yes
|
||||
GatewayPorts yes
|
||||
X11Forwarding no
|
||||
|
||||
PrintMotd no
|
||||
|
||||
TCPKeepAlive yes
|
||||
|
||||
PermitTunnel yes
|
||||
AcceptEnv LANG LC\_* GIT\_*
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
Match User admin666 Address *,!192.168.0.0/16,!::1,!127.0.0.1
|
||||
DenyUsers admin666
|
||||
|
||||
AcceptEnv LANG LC_* GIT_*
|
||||
</details>
|
||||
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
## Configuration DRBD
|
||||
|
||||
Match User admin666 Address *,!192.168.0.0/16,!::1
|
||||
DenyUsers admin666
|
||||
### /etc/drbd.d/drbd1.res
|
||||
<details>
|
||||
|
||||
resource drbd1 {
|
||||
meta-disk internal;
|
||||
device /dev/drbd1;
|
||||
|
||||
startup {
|
||||
become-primary-on both;
|
||||
}
|
||||
net {
|
||||
verify-alg sha256;
|
||||
allow-two-primaries yes;
|
||||
after-sb-0pri discard-zero-changes;
|
||||
after-sb-1pri discard-secondary;
|
||||
protocol C;
|
||||
ko-count 0;
|
||||
timeout 119;
|
||||
ping-int 120;
|
||||
connect-int 120;
|
||||
max-buffers 36k;
|
||||
sndbuf-size 0;
|
||||
rcvbuf-size 0;
|
||||
}
|
||||
handlers {
|
||||
pri-lost-after-sb "killall virt-backup";
|
||||
}
|
||||
disk {
|
||||
on-io-error pass_on;
|
||||
md-flushes;
|
||||
c-fill-target 10M;
|
||||
c-max-rate 700M;
|
||||
c-plan-ahead 0;
|
||||
c-min-rate 4M;
|
||||
resync-rate 500M;
|
||||
}
|
||||
|
||||
on anthea.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.2:7789; # IP Address to be used to connect to the n>
|
||||
}
|
||||
|
||||
on aelita.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.3:7789; # IP Address to be used to connect to the n>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
### /etc/ocfs2/cluster.conf
|
||||
<details>
|
||||
|
||||
node:
|
||||
ip_address = 192.168.254.2
|
||||
ip_port = 7777
|
||||
number = 0
|
||||
name = anthea.libre-en-communs.org
|
||||
cluster = vmverse
|
||||
node:
|
||||
ip_address = 192.168.254.3
|
||||
ip_port = 7777
|
||||
number = 1
|
||||
name = aelita.libre-en-communs.org
|
||||
cluster = vmverse
|
||||
cluster:
|
||||
name = vmverse
|
||||
node_count = 2
|
||||
|
||||
</details>
|
||||
|
||||
|
|
158
pm/aunt.md
158
pm/aunt.md
|
@ -7,11 +7,11 @@ CPU : 2 × AMD Opteron 6282SE
|
|||
RAM : 7 × Crucial RDIMM 16Go CT2K16G3ERSLD4160B
|
||||
Alimentation : HX750
|
||||
Casier : 1 × Inter-Tech IPC 4U-4129-N SSI-EEB (Rack)
|
||||
Stockage de masse : 2 × KINGSTON SEDC500M1920G
|
||||
Stockage de masse : 2 × KINGSTON SEDC600M3840G 4 To
|
||||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : GNU Boot 0.1-rc1
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Trisquel GNU/Linux-libre 11 Aramo
|
||||
Noyau : Linux-libre
|
||||
Virtualisation : QEMU/KVM (`libvirt`)
|
||||
|
@ -26,43 +26,44 @@ Réplication de stockage (vm) : `drbd`, `ocfs2`, `o2cb`
|
|||
Domaine : `aunt.libre-en-communs.org`
|
||||
Adresse ipv4 publique : `80.67.176.33`
|
||||
Adresse ipv4 locale : `192.168.1.3`
|
||||
Adresse ipv4 interne DRBD : `192.168.254.3`
|
||||
Adresse ipv4 directe DRBD : `192.168.254.3`
|
||||
Adresse ipv6 publique : `2001:910:1021::3`
|
||||
|
||||
### Configuration réseau
|
||||
|
||||
Les machines physiques sont configurées pour récupérer leur IP locale via
|
||||
DHCP, le routeur du site embarquant un serveur DHCP.
|
||||
|
||||
Cette machine physique étant un hôte hyperviseur, elle partage sa connexion
|
||||
ethernet avec les machines virtuelles qu'elle héberge, c'est pourquoi nous
|
||||
configurons un pont.
|
||||
|
||||
De plus, nous configurons une connexion directe entre `mother` et `aunt`
|
||||
pour la réplication `DRBD`.
|
||||
|
||||
#### /etc/network/interfaces
|
||||
<details>
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
auto lo br0
|
||||
iface lo inet loopback
|
||||
allow-hostplug ens9
|
||||
allow-hostplug ens10
|
||||
allow-hostplug ens13f0
|
||||
allow-hostplug ens13f1
|
||||
|
||||
# The primary network interface
|
||||
allow-hotplug ens9
|
||||
allow-hotplug ens10
|
||||
allow-hotplug ens13f0
|
||||
allow-hotplug ens13f1
|
||||
|
||||
# mother!
|
||||
# aunt
|
||||
iface ens13f1 inet static
|
||||
address 192.168.254.3
|
||||
|
||||
post-up /usr/bin/ip link set ens13f1 mtu 9000
|
||||
|
||||
# bridge for vm
|
||||
auto br0
|
||||
iface br0 inet static
|
||||
bridge_ports ens13f0
|
||||
address 192.168.1.3
|
||||
gateway 192.168.0.1
|
||||
broadcast 192.168.255.255
|
||||
netmask 255.255.0.0
|
||||
|
||||
iface br0 inet6 static
|
||||
iface br0 inet dhcp
|
||||
bridge_ports ens13f0
|
||||
|
||||
iface br0 inet6 dhcp
|
||||
bridge_ports ens13f0
|
||||
address 2001:910:1021::3/128
|
||||
gateway 2001:910:1021::
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -75,33 +76,22 @@ Adresse ipv6 publique : `2001:910:1021::3`
|
|||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
|
||||
PubkeyAuthentication yes
|
||||
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
|
||||
ChallengeResponseAuthentication no
|
||||
|
||||
UsePAM yes
|
||||
|
||||
AllowAgentForwarding yes
|
||||
AllowTcpForwarding yes
|
||||
GatewayPorts yes
|
||||
X11Forwarding no
|
||||
|
||||
PrintMotd no
|
||||
|
||||
TCPKeepAlive yes
|
||||
|
||||
PermitTunnel yes
|
||||
|
||||
AcceptEnv LANG LC_* GIT_*
|
||||
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
|
||||
Match User admin666 Address *,!127.0.0.1,!::1
|
||||
DenyUsers admin666
|
||||
AcceptEnv LANG LC\_* GIT\_*
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
Match User admin666 Address *,!192.168.0.0/16,!::1,!127.0.0.1,!127.0.1.1
|
||||
DenyUsers admin666
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -110,53 +100,51 @@ Adresse ipv6 publique : `2001:910:1021::3`
|
|||
### /etc/drbd.d/drbd1.res
|
||||
<details>
|
||||
|
||||
resource drbd1 {
|
||||
meta-disk internal;
|
||||
device /dev/drbd1;
|
||||
resource drbd1 {
|
||||
meta-disk internal;
|
||||
device /dev/drbd1;
|
||||
|
||||
startup {
|
||||
become-primary-on both;
|
||||
}
|
||||
net {
|
||||
verify-alg sha256;
|
||||
allow-two-primaries yes;
|
||||
#fencing resource-and-stonith;
|
||||
after-sb-0pri discard-zero-changes;
|
||||
after-sb-1pri discard-secondary;
|
||||
protocol C;
|
||||
ko-count 0;
|
||||
timeout 119;
|
||||
ping-int 120;
|
||||
connect-int 120;
|
||||
#max-epoch-size 20000;
|
||||
max-buffers 36k;
|
||||
sndbuf-size 0;
|
||||
rcvbuf-size 0;
|
||||
}
|
||||
handlers {
|
||||
pri-lost-after-sb "killall virt-backup && umount /opt/sharedfs && drbdadm secondary drbd1";
|
||||
}
|
||||
disk {
|
||||
on-io-error pass_on;
|
||||
md-flushes;
|
||||
c-fill-target 10M;
|
||||
c-max-rate 700M;
|
||||
c-plan-ahead 0;
|
||||
c-min-rate 4M;
|
||||
resync-rate 500M;
|
||||
}
|
||||
startup {
|
||||
become-primary-on both;
|
||||
}
|
||||
net {
|
||||
verify-alg sha256;
|
||||
allow-two-primaries yes;
|
||||
after-sb-0pri discard-zero-changes;
|
||||
after-sb-1pri discard-secondary;
|
||||
protocol C;
|
||||
ko-count 0;
|
||||
timeout 119;
|
||||
ping-int 120;
|
||||
connect-int 120;
|
||||
max-buffers 36k;
|
||||
sndbuf-size 0;
|
||||
rcvbuf-size 0;
|
||||
}
|
||||
handlers {
|
||||
pri-lost-after-sb "killall virt-backup";
|
||||
}
|
||||
disk {
|
||||
on-io-error pass_on;
|
||||
md-flushes;
|
||||
c-fill-target 10M;
|
||||
c-max-rate 700M;
|
||||
c-plan-ahead 0;
|
||||
c-min-rate 4M;
|
||||
resync-rate 500M;
|
||||
}
|
||||
|
||||
on mother { # hostname must match `uname -n` output
|
||||
disk /dev/md1; # Logical Volume on the provided host
|
||||
address 192.168.254.2:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
on mother.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.2:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
|
||||
on aunt { # hostname must match `uname -n` output
|
||||
disk /dev/md1; # Logical Volume on the provided host
|
||||
address 192.168.254.3:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
on aunt.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.3:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -164,22 +152,22 @@ Adresse ipv6 publique : `2001:910:1021::3`
|
|||
<details>
|
||||
|
||||
cluster:
|
||||
name = sharedfs
|
||||
name = vmverse
|
||||
heartbeat_mode = local
|
||||
node_count = 2
|
||||
|
||||
node:
|
||||
cluster = sharedfs
|
||||
cluster = vmverse
|
||||
number = 0
|
||||
ip_port = 7777
|
||||
ip_address = 192.169.254.3
|
||||
ip_address = 192.168.254.3
|
||||
name = aunt
|
||||
|
||||
node:
|
||||
cluster = sharedfs
|
||||
cluster = vmverse
|
||||
number = 1
|
||||
ip_port = 7777
|
||||
ip_address = 192.169.254.2
|
||||
ip_address = 192.168.254.2
|
||||
name = mother
|
||||
|
||||
</details>
|
||||
|
|
107
pm/britt.md
107
pm/britt.md
|
@ -1,107 +0,0 @@
|
|||
# britt, machine physique (gisors)
|
||||
|
||||
## Matériel
|
||||
|
||||
Carte mère : 1 × Asus KGPN-D16 Rev 1.03G
|
||||
CPU : 1 × AMD Opteron 6280SE
|
||||
RAM : 16 Gio
|
||||
Alimentation : *(à compléter)*
|
||||
Casier : Antec P101
|
||||
Stockage de masse : disque dur 1To WDC WD10EZEX-00W
|
||||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : Coreboot 4.6 + SeaBIOS, sans blob privateur
|
||||
Système d'exploitation : Debian GNU/Linux-libre 11 (Bullseye)
|
||||
Noyau : Linux-libre LTS (`linux-libre-lts` des dépôts https://linux-libre.fsfla.org)
|
||||
Virtualisation : QEMU/KVM (`libvirt`)
|
||||
Audit des paquets mensuel : `vrms`
|
||||
Sécurités de la maintenance : `etckeeper`, `mollyguard`, `tig`, `lm-sensors`, `fancontrol`, `screen`
|
||||
Mail Transfer Agent : `postfix`
|
||||
|
||||
## Caractéristiques notables
|
||||
|
||||
Domaine : `britt.libre-en-communs.org`
|
||||
Adresse ipv4 publique : `80.67.179.113`
|
||||
Adresse ipv4 locale : `192.168.2.244`
|
||||
Adresse ipv6 publique : `2001:910:1371::244`
|
||||
|
||||
### Configuration réseau
|
||||
|
||||
#### /etc/network/interfaces
|
||||
<details>
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# The primary network interface
|
||||
allow-hotplug ens10
|
||||
|
||||
# bridge for vm
|
||||
auto br0
|
||||
iface br0 inet dhcp
|
||||
bridge_ports ens10
|
||||
bridge_stp off # disable Spanning Tree Protocol
|
||||
|
||||
iface br0 inet6 static
|
||||
bridge_ports ens10
|
||||
address 2001:910:1371:0::244/128
|
||||
gateway 2001:910:1371::1
|
||||
bridge_stp off # disable Spanning Tree Protocol
|
||||
bridge_waitport 0 # no delay before a port becomes available
|
||||
bridge_fd 0 # no forwarding delay
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration SSH
|
||||
|
||||
### /etc/ssh/sshd_config
|
||||
<details>
|
||||
|
||||
Port 222
|
||||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
|
||||
PubkeyAuthentication yes
|
||||
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
|
||||
ChallengeResponseAuthentication no
|
||||
|
||||
UsePAM yes
|
||||
|
||||
AllowAgentForwarding yes
|
||||
AllowTcpForwarding yes
|
||||
GatewayPorts yes
|
||||
X11Forwarding no
|
||||
|
||||
PrintMotd no
|
||||
|
||||
TCPKeepAlive yes
|
||||
|
||||
PermitTunnel yes
|
||||
|
||||
AcceptEnv LANG LC_* GIT_*
|
||||
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
|
||||
Match User admin666 Address *,!127.0.0.1,!::1
|
||||
DenyUsers admin666
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
## Configuration MTA
|
||||
|
||||
### /etc/postfix/transport
|
||||
|
||||
a-lec.org :
|
||||
* discard:
|
||||
|
||||
### /etc/postfix/virtual
|
||||
|
||||
@localhost admin@a-lec.org
|
||||
@britt.libre-en-communs.org admin@a-lec.org
|
|
@ -15,7 +15,7 @@ Alimentation : boitier 65W
|
|||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : Libreboot 20220710 seabios libgfxinit (redémarrage non automatique)
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Debian GNU/Linux-libre 11 (Bullseye)
|
||||
Noyau : Linux-libre LTS (`linux-libre-lts` des dépôts https://linux-libre.fsfla.org)
|
||||
Audit des paquets mensuel : `vrms`
|
||||
|
@ -24,7 +24,7 @@ Mail Transfer Agent : `postfix`
|
|||
|
||||
## Caractéristiques notables
|
||||
|
||||
Domaine : `sauvkipeu.libre-en-communs.org`
|
||||
Domaine : `gardefou.libre-en-communs.org`
|
||||
Adresse ipv6 publique : `2001:910:1021::5`
|
||||
|
||||
### Configuration réseau
|
||||
|
|
68
pm/mother.md
68
pm/mother.md
|
@ -11,7 +11,7 @@ Stockage de masse : 2 × KINGSTON SEDC600M3840G 4 To
|
|||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : GNU Boot 0.1-rc1
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Trisquel GNU/Linux-libre 11 Aramo
|
||||
Noyau : Linux-libre
|
||||
Virtualisation : QEMU/KVM (`libvirt`)
|
||||
|
@ -26,41 +26,45 @@ Réplication de stockage (vm) : `drbd`, `ocfs2`, `o2cb`
|
|||
Domaine : `mother.libre-en-communs.org`
|
||||
Adresse ipv4 publique : `80.67.176.33`
|
||||
Adresse ipv4 locale : `192.168.1.2`
|
||||
Adresse ipv4 interne DRBD : `192.168.254.2`
|
||||
Adresse ipv4 directe DRBD : `192.168.254.2`
|
||||
Adresse ipv6 publique : `2001:910:1021::2`
|
||||
|
||||
### Configuration réseau
|
||||
|
||||
Les machines physiques sont configurées pour récupérer leur IP locale via
|
||||
DHCP, le routeur du site embarquant un serveur DHCP.
|
||||
|
||||
Cette machine physique étant un hôte hyperviseur, elle partage sa connexion
|
||||
ethernet avec les machines virtuelles qu'elle héberge, c'est pourquoi nous
|
||||
configurons un pont.
|
||||
|
||||
De plus, nous configurons une connexion directe entre `mother` et `aunt`
|
||||
pour la réplication `DRBD`.
|
||||
|
||||
#### /etc/network/interfaces
|
||||
<details>
|
||||
|
||||
# The loopback network interface
|
||||
auto lo br0
|
||||
iface lo inet loopback
|
||||
|
||||
# The primary network interface
|
||||
allow-hotplug ens10
|
||||
allow-hotplug ens9
|
||||
allow-hotplug ens13f0
|
||||
allow-hotplug ens13f1
|
||||
allow-hostplug ens9
|
||||
allow-hostplug ens10
|
||||
allow-hostplug ens13f0
|
||||
allow-hostplug ens13f1
|
||||
|
||||
# aunt
|
||||
iface ens13f1 inet static
|
||||
address 192.168.254.2
|
||||
address 192.168.254.2
|
||||
|
||||
post-up /usr/bin/ip link set ens13f1 mtu 9000
|
||||
|
||||
# bridge for vm
|
||||
iface br0 inet static
|
||||
bridge_ports ens13f0
|
||||
address 192.168.1.2
|
||||
gateway 192.168.0.1
|
||||
broadcast 192.168.255.255
|
||||
netmask 255.255.0.0
|
||||
iface br0 inet dhcp
|
||||
bridge_ports ens13f0
|
||||
|
||||
iface br0 inet6 dhcp
|
||||
bridge_ports ens13f0
|
||||
|
||||
iface br0 inet6 static
|
||||
bridge_ports ens13f0
|
||||
address 2001:910:1021:0::2/128
|
||||
gateway 2001:910:1021::1
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -73,33 +77,23 @@ Adresse ipv6 publique : `2001:910:1021::2`
|
|||
AddressFamily any
|
||||
ListenAddress 0.0.0.0
|
||||
ListenAddress ::
|
||||
|
||||
PubkeyAuthentication yes
|
||||
|
||||
PasswordAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
|
||||
ChallengeResponseAuthentication no
|
||||
|
||||
UsePAM yes
|
||||
|
||||
AllowAgentForwarding yes
|
||||
AllowTcpForwarding yes
|
||||
GatewayPorts yes
|
||||
X11Forwarding no
|
||||
|
||||
PrintMotd no
|
||||
|
||||
TCPKeepAlive yes
|
||||
|
||||
PermitTunnel yes
|
||||
AcceptEnv LANG LC\_* GIT\_*
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
Match User admin666 Address *,!192.168.0.0/16,!::1,!127.0.0.1,!127.0.1.1
|
||||
DenyUsers admin666
|
||||
|
||||
AcceptEnv LANG LC_* GIT_*
|
||||
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
|
||||
Match User admin666 Address *,!127.0.0.1,!::1
|
||||
DenyUsers admin666
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -142,13 +136,13 @@ Adresse ipv6 publique : `2001:910:1021::2`
|
|||
resync-rate 500M;
|
||||
}
|
||||
|
||||
on mother { # hostname must match `uname -n` output
|
||||
disk /dev/md1; # Logical Volume on the provided host
|
||||
on mother.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.2:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
|
||||
on aunt { # hostname must match `uname -n` output
|
||||
disk /dev/md1; # Logical Volume on the provided host
|
||||
on aunt.libre-en-communs.org { # hostname must match `uname -n` output
|
||||
disk /dev/md/1; # Logical Volume on the provided host
|
||||
address 192.168.254.3:7789; # IP Address to be used to connect to the node with port
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Alimentation : boitier 65W
|
|||
|
||||
## Logiciel
|
||||
|
||||
Micro-programme : Libreboot 20220710 seabios libgfxinit (redémarrage non automatique)
|
||||
Micro-programme : GNU Boot 0.1-rc3
|
||||
Système d'exploitation : Debian GNU/Linux-libre 11 (Bullseye)
|
||||
Noyau : Linux-libre LTS (`linux-libre-lts` des dépôts https://linux-libre.fsfla.org)
|
||||
Audit des paquets mensuel : `vrms`
|
||||
|
|
|
@ -1,34 +1,43 @@
|
|||
# Accès aux machines physiques de l'infrastructure
|
||||
|
||||
## Configuration SSH serveur
|
||||
Seules les personnes membre de la Commission infrastructure peuvent être
|
||||
autorisées à accéder aux machines physiques.
|
||||
|
||||
Pour un administrateur d'infrastructure, l'accès aux machines physiques de
|
||||
l'infrastructure se fait sur le compte sudoer `admin666` via le compte `cominfra`,
|
||||
authentifié par clé SSH.
|
||||
## Via SSH
|
||||
|
||||
### Configuration SSH serveur
|
||||
|
||||
Pour une personne administrant l'infrastructure, l'accès aux machines physiques
|
||||
de se fait sur le compte sudoer `admin666` via le compte `cominfra`, authentifié
|
||||
par clé SSH.
|
||||
|
||||
Pour qu'un nouvel administrateur puisse accéder à la machine, il faut ajouter
|
||||
la clé publique (ssh) du nouvel admin dans `/home/cominfra/.ssh/authorized_keys`
|
||||
et `/home/admin666/.ssh/authorized_keys`.
|
||||
Pour qu'une nouvelle personne puisse accéder à la machine, il faut ajouter
|
||||
sa clé publique (ssh) dans les fichiers de configurations de la machine physique :
|
||||
- `/home/cominfra/.ssh/authorized_keys`
|
||||
- `/home/admin666/.ssh/authorized_keys`
|
||||
|
||||
### Configuration SSH client
|
||||
|
||||
## Configuration SSH client
|
||||
Une personne souhaitant se connecter à une machine physique doit configurer son
|
||||
client SSH, généralement dans le fichier `~/.ssh/config`.
|
||||
|
||||
Éditer le fichier `~/.ssh/config` :
|
||||
La configuration met en jeu un proxy, sécurité supplémentaire pour l'accès au
|
||||
compte d'administration :
|
||||
```
|
||||
host machine_physique-proxy.libre-en-communs.org
|
||||
Hostname machine_physique.libre-en-communs.org
|
||||
host <machine_physique>-proxy.libre-en-communs.org
|
||||
Hostname <machine_physique>.libre-en-communs.org
|
||||
User cominfra
|
||||
Port 222
|
||||
Port <port>
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host machine_physique.libre-en-communs.org
|
||||
host <machine_physique>.libre-en-communs.org
|
||||
User admin666
|
||||
Port 222
|
||||
ProxyJump machine_physique-proxy.libre-en-communs.org
|
||||
Port <port>
|
||||
ProxyJump <machine_physique>-proxy.libre-en-communs.org
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
```
|
||||
|
||||
En 2023, voici ce que cela donne pour toutes les machines physiques actuelles :
|
||||
En 2024, voici ce que cela donne pour toutes les machines physiques actuelles :
|
||||
```
|
||||
host mother-proxy.libre-en-communs.org
|
||||
Hostname mother.libre-en-communs.org
|
||||
|
@ -66,16 +75,16 @@ host anthea.libre-en-communs.org
|
|||
ProxyJump anthea-proxy.libre-en-communs.org
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host britt-proxy.libre-en-communs.org
|
||||
Hostname britt.libre-en-communs.org
|
||||
host aelita-proxy.libre-en-communs.org
|
||||
Hostname aelita.libre-en-communs.org
|
||||
User cominfra
|
||||
Port 222
|
||||
Port 223
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host britt.libre-en-communs.org
|
||||
host aelita.libre-en-communs.org
|
||||
User admin666
|
||||
Port 222
|
||||
ProxyJump britt-proxy.libre-en-communs.org
|
||||
Port 223
|
||||
ProxyJump aelita-proxy.libre-en-communs.org
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host gardefou-proxy.libre-en-communs.org
|
||||
|
@ -105,22 +114,50 @@ host sauvkipeu.libre-en-communs.org
|
|||
|
||||
### Procédure de connexion avec config dans ~/.ssh/config
|
||||
|
||||
Pour accéder au serveur `machine_physique`, le nouvel admin n'a plus qu'à utiliser :
|
||||
Pour accéder au serveur `<machine_physique>`, il faut exécuter :
|
||||
```
|
||||
ssh machine_physique.libre-en-communs.org
|
||||
ssh <machine_physique>.libre-en-communs.org
|
||||
```
|
||||
|
||||
### Procédure de connexion sans config
|
||||
|
||||
Pour accéder au serveur `machine_physique`, le nouvel admin peut utiliser :
|
||||
Pour accéder au serveur `<machine_physique>`, on peut aussi exécuter :
|
||||
```
|
||||
ssh -i 'CLE_PRIV' -J cominfra@machine_physique.libre-en-communs.org:222 admin666@localhost -p 222
|
||||
ssh -i 'CLE_PRIV' -J cominfra@<machine_physique>.libre-en-communs.org:<port> admin666@localhost -p 222
|
||||
```
|
||||
|
||||
### Accès aux machines virtuelles
|
||||
|
||||
Si besoin, l'administrateur d'infrastructure peut accéder aux machines virtuelles
|
||||
qui s'exécutent sur une machine physique, et ce depuis le compte `admin666`
|
||||
de n'importe quel serveur. Il suffira d'utiliser la commande `ssh <nom de machine>`.
|
||||
Si besoin, une personne administration l'infrastructure peut accéder aux
|
||||
machines virtuelles qui s'exécutent sur une machine physique, et ce depuis le
|
||||
compte `admin666` de n'importe quelle machine physique. Il suffira d'utiliser
|
||||
la commande `ssh <nom de machine>`.
|
||||
|
||||
Par exemple, pour accéder à la machine `dns` : `ssh dns`
|
||||
Par exemple, pour accéder à la machine `dns.libre-en-communs.org` :
|
||||
```
|
||||
ssh dns.libre-en-communs.org
|
||||
```
|
||||
|
||||
## Via console série (RS232)
|
||||
|
||||
Les machines physiques d'un même site sont interconnectées par des liens RS232
|
||||
permettant l'utilisation d'une console série.
|
||||
|
||||
### État des interconnexions RS232
|
||||
|
||||
#### Site `leparc`
|
||||
|
||||
- `mother` et `aunt` sont interconnectées (bidirectionnel)
|
||||
|
||||
#### Site `fontainebleau`
|
||||
|
||||
- `gardefou` peut accéder à `anthea` (unidirectionnel)
|
||||
- `anthea` et `aelita` ne sont pas interconnectées
|
||||
|
||||
### Procédure de connexion
|
||||
|
||||
Pour se connecter à la machine disponible via la console série,
|
||||
utiliser (en root) :
|
||||
```
|
||||
minicom -D /dev/ttyUSB0
|
||||
```
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
# Accès virt-manager
|
||||
|
||||
Les adminsys de Cominfra peuvent configurer un accès pour `virt-manager`, l'application graphique qui permet de gérer des vms à la souris depuis sa machine.
|
||||
Les adminsys de Cominfra peuvent configurer un accès pour `virt-manager`,
|
||||
l'application graphique qui permet de gérer des machines virtuelles à la souris
|
||||
depuis sa machine.
|
||||
|
||||
Prérequis, avoir installé `virt-manager` :
|
||||
```
|
||||
apt install virt-manager
|
||||
```
|
||||
(Prérequis : avoir installé `virt-manager` sur sa machine)
|
||||
|
||||
## Pour anthea
|
||||
## Configuration du client
|
||||
|
||||
Côté serveur, configurer l'autorisation d'accès en ajoutant une clé SSH public dans le fichier `virt-user@anthea.libre-en-communs.org:~/.ssh/authorized_keys`.
|
||||
Côté serveur, configurer l'autorisation d'accès en ajoutant une clé SSH public
|
||||
dans le fichier `virt-user@machine-physique.libre-en-communs.org:~/.ssh/authorized_keys`.
|
||||
|
||||
Côté client, configurer le client `virt-manager` :
|
||||
- Menu > Fichier > Ajouter une connexion…
|
||||
|
@ -17,45 +17,6 @@ Côté client, configurer le client `virt-manager` :
|
|||
- Hyperviseur : QEMU/KVM,
|
||||
- Se connecter à l'hôte distant via SSH : cocher,
|
||||
- Nom d'utilisateur : virt-user,
|
||||
- Nom de l'hôté : anthea.libre-en-communs.org:222
|
||||
- cliquer sur « Connecter ».
|
||||
|
||||
## Pour aunt
|
||||
|
||||
Côté serveur, configurer l'autorisation d'accès en ajoutant une clé SSH public dans le fichier `virt-user@aunt.libre-en-communs.org:~/.ssh/authorized_keys`.
|
||||
|
||||
Côté client, configurer le client `virt-manager` :
|
||||
- Menu > Fichier > Ajouter une connexion…
|
||||
- remplir le formulaire :
|
||||
- Hyperviseur : QEMU/KVM,
|
||||
- Se connecter à l'hôte distant via SSH : cocher,
|
||||
- Nom d'utilisateur : virt-user,
|
||||
- Nom de l'hôté : aunt.libre-en-communs.org:223
|
||||
- cliquer sur « Connecter ».
|
||||
|
||||
## Pour britt
|
||||
|
||||
Côté serveur, configurer l'autorisation d'accès en ajoutant une clé SSH public dans le fichier `virt-user@britt.libre-en-communs.org:~/.ssh/authorized_keys`.
|
||||
|
||||
Côté client, configurer le client `virt-manager` :
|
||||
- Menu > Fichier > Ajouter une connexion…
|
||||
- remplir le formulaire :
|
||||
- Hyperviseur : QEMU/KVM,
|
||||
- Se connecter à l'hôte distant via SSH : cocher,
|
||||
- Nom d'utilisateur : virt-user,
|
||||
- Nom de l'hôté : britt.libre-en-communs.org:222
|
||||
- cliquer sur « Connecter ».
|
||||
|
||||
## Pour mother
|
||||
|
||||
Côté serveur, configurer l'autorisation d'accès en ajoutant une clé SSH public dans le fichier `virt-user@mother.libre-en-communs.org:~/.ssh/authorized_keys`.
|
||||
|
||||
Côté client, configurer le client `virt-manager` :
|
||||
- Menu > Fichier > Ajouter une connexion…
|
||||
- remplir le formulaire :
|
||||
- Hyperviseur : QEMU/KVM,
|
||||
- Se connecter à l'hôte distant via SSH : cocher,
|
||||
- Nom d'utilisateur : virt-user,
|
||||
- Nom de l'hôté : mother.libre-en-communs.org:222
|
||||
- Nom de l'hôté : machine-physique.libre-en-communs.org:port
|
||||
- cliquer sur « Connecter ».
|
||||
|
||||
|
|
|
@ -1,13 +1,19 @@
|
|||
## Accès aux machines virtuelles de l'infrastructure
|
||||
# Accès aux machines virtuelles de l'infrastructure
|
||||
|
||||
## Via SSH
|
||||
|
||||
### Configuration SSH serveur
|
||||
|
||||
En règle générale, l'accès aux machines virtuelles ne se fait pas directement. Il faut passer par une machine physique.
|
||||
Pour qu'un nouvel administrateur puisse accéder à des machines, il faut :
|
||||
En règle générale, l'accès aux machines virtuelles ne se fait pas directement.
|
||||
Il faut passer par une machine physique.
|
||||
|
||||
- Sur la machine physique hypervisant la machine, ajouter la clé publique (ssh) du nouvel admin dans `/home/cominfra/.ssh/authorized_keys`
|
||||
Pour qu'une nouvelle personne puisse accéder à des machines, il faut :
|
||||
|
||||
- Sur chaque machine virtuelle concernée, ajouter la clé publique (ssh) du nouvel admin dans `/home/admin666/.ssh/authorized_keys`
|
||||
- Sur la machine physique hypervisant la machine, ajouter la clé publique (ssh)
|
||||
de la nouvelle personne dans `/home/cominfra/.ssh/authorized_keys`
|
||||
|
||||
- Sur chaque machine virtuelle concernée, ajouter la clé publique (ssh)
|
||||
de la nouvelle personne dans `/home/admin666/.ssh/authorized_keys`
|
||||
|
||||
Notes :
|
||||
- en IPV6, bien qu'en règle générale la connexion directe soit désactivée, elle peut être autorisée au cas par cas.
|
||||
|
@ -16,40 +22,54 @@ Notes :
|
|||
|
||||
### Configuration SSH client (dans `~/.ssh/config`)
|
||||
|
||||
Une personne souhaitant se connecter à une machine virtuelle doit configurer son
|
||||
client SSH, généralement dans le fichier `~/.ssh/config`.
|
||||
|
||||
La configuration met en jeu un proxy, obligatoire pour IPv4 (en raison du partage
|
||||
d'adresse IP et du port unique) et servant de sécurité supplémentaire avec IPv6.
|
||||
Le proxy peut être n'importe quelle machine physique de l'infrastructure, le mieux
|
||||
étant d'utiliser la machine qui hypervise la machine virtuelle visée, mais ce n'est
|
||||
pas nécessaire. Une machine d'un site différent peut aussi être utilisée (mais cela
|
||||
ajoute de la latence).
|
||||
|
||||
La configuration suivante permet l'accès à toute machine virtuelle des domaines
|
||||
`a-lec.org` et `chalec.org` :
|
||||
|
||||
```
|
||||
host machine_physique-proxy.libre-en-communs.org
|
||||
Hostname machine_physique.libre-en-communs.org
|
||||
host <machine_physique>-proxy.libre-en-communs.org
|
||||
Hostname <machine_physique>.libre-en-communs.org
|
||||
User cominfra
|
||||
Port 222
|
||||
Port <port>
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host *.a-lec.org
|
||||
User admin666
|
||||
Port 22
|
||||
ProxyJump machine_physique-proxy.libre-en-communs.org
|
||||
ProxyJump <machine_physique>-proxy.libre-en-communs.org
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
|
||||
host *.chalec.org
|
||||
User admin666
|
||||
Port 22
|
||||
ProxyJump machine_physique-proxy.libre-en-communs.org
|
||||
ProxyJump <machine_physique>-proxy.libre-en-communs.org
|
||||
SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
|
||||
```
|
||||
|
||||
Pour fixer les variables Git directement dans la conf, ajouter un `SetEnv` avant `SendEnv` :
|
||||
```
|
||||
SetEnv GIT_AUTHOR_NAME="Moi" GIT_AUTHOR_EMAIL="moncourriel"
|
||||
```
|
||||
Pour fixer les variables Git directement dans la conf, il est possibe d'ajouter
|
||||
un `SetEnv` avant `SendEnv` :
|
||||
|
||||
```
|
||||
SetEnv GIT_AUTHOR_NAME="<nom>" GIT_AUTHOR_EMAIL="<courriel>"
|
||||
```
|
||||
|
||||
### Procédure de connexion avec config dans ~/.ssh/config
|
||||
|
||||
Le nouvel admin n'a plus qu'à utiliser `ssh NOM_DE_VM.a-lec.org` pour accéder à la machine virtuelle
|
||||
Il suffit d'utiliser `ssh <nom de vm>` pour accéder à la machine virtuelle.
|
||||
|
||||
### Procédure de connexion sans config
|
||||
|
||||
Le nouvel admin peut utiliser au choix :
|
||||
Il est également possible d'utiliser :
|
||||
|
||||
- `ssh -i 'CLE_PRIV' -J cominfra@machine_physique.libre-en-communs.org:222 admin666@NOM_DE_VM.a-lec.org -p 22`
|
||||
|
||||
- `ssh -i 'CLE_PRIV' -J cominfra@machine_physique.libre-en-communs.org:223 admin666@NOM_DE_VM.a-lec.org -p 22`
|
||||
```
|
||||
ssh -i 'CLE_PRIV' -J cominfra@machine_physique.libre-en-communs.org:<port> admin666@<nom de vm> -p 22
|
||||
```
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
# Configurer HTTP IPv4
|
||||
# Configuration du proxy HTTP (IPv4)
|
||||
|
||||
Afin d'économiser des adresses IPv4, le flux HTTP IPv4 est mutualisé sur une seule IP.
|
||||
En conséquence, une étape de proxy est nécessaire.
|
||||
|
||||
La configuration d
|
||||
|
||||
Enrichir le fichier `leparc.libre-en-communs.org:/etc/nginx/reverse_proxy.conf` :
|
||||
```
|
||||
server {
|
|
@ -7,16 +7,16 @@ sudo apt install virtinst
|
|||
|
||||
Cloner la vm `generic.a-lec.org` ou `generic.chalec.org` :
|
||||
```
|
||||
sudo virt-clone --original generic.a-lec.org --name foo.a-lec.org --file /opt/sharedfs/images_noyau/foo.a-lec.org.raw
|
||||
cp --reflink /srv/vmverse/installation/generic.a-lec.org /srv/vmverse/<dossier>/<nom de vm>.raw
|
||||
```
|
||||
|
||||
Vérifier la bonne création :
|
||||
```
|
||||
sudo virsh list --inactive # Liste les vm inactives.
|
||||
sudo virsh dominfo foo.a-lec.org # Affiche les informations générales de la nouvelle vm.
|
||||
sudo virsh list --inactive # Liste les vm inactives.
|
||||
sudo virsh dominfo <nom de vm> # Affiche les informations générales de la nouvelle vm.
|
||||
```
|
||||
|
||||
Réserver une adresse IPv4 privée :
|
||||
Réserver une adresse IPv4 locale :
|
||||
- se connecter en web sur le routeur du site concerné ;
|
||||
- aller dans la section `Network` > `DHCP` > onglet `Static Leases` > bouton `Add` :
|
||||
- `Hostname` : nom complet de la VM,
|
||||
|
@ -25,20 +25,21 @@ Réserver une adresse IPv4 privée :
|
|||
- un 192.168.0.x pour infra générale (par exemple de la supervision ou du DNS),
|
||||
- un 192.168.1.x pour infra,
|
||||
- un 192.168.2.x pour chalec,
|
||||
- cliquer sur `Save & Apply`.
|
||||
- `IPv6` : remplir le suffixe avec une valeur cohérente avec l'adresse IPv4 locale (si possible) ;
|
||||
- cliquer sur `Save & Apply` ;
|
||||
- aller dans la section `Network` > 'Hostnames` > bouton 'Add' :
|
||||
- `Hostname` : nom complet de la VM,
|
||||
- `IP address` : remplir le champ `custom` tout en bas de la liste déroulante, avec l'ip locale,
|
||||
- `IP address` : remplir le champ `custom` tout en bas de la liste déroulante, avec l'IPv4 locale,
|
||||
- cliquer sur `Save & Apply`.
|
||||
|
||||
Démarrer la vm :
|
||||
```
|
||||
sudo virsh start foo.a-lec.org
|
||||
sudo virsh start <nom de vm>
|
||||
```
|
||||
|
||||
Ouvrir une console sur la vm :
|
||||
```
|
||||
sudo virsh console foo.a-lec.org
|
||||
sudo virsh console <nom de vm>
|
||||
```
|
||||
|
||||
Se connecter avec `admin666` sans mot de passe.
|
||||
|
@ -53,14 +54,6 @@ Installer les paquets de base (au cas où) :
|
|||
sudo apt install etckeeper molly-guard tig lm-sensors fancontrol screen emacs-nox vrms needrestart iotop htop curl ncdu iptraf tig unzip
|
||||
```
|
||||
|
||||
Configurer les adresses IP dans la vm dans `/etc/network/interfaces` :
|
||||
```
|
||||
- address 192.168.1.4/32
|
||||
+ address 192.168.<VALEUR1>.<VALEUR2>/32
|
||||
- address 2001:910:1021::4/128
|
||||
+ address 2001:910:1021::<VALEUR2>/128
|
||||
```
|
||||
|
||||
Configurer le `hostname` :
|
||||
```
|
||||
sudo hostnamectl set-hostname foo.a-lec.org
|
||||
|
|
|
@ -0,0 +1,235 @@
|
|||
# Gestion des préfixes IPv4
|
||||
|
||||
## Situation
|
||||
|
||||
Libre en Communs dispose de deux préfixes IPv4, fournis par Gitoyen :
|
||||
|
||||
- `80.67.160.144/29` attribué à la ligne de `Fontainebleau`
|
||||
- `80.67.160.152/29` attribué à la ligne de `Le Parc`
|
||||
|
||||
## Configuration d'un préfixe
|
||||
|
||||
La configuration d'un préfixe se fait à plusieurs niveaux :
|
||||
- routeur du site concerné
|
||||
- zone rDNS déléguée à Libre en Communs
|
||||
|
||||
### Configuration de la zone rDNS
|
||||
|
||||
Les zones rDNS sont à mettre en place sur `dns.libre-en-communs.org`.
|
||||
|
||||
En l'occurence, il s'agit des zones :
|
||||
- `144-29.160.67.80.in-addr.arpa` (fichier `80.67.160.144-29::.zone`)
|
||||
- `152-29.160.67.80.in-addr.arpa` (fichier `80.67.160.152-29::.zone`)
|
||||
|
||||
Ces fichiers doivent bien-sûr contenir la déclaration SOA/NS, typiquement :
|
||||
|
||||
$TTL 60m
|
||||
@ IN SOA dns.libre-en-communs.org. contact.a-lec.org. (
|
||||
2406171328 ; serial
|
||||
86400 ; refresh (1 day)
|
||||
3600 ; retry (1 hour)
|
||||
3600000 ; expire (5 weeks 6 days 16 hours)
|
||||
300 ; minimum (5 minutes)
|
||||
)
|
||||
@ IN NS dns.libre-en-communs.org.
|
||||
@ IN NS ns0.libre-en-communs.org.
|
||||
@ IN NS ns1.libre-en-communs.org.
|
||||
|
||||
Ensuite, chaque enregistrement inverse est représenté par une ligne de la forme :
|
||||
|
||||
suffixe IN PTR domaine.
|
||||
|
||||
Par exemple, pour l'adresse 80.67.160.154 :
|
||||
|
||||
154 IN PTR mail.a-lec.org.
|
||||
|
||||
### Configuration du préfixe sur le routeur
|
||||
|
||||
#### Méthode graphique
|
||||
|
||||
Pour être en mesure d'utiliser le préfixe sur le site affecté, il faut créer une
|
||||
interface virtuelle de type WAN dédiée. Sur nos routeurs cela se fait comme suit :
|
||||
|
||||
1. Se rendre sur la page de configuration des interfaces du routeur (_Network > Interfaces_)
|
||||
2. Créer une nouvelle interface (_Add new interface_)
|
||||
3. Utiliser un nom cohérent (par exemple _wan2_)
|
||||
4. Choisir le protocole _Static address_
|
||||
5. Utiliser le périphérique correspondant à l'interface _wan_ (chez nous, _eth2_)
|
||||
6. Cliquer sur _Create interface_
|
||||
7. Dans le champ _IPv4 address_, remplir avec le préfixe en notation CIDR et cliquer sur les "..."
|
||||
8. Dans l'onglet _Advanced Settings_, désactiver l'option _Delegate IPv6 prefixes_
|
||||
9. Dans l'onglet _Firewall Settings_, assigner à la zone _wan_
|
||||
10. Sauvegarder et appliquer les changements
|
||||
|
||||
On crée ensuite une interface virtuelle de type LAN dédiée, afin de pouvoir bénéficier
|
||||
du serveur DHCP plus tard. Sur nos routeurs, cela se fait comme suit :
|
||||
|
||||
11. Se rendre sur la page de configuration des interfaces du routeur (_Network > Interfaces_)
|
||||
12. Créer une nouvelle interface (_Add new interface_)
|
||||
13. Utiliser un nom cohérent (par exemple _lan2_)
|
||||
14. Choisir le protocole _Static address_
|
||||
15. Utiliser le périphérique correspondant à l'interface _lan_ (chez nous, _br-lan_)
|
||||
16. Cliquer sur _Create interface_
|
||||
17. Dans le champ _IPv4 address_, remplir avec le préfixe en notation CIDR et cliquer sur les "..."
|
||||
18. Dans l'onglet _Advanced Settings_, désactiver l'option _Delegate IPv6 prefixes_
|
||||
19. Dans l'onglet _Firewall Settings_, assigner à la zone _lan_
|
||||
20. Dans l'onglet _DHCP Server_, cliquer sur _Create DHCP Server_
|
||||
21. Dans l'onglet _General Setup_, indiquer le premier suffixe dans le champ _Start_ et le nombre
|
||||
total d'adresses dans le champ _Limit_
|
||||
22. Dans l'onglet _Advanced Settings_, désactiver l'option _Dynamic DHCP_
|
||||
23. Sauvegarder et appliquer les changements.
|
||||
|
||||
#### Méthode en ligne de commande
|
||||
|
||||
Pour être en mesure d'utiliser le préfixe sur le site affecté, il faut créer une
|
||||
interface virtuelle de type WAN dédiée. Sur nos routeurs cela se fait comme suit :
|
||||
|
||||
1. Se connecter en SSH au routeur
|
||||
2. Ouvrir le fichier `/etc/config/network` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config interface '<nom de l'interface>' # par exemple _wan2_
|
||||
option proto 'static'
|
||||
option device '<nom du périphérique>' # par exemple, _eth2_
|
||||
list ipaddr '<prefixe en notation CIDR>'
|
||||
option delegate '0'
|
||||
|
||||
3. Sauvegarder et valider avec :
|
||||
|
||||
uci commit /etc/config/network
|
||||
/etc/init.d/network reload
|
||||
|
||||
On crée ensuite une interface virtuelle de type LAN dédiée, afin de pouvoir bénéficier
|
||||
du serveur DHCP plus tard. Sur nos routeurs, cela se fait comme suit :
|
||||
|
||||
4. Ouvrir le fichier `/etc/config/network` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config interface '<nom de l'interface>' # par exemple _lan2_
|
||||
option proto 'static'
|
||||
option device '<nom du périphérique>' # par exemple, _br-lan_
|
||||
list ipaddr '<prefixe en notation CIDR>'
|
||||
option delegate '0'
|
||||
|
||||
5. Ouvrir le fichier `/etc/config/dhcp` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config dhcp '<nom de l'interface>' # par exemple _lan2_
|
||||
option interface '<nom de l'interface>'
|
||||
option leasetime '12h'
|
||||
option start '<adresse de départ>' # par exemple 145
|
||||
option limit '<nombre d adresses>' # par exemple 5
|
||||
option dynamicdhcp '0'
|
||||
list ra_flags 'none'
|
||||
|
||||
6. Sauvegarder et valider avec :
|
||||
|
||||
uci commit /etc/config/network
|
||||
uci commit /etc/config/dhcp
|
||||
/etc/init.d/network reload
|
||||
/etc/init.d/dhcp reload
|
||||
|
||||
## Affectation d'IPs
|
||||
|
||||
### Affectation d'une IP à un sous-réseau
|
||||
|
||||
L'affectation d'une IP à un sous-réseau nécessite la configuration prélable
|
||||
du préfixe (voir plus haut), puis la création d'une interface virtuelle WAN.
|
||||
|
||||
#### Méthode graphique
|
||||
|
||||
On crée d'abord l'interface WAN virtuelle :
|
||||
|
||||
1. Se rendre sur la page de configuration des interfaces du routeur (_Network > Interfaces_)
|
||||
2. Créer une nouvelle interface (_Add new interface_)
|
||||
3. Utiliser un nom cohérent (par exemple _wan3_)
|
||||
4. Choisir le protocole _Static address_
|
||||
5. Utiliser le périphérique correspondant à l'interface _wan_ (chez nous, _eth2_)
|
||||
6. Cliquer sur _Create interface_
|
||||
7. Dans le champ _IPv4 address_, remplir avec l'IP en notation CIDR (**avec /32**)
|
||||
et cliquer sur les "..."
|
||||
8. Dans l'onglet _Advanced Settings_, désactiver l'option _Delegate IPv6 prefixes_
|
||||
9. Dans l'onglet _Firewall Settings_, assigner à la zone _wan_
|
||||
10. Sauvegarder et appliquer les changements
|
||||
|
||||
On crée ensuite une règle NAT pour le sous-réseau :
|
||||
|
||||
11. Se rendre sur la page de configuration du pare-feu du routeur (_Network > Firewall_)
|
||||
12. Aller à l'onglet _NAT Rules_
|
||||
13. Créer une nouvelle règle (_Add_) et paramétrer :
|
||||
- _Name_ : mettre un nom cohérent
|
||||
- _Protocol_ : laisser à _Any_
|
||||
- _Outbound zone_ : choisir _wan_
|
||||
- _Source address_ : utiliser le préfixe du sous-réseau en notation CIDR
|
||||
- _Destination address_ : choisir _Any_
|
||||
- _Action_ : laisser _SNAT_
|
||||
- _Rewrite IP address_ : indiquer l'IP correspondant à l'interface WAN
|
||||
virtuelle créée plus tôt.
|
||||
14. Sauvegarder et appliquer les changements.
|
||||
|
||||
#### Méthode en ligne de commande
|
||||
|
||||
On crée d'abord l'interface WAN virtuelle :
|
||||
|
||||
1. Se connecter en SSH au routeur
|
||||
2. Ouvrir le fichier `/etc/config/network` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config interface '<nom de l'interface>' # par exemple _wan2_
|
||||
option proto 'static'
|
||||
option device '<nom du périphérique>' # par exemple, _eth2_
|
||||
list ipaddr '<adresse IP en notation CIDR>' # avec /32
|
||||
option delegate '0'
|
||||
|
||||
3. Sauvegarder et valider avec :
|
||||
|
||||
uci commit /etc/config/network
|
||||
/etc/init.d/network reload
|
||||
|
||||
On crée ensuite une règle NAT pour le sous-réseau :
|
||||
|
||||
4. Ouvrir le fichier `/etc/config/firewall` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config nat
|
||||
option name '<nom de la règle>'
|
||||
option src '<nom de la zone>' # par exemple, _wan_
|
||||
option target 'SNAT'
|
||||
option src_ip '<adresse IP du sous-réseau en CIDR>'
|
||||
option snat_ip '<adresse IP attribuée, sans CIDR>'
|
||||
list proto 'all'
|
||||
|
||||
5. Sauvegarder et valider avec :
|
||||
|
||||
uci commit /etc/config/firewall
|
||||
/etc/init.d/firewall reload
|
||||
|
||||
### Affectation d'une IP à une machine virtuelle
|
||||
|
||||
L'affectation d'une IP à une machine virtuelle ne nécessite que la configuration
|
||||
d'une règle DHCP.
|
||||
|
||||
#### Méthode graphique
|
||||
|
||||
1. Se rendre sur la page de configuration des interfaces du routeur (_Network > DHCP_)
|
||||
2. Se rendre dans l'onglet _Static Leases_
|
||||
13. Créer une nouvelle règle (_Add_) et paramétrer :
|
||||
- _Hostname_ : indiquer le nom de domaine de la machine virtuelle
|
||||
- _MAC-Address_ : indiquer l'adresse MAC de la machine virtuelle
|
||||
- _IPv4-Address_ : indiquer l'IP attribuée
|
||||
- _DUID_ : choisir le DUID de la machine virtuelle
|
||||
- _IPv6 Suffix_ : choisir un suffixe pour l'IPv6 s'il y a lieu
|
||||
14. Sauvegarder et appliquer les changements.
|
||||
|
||||
#### Méthode en ligne de commande
|
||||
|
||||
1. Se connecter en SSH au routeur
|
||||
2. Ouvrir le fichier `/etc/config/dhcp` et ajouter le bloc de configuration suivant :
|
||||
|
||||
config host
|
||||
option name '<nom de domaine de la machine>'
|
||||
option dns '1'
|
||||
option mac '<adresse MAC de la machine>'
|
||||
option hostid '<suffixe IPv6 si besoin>'
|
||||
option duid '<DUID de la machine>'
|
||||
option ip '<IP attribuée>'
|
||||
|
||||
3. Sauvegarder et valider avec :
|
||||
|
||||
uci commit /etc/config/dhcp
|
||||
/etc/init.d/dhcp reload
|
|
@ -8,25 +8,25 @@ Nous prenons ici l'exemple des machines `mother` et `aunt` du site `Le Parc`.
|
|||
|
||||
Pour migrer une machine de `mother` à `aunt` :
|
||||
|
||||
/opt/sharedfs/outils/migrate_to_aunt.sh NOM_DE_VM
|
||||
/srv/vmverse/outils/migrate_to_aunt.sh NOM_DE_VM
|
||||
|
||||
Pour migrer une machine de `aunt` à `mother` :
|
||||
|
||||
/opt/sharedfs/outils/migrate_to_mother.sh NOM_DE_VM
|
||||
/srv/vmverse/outils/migrate_to_mother.sh NOM_DE_VM
|
||||
|
||||
## Migration "normale" d'un groupe de machine par nombre
|
||||
|
||||
Pour migrer X machines de `mother` vers `aunt` :
|
||||
|
||||
/opt/sharedfs/outils/migrate_many_to_aunt.sh X
|
||||
/srv/vmverse/outils/migrate_many_to_aunt.sh X
|
||||
|
||||
Pour migrer X machines de `aunt` vers `mother` :
|
||||
|
||||
/opt/sharedfs/outils/migrate_many_to_mother.sh X
|
||||
/srv/vmverse/outils/migrate_many_to_mother.sh X
|
||||
|
||||
## Migration d'urgence (P2P) de `aunt` vers `mother` (sans DRBD)
|
||||
|
||||
Pour migrer une machine de `aunt` vers `mother` lorsque DRBD ne fonctionne pas :
|
||||
|
||||
/opt/sharedfs/outils/migrate_to_mother_p2p.sh NOM_DE_VM
|
||||
/srv/vmverse/outils/migrate_to_mother_p2p.sh NOM_DE_VM
|
||||
|
||||
|
|
|
@ -1,40 +1,4 @@
|
|||
# Gestion des sauvegardes l'infrastructure
|
||||
|
||||
Pour les sauvegardes, nous utilisons au sein de notre infrastructure les logiciels suivants :
|
||||
|
||||
- rsync pour les machines physiques
|
||||
- [virt-backup](https://pypi.org/project/virt-backup/) pour les machines virtuelles
|
||||
- les [scripts d'administration](https://git.a-lec.org/a-lec/commissions/infrastructure/infra-generale)
|
||||
|
||||
Les sauvegardes sont configurées comme indiqués dans le [dépôt dédié](https://git.a-lec.org/a-lec/commissions/infrastructure/sauvegardes)
|
||||
|
||||
## Sauvegarde des machines virtuelles
|
||||
|
||||
Sur une des machines physiques (ex: mother ou aunt).
|
||||
|
||||
### Lister les sauvegardes
|
||||
|
||||
Pour lister le résumé des sauvegardes :
|
||||
|
||||
sudo virt-backup list
|
||||
|
||||
Pour lister les sauvegardes d'une machine particulière :
|
||||
|
||||
sudo virt-backup list -D NOM_DE_VM
|
||||
|
||||
### Pour réaliser une sauvegarde de toutes les machines d'un hôte physique
|
||||
|
||||
Il n'est pas possible de réaliser une sauvegarde d'une machine isolée.
|
||||
|
||||
sudo virt-backup backup
|
||||
|
||||
### Pour restorer une sauvegarde
|
||||
|
||||
Nous avons un script spécial pour restaurer une sauvegarde :
|
||||
|
||||
sudo /opt/sharedfs/restore.sh NOM_DE_VM DATE_DE_SAUVEGARDE NOM_DE_DISQUE CHEMIN_CIBLE
|
||||
|
||||
### Nettoyer les sauvegardes
|
||||
|
||||
sudo virt-backup clean
|
||||
|
||||
La documentation du système de sauvegarde est déplacée
|
||||
[ici](https://forge.a-lec.org/cominfra/sauvegardes/src/branch/main/README.md)
|
||||
|
|
|
@ -2,8 +2,13 @@
|
|||
|
||||
## Localisation
|
||||
|
||||
Situé dans la cave d'un adhérent de Libre en Communs à Fontainebleau
|
||||
(Seine-et-Marne).
|
||||
Situé dans la cave d'adhérents de Libre en Communs à Fontainebleau
|
||||
en Seine-et-Marne (77).
|
||||
|
||||
### Matériel annexe
|
||||
|
||||
Matériel annexe dans la baie de ce site :
|
||||
- ventilateurs (toit de baie).
|
||||
|
||||
<img src="../images/image_fontainebleau_photo.jpg" width="40%">
|
||||
|
||||
|
@ -11,22 +16,36 @@ Situé dans la cave d'un adhérent de Libre en Communs à Fontainebleau
|
|||
|
||||
<img src="../images/diagramme_fontainebleau.png" width="100%">
|
||||
|
||||
Site principal actuellement périphérique de l'infrastructure, il est relié au réseau
|
||||
par le routeur [`fontainebleau.libre-en-communs.org`]() :
|
||||
```
|
||||
IPv4 : 80.67.176.40/32
|
||||
Site principal de l'infrastructure, il est relié au réseau par le routeur
|
||||
`fontainebleau.libre-en-communs.org`.
|
||||
|
||||
IPv6 : 2001:910:1028::/48
|
||||
Les caractéristiques réseaux de ce site sont les suivantes :
|
||||
```
|
||||
IPv4 : 80.67.176.40/32
|
||||
IPv4 : 80.67.160.144/29
|
||||
IPv6 : 2001:910:1028::/48
|
||||
```
|
||||
|
||||
Il accueille les machines physiques suivantes :
|
||||
Pour la gestion du préfixe IPv4, voir
|
||||
[la documentation dédiée](procédures/gestion_IP_préfixe.md).
|
||||
|
||||
Ce site accueille les machines physiques suivantes :
|
||||
- [`anthea.libre-en-communs.org`](../pm/anthea.md) ;
|
||||
- [`aelita.libre-en-communs.org`](../pm/aelita.md) ;
|
||||
- [`gardefou.libre-en-communs.org`](../pm/gardefou.md).
|
||||
|
||||
L'ensemble des machines physiques et des machines virtuelles est sauvegardé par les machines `gardefou` (présente sur ce site) et `sauvkipeu` (distante).
|
||||
Les machines physiques `anthea`et `aelita` sont couplées pour permettre une
|
||||
migration transparente des machines virtuelles. Nous utilisons l'hyperviseur
|
||||
`KVM/libvirt` et le système de réplication `DRBD` pour ce faire.
|
||||
|
||||
## Matériel annexe
|
||||
L'utilisation de `DRBD` consiste en la réplication en temps réel de la
|
||||
partition `/srv/vmverse`, qui accueille les images de disque des machines
|
||||
virtuelles.
|
||||
|
||||
On compte également du matériel annexe dans la baie de ce site :
|
||||
- ventilateurs (toit de baie).
|
||||
<img src="../images/diagramme_leparc_drbd.png" width="100%">
|
||||
|
||||
L'ensemble des machines physiques et des machines virtuelles est sauvegardé par
|
||||
les machines `gardefou` (présente sur ce site) et `sauvkipeu` (distante).
|
||||
Voir la
|
||||
[documentation spécifique de la sauvegarde](https://forge.a-lec.org/cominfra/sauvegardes).
|
||||
|
||||
|
|
|
@ -2,45 +2,54 @@
|
|||
|
||||
## Localisation
|
||||
|
||||
Situé dans le local de Libre en Communs correspondant au siège social,
|
||||
à Saint-Maur-des-Fossés dans le 94 (Val-de-Marne).
|
||||
Situé dans le local de Libre en Communs correspondant au siège social,
|
||||
à Saint-Maur-des-Fossés dans le Val-de-Marne (94).
|
||||
|
||||
<img src="../images/image_leparc_photo.jpg" width="40%">
|
||||
|
||||
## Caractéristiques techniques
|
||||
### Matériel annexe
|
||||
|
||||
<img src="../images/diagramme_leparc.png" width="100%">
|
||||
|
||||
Site principal actuellement coeur de l'infrastructure, il est relié au réseau
|
||||
par le routeur [`leparc.libre-en-communs.org`]() :
|
||||
```
|
||||
IPv4 : 80.67.179.96/32
|
||||
80.67.176.33/32
|
||||
|
||||
IPv6 : 2001:910:1021::/48
|
||||
```
|
||||
|
||||
Il accueille les machines physiques suivantes :
|
||||
- [`mother.libre-en-communs.org`](../pm/mother.md) ;
|
||||
- [`aunt.libre-en-communs.org`](../pm/aunt.md) ;
|
||||
- [`sauvkipeu.libre-en-communs.org`](../pm/sauvkipeu.md).
|
||||
|
||||
<img src="../images/diagramme_leparc_drbd.png" width="100%">
|
||||
|
||||
Les machines physiques `mother`et `aunt` sont couplées pour permettre une migration transparente
|
||||
des machines virtuelles. Nous utilisons l'hyperviseur `KVM/libvirt` et `DRBD`
|
||||
pour ce faire.
|
||||
|
||||
L'utilisation de `DRBD` consiste en la réplication en temps réel de la partition `/srv/vmverse`, qui accueille les images de disque des machines virtuelles.
|
||||
|
||||
L'ensemble des machines physiques et des machines virtuelles est sauvegardé par les machines `sauvkipeu` (présente sur ce site) et `gardefou` (distante).
|
||||
|
||||
## Matériel annexe
|
||||
|
||||
On compte également du matériel annexe dans la baie de ce site :
|
||||
Matériel annexe dans la baie de ce site :
|
||||
- onduleurs :
|
||||
+ 1 × EATON Ellipse PRO 1600 VA ;
|
||||
+ 1 × EATON Ellipse PRO 1200 VA.
|
||||
- ventilateurs (toit de baie) ;
|
||||
- ventilateur d'extraction (non installé).
|
||||
|
||||
## Caractéristiques techniques
|
||||
|
||||
<img src="../images/diagramme_leparc.png" width="100%">
|
||||
|
||||
Site principal de l'infrastructure, il est relié au réseau par le routeur
|
||||
`leparc.libre-en-communs.org`
|
||||
|
||||
Les caractéristiques réseaux de ce site sont les suivantes :
|
||||
```
|
||||
IPv4 : 80.67.176.33/32
|
||||
IPv4 : 80.67.160.152/29
|
||||
IPv6 : 2001:910:1021::/48
|
||||
```
|
||||
|
||||
Pour la gestion du préfixe IPv4, voir
|
||||
[la documentation dédiée](procédures/gestion_IP_préfixe.md).
|
||||
|
||||
Ce site accueille les machines physiques suivantes :
|
||||
- [`mother.libre-en-communs.org`](../pm/mother.md) ;
|
||||
- [`aunt.libre-en-communs.org`](../pm/aunt.md) ;
|
||||
- [`sauvkipeu.libre-en-communs.org`](../pm/sauvkipeu.md).
|
||||
|
||||
Les machines physiques `mother`et `aunt` sont couplées pour permettre une
|
||||
migration transparente des machines virtuelles. Nous utilisons l'hyperviseur
|
||||
`KVM/libvirt` et le système de réplication `DRBD` pour ce faire.
|
||||
|
||||
L'utilisation de `DRBD` consiste en la réplication en temps réel de la
|
||||
partition `/srv/vmverse`, qui accueille les images de disque des machines
|
||||
virtuelles.
|
||||
|
||||
<img src="../images/diagramme_leparc_drbd.png" width="100%">
|
||||
|
||||
L'ensemble des machines physiques et des machines virtuelles est sauvegardé par
|
||||
les machines `sauvkipeu` (présente sur ce site) et `gardefou` (distante).
|
||||
Voir la
|
||||
[documentation spécifique de la sauvegarde](https://forge.a-lec.org/cominfra/sauvegardes).
|
||||
|
||||
|
|
Loading…
Reference in New Issue