-
Gesamte Inhalte
541 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
9
Reputationsaktivitäten
-
Tician erhielt eine Reaktion von DuckAtMars für ein Blogeintrag, Grundlagen IPv6
Hallöööchen mit 3 öchen,
nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)
Wissen einfach und oberflächlich gehalten – die Basics
Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
Blau: Vom Provider vergebene Nummer - ignorieren
Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
Rot: automatisch generierte Nummer - ignorieren
Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
2a02:02e0:03fe:3000:85ed:0000:0000:da31
So geschrieben werden:
2a02:2e0:3fe:3000:85ed::da31
Noch mehr Grundlagen die sich keiner merken kann
Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
Die Loopback-Adresse:
Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
Link-Local-Unicast-Adressen:
Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
Unique Local Unicast:
Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
Global Unicast Adresse:
Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
Wie ein Gerät an seine IPv6-Adresse kommt
Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
1. Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
2. Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
3. Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
4. Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
Autokonfiguration (SLAAC) oder DHCPv6?
Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
Subnetting
Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat. Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
-
Tician erhielt eine Reaktion von Fabian_IT204 für ein Blogeintrag, Grundlagen IPv6
Hallöööchen mit 3 öchen,
nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)
Wissen einfach und oberflächlich gehalten – die Basics
Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
Blau: Vom Provider vergebene Nummer - ignorieren
Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
Rot: automatisch generierte Nummer - ignorieren
Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
2a02:02e0:03fe:3000:85ed:0000:0000:da31
So geschrieben werden:
2a02:2e0:3fe:3000:85ed::da31
Noch mehr Grundlagen die sich keiner merken kann
Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
Die Loopback-Adresse:
Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
Link-Local-Unicast-Adressen:
Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
Unique Local Unicast:
Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
Global Unicast Adresse:
Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
Wie ein Gerät an seine IPv6-Adresse kommt
Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
1. Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
2. Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
3. Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
4. Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
Autokonfiguration (SLAAC) oder DHCPv6?
Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
Subnetting
Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat. Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
-
Tician erhielt eine Reaktion von RealPride für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von cinemation für ein Blogeintrag, Grundlagen IPv6
Hallöööchen mit 3 öchen,
nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)
Wissen einfach und oberflächlich gehalten – die Basics
Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
Blau: Vom Provider vergebene Nummer - ignorieren
Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
Rot: automatisch generierte Nummer - ignorieren
Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
2a02:02e0:03fe:3000:85ed:0000:0000:da31
So geschrieben werden:
2a02:2e0:3fe:3000:85ed::da31
Noch mehr Grundlagen die sich keiner merken kann
Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
Die Loopback-Adresse:
Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
Link-Local-Unicast-Adressen:
Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
Unique Local Unicast:
Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
Global Unicast Adresse:
Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
Wie ein Gerät an seine IPv6-Adresse kommt
Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
1. Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
2. Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
3. Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
4. Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
Autokonfiguration (SLAAC) oder DHCPv6?
Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
Subnetting
Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat. Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
-
Tician erhielt eine Reaktion von DavidCh für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von DavidCh für ein Blogeintrag, Grundlagen IPv6
Hallöööchen mit 3 öchen,
nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)
Wissen einfach und oberflächlich gehalten – die Basics
Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
Blau: Vom Provider vergebene Nummer - ignorieren
Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
Rot: automatisch generierte Nummer - ignorieren
Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
2a02:02e0:03fe:3000:85ed:0000:0000:da31
So geschrieben werden:
2a02:2e0:3fe:3000:85ed::da31
Noch mehr Grundlagen die sich keiner merken kann
Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
Die Loopback-Adresse:
Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
Link-Local-Unicast-Adressen:
Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
Unique Local Unicast:
Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
Global Unicast Adresse:
Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
Wie ein Gerät an seine IPv6-Adresse kommt
Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
1. Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
2. Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
3. Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
4. Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
Autokonfiguration (SLAAC) oder DHCPv6?
Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
Subnetting
Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat. Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
-
Tician erhielt eine Reaktion von michi.wtr für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von Shavahera für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von mamalia für ein Blogeintrag, Grundlagen IPv6
Hallöööchen mit 3 öchen,
nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)
Wissen einfach und oberflächlich gehalten – die Basics
Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
Blau: Vom Provider vergebene Nummer - ignorieren
Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
Rot: automatisch generierte Nummer - ignorieren
Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
2a02:02e0:03fe:3000:85ed:0000:0000:da31
So geschrieben werden:
2a02:2e0:3fe:3000:85ed::da31
Noch mehr Grundlagen die sich keiner merken kann
Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
Die Loopback-Adresse:
Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
Link-Local-Unicast-Adressen:
Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
Unique Local Unicast:
Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
Global Unicast Adresse:
Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
Wie ein Gerät an seine IPv6-Adresse kommt
Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
1. Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
2. Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
3. Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
4. Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
Autokonfiguration (SLAAC) oder DHCPv6?
Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
Subnetting
Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat. Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
-
Tician erhielt eine Reaktion von Citra für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von KleinHippo für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von KleinHippo für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von Ale:x für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von Unkaputtbär für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von C#Dev für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von oiwasistjava für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von MrPhantom für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von StefanE für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von Griller für ein Blogeintrag, Hardware-RAIDs
Hallöööchen mit 3 öchen,
und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
Was wird dazu benötigt?
Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
RAID 0
Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
RAID 1
Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
RAID 5
Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
RAID 6
Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
RAID 10
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
RAID 01
( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.
( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
Die Berechnung des verfügbaren Speichers
Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
Fragen, Anregungen oder Ergänzungen? Immer her damit.
-
Tician erhielt eine Reaktion von FloNation für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von Sullidor für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von Grimlet für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von JimTheLion für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von SebastianB. für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!
-
Tician erhielt eine Reaktion von StefanE für ein Blogeintrag, Die Windows Registry
Windows-Registry
Da dies mein erster Blog ist möchte ich mich kurz vorstellen: Ich bin Tician, 26 Jahre jung und im 2. Ausbildungsjahr zur Systemintegration (Stand 2017). Privat bin ich im Malware-Bereich aktiv - ich helfe Menschen bei der Bereinigung - und ich zocke gerne
Mein Ziel ist es alles so anfängerfreundlich wie möglich zu schreiben. Es soll also auch jemand verstehen der sich am Anfang der Ausbildung befindet und noch keine bis wenig Erfahrungenen hat.
Legen wir los!
Was ist die Registry?
Die Meisten haben vermutlich schon davon gehört, aber vielleicht noch nie damit zu tun gehabt - und genau so sollte es auch sein, denn die Registry ist seit Windows NT ein fester, sehr wichtiger und empfindlicher Bestandteil von Windows. Sämtliche Einstellungen von Windows (und den meisten installierten Programmen) werden dort gespeichert.
Einstellungen? Welche Einstellungen denn zum Beispiel?
Welche Dienste sind auf auto-start gestellt? Welches Hintergrundbild benutze ich für meinen Desktop? Ist die Firewall an oder aus? Werden die Windows-Updates automatisch gemacht oder sind sie deaktiviert? Welches Programm soll benutzt werden wenn ich eine *.txt Datei öffnen möchte (Editor, Notepad++ oder doch etwas ganz anderes)? Das und vieles mehr sind Beispiele die in der Registry zu finden sind.
Kommen wir auch kurz zu einem anderen Beispiel: Gruppenrichtlinien! Was passiert wenn wir auf vielen PCs Einstellungen setzen möchten ohne an jeden PC einzeln zu rennen (z.B. wollen wir nicht das Benutzer die Registry verändern dürfen )? Wir benutzen Gruppenrichtlinien und die (meisten) machen auch nichts anderes als Registry-Einträge zu verändern.
Wo ist die Registry?
Jetzt wird es interessant. Die Registry lässt sich durch ein Windows-eigenes Tool öffnen. In unserem Fall die Regedit.exe die sich (wie manch andere Windows-Tools) standardmäßig unter C:\Windows befindet. Jetzt ist uns das aber zu mühselig jedesmal dort hin zu navigieren (das machen wir ja mit dem Editor oder der Kommandozeile auch nicht) und diese exe-Datei anzuklicken. Wir drücken einmal gekonnt die Windows-Taste+R (r für das englische 'run' also 'ausführen') und haben ein kleines Fensterchen offen mit dem wir die Windows-Tools aufrufen können. Wir geben 'regedit' ein und drücken einmal auf OK.
Und woher weiß Windows jetzt wo es nach der Regedit.exe suchen soll wenn ich das da eingebe?
Ich gebe euch einen Tipp: Das steht auch in der Registry (* siehe Bonus-Wissen ganz unten!)
Bis hierhin kann man nichts falsch machen, reinschauen kostet also nichts! Was wir links sehen sollte einem Windows-Benutzer doch recht vertraut sein. Wir haben 'Ordner' die wir auf und zu klappen können und davon (meistens) ganze 5 Stück!
'Ordner'?
Vom aussehen her könnte man sie als 'Ordner' bezeichnen, aber wir lernen es gleich richtig. Alles was hier als 'Ordner' dargestellt wird nennt sich Schlüssel. Und wenn wir schon bei Begrifflichkeiten sind erkläre ich euch gleich auch was ein 'Hive' ist.
Aber gehen wir mal kurz einen Schritt zurück.
Habt ihr euch schonmal gefragt wo man das ganze Zeug auf der Festplatte überhaupt findet?
Da ist eine rießengroße Struktur mit vielen, vielen Schlüsseln ('Ordnern'), das kann ja nicht einfach so aus dem nichts auftauchen. Und genau darum findet man die Registry in folgenden Dateien:
C:\Windows\system32\config\System (HKEY_CURRENT_CONFIG) C:\Windows\system32\config\SAM (HKEY_LOCAL_MACHINE\SAM) C:\Windows\system32\config\Security (HKEY_LOCAL_MACHINE\Security) C:\Windows\system32\config\Software (HKEY_LOCAL_MACHINE\Software) C:\Windows\system32\config\System (HKEY_LOCAL_MACHINE\System) C:\Windows\system32\config\Default (HKEY_USERS\.DEFAULT) C:\Users\Benutzername\ntuser.dat (HKEY_CURRENT_USER) Hier mal ein Bild:
Diese 7 oben genannten Schlüssel nennen sich Hives und sind alles woraus die Registry besteht.
Moment mal, ich sehe doch noch andere Schlüssel! Wo ist denn zum Beispiel HKEY_CLASSES_ROOT?
Die simple (und vermutlich erstmal verwirrende) Antwort ist: Den Schlüssel selbst gibt es nicht.
... ?
Wir schauen uns das natürlich an:
Der Aufbau der Registry
Was wir sehen wenn wir die Registry öffnen (also diese 5 großen Schlüssel) ist eine von Windows benutzerfreundlich gemachte Ansicht.
Nehmen wir mal an wir haben ein x-beliebiges Stück Software. Dessen Standard-Einstellungen werden unter diesem Schlüssel gespeichert:
HKEY_LOCAL_MACHINE
\
Software\Classes und gelten erstmal für alle Benutzer des PCs. Wenn ich mich nun am PC anmelde, die Software öffne und irgendwelche Einstellungen mache (die natürlich nur mich betreffen sollen und nicht alle anderen user, z.B. einen blauen Hintergrund haben möchte), dann befinden sich diese Einstellungen hier:
HKEY_CURRENT_USER
\Software\Classes Der Schlüssel HKEY_CLASSES_ROOT führt diese 2 oben genannten Schlüssel visuell zusammen, damit wir nicht rumsuchen müssen. Nach demselben Schema bilden sich auch die übrigen Schlüssel die nicht zu den Hives gehören. Ich zeig euch das mal anhand dieses Beispiels:
Ich habe hier einen Schlüssel (den Pfad könnt ihr im unteren Bereich des Bildes sehen) und einen x-beliebigen Eintrag erstellt:
Ich habe nochmal einen gleichnamigen Schlüssel für den Benutzer erstellt und dem ebenfalls einen Eintrag verpasst:
Ich habe die oben genannten Schlüssel benutzt. Ohne mein weiteres Zutun sieht es in dem HKEY_CLASSES_ROOT Schlüssel nun so aus:
Seht ihr wie beide Einträge angezeigt werden? Windows hat die 2 gleich benannten Schlüssel (in HKLM und HKCU - die Kurzschreibweise) zusammen gelegt.
Und das war schon das ganze Hexenwerk für heute!
Ich wollte es kurz halten, es würde so viel mehr zu erzählen geben! Ich wollte euch aber nicht mit der Entstehungsgeschichte langweilen, es sollte wirklich nur mal ein leichtes Kratzen der Oberfläche sein, da die Meisten vermutlich eh nie direkt in die Registry gehen müssen.
Wenn ihr also Fragen, Anmerkungen, Lob und Kritik habt immer her damit - am Besten in die Kommentare.
_____________________________________________________
Bonus-Wissen:
(*)Hier geht es um die sogenannte Path-Umgebungsvariable.
Bitte was?
Ja, das 'Ding' schimpft sich so, ist aber auch wichtig und vorallem nützlich!
Folgendes Szenario: Ich öffne ein Konsolenfenster (ganz ohne Administrator-Rechte) und befinde mich standardmäßig in meinem Benutzer-Verzeichnis (C:\Users\Tician). Gebe ich jetzt ein 'notepad.exe' und drücke die Eingabe-taste öffnet sich ein Editor. Das läuft für viele schon automatisch. Aber denkt mal über folgendes: Muss man nicht eigentlich erst in das Verzeichnis navigieren oder den ganzen Pfad angeben um eine Datei darin auszuführen?
Ja... Aber dabei befindet sich die 'notepad.exe' doch gar nicht in meinem Verzeichnis!
Jupp, richtig und trotzdem öffnet es sich. Zum Verständnis müssen wir etwas weiter gehen. Geben wir also mal 'putty.exe' ein. Wir werden mit der Meldung "Der Befehl 'putty.exe' ist entweder falsch geschrieben oder konnte nicht gefunden werden" begrüßt. 'Konnte nicht gefunden werden' trifft es in unserem Fall auf den Punkt.
Aber ich hab putty! Liegt doch direkt auf meinem Desktop!
Auch korrekt. Was ist also passiert? Windows (und übrigens auch Linux) haben diese Path-Variable. Wir finden sie unter Windows in der Registry in diesem Schlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment Hier gibt es den Eintrag 'Path'. Wenn ich nun also einen Befehl oder eine Datei zum öffnen/ausführen in die Kommandozeile eingebe sucht Windows erstmal in dem Verzeichnis in dem ich mich befinde danach. In unserem Beispiel das Benutzerverzeichnis (keine Unterordner!). Wenn Windows den Befehl dort nicht findet greift es auf diese PATH-Variable zu. Da stehen einige Pfade durch Semikolon getrennt drin und Windows geht sie alle nacheinander von links nach rechts durch und sucht in den Ordnern nach meinem Befehl, also 'putty.exe'.
Das heißt also...?
Wenn ich jetzt diesen Path-Eintrag veränder und ';C:\Users\Tician\Desktop\' anhänge kann ich auch mein Putty jederzeit - und unabhängig davon in welchem Pfad ich mich in der Konsole befinde - aufrufen!