• Verein
  • Freifunk
  • namespace
  • Hey, Alter!
Gantry 5

Freifunk Gera-Greiz

  • Mitmachen
  • Firmware
  • Wiki
  • Karte
  • Netzwerk
  1. Aktuelle Seite:  
  2. Startseite
  3. Freifunk
  4. Wiki
  5. Dokumentation
  6. Server

Proxmox entfernen eines Cluster's

Folgendes Szenario beschreibt das auflösen eines Cluster's unter Proxmox 5.-3

Das Cluster besteht aus 3 nodes mit der Kennung "Server4","Server7" & "Server8", wobei das Cluster zu anfangs über "Server4" erstellt wurde.

Bei physischen wegfall der "Server7" & "Server8", sind an "Server4" keinerlei Änderungen     ( edit's, start/stop etc. ) an den vorhandenen VM's aufgrund u.a fehlender Brechtigungen mehr möglich.

Mit folgenden Schritten wird das Cluster aufgelöst, bzw. besteht erneuter Zugriff auf die VM's an "Server4".

Datensicherung beachten!!!

( in genanntem Szenario lagen alle Daten auf einem zentralen Raid10, so das keine Sicherung nötig war )

Eingabe via Shell an "Server4":

systemctl stop pve-cluster

systemctl stop corosync

pmxcfs -l

rm /etc/pve/corosync.conf

rm /etc/corosync/*

killall pmxcfs

systemctl start pve-cluster 

Details
Geschrieben von: Frank
Kategorie: Server
Veröffentlicht: 23. November 2021
Zuletzt aktualisiert: 13. Februar 2022
  • Proxmox

Proxmox Erstellung Hochverfügbarkeit's-Clusters, Shared Storage

Hochverfügbarkeit's-Cluster; Shared Storage

In diesem Beitrag erstelle ich step by step ein Hochverfügbarkeit's-Cluster und füge ein Shared Storage ( RAID 10 ) hinzu. Final soll eine hohe Ausfallsicherheit, bei maximaler Performance bestehen. 

Folgende Konfiguration ist in diesem Szenario vorhanden:

3x AMD Opteron 6238/32GB Ram/3x240GB SSD ( RAID5)

1x Intel Celeron J4105/8GB RAM/3x240GB SSD ( RAID 5 )/3ware SAS 9750-16i4e Controller

1x HP MSA P2000 Storage 16x4TB RAID 10

Installation Celeron J4105 & HP MSA P2000 Storage:

Das Celeron System dient als lokale Anbindung ( NAS ) zum Storage.

Als erstes wird das interne RAID 5 bestehend aus 3x 240GB erstellt, folgende Werte ergeben sich:

Kapazität: 0.48TB

Schutz:0.24TB

Im zweiten Schritt erstelle ich das RAID10 des extern angebundenen Storages. Bestückt ist dieses mit 16x4 TB, was folgende Werte ergibt:

Kapazität: 32TB

Nicht verwendet: 2.2TB

Nach Erstellung der RAID's wird auf dem Celeron System ein OS installiert ( intern RAID 5 ). Das angebundene Storage wird ins OS eingebunden und als NAS verfügbar gemacht, hierfür vergebe ich folgende statische IP: 192.168.1.230 

Erstellung des Cluster's:

Vorab sollten gewisse Vorrausetzungen gegeben sein, hierzu gehören folgende Dinge:

- mind. 3 "Baugleiche Systeme" ( Befehlssätze der CPU's müssen identisch sein, RAM und Speicherplatz ebenfalls )

- jedes System muss zwingend die gleiche Vers. von Proxmox VE vorweisen.

- Die Uhrzeit aller Systeme muss identisch sein.

Szenario:

Ich werde folgende 3 Systeme in das Cluster "Delta3" aufnehmen;

- Server 1 ( 192.168.1.240 )

- Server 2 ( 192.168.1.241 )

- Server 3 ( 192.168.1.242 )

Konfiguration RAID 5 Server 1-3:

Bei allen 3 Systemen wird über den internen RAID Controller ein RAID5 erstellt,

folgende Werte ergeben sich:

Kapazität: 0.48TB

Schutz:0.24TB

Installation Proxmox. Nach erfolgreicher Installation wird mit folgendem Befehl in der Shell ein Update durchgeführt:

apt-get update

apt-get dist-upgrade

reboot

Auf dem ersten System ( Server 1 ) erstelle ich das Cluster:

pvecm create DELTA3

Weitere Systeme zum Cluster hinzufügen, Eingabe lokal an Server2:

pvecm add  192.168.1.240 

Weitere Systeme zum Cluster hinzufügen, Eingabe lokal an Server3:

pvecm add  192.168.1.240 

Es erfolgt jeweils die Abfrage des SSH Passwortes bzw. des Fingerprints von Server 1, dieser ist unter Cluster Beitrittsinformationen ersichtlich.

Anbindung Shared Storage:

An Server 1 wird die WebOberfläche von Proxmox aufgerufen, dort navigiere ich zum Reiter "Storage" und wähle "NFS" aus. 

ID: Sharedstorage

Server: 192.168.1.230

Export: Das Storage sollte sichtbar sein

Content: Angabe der Datenart

Rechenzentrum:

Im Menü sehen wir nun unser Cluster "DELTA3", bestehend aus den 3 Opteron Systemen. Jeder Node hat Zugriff auf das Shared Storage, so das die ersten VM's erstellt werden können. 

Hierzu wähle ich "Create VM" und folge dem Verlauf, im Reiter "Node" sind nun alle 3 Systeme ersichtlich und ich kann diese manuell wählen. Alternativ übernimmt Proxmox per Zufall die Verteilung der VM's auf den Systemen. Unter dem Reiter "Hard Disk" wähle ich "Shared Storage", so das die VM auf dem Storage RAID10 abgelegt wird.

Details
Geschrieben von: Frank
Kategorie: Server
Veröffentlicht: 23. November 2021
Zuletzt aktualisiert: 13. Februar 2022
  • Proxmox

lokaler Gateway

!!! unvollständig !!!

Diese Anleitung basiert auf andere Anleitungen und beschreibt nur die Unterschiede von einen normalen Mesh-Server zu einen lokalen GatewayAlle angegebenen IPs, MACs, VLANs, Interfaces müssen passend zum System geändert werden!

DNS+DHCP

### DNS

# DNS Server
server=192.168.178.1
server=193.28.153.254
server=213.73.91.35
server=8.8.8.8
server=8.8.4.4

local=/ffggrz/
domain=ffggrz


### DHCP / RA
#dhcp-authoritative
# abschalten der Namensaufloesung fuer DHCP-Clients
dhcp-ignore-names
#quiet-dhcp
#quiet-dhcp6
quiet-ra

####IPv4
dhcp-range=10.181.11.2,10.181.12.254,1h
#dhcp-option=option:router,10.181.0.202
dhcp-option=option:dns-server,10.181.0.202
dhcp-option=option:ntp-server,10.181.0.202
dhcp-option=option:domain-search,ffggrz
# IP-Fragmentierung am Client um die batman-adv-Fragmentierung zu reduzieren
# 1406 (fastd) - 24 (batman-adv) - reserve = 1380
#dhcp-option-force=26,1350

####IPv6
# ra-stateless: A+O-Bit fuer stateless-Adressen aber DHCPv6 (DNS+NTP)
dhcp-range=set:v6,::,constructor:br-freifunk,slaac,ra-stateless,1h
# ohne IPv6 nimmt dnsmasq selbst eine der IPv6-Adressen vom Interface
dhcp-option=tag:v6,option6:dns-server,::
dhcp-option=tag:v6,option6:ntp-server,::
dhcp-option=tag:v6,option6:domain-search,ffggrz

enable-ra
####low Priority
#ra-param=br-freifunk,low,600,0
ra-param=br-freifunk,low,600,1800

batman-adv

allow-hotplug bat0
iface bat0 inet manual
  hwaddress ether de:ad:be:60:05:01
  up ip link set up dev $IFACE
  down ip link set down dev $IFACE
  post-up sysctl net.ipv6.conf.$IFACE.disable_ipv6=1

  post-up echo 60 > /sys/class/net/$IFACE/mesh/hop_penalty
  post-up echo 1 > /sys/class/net/$IFACE/mesh/bridge_loop_avoidance
  #post-up batctl gw client 45
  #post-up batctl orig_interval 5000
  post-up batctl gw server 96mbit/96mbit
  post-up batctl orig_interval 30000
  post-up batctl multicast_mode 0

Firewall+NAT

IPV4

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

-N DEFAULT_EXIT
-A DEFAULT_EXIT -m connmark --mark 0 -j CONNMARK --set-mark 8

-N BYPASS_exitVPN
-A BYPASS_exitVPN -m pkttype --pkt-type multicast -j RETURN
-A BYPASS_exitVPN -m pkttype --pkt-type broadcast -j RETURN
-A BYPASS_exitVPN -d 10.0.0.0/8 -j RETURN
-A BYPASS_exitVPN -d 169.254.0.0/16 -j RETURN
-A BYPASS_exitVPN -d 172.16.0.0/12 -j RETURN
-A BYPASS_exitVPN -d 192.168.0.0/16 -j RETURN
-A BYPASS_exitVPN -d 100.64.0.0/10 -j RETURN
-A BYPASS_exitVPN -d 192.0.2.0/24 -j RETURN
-A BYPASS_exitVPN -d 198.51.100.0/24 -j RETURN
-A BYPASS_exitVPN -d 203.0.113.0/24 -j RETURN
-A BYPASS_exitVPN ! -s 10.181.0.0/16 -j RETURN
-A BYPASS_exitVPN -m connmark --mark 0 -j DEFAULT_EXIT

-A INPUT -m mark --mark 0 -m connmark ! --mark 0 -j CONNMARK --restore-mark

-A OUTPUT -m mark ! --mark 0 -m connmark --mark 0 -j CONNMARK --save-mark

-A PREROUTING -m mark ! --mark 0 -m connmark --mark 0 -j CONNMARK --save-mark
-A PREROUTING -i br-freifunk -m conntrack --ctstate NEW -m connmark --mark 0 -m mark --mark 0 -j BYPASS_exitVPN
-A PREROUTING -m mark --mark 0 -m connmark ! --mark 0 -j CONNMARK --restore-mark
COMMIT

IPv6

*mangle

:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

-N DEFAULT_EXIT
-A DEFAULT_EXIT -m connmark --mark 0 -j CONNMARK --set-mark 8

-N BYPASS_exitVPN
-A BYPASS_exitVPN -m pkttype --pkt-type multicast -j RETURN
-A BYPASS_exitVPN -m pkttype --pkt-type broadcast -j RETURN
-A BYPASS_exitVPN -d fdb5:078b:64cc::/48 -j RETURN
-A BYPASS_exitVPN -d 2a03:2260:100b::/48 -j RETURN
-A BYPASS_exitVPN -d fe80::/10 -j RETURN
-A BYPASS_exitVPN -d ff00::/8 -j RETURN
-A BYPASS_exitVPN ! -d 2000::/3 -j RETURN
-A BYPASS_exitVPN -m connmark --mark 0 -j DEFAULT_EXIT

-A INPUT -m mark --mark 0 -m connmark ! --mark 0 -j CONNMARK --restore-mark

-A OUTPUT -m mark ! --mark 0 -m connmark --mark 0 -j CONNMARK --save-mark

-A PREROUTING -m mark ! --mark 0 -m connmark --mark 0 -j CONNMARK --save-mark
-A PREROUTING -i br-freifunk -m conntrack --ctstate NEW -m connmark --mark 0 -m mark --mark 0 -j BYPASS_exitVPN
-A PREROUTING -m mark --mark 0 -m connmark ! --mark 0 -j CONNMARK --restore-mark
COMMIT

Allgemein


*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -m connmark --mark 8 -j MASQUERADE
COMMIT

*filter
-A FORWARD -i br-freifunk -o br-freifunk -j ACCEPT
-A FORWARD -i eth0 -o br-freifunk -m connmark --mark 8 -j ACCEPT
-A FORWARD -i br-freifunk -o eth0 -m connmark --mark 8 -j ACCEPT
-A FORWARD -i eth0 -o br-freifunk -j DROP
-A FORWARD -i br-freifunk -o eth0 -j DROP
COMMIT

Probleme

  • fällt ein Gateway irgendwo aus verlieren zufällige Knoten ihre ganzen Gateway-Einträge, wodurch kein DHCP für eine kurze möglich ist.
  • kein intercity-VPN
  • nur bedingt IPv6 (falls überhaupt beim Uplink vorhanden)
  • statisches DHCP
Details
Geschrieben von: Marcus
Kategorie: Server
Veröffentlicht: 23. November 2021
Zuletzt aktualisiert: 13. Dezember 2017

LXC im Mesh (Debian)

Unter der Annahme dass schon batman-adv läuft, eingerichtet ist und br-client die Mesh-Bridge ist

Host-Konfiguration

Installation

sudo apt-get install lxc

ohne LVM

sudo lxc-create -n mein-container -t debian

mit LVM

lxc-create -t debian -n mein-container -B lvm --vgname lvm-gruppe --lvname lxc-mein-container --fssize 4G --fstype ext4
lxc-start -n mein-container
lxc-attach -n mein-container passwd

Konfiguration

/var/lib/lxc/marcus/config:

lxc.start.auto = 1
lxc.mount = /var/lib/lxc/marcus/fstab
lxc.rootfs = /var/lib/lxc/marcus/rootfs
lxc.utsname = marcus


lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br-client
lxc.network.name = eth0

# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf

# Container specific configuration
lxc.arch = amd64
lxc.autodev = 1
lxc.kmsg = 0

Container-Konfiguration (im Container!)

/etc/network/interfaces:

auto lo
iface lo inet loopback
# DHCP
#auto eth0
#iface eth0 inet dhcp

# Static
auto eth0
iface eth0 inet static
  address 10.181.0.251
  netmask 255.255.192.0
  #gateway 10.181.0.12
  post-up ip route add default via 10.181.0.11 dev eth0 metric 100
  post-up ip route add default via 10.181.0.12 dev eth0 metric 200
  post-up ip route add default via 10.181.0.13 dev eth0 metric 300
  #dns-nameservers 10.181.0.11 10.181.0.12 10.181.0.13
  #dns-search ffggrz
iface eth0 inet6 static
  address fdb5:78b:64cc::251
  netmask 64

/etc/resolv.conf:

{{{ domain ffggrz search ffggrz. nameserver 10.181.0.202 nameserver 10.181.0.11 nameserver 10.181.0.12 nameserver 10.181.0.13 nameserver 10.181.0.201 }}}
Details
Geschrieben von: Marcus
Kategorie: Server
Veröffentlicht: 23. November 2021
Zuletzt aktualisiert: 13. Dezember 2017

batman-adv und alfred übersetzen (Debian)

Pakete

# sudo apt-get install linux-headers-amd64
sudo apt-get install build-essential cmake bison libcap-dev libsodium-dev libjson-c-dev bridge-utils xz-utils wget pkg-config libnl-genl-3-dev libnl-3-dev
sudo apt-get remove batctl

batman-adv

cd /usr/local/src

wget https://downloads.open-mesh.org/batman/releases/batman-adv-2021.1/batman-adv-2021.1.tar.gz
tar -xf batman-adv-2021.1.tar.gz
cd batman-adv-2021.1/
make
sudo make install

batctl

cd /usr/local/src

wget https://downloads.open-mesh.org/batman/releases/batman-adv-2021.1/batctl-2021.1.tar.gz
tar -xf batctl-2021.1.tar.gz
cd batctl-2021.1/
make
sudo make install

alfred

libuecc

cd /usr/local/src

wget https://git.universe-factory.net/libuecc/snapshot/libuecc-7.tar
tar -xf libuecc-7.tar
cd libuecc-7/
cmake .
make
sudo make install
sudo ldconfig

alfred

{{{ cd /usr/local/src

wget https://downloads.open-mesh.org/batman/releases/batman-adv-2017.3/alfred-2017.3.tar.gz tar -xf alfred-2017.3.tar.gz cd alfred-2017.3/ make CONFIG_ALFRED_GPSD=n sudo make CONFIG_ALFRED_GPSD=n install }}}

Details
Geschrieben von: Eric
Kategorie: Server
Veröffentlicht: 23. November 2021
Zuletzt aktualisiert: 04. Juli 2021
RSS

Freifunk Community Feeds

  • ffradio107: Total übersteuert
    29. März 2023
  • Freifunk-Treffen am 13. März 2023 – vor Ort und virtuell
    12. März 2023
  • Firmware Update 2022.1.3.0
    10. März 2023
  • Transparenter Proxy trifft VPN trifft SSH
    09. März 2023
  • Netzmodernisierung
    09. März 2023
  • WireGuard auf OpenWrt
    09. März 2023
  • Mitgliederversammlung 2023
    08. März 2023
  • Neue Beta 0.16.4 bringt Bugfixes
    07. März 2023
  • Neue Firmware
    02. März 2023
  • Einladung zur Mitgliederversammlung des Freifunk Mainz e.V. am Donnerstag, 23.03.2023 (19 Uhr)
    01. März 2023

Veranstaltungen / Ereignisse

Mi März 29 @18:00 - 22:00
namespace geöffnet
Mi Apr. 05 @18:00 - 22:00
namespace geöffnet
  • Willkommen
  • Impressum
  • Kontakt
© 2023 Bürgernetz Gera-Greiz e.V.