Initial commit
|
@ -1,7 +1,7 @@
|
|||
.aux
|
||||
.log
|
||||
.nav
|
||||
.out
|
||||
.pdf
|
||||
.snm
|
||||
.toc
|
||||
*.aux
|
||||
*.log
|
||||
*.nav
|
||||
*.out
|
||||
*.pdf
|
||||
*.snm
|
||||
*.toc
|
||||
|
|
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 147 KiB |
After Width: | Height: | Size: 81 KiB |
|
@ -0,0 +1,224 @@
|
|||
\documentclass{beamer}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{wrapfig}
|
||||
\graphicspath{ {./images/} }
|
||||
\usetheme{metropolis} %Usemetropolistheme
|
||||
|
||||
\title{Ein Rechenzentrum zum Preis eines Multiroom Audio Systems}
|
||||
\date{\today}
|
||||
\author{Georg}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\begin{frame}{Wie alles began...}
|
||||
Ich will ein Multiroom-Audio-System!
|
||||
\begin{itemize}
|
||||
|
||||
\item Musik in jedem Raum hören (Küche, Bad, 2 Zimmer)
|
||||
\item Zugriff auf gesamte Musikbibliothek
|
||||
\item Steuerung von jedem Gerät
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Wie alles begann...}
|
||||
\includegraphics[width=\textwidth]{sonos}
|
||||
Gesamtpreis: 796 €
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Wieso die Idee blöd ist...}
|
||||
Mensch kauft kommerziellen Mist ...
|
||||
\begin{itemize}
|
||||
\item ... den man nicht hacken kann ...
|
||||
\item ... den man nicht reparieren kann ...
|
||||
\item ... der nur eine Sache kann ...
|
||||
\item ... der Nutzer*innen in ein Ökosystem einsperrt ...
|
||||
\item ... der sau teuer ist
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Disclaimer}
|
||||
Es gibt auch noch andere kommerzielle Angebote dieser Art, die genauso blöd sind.
|
||||
|
||||
Und es geht sogar noch blöder: Mit Google Home oder Alexa gibt es Überwachung GRATIS OBEN
|
||||
DRAUF!!!
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Was dann?}
|
||||
\begin{wrapfigure}{r}{0.5\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.5\textwidth]{snapcast}
|
||||
\end{wrapfigure}
|
||||
Setup:
|
||||
\begin{itemize}
|
||||
\item 4 Raspberry Pi
|
||||
\item 4 günstige Boxen oder Stereoanlagen
|
||||
\item Mopidy als Musikquelle (Dateien, Internetradio, Funkwhale ...)
|
||||
\item Snapcast als Multiroom-"Verteiler"
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Kosten}
|
||||
\begin{itemize}
|
||||
\item 4 * Raspberry Pi = 4 * 50€
|
||||
\item 4 * Stereoanlage/Boxen = 4 * 50€
|
||||
\item Summe: 400€
|
||||
\item Rest: 396€
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Das "Problem"}
|
||||
\includegraphics[width=\textwidth]{langeweile}
|
||||
Langeweile bei Mensch und Gerät
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Die Möglichkeiten}
|
||||
\begin{itemize}
|
||||
\item eine Spielwiese zum experimentieren
|
||||
\item im lokalen Netzwerk Daten verfügbar machen
|
||||
\item Webservices hosten?
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{1. Erweiterung: NAS}
|
||||
|
||||
\begin{block}{NAS}
|
||||
Network Attached Storage (NAS, englisch für netzgebundener Speicher) bezeichnet einfach zu verwaltende Dateiserver.
|
||||
\end{block}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{1. Erweiterung: NAS}
|
||||
Hardware:
|
||||
\begin{itemize}
|
||||
\item RockPro64
|
||||
\item PCIe SATA-Adapter
|
||||
\item 2 x 1TB HDD
|
||||
|
||||
\item Summe: 125€
|
||||
\item Rest: 271€
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{1. Erweiterung: NAS}
|
||||
|
||||
Software
|
||||
\begin{itemize}
|
||||
\item openmediavault (einfach zu installieren, viele Features)
|
||||
\item Wechsel zu dietpi + mdadm RAID + Einbindung auf Notebooks via sshfs
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{2. Erweiterung: Docker Swarm}
|
||||
\begin{columns}[t]
|
||||
\begin{column}{0.5\textwidth}
|
||||
\begin{block}{einzelner Server}
|
||||
\begin{itemize}
|
||||
\item Bündelung der Hardware in ein System
|
||||
\item kaum zusätzlicher Verwaltungsaufwand
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{column}
|
||||
\begin{column}{0.5\textwidth}
|
||||
\begin{block}{verteiltes System}
|
||||
\begin{itemize}
|
||||
\item Verteilung der Hardware auf mehrere Systeme
|
||||
\item Spezialisierung möglich
|
||||
\item vermeintlich höhere Ausfallsicherheit
|
||||
\item einfache Erweiterbarkeit
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{2. Erweiterung: Docker Swarm}
|
||||
\begin{wrapfigure}{r}{0.5\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.3\textwidth]{cake}
|
||||
\end{wrapfigure}
|
||||
Features:
|
||||
\begin{itemize}
|
||||
\item Aufbrechen der Dienste in Unteraufgabenaufgaben
|
||||
\item Zuteilung der Unteraufgaben an Worker
|
||||
\item Reaktion auf Ausfälle einzelner Worker
|
||||
\item Load-Balancing
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{2. Erweiterung: Docker Swarm}
|
||||
\center
|
||||
\includegraphics[width=\textwidth]{ingress-routing-mesh}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{2. Erweiterung: Docker Swarm}
|
||||
aktuelle Services:
|
||||
\begin{itemize}
|
||||
\item Gitea
|
||||
\item Drone CI
|
||||
\item Grafana
|
||||
\item Prometheus
|
||||
\item Cryptpad
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{3. Erweiterung: GlusterFS}
|
||||
\begin{block}{Problem}
|
||||
Wenn das NAS ausfällt, fallen ALLE Dienste aus, weil die Daten nicht mehr verfügbar sind.
|
||||
\end{block}
|
||||
\begin{block}{SPOF}
|
||||
Unter einem Single Point of Failure (kurz SPOF bzw. deutsch einzelner Ausfallpunkt) versteht
|
||||
man einen Bestandteil eines technischen Systems, dessen Ausfall den Ausfall des gesamten
|
||||
Systems nach sich zieht.
|
||||
\end{block}
|
||||
\begin{block}{Lösungsansatz}
|
||||
verteilte Dateisysteme: Ceph, Gluster
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[t]{3. Erweiterung: GlusterFS}
|
||||
\begin{wrapfigure}{l}{0.5\textwidth}
|
||||
\centering
|
||||
\includegraphics[width=0.5\textwidth]{replicated}
|
||||
\includegraphics[width=0.5\textwidth]{distributed}
|
||||
\end{wrapfigure}
|
||||
Features:
|
||||
\begin{itemize}
|
||||
\item Spiegelung
|
||||
\item Verteilung
|
||||
\item Erasure Code
|
||||
\item Geo-Replication
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Exkurs: Erasure Codes}
|
||||
\includegraphics[width=\textwidth]{erasure}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{3. Erweiterung: GlusterFS}
|
||||
Hardware:
|
||||
\begin{itemize}
|
||||
\item HDDs recycelt aus Notebooks + SATA-USB-Adapter (35€)
|
||||
\item übrigens Geld: 236€
|
||||
\item Spendenaufruf: 2,5" HDDs/SSDs, gern alt
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\includegraphics[width=\textwidth]{nest}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Ausblick}
|
||||
\begin{itemize}
|
||||
\item Ordnung machen
|
||||
\item Mehr Dienste
|
||||
\item ... Vorschläge? :) ...
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
Fragen?\\ \pause
|
||||
Vielen Dank fürs zuhören. DIY ftw, squat the web!
|
||||
\end{frame}
|
||||
\end{document}
|