Mein Zeil war zuerst ein KleinCluster mit 2-3 Raspberry Pi3 für verschiedene Anwendungen wie:
Webserver, Flugüberwachung und Flugfunk für FR24, Smarthaus, Wettercam usw.
Doch irgendwann reichte das ganze nicht mehr aus.
Da wurden aus 2-3 Raspi inzwischen 8 Raspi PI3 im 2x4 Clusterverbund.
Was macht so der Cluster aus 2x4 =8 Raspi inzwischen?
1 x 4 Raspberry PI arbeiten im Clusterverband zum Mining von Smart Coin
1 x 4 Raspberry PI arbeiten im Clusterverband zum Mining von LiteCoin(LTC)
2 Raspi davon laufen zusätzlich als Loadbalancer für Webseiten.
1 Raspi unterstüzt FR24
1 Raspi Smarthaus und Videoüberwachung
1 Raspi Telegrambot,Instagrambot für Bild aus der Wettercam & Wetterdaten mit Upload auf Instagram
1 Raspi als Logger
1 Raspi Nur für Solarüberwachung und Windkraftüberwachung
1 Raspi Backup & Scriptelager
Sie sehen man kann viel machen. als Allzweckpferd ist ein Raspberry PI3 perfect.
Natürlich kann ein Raspi nicht alles machen, sonst wären die Webhoster am Ende.
Irgendwann muss ich leider den 8 Raspi Pi3 Cluster ersetzen durch einen
8 Raspberry PI4x8GB Cluster.
Da aber der Cluster aus Raspberry PI3 mit Solarstrom betrieben wird, sehe ich noch kein Ende.
Und nun viel Spass beim basteln, ausprobieren und vielleicht ernten sie bald ihre eigenen Smart Coins oder LiteCoin (LTC).
Die aktuellen Live - Charts für 1 Smart Cash und 1 Litecoin LTC zum Euro
Diese Charts werden Bereitgestellt von Investing.com
Digitale Währung mit einen Raspi 3
Die wichtigsten Informationen in der Beschreibung ..
Heute zeige ich euch, wie ihr die CPU Mining Software auf einem Raspberry Pi einrichten könnt. Damit könnt ihr dann Mining betreiben.
* Hinweis 1: Jahresstromverbrauch liegt bei Mittellast von ca. 5,50 Euro.
* Hinweis 2: Mining dauert, also starten und irgendwo in die Ecke stellen und laufen lassen.
* Hinweis 3: meine 3 Miner laufen seit 20.09.2020 mit Strom aus PV Solar und Akku.
* Hinweis 3.1: Raspberry mit normalen Stromverbrauch an der Steckdose
Im Bildbeispiel ist die Berechnung bei Vollast
Linux Befehle:
sudo apt-get update && sudo apt-get upgrade -y
Dann speichern euren Crontab meist mit (Nano) STRG und X dnanach STRG und Y oder mit(VI) ESC drücken und dann :wq Und jetzt nach Abschluss, einfach sudo reboot auf der Console eingeben und Enter drücken.
Ich nutze kein Suche nach Ethereum Coin, BitCoin oder Monero XMR
Aufwand und Nutzen.
Und nun bauen wir uns einen Raspberry Pi3 Cluster auf
Doch was brauchen wir alles dazu ?
3 x Raspberry PI3 + 3 x Netzteil
** Für den Anfang reichen 3 gebraucht Raspberry PI3 aus Bsp. Ebay oder Ebay-Kleinanzeigen
3 x neue Mini SD-Karten 16GB reichen vollkommen aus.
3 x Patchkabel 20-50 cm lang.
1 x Lankabel 1 - 1,5 meter für Verbindung , Router <==> Switch
1 x Switch 5 Port
Nun haben wir alles. OK. Lass die Spiele beginnen........
Als erstes Installieren wir ein ganz frisches Linux Images auf die erste SD Karte.
Nach dem wir Zugang zu Raspberry Pi haben, ändern wir zuerst das Passwort.("Eigentlich logisch")
Danach auf der Console folgenden Befehl ausführen:
Danach: sudo rpi-update
und wir führen einen Reboot durch mit: sudo reboot
Jetzt passen wir das System an mit:
sudo raspi-config
Im Menü gehen wir wie folgt vor:
1 System Option => S4 Hostname und geben den Namen node1 ein
4 Performace Option = P2 GPU Memory tragen wir 16 ein
6 Advaneced Option => A1: Expand Filesystem
Dann auf Finish und das System rebootet.
Als nächstes installieren wir alles für das Clustersystem
Mehr brauchen wir nicht dazu.
Den Raspberry herunterfahren mit : sudo shutdown -h now
Als nächstes entfernern wir die SD-Karte und ziehen ein Images mit "Win32 Disk Imager" bsp. "Cluster-Images.img"
Das Images wird anschließend auf die anderen SD-Karten für die anderen Raspberry übertragen.
Jetzt passen wir unser System dem Netzwerk und allen anderen an:
Schritt 1 auf jeden Raspberry eintragen und anpassen:
Jetzt passen wir das System an mit:
sudo raspi-config
Im Menü gehen wir wie folgt vor:
1 System Option => S4 Hostname und geben den Namen bei dem 2. Raspi node2 und dann beim 3. Raspi node3 ein
Dann auf Finish und das System rebootet.
Schritt 2 auf jedem der 3 Raspberry
Befehl ifconfig
sudo nano /etc/dhcpcd.conf
Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!
Wir haben ja die Raspberry Pi nicht nur gekauft für das Mining. NEIN
Er kann jetzt auch unsere private Webseite hosten und das mit Loadbalancing.
Und das in ganz wenigen Schritten.
So nutzen wir die Ressourcen der Raspberry PI's
Vorbereitung
Ihr Raspberry hat eine gültige IP Konfiguration und ist im DNS eingetragen
Die Namensauflösung funktioniert auf ihrem Raspberry PI
wir starten mit Zwei Web-Server (WEB1 und WEB2)
Auf beiden Web-Servern ist eine individuelle „index.htm“ hinterlegt. Hinterlegen Sie den Namen jedes Server in der jeweiligen „index.htm“
Als erstes brauchen wir eine Domain. OK. Für den ersten Anfang reicht einen Subdomain.
Einfach bei https://www.duckdns.org anmelden und sich eine Subdomain registieren.
Das ist Kostenlos.
Schritt 1: Installation der Webservers auf allen 3 node
sudo apt-get install nginx
Öffnen Sie die Datei „/etc/nginx/sites-available/default“ mit einem Editor.
sudo nano /etc/nginx/sites-available/default
Passen Sie die config in der Datei „default“ wie nachfolgende beschrieben an. Bei dieser Konfiguration handelt es sich um eine klassische Lastenverteilung (Round Robin)
upstream www {
server web1.homeserver.de;
server web2.homeserver.de;
}
server {
listen 80;
server_name pi.homeserver.de;
location / {
proxy_pass http://www;
}
}
sudo service nginx restart
Beispiel Konfiguration Load-Balancing mit Gewichtung
Bei dieser Konfiguration wird der erste Web-Server zu 50% belastet
upstream www {
server web1.homeserver.de weight=2;
server web2.homeserver.de;
}
Konfiguration Load-Balancing mit IP-Hash
Beim dieser Konfiguration wird die Client IP herangezogen und der Client terminiert immer auf dem selben Server.
upstream www {
ip_hash;
server web1.homeserver.de;
server web2.homeserver.de;
}
Funktioniert alles, dann machen wir es uns die Arbeit leicht.
Wollen wir jedesmal die Webseiten mehrfach hochspielen? Ich denke nein. Einmal reicht aus.
NUR auf dem node1 Raspberry:
sudo nano /etc/exports
Folgende Zeile eintragen: /var/www/html *(rw,sync,no_root_squash,no_subtree_check)
sudo chmod -R 777 /var/www/html/
sudo chown www-date:www-data /var/www/html
sudo service rpcbind restart
sudo exportfs -a
sudo service nfs-kernel-server restart
NUR auf dem node2 und node 3 Raspberry:
Test auf node2 und node3 die Verbindung
sudo mount -t nfs note1:/var/www/html /var/www/html
Funktioniert ? Oki Doki => Auf node2 und node 3
Diese Installation ist ohne SSL-Verschlüsselung und php Erweiterung.
Feinheiten und wie oben beschrieben Optimierungen sollte jeder selbst für sich herausfinden.
Optimierung Loadbalancer https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/
Kostenloses Letsencrypt SSL Cert für Nginx
Wollen Sie den WebCluster und Loadbalancer aktiv nutzen.
Benötigen Sie eine echte Domain mit dynamischen IP Update
SSL Verschlüsselung auf dem Loadbalancer
Portfreigabe für Port 80 und Port 443 auf ihrem Heimrouter
SSH Sperre für externen Zugriff
Tip: sudo nano /etc/ssh/sshd_config
Protocol 2
PermitEmptyPasswords no
PermitRootLogin no
speichern und danach sudo service ssh restart
Der erste einfach Schutz ist fertig
Externer SSH Zugriff nur mit VPN Lösung oder SSH Tunnel
Dazu installieren wir: sudo apt-get install autossh
Hier ein Snipped-Code
Wir suchen uns einen der 3 Node aus
Nennen wir das Script: ssh-tunnel-auto.sh
cd /home/pi
nano ssh-tunnel-auto.sh
Das script starten wir automatisch im crontab
@reboot sleep 30; cd /home/pi/ &&sudo ./ssh-tunnel-auto.sh &
Portfreigabe und Weiterleitung auf dem Homerouter einrichten.
Externer Port 7739 routet auf den ausgesuchten node intern auf Port 22
Und schon können Sie mit einem Putty Client mit sssh auf Port 7739 auf ihren Homeserver zugreifen.
Nicht zu vergessen einen Firewall zu installieren mit sudo apt-get install fail2ban
Brauchen Sie noch einen FTP Server für Ihre Webseite auf dem Webseiten Cluster ? Kein problem.
Jetzt überlegen wir, muss der FTP von aussen erreichbar sein ? oder kann man das von intern abwicklen.
Wenn es intern aussreicht, dann keine SSH Tunnel nutzten und kein Portforward im Heimrouter anlegen und freigeben.
Und lassen den letzten externen Schritt aus.
Erklärt in wenigen Schritte.
sudo apt-get install proftpd
und sobald das Menü fur den Proftpd kommt, einfach standalone anklicken.
fertig.
sudo nano /etc/proftpd/proftpd.conf
DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off
Letzter externe Schritt:
Für externes Hochspielen müssen sie noch den FTP Port 7740 für extern und auf intern Port 21 am Heimrouter freigeben.
Das SSH Tunnelscript anpassen wie z.b. -R 7740:localhost:21
Das würde dann so in der Art aussehen.
Ein Beispiel:
Stromsparen beim Raspberry :
Zur Installation braucht man einen Monitor. aber danach nun nicht mehr. Also AUS damit.
Und das ganz einfach im Crontab. Wir haben ja SSH.
# Wir sparen den Strom für HDMI nach 10 Minuten geht der HDMI Port auf aus.
@reboot sleep 620; /opt/vc/bin/tvservice -o > /dev/null 2>&1
Unsere Raspberry arbeiten im Netzwerk mit Kabel. Brauchen wir dazu Bluetooth und Wlan? NEIN. Also ebenfalls AUS damit.
sudo nano /boot/config.txt
dtoverlay=disable-wifi
dtoverlay=disable-bt
Ob man jetzt noch die LED ausschaltet? Jeder sollte selbst enscheiden. Ich lasse die an.
Da wir LAN benötigen, können wir kein USB deaktivieren.
USB bleibt an damit man dort einen extrenen USB Platte anschließen kann als Backuplösung, Sicherungslösung
Ansicht :: Home| Kontakt Copyright 2014-2024 by www.binecho.de. All rights reserved
Die Vervielfältigung, insbesondere das Kopieren unserer Websites,
Grafiken und Sourcecodes ist nicht gestattet (§§53,54 UrhG) und strafbar (§ 106 UrhG).
Im Fall der Zuwiderhandlung wird Strafantrag gestellt!