IT-Wissen Basics IT-Basics, die jedem Informatiker bekannt sein müssen RAID Quelle: https://www.globalsystem.ch/ratgeber/raid-systeme-erklaert/ Ein RAID (Redundant Array of Independent Disks oder zu Deutsch: Redundante Anordnung unabhängiger Festplatten) zielt darauf ab, Daten sicher zu speichern, ohne dass diese verloren gehen. Dabei verwendet das RAID-System meist ein redundantes Verfahren. Speicherungstechniken von RAID-Systemen: Spiegelung: Bei der Spiegelung (engl. Mirroring) wird ein Datensatz «AB» komplett auf zwei verschiedenen Festplatten abgespeichert. Beim Ausfall einer Platte gehen keine Informationen verloren, da der ganze Datensatz auch auf der zweiten Platte vorhanden ist. Streifen: Beim Streifen (engl. Striping) wird ein Datensatz «AB» aufgeteilt und auf mehrere aufeinanderfolgende Festplatten gespeichert. Beim Ausfall einer Platte sind alle Informationen verloren, da sämtliche Platten benötigt werden um den Datensatz vollständig lesen zu können. Mit Streifen wird die Lese- und Schreibgeschwindigkeit erhöht, da von mehreren Festplatten gleichzeitig gelesen werden kann. Parität: Parität (engl. Parity) ergänzt jeden Streifen mit der Möglichkeit in einen Datensatz verlorene Informationen wiederherzustellen. Ein Datensatz «AB» wird mit Streifen auf mehrere Platten verteilt. Auf einer zusätzlichen Platte wird für jeden Streifen ein Paritätswert «P» errechnet. Fällt eine Platte aus, kann mit Hilfe der Parität die fehlende Information errechnet werden. Ein vereinfachtes Beispiel: Sie speichern auf zwei Festplatten je eine Zahl: 4 und 7. Auf der dritten Paritäsplatte speichern Sie die Summe der beiden Zahlen: 11. Fällt eine der beiden Platten aus, können Sie mit Hilfe der Summe die fehlende Zahl berechnen. RAID-Systeme: RAID 0: Bei einem RAID 0 werden mindestens 2 Festplatten benötigt. Die Daten werden dabei auf mehrere Festplatten verteilt, wenn eine Festplatte ausfällt, wären alle Daten verloren. Ein RAID 0 ist ein Verfahren ohne irgendeinen Schutz vor Verlust, da aber von beiden Festplatten gleichzeitig gelesen werden kann, ist die Lese- und Schreibgeschwindigkeit sehr hoch. Die Nutzungskapazität der verfügbaren Laufwerke beträgt 100%. Zusammenfassung: Technik: Streifen Vorteil: Extrem schnell Nachteil: Keine Ausfallsicherheit von Daten Anwendungsbeispiel: Laufwerk für Datenbankserver RAID 1: Bei einem RAID 1 werden mindestens 2 Festplatten benötigt. Dieselben Daten werden dabei auf beiden Festplatten gespeichert. Dies hat Vor- und Nachteile: Einerseits sind die Daten noch vorhanden, wenn eine Festplatte ausfallen würde, andererseits braucht man die doppelte Anzahl Festplatten, weil die effektive Speicherkapazität halbiert wird. Die Nutzungskapazität der verfügbaren Laufwerke beträgt daher 50%. Zusammenfassung: Technik: Spiegelung Vorteil: Schnell mit Ausfallsicherheit Nachteil: Tiefe Nutzungskapazität Anwendungsbeispiel: Laufwerk für das Betriebssystem RAID 5: Bei einem RAID 5 benötigt man mindestens 3 Festplatten. Die Daten werden auf alle Festplatten verteilt. Zusätzlich wird ein Paritätswert errechnet und gespeichert. Wenn eine Festplatte ausfallen sollte, kann der RAID-Kontroller anhand dieser Parität die fehlenden Daten errechnen. Dieses Verfahren benötigt zwar eine Festplatte weniger als ein entsprechendes RAID 1 System, es muss aber für alle Daten eine Paritätswert berechnet werden, was mehr Rechenleistung benötigt. Ein RAID 5-System kann aus maximal 16 Festplatten bestehen. Die Nutzungskapazität der im RAID 5 verfügbaren Laufwerke beträgt 67% - 94% (Gesamtkapazität minus 1 Laufwerk). Zusammenfassung: Technik: Streifen mit Parität Vorteil: Ausfallsicherheit Nachteil: Langsame Schreibgeschwindigkeit Anwendungsbeispiel: Laufwerke für Archivsysteme RAID 6: Bei einem RAID 6 benötigt man mindestens 4 Festplatten. Anstelle eines einzigen Paritässchemas, verwendet RAID 6 zwei Schemata («P» und «Q»). Das heisst, es können maximal 2 Festplatten ausfallen, ohne dass Daten verloren gehen. Das Speichern von Daten ist aufwendiger als bei RAID 5, da jedes Mal 2 Paritätsaktualisierungen berechnet und geschrieben werden müssen. Die Lesegeschwindigkeit ist gleich schnell wie RAID 5, es eignet sich daher besonders für Archivierungssysteme bei denen viel gelesen, aber wenig geschrieben wird. Ein RAID 6 kann aus maximal 16 Festplatten bestehen. Die Nutzungskapazität der im RAID 6 verfügbaren Laufwerke beträgt 50% - 88% (Gesamtkapazität minus 2 Laufwerke). Zusammenfassung: Technik: Streifen mit doppelter Parität Vorteil: Hohe Ausfallsicherheit Nachteil: Sehr langsame Schreibgeschwindigkeit Anwendungsbeispiel: Archivsysteme, hochverfügbare Lösungen, Server mit hohen Kapazitätsanforderungen RAID 10: Das RAID 10 vereint das RAID 0 und 1 miteinander. Dafür werden mindestens 4 Festplatten benötigt. Die Daten werden zuerst mit Streifen in 2 Teile aufgeteilt (RAID 0) und anschliessend gespiegelt abgespeichert (2 x RAID 1). Diese Variante überzeugt durch seine Geschwindigkeit, ist aber mit höheren Kosten verbunden. Die Nutzungskapazität der verfügbaren Laufwerke beträgt 50%. Zusammenfassung: Technik: Spiegelung, Streifen Vorteil: Sehr schnell mit Ausfallsicherheit Nachteil: Nutzungskapazität gering Anwendungsbeispiel: Laufwerke für virtuelle Server RAID 50: Das RAID 50 kombiniert mehrere RAID 5 mit einem RAID 0. Es werden mindestens 6 Festplatten benötigt. Durch das RAID 0 kann die Zugriffsgeschwindigkeit des RAID 5 erhöht werden. Es lassen sich so auch sehr grosse logische Laufwerke aufbauen. Pro RAID 5 kann eine Festplatte ausfallen. Die Nutzungskapazität von RAID 50 beträgt je nach der Anzahl der im betreffenden RAID 5 verfügbaren Datenlaufwerke 67% - 94% (Gesamtkapazität minus 1 Laufwerk). Zusammenfassung: Technik: Streifen mit Parität Vorteil: Sehr schnell mit Ausfallsicherheit Nachteil: Leseleistung mittelmäßig Anwendungsbeispiel: Archivsysteme, Anwendungsserver RAID 60: Das RAID 60 kombiniert mehrere RAID 6 mit einem RAID 0. Es werden mindestens 8 Festplatten benötigt. Durch das RAID 0 kann die Zugriffsgeschwindigkeit des RAID 6 erhöht werden. Es lassen sich so auch sehr grosse logische Laufwerke aufbauen. Pro RAID 6 können zwei Festplatten ausfallen. Die Nutzungskapazität von RAID 60 beträgt je nach der Anzahl der im betreffenden RAID 6 verfügbaren Datenlaufwerke 50% - 88% (Gesamtkapazität minus 2 Laufwerke). Zusammenfassung: Technik: Streifen mit doppelter Parität Vorteil: Hohe Ausfallsicherheit Nachteil: Sehr langsame Schreibgeschwindigkeit Anwendungsbeispiel: Archivsysteme, Backup-Storage, hochverfügbare Lösungen, Server mit hohen Kapazitätsanforderungen Berechnung: Um sich aufwendige Berechnungen zu sparen gibt es im Internet viele RAID-Kalkulatoren, mithilfe denen sich Kapazität bei bestimmten Festplattenkonfigurationen und RAID-Levels berechnen lässt. Sehr einfach und angenehm in der Bedienbarkeit ist der Rechner von Seagate: https://www.seagate.com/de/de/products/nas-drives/raid-calculator/ Datenbanken SQL-Befehlsübersicht DDL (Data Definition Language) Datenbanken anlegen, löschen, auswählen: SQL-Befehl Beschreibung Beispiel CREATE DATABASE db_name Erstelle die Datenbank db_name CREATE DATABASE autovermietung DROP DATABASE db_name Lösche die Datenbank db_name DROP DATABASE autovermietung USE db_name Auswahl der Datenbank, auf welchre die folgenden SQL-Befehle ausgeführt werden sollen USE autovermietung Tabellen und Indizes erzeugen, ändern und löschen: SQL-Befehl Beschreibung Beispiel CREATE TABLE IF NOT EXISTS tb_name Erstelle die Tabelle tb_name falls diese noch nicht existiert CREATE TABLE kunden (kd_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, kd_name VARCHAR(30) NOT NULL); CREATE INDEX ... ON ... CREATE UNIQUE INDEX ... ON ... Erstelle einen eindeutigen Index CREATE INDEX kunden_name ON kunde (kd_name); ALTER TABLE ... ADD ADD INDEX ADD PRIMARY KEY ADD UNIQUE RENAME AS MODIFY CHANGE DROP COLUMN Ändere die Struktur der Tabelle, etwa durch Hinzufügen eines Index (z.B. zum Durchsuchen), Primärschlüssels, usw. ALTER TABLE kunden ADD INDEX kunden_name (kd_name); ALTER TABLE kunden RENAME AS kunde; ALTER TABLE kunden MODIFY kd_name varchar(50); ALTER TABLE kunden CHANGE kd_nname name varchar(30); ALTER TABLE kunde ADD mobile varchar(20); DROP TABLE ... Lösche Tabelle aus DB DROP TABLE kunden; DROP INDEX ... Entferne den Index DROP INDEX kunden_name; DML (Data Manipulation Language) SQL-Befehl Beschreibung Beispiel INSERT INTO ... VALUES ... Einfügen eines oder mehrerer Datensätze. Die Reihenfolge der Werte richtet sich nach der Reihenfolge der angegebenen Attribute INSERT INTO kunden (kd_id, kd_name, kd_vname) VALUE (NULL, "Mustermann", "Max"), (NULL, "Musterfrau", "Frieda"); UPDATE ... SET ... WHERE ... Ändern von Werten eines oder mehrerer Datensätze UPDATE kunden SET kd_nname = "Mustermann" WHERE kd_id=42; DELETE ... FROM ... Löschen eines Datensatzes DELETE FROM kunden WHERE kd_name = "Mustermann"; DQL (Data Query Language) SQL-Befehl Beschreibung Beispiel SELECT ... FROM ... WHERE ... GROUP BY ... ORDER BY ... HAVING ... LIMIT ... SELECT * FROM kunden; SELECT kd_ort, COUNT(kd_ort) FROM kunden GROUP BY kd_ort; SELECT COUNT(*) FROM kunden WHERE kd_ort = "Hof"; SELECT * FROM kunden ORDER BY kd_name; SELECT ... AS ... Dem Feldnamen (Attribut) wird ein anderer Name gegeben (= Alias) SELECT kd_id AS Kundennummer FROM kunden; Funktionen SQL-Befehl Beschreibung Beispiel COUNT(ausdruck) Anzahl aller Datensätze SELECT COUNT(*) FROM kunden; SUM(ausdruck) Summe SELECT SUM(po_preis) FROM posten; MAX(ausdruck) Maximum SELECT MAX(po_preis) FROM posten; MIN(ausdruck) Minimum AVG(ausdruck) Durchschnitt ABS(ausdruck) Betrag NOW() Gibt das aktuelle Datum mit Uhrzeit im Format "JJJJ-MM-TT hh:mm:ss" zurück YEAR(date) MONTH(date) DAY(date) HOUR(date) MINUTE(date) SECOND(date) Geben die aktuellen Zeit-Werte dem Namen nach zurück SELECT * FROM kunden WHERE YEAR(gebdat) > 2000 DATEDIFF(datum1, datum2) Berechnet die Differenz der Tage datum1 - datum2 mit Vorzeichen Informationen aus verschiedenen Tabelle holen (JOIN) SQL-Befehl Beschreibung Beispiel SELECT ... FROM ... JOIN ... ON ... Schnittmenge, d.h. nur Kunden mit zugehörigen Aufträgen SELECT * FROM kunden JOIN auftraege ON kd_id = au_kd_id; LEFT JOIN ... ON ... Alle Kunden (auch die ohne Auftrag!) und zugehörige Aufträge SELECT * FROM kunden LEFT JOIN auftraege ON kd_id = au_kd_id; Operatoren SQL-Befehl Beschreibung Beispiel >, <, >=, =, != Boolsche Operatoren zum Vergleich zweier Werte SELECT * FROM kunden WHERE kd_ort = "Hof"; IN, NOT IN Prüfung, ob sich ein Attribut innerhalb einer Untermenge befindet. Häufig verwendet bei Sub-Selects SELECT * FROM kunden WHERE kd_id IN (1,3,5); BETWEEN ... AND ... Prüfung eines Attributs, ob es sich zwischen den beiden Werten befindet SELECT * FROM kunden WHERE kd_id BETWEEN 10 AND 20; LIKE Prüfung auf ähnliche Strings. Mit dem Platzhalter % werden im Beispiel Musterfrau und Mustermann erkannt SELECT * FROM kunden WHERE kd_nname LIKE "Muster%"; AND, OR, NOT Verknüpfung von boolschen Ausdrücken über UND, ODER und NICHT SELECT * FROM kunden WHERE kd_name LIKE "%ust%" AND kd_ka_id = 1; Unterschiedlichste Themen FRITZ!Box ISP-Branding entfernen Oft gehört einem die von Intenetanbieter gemietete FRITZ!Box nach einer gewissen Vertragslaufzeit und man darf damit nun tun und lassen, was man will, ohne gegen Verträge zu verstoßen. Das Problem: Die FRITZ!Box behält trotzdem noch das unerwünschte Provider-Branding bzw. die vom Provider modifizierte Firmware. Versucht man das Aufspielen einer neuen Firmware über das Recovery-Tool von AVM kommt man ganz schnell zu folgender Fehlermeldung und der Vorgang bricht ab: Hinweis: Das Gerät enthält angepasste Grundeinstellungen für Ihren Internet-Anbieter (XXXXXXXXXX). EineWiederherstellung würde unter Umständen dazu führen, dass das Gerät am Netz von XXXXXXXXXX nicht mehr betrieben werden kann.Bitte nehmen Sie statt dessen Kontakt zu IhremInternet-Anbieter auf.Die Wiederherstellung wird jetzt abgebrochen. Die folgende Anleitung zeigt, wie man das Branding des ISP entfernt und eine unmodifizierte, originale Firmware von AVM installiert. Disclaimer:Passiert bei den nachfolgenden Schritten ein Fehler, kann die FRITZ!Box zerstört werden (Soft-Brick). Für evtl. entstandene Schäden übernehme ich keine Haftung. Schritt 1 (Herunterladen der Dateien): Es wird das FRITZ!Box-Recovery-Tool benötigt. Dieses kann hier für das jeweilige FRITZ!Box-Modell heruntergeladen werden (Modellbezeichnung --> deutschland --> recover --> FRITZ.Box_XXXXX-recover.exe) Schritt 2 (Konfiguration des PCs): Es wird ein Windows-PC benötigt, der zuerst wie folgt konfiguriert werden muss: Alle bestehenden Internetverbindungen (WLAN, LAN) werden getrennt. Anschließend wird die Windows Defender Firewall deaktiviert (Windows-Suche: "Firewall und Netzwerkschutz"). Für die Kommunikation mit der FRITZ!Box über LAN muss der Netzwerkkarte eine statische IP aus dem Netz 192.168.178.0 /24 zugewiesen werden. Für das Entfernen des Brandings wird zudem das Windows-Feature "TFTP-Client" benötigt, welches zuvor manuell aktiviert werden muss. Schritt 3 (Branding entfernen): Die ausgesteckte, stromlose FRITZ!Box mit einem LAN-Kabel (LAN1-Buchse) an den PC anschließen und alle anderen LAN- und USB-Geräte von der FRITZ!Box abstecken. Die Eingabeaufforderung / CMD auf dem PC öffnen und den Befehl ftp 192.168.178.1 eingeben aber noch nicht die Enter-Taste betätigen. Die FRITZ!Box ans Stromnetz anstecken. Sobald die Power-Taste zu blinken beginnt, sofort in der Kommandozeile auf Enter drücken und den Befehl absetzen. Nun wird ein username und password abgefragt. Bei beidem wird "adam2" angegeben. Die Verbindung sollte nun geklappt haben. Nun werden folgende Befehle ausgeführt (hintereinander, nach jedem einzelnen Enter betätigen):quote GETENV provider quote UNSETENV provider quote SETENV firmware_version avm quote reboot Die FRITZ!Box rebootet nun und es kann die CMD nun geschlossen und mit dem nächsten Schritt fortgefahren werden. Schritt 4 (neue Firmware installieren): Die .exe-Datei des Fritzbox-Recovery-Tools wird nun gestartet. Mit "Weiter" muss man sich durch das Programm klicken und die geforderten Schritte (Strom ein- und ausstecken, etc.) verrichten. Wenn das Programm die Meldung "Abschluss - FRITZ!Box erfolgreich wiederhergestellt!" anzeigt, war die Wiederherstellung erfolgreich. Die FRITZ!Box verfügt nun über die Standard-Firmware. Wichtig!Nachdem alles vollendet ist, muss die unter Schritt 2 deaktivierte Firewall unbedingt wieder aktiviert werden, da man sich sonst einer hohen Gefahr aussetzt, Viren und Schadsoftware einzufangen! Anschließend können die Adaptereinstellungen wieder auf den Ausgangszustand geändert werden, dass die Internetverbindung wieder funktioniert.