Die Arbeit als Betriebs- und Wartungsingenieur ist in der Anfangsphase sehr hart. Während dieser Zeit erledigen Sie möglicherweise Aufgaben wie Computerreparaturen, das Durchtrennen von Netzwerkkabeln und das Bewegen von Maschinen, wodurch Sie den Eindruck erwecken, keinen Status zu haben! Ihre Zeit ist außerdem fragmentiert, da Sie von allen möglichen trivialen Angelegenheiten umgeben sind. Es ist schwierig, Ihren persönlichen Wert zu reflektieren, und Sie werden allmählich verwirrt über die Branche und haben das Gefühl, dass es keine Zukunft für die Entwicklung gibt. Diese langweiligen Aufgaben können tatsächlich dazu führen, dass sich die Leute benachteiligt fühlen. Aus technischer Sicht sind dies eigentlich grundlegende Fähigkeiten, die bei späteren Betriebs- und Wartungsarbeiten unsichtbar eine gewisse Hilfe darstellen, da ich dies auch durchgemacht habe und es gut verstehen kann. Deshalb müssen Sie während dieser Zeit eine positive Einstellung bewahren und weiter lernen. Ich glaube, ich werde es Ihnen eines Tages zurückzahlen! Okay, kommen wir zum Punkt. Basierend auf meiner langjährigen Erfahrung in Betrieb und Wartung werde ich Ihnen den Lernpfad für leitende Betriebs- und Wartungsingenieure erläutern. primär 1. Linux-Grundlagen: In der Anfangsphase müssen Sie mit der Installation des Linux-/Windows-Betriebssystems, der Verzeichnisstruktur, dem Startvorgang usw. vertraut sein. 2. Systemverwaltung Lernen Sie hauptsächlich das Linux-System. In der Produktionsumgebung wird die meiste Arbeit in der Zeichenschnittstelle erledigt, daher müssen Sie Dutzende häufig verwendeter grundlegender Verwaltungsbefehle beherrschen, darunter Benutzerverwaltung, Festplattenpartitionierung, Softwarepaketverwaltung, Dateiberechtigungen, Textverarbeitung, Prozessverwaltung, Leistungsanalysetools usw. 3. Netzwerkgrundlagen Sie müssen mit den OSI- und TCP/IP-Modellen vertraut sein. Sie müssen die grundlegenden Konzepte und Implementierungsprinzipien von Switches und Routern kennen. 4. Grundlagen der Shell-Skript-Programmierung Beherrschen Sie die grundlegende Syntaxstruktur von Shell und seien Sie in der Lage, einfache Skripte zu schreiben. dazwischenliegend 1. Netzwerkdienste Es müssen die am häufigsten verwendeten Netzwerkdienste bereitgestellt werden, z. B. vsftp, nfs, samba, bind, dhcp usw. Ein Code-Versionsverwaltungssystem ist unverzichtbar. Sie können die gängigen SVN- und GIT-Programme erlernen und sie einfach bereitstellen und verwenden. Daten werden häufig zwischen Servern übertragen, daher müssen Sie in der Lage sein, rsync und scp zu verwenden. Datensynchronisierung: inotify/sersync. Um einige sich wiederholende Aufgaben zu erledigen, können Sie sie in Skripte schreiben und regelmäßig ausführen. Daher müssen Sie in der Lage sein, den Dienst für geplante Aufgaben crond unter Linux zu konfigurieren. 2. Webdienste Fast jedes Unternehmen verfügt über eine Website. Um diese Website zum Laufen zu bringen, ist der Aufbau einer Webservice-Plattform erforderlich. Wenn die Entwicklung in PHP erfolgt, wird normalerweise die Website-Plattform LAMP oder LNMP erstellt. Dies ist die Schreibweise einer Kombination aus technischen Begriffen. Getrennt ausgedrückt bedeutet dies, dass Sie Apache, Nginx, MySQL und PHP einsetzen können müssen. Wenn die Entwicklung in JAVA erfolgt, wird das Projekt normalerweise mit Tomcat ausgeführt. Um die Zugriffsgeschwindigkeit zu erhöhen, kann Nginx als Reverse-Proxy für Tomcat verwendet werden. Nginx verarbeitet statische Seiten und Tomcat verarbeitet dynamische Seiten, um eine dynamische und statische Trennung zu erreichen. Es ist nicht so einfach wie die Bereitstellung. Sie müssen auch das Funktionsprinzip des HTTP-Protokolls und eine einfache Leistungsoptimierung kennen. 3. Datenbank Als Datenbank wurde MySQL gewählt, die weltweit am häufigsten verwendete Open-Source-Datenbank. Es ist definitiv eine gute Idee, es zu lernen! Sie müssen auch einige einfache SQL-Anweisungen, Benutzerverwaltung, gängige Speicher-Engines sowie Datenbanksicherung und -wiederherstellung kennen. Wenn Sie tiefer einsteigen möchten, müssen Sie sich mit Master-Slave-Replikation, Leistungsoptimierung und gängigen Clusterlösungen auskennen: MHA, MGR usw. NoSQL ist so beliebt, dass es natürlich unverzichtbar ist. Lernen Sie einfach Redis und MongoDB. 4. Sicherheit Sicherheit ist sehr wichtig. Warten Sie nicht, bis das System gehackt ist, bevor Sie Sicherheitsrichtlinien festlegen. Dann ist es zu spät! Wenn ein Server online ist, sollten Sie daher sofort eine Sicherheitszugriffskontrollrichtlinie implementieren, z. B. durch die Verwendung von iptables, um den Zugriff auf vertrauenswürdige Quell-IPs zu beschränken, und durch das Herunterfahren einiger nutzloser Dienste und Ports. Sie müssen einige häufige Angriffsarten kennen, sonst können Sie nicht das richtige Gegenmittel verschreiben! Zum Beispiel CC, DDOS, ARP usw. 5. Überwachungssystem Eine Überwachung ist unerlässlich und stellt den lebensrettenden Faktor für die rechtzeitige Erkennung und Verfolgung von Problemen dar. Sie können sich für das gängige Open-Source-Überwachungssystem Zabbix entscheiden, das über zahlreiche Funktionen verfügt und grundlegende Überwachungsanforderungen erfüllen kann. Zu den Überwachungspunkten gehören grundlegende Serverressourcen, Schnittstellenstatus, Serviceleistung, PV/UV, Protokolle usw. Sie können auch ein Dashboard erstellen, um einige wichtige Echtzeitdaten anzuzeigen, beispielsweise Grafana, was sehr cool wäre. 6. Fortgeschrittene Shell-Skript-Programmierung Shell-Skripte sind ein leistungsstarkes Tool für Linux, um Aufgaben automatisch auszuführen. Sie müssen in der Lage sein, sie zu schreiben, daher müssen Sie sich mit Funktionen, Arrays, Signalen, dem Senden von E-Mails usw. vertraut machen. Die drei Musketiere der Textverarbeitung (grep, sed, awk) sind richtig gut. Auf sie kann man sich bei der Textverarbeitung unter Linux verlassen. 7. Grundlagen der Python-Entwicklung Shell-Skripte können nur einige grundlegende Aufgaben ausführen. Wenn Sie komplexere Aufgaben ausführen möchten, z. B. APIs aufrufen, mehrere Prozesse ausführen usw. Sie müssen eine höhere Sprache lernen. Python ist die am weitesten verbreitete Sprache im Bereich Betrieb und Wartung. Sie ist einfach und leicht zu verwenden. Sie können nichts falsch machen, wenn Sie sie lernen! In dieser Phase müssen Sie nur die Grundlagen beherrschen, wie z. B. die grundlegende Grammatikstruktur, Dateiobjektoperationen, Funktionen, iterative Objekte, Ausnahmebehandlung, Senden von E-Mails, Datenbankprogrammierung usw. gehoben 1. Statischer Web-Cache Benutzer beschweren sich oft, dass der Zugriff auf Websites langsam ist, obwohl die Serverressourcen immer noch reichlich vorhanden sind! Langsamer Website-Zugriff muss nicht unbedingt auf gesättigte Serverressourcen zurückzuführen sein. Es gibt viele Einflussfaktoren, wie z. B. das Netzwerk, die Anzahl der Weiterleitungsschichten usw. Im Netzwerk gibt es Nord-Süd-Kommunikationsprobleme, und der Zugriff zwischen ihnen wird langsam sein. Dies kann durch die Verwendung von CDN gelöst werden, während statische Seiten zwischengespeichert und Anfragen so weit wie möglich auf der obersten Ebene abgefangen werden, um die Backend-Anforderungs- und Antwortzeit zu verkürzen. Wenn Sie kein CDN verwenden, können Sie auch Cache-Dienste wie Squid, Varnish und Nginx nutzen, um statische Seiten zwischenzuspeichern und sie am Verkehrseingang zu platzieren. 2. Cluster Schließlich verfügt ein einzelner Server nur über begrenzte Ressourcen und kann keinen hohen Datenverkehr unterstützen. Die wichtigste Technologie zur Lösung dieses Problems besteht darin, mithilfe eines Lastenausgleichs mehrere Webserver horizontal zu erweitern und gleichzeitig Dienste für die Außenwelt bereitzustellen, wodurch die Leistung vervielfacht werden kann. Zu den gängigen Open-Source-Technologien für Load Balancer gehören LVS, HAProxy und Nginx. Machen Sie sich unbedingt mit ein oder zwei vertraut! Der Leistungsengpass des Webservers wurde gelöst. Die Datenbank ist kritischer. Wir sollten einen Cluster verwenden. Beispielsweise können wir eine Master-Slave-Architektur für MySQL verwenden. Auf dieser Basis werden Lesen und Schreiben getrennt. Der Master ist für das Schreiben verantwortlich und mehrere Slaves für das Lesen. Die Slave-Datenbank kann horizontal erweitert werden. Vorne wird ein vierschichtiger Load Balancer hinzugefügt, um zig Millionen PVs zu transportieren. Es ist perfekt! Sie müssen auch wissen, wie Sie Hochverfügbarkeitssoftware verwenden, um einzelne Angriffspunkte zu vermeiden. Zu den gängigen Softwarelösungen gehören Keepalived, Heartbeat usw. Warum gibt es so viele Bilder auf der Website? Der gemeinsam genutzte NFS-Speicher kann dies nicht unterstützen und die Verarbeitung ist sehr langsam. Das ist leicht zu handhaben! Verteiltes Dateisystem, parallele Verarbeitung von Aufgaben, kein einzelner Punkt, hohe Zuverlässigkeit, hohe Leistung und andere Funktionen, die gängigen sind FastDFS, MFS, HDFS, Ceph, GFS usw. In der Anfangsphase empfehle ich, FastDFS zu lernen, das kleine und mittlere Anforderungen erfüllen kann. 3. Virtualisierung Die Auslastung der Hardwareserverressourcen ist sehr gering, was eine ziemliche Verschwendung ist! Die ungenutzten Server können in viele virtuelle Maschinen virtualisiert werden, von denen jede ein vollständiges Betriebssystem ist. Dadurch kann die Ressourcennutzung erheblich verbessert werden. Es wird empfohlen, sich mit der Open-Source-Cloud-Plattform KVM+OpenStack vertraut zu machen. Virtuelle Maschinen sind als Basisplattform in Ordnung, aber die elastische Skalierung des Anwendungsgeschäfts ist zu schwer! Der Start dauert mehrere Minuten und die Datei ist so groß, dass eine schnelle Erweiterung zu schwierig ist! Das ist ganz einfach. Verwenden Sie Container. Die Hauptfunktionen von Containern sind schnelle Bereitstellung und Umgebungsisolation. Ein Dienst wird in ein Image gekapselt und Hunderte von Containern können innerhalb von Minuten erstellt werden. Die Mainstream-Containertechnologie ist keine andere als Docker. Natürlich kann eine einzelne Docker-Maschine in einer Produktionsumgebung in den meisten Fällen die Geschäftsanforderungen nicht erfüllen. Stattdessen können Sie Kubernetes und Swarm einsetzen, um Container in Clustern zu verwalten, wodurch ein großer Ressourcenpool für die zentrale Verwaltung entsteht und die Infrastruktur stark unterstützt wird. 4. Automatisierung Durch wiederholte Arbeit wird die Effizienz nicht nur nicht verbessert, sondern ihr Wert wird auch nicht widergespiegelt. Alle Betriebs- und Wartungsarbeiten werden standardisiert, wie etwa die Vereinheitlichung von Umgebungsversion, Verzeichnisstruktur, Betriebssystem usw. Nur auf der Grundlage von Standardisierung kann eine komfortablere Automatisierung erreicht werden. Eine komplexe Aufgabe kann durch einen Mausklick oder das Eintippen einiger Befehle erledigt werden. Wie cool! Daher werden alle Vorgänge so weit wie möglich automatisiert, um menschliche Fehler zu reduzieren und die Arbeitseffizienz zu verbessern. Gängige Tools für die zentrale Serververwaltung: Ansible, Saltstack Sie können eine dieser beiden Optionen wählen. Tool für kontinuierliche Integration: Jenkins 5. Fortgeschrittene Python-Entwicklung Sie können die Python-Entwicklung weiter studieren und die objektorientierte Programmierung erlernen. Außerdem ist es am besten, ein Webframework zum Entwickeln von Websites zu erlernen, beispielsweise Django und Flask, das hauptsächlich zum Entwickeln von Betriebs- und Wartungsmanagementsystemen verwendet wird. Sie können einige komplexe Prozesse in die Plattform schreiben und dann zentralisierte Verwaltungstools integrieren, um eine Verwaltungsplattform für Betrieb und Wartung zu erstellen. 6. Loganalysesystem Auch Protokolle sind sehr wichtig. Durch regelmäßige Analysen können potenzielle Risiken aufgedeckt und wertvolle Informationen gewonnen werden. Ein Open-Source-Protokollierungssystem: ELK Informieren Sie sich über die Bereitstellung und Verwendung und stellen Sie Anforderungen zur Protokollanzeige für Entwickler bereit. 7. Leistungsoptimierung Das bloße Bereitstellen reicht nicht aus. Durch Leistungsoptimierung kann die Servicekapazität maximiert werden. Dies ist auch ziemlich schwierig und einer der wichtigsten Punkte für ein hohes Gehalt. Sie müssen sich einige Mühe geben, um zu lernen, um Geld zu verdienen! Sie können in den Dimensionen der Hardwareebene, der Betriebssystemebene, der Softwareebene und der Architekturebene denken. Bewusstsein 1. Beständigkeit Lernen ist ein sehr langwieriger Prozess und ein Beruf, den jeder von uns sein ganzes Leben lang ausüben muss. Beharrlichkeit ist wertvoll, Beharrlichkeit ist schwierig und der Erfolg liegt in der Beharrlichkeit! 2. Ziel Nichts ohne Ziel wird Arbeit genannt, nichts ohne Quantifizierung wird Ziel genannt. Setzen Sie sich für jede Phase ein Ziel. Beispiel: Setzen Sie sich zunächst ein kleines, erreichbares Ziel: Verdienen Sie 100 Millionen! 3. Teilen Lernen Sie zu teilen. Der Wert der Technologie liegt in ihrer Fähigkeit, Wissen effektiv an die Außenwelt weiterzugeben, damit mehr Menschen davon erfahren können. Was würde passieren, wenn jeder einen kleinen Beitrag leisten würde? Wenn Sie in die richtige Richtung gehen, müssen Sie sich über die Entfernung keine Gedanken machen! Zehn gesunde Menschenverstande unter Linux 1. GNU und GPL Das GNU-Projekt (auch bekannt als GNU-Projekt) ist ein kollektives Kollaborationsprojekt für freie Software, das am 27. September 1983 von Richard Stallman öffentlich initiiert wurde. Sein Ziel ist die Schaffung eines völlig freien Betriebssystems. GNU ist auch als Free Software Engineering Project bekannt. GPL ist die GNU General Public License (GPL), das „Anti-Copyright“-Konzept und eines der GNU-Protokolle. Sein Zweck besteht darin, die freie Nutzung, Vervielfältigung, Erforschung, Änderung und Veröffentlichung von GNU-Software zu schützen. Gleichzeitig muss die Software in Form des Quellcodes freigegeben werden. Das GNU-System bildet zusammen mit dem Linux-Kernel ein vollständiges Betriebssystem: ein auf Linux basierendes GNU-System, das üblicherweise „GNU/Linux“ oder einfach Linux genannt wird. 2. Linux-Distribution Eine typische Linux-Distribution umfasst: den Linux-Kernel, einige GNU-Programmbibliotheken und -Tools, eine Befehlszeilen-Shell, ein X Window-System mit grafischer Benutzeroberfläche und eine entsprechende Desktopumgebung wie KDE oder GNOME sowie Tausende von Anwendungssoftware, von Office-Suiten, Compilern, Texteditoren bis hin zu wissenschaftlichen Tools. Mainstream-Distributionen: Red Hat Enterprise Linux, CentOS, SUSE, Ubuntu, Debian, Fedora, Gentoo 3. Unix und Linux Linux basiert auf Unix und gehört zur Unix-Klasse. Das Uinx-Betriebssystem unterstützt Multiuser, Multitasking, Multithreading und unterstützt mehrere CPU-Architekturen. Linux übernimmt das netzwerkzentrierte Designkonzept von Unix und ist ein Mehrbenutzer-Netzwerkbetriebssystem mit stabiler Leistung. 4. Partition tauschen Die Swap-Partition, auch als Swap-Bereich bezeichnet, wird vom System zum Auslagern verwendet, wenn der physische Speicher nicht ausreicht. Das heißt, wenn der physische Speicher des Systems nicht ausreicht, wird ein Teil des Festplattenspeichers für die Verwendung durch aktuell ausgeführte Programme freigegeben. Wenn diese Programme ausgeführt werden sollen, werden die gespeicherten Daten von der Swap-Partition in den Speicher wiederhergestellt. Bei den Programmen, deren Speicherplatz freigegeben wird, handelt es sich in der Regel um solche, die längere Zeit nicht ausgeführt wurden. Der Swap-Speicher sollte im Allgemeinen größer oder gleich der Größe des physischen Speichers sein. Die Mindestgröße sollte nicht weniger als 64 MB betragen und die Maximalgröße sollte doppelt so groß sein wie der physische Speicher. 5. Das Konzept von GRUB GNU GRUB (GRand Unified Bootloader, kurz „GRUB“) ist ein Bootmanagementprogramm für mehrere Betriebssysteme aus dem GNU-Projekt. GRUB ist ein Bootmanager, der mehrere Betriebssysteme unterstützt. Auf einem Computer mit mehreren Betriebssystemen kann GRUB verwendet werden, um das Betriebssystem auszuwählen, das der Benutzer beim Start des Computers ausführen möchte. Gleichzeitig kann GRUB verschiedene Kernel auf der Linux-Systempartition booten und auch zum Übergeben von Startparametern an den Kernel verwendet werden, z. B. zum Wechseln in den Einzelbenutzermodus. 6. Puffer und Cache Der Cache ist ein temporärer Speicher zwischen der CPU und dem Arbeitsspeicher. Die Cache-Kapazität ist viel kleiner als der Arbeitsspeicher, aber die Austauschgeschwindigkeit ist viel schneller als die des Arbeitsspeichers. Im Cache werden Dateidatenblöcke zwischengespeichert, um das Problem der Diskrepanz zwischen der CPU-Betriebsgeschwindigkeit und der Lese- und Schreibgeschwindigkeit des Speichers zu beheben und so die Geschwindigkeit des Datenaustauschs zwischen CPU und Speicher zu erhöhen. Je größer der Cache, desto schneller ist die CPU-Verarbeitungsgeschwindigkeit. Puffer: Hochgeschwindigkeits-Cache-Speicher beschleunigt den Zugriff auf Daten auf der Festplatte, indem er Datenblöcke der Festplatte (E/A-Gerät) zwischenspeichert, die E/A reduziert und die Geschwindigkeit des Datenaustauschs zwischen Speicher und Festplatte (oder anderen E/A-Geräten) erhöht. Der Puffer wird gerade auf die Festplatte geschrieben und der Cache wird von der Festplatte gelesen. 7. TCP-Drei-Wege-Handshake (1) Der Anforderer sendet ein SYN-Paket (SYN=A) und wartet auf die Bestätigung des Antwortenden. (2) Der Antwortende empfängt SYN und sendet SYN(A+1) und sein eigenes ACK(K)-Paket an den Anfordernden zurück. (3) Der Anforderer empfängt das SYN+ACK-Paket vom Antwortenden und sendet erneut ein ACK-Paket (K+1) an den Antwortenden. Der Anforderer und der Antwortende stellen eine TCP-Verbindung her, führen einen Drei-Wege-Handshake durch und starten die Datenübertragung. 8. Linux-Systemverzeichnisstruktur Das Linux-Dateisystem verwendet eine baumartige Verzeichnisstruktur mit Links, das heißt, es gibt nur ein Stammverzeichnis (normalerweise durch "/" dargestellt), das Informationen zu Unterverzeichnissen oder Dateien auf niedrigerer Ebene enthält; Unterverzeichnisse können Informationen zu Unterverzeichnissen oder Dateien auf noch niedrigerer Ebene enthalten. /: Die Wurzel der ersten Hierarchie, das Stammverzeichnis der gesamten Dateisystemhierarchie. Das ist der Eintrag im Dateisystem, also das Verzeichnis auf der höchsten Ebene. /boot: Enthält die vom Linux-Kernel und dem Systemstartprogramm benötigten Dateien wie Kernel und Initrd. Der Systemstartmanager Grub befindet sich ebenfalls in diesem Verzeichnis. /bin: Vom Basissystem benötigte Befehle. Seine Funktionen ähneln denen von „/usr/bin“. Alle Dateien in diesem Verzeichnis sind ausführbar. Normale Benutzer können sie auch ausführen. /sbin: Grundlegende Befehle zur Systemwartung, die nur vom Superuser verwendet werden können. /etc: Alle Systemkonfigurationsdateien. /dev: Gerätedateispeicherverzeichnis, wie Terminals, Datenträger, optische Laufwerke usw. /var: speichert häufig ändernde Daten wie Protokolle, E-Mails usw. /home: Das Standardspeicherverzeichnis für die Verzeichnisse normaler Benutzer. /opt: In diesem Verzeichnis wird das Ablageverzeichnis für Fremdsoftware wie benutzerdefinierte Softwarepakete und kompilierte Softwarepakete installiert. /lib: Das Verzeichnis, in dem Bibliotheksdateien und Kernelmodule gespeichert sind. Es enthält alle gemeinsam genutzten Bibliotheksdateien, die von Systemprogrammen benötigt werden. 9. Hardlinks und Softlinks Hardlink: Ein Hardlink ist ein Link, der denselben Indexknoten (Inode-Nummer) verwendet. Dies bedeutet, dass mehrere Dateinamen auf denselben Dateiindexknoten verweisen können (Hardlinks unterstützen keine Verzeichnislinks und können nicht über Partitionen hinweg verknüpfen). Das Löschen eines Hardlinks wirkt sich nicht auf die Quelldatei des Indexknotens und die mehreren Hardlinks darunter aus. ln Quelle neuer Link ln -s Quelle neuer Link 10. RAID-Technologie Redundant Arrays of independent Disks (RAID), kostengünstiges redundantes (unabhängiges) Festplatten-Array. RAID ist eine Technologie, bei der mehrere unabhängige physische Festplatten auf unterschiedliche Weise zu einer Festplattengruppe (logische Festplatte) kombiniert werden und die eine höhere Speicherleistung und Datensicherungstechnologie bietet als eine einzelne Festplatte. Mithilfe der RAID-Technologie lassen sich mehrere Festplatten zu einem logischen Datenträger zusammenfassen, um eine Festplatten-Spanning-Funktion bereitzustellen. Sie kann Daten in mehrere Datenblöcke (Blöcke) aufteilen und mehrere Festplatten parallel beschreiben/lesen, um die Geschwindigkeit des Festplattenzugriffs zu erhöhen. Darüber hinaus bietet sie Fehlertoleranz durch Spiegelungs- oder Überprüfungsvorgänge. In unterschiedlichen RAID-Kombinationen sind bestimmte Funktionen implementiert. Aus der Sicht des Benutzers ist die aus RAID bestehende Datenträgergruppe wie eine Festplatte, die partitioniert, formatiert und für andere Vorgänge verwendet werden kann. Die Speichergeschwindigkeit von RAID ist viel höher als die einer einzelnen Festplatte und es kann eine automatische Datensicherung und eine gute Fehlertoleranz bieten. RAID-Level. Verschiedene RAID-Kombinationen werden in unterschiedliche RAID-Level unterteilt: RAID 0: Dies wird als Stripping-Speichertechnologie bezeichnet. Alle Festplatten werden parallel gelesen und beschrieben. Es ist die einfachste Form eines Festplattenarrays. Es werden nur zwei oder mehr Festplatten benötigt. Es ist kostengünstig und kann die Leistung und den Durchsatz der gesamten Festplatte bereitstellen. RAID 0 bietet jedoch keine Datenredundanz und Fehlerreparaturfunktionen. Daher führt die Beschädigung einer einzelnen Festplatte zum Verlust aller Daten. (RAID 0 erhöht lediglich die Festplattenkapazität und -leistung, bietet jedoch keine Zuverlässigkeitsgarantie für Daten. Es eignet sich für Umgebungen, die keine hohe Datensicherheit erfordern.) RAID 1: Gespiegelter Speicher, der Datenredundanz erreicht, indem er die Daten einer der beiden Festplatten auf die andere Festplatte spiegelt und so Daten auf den beiden Festplatten generiert, die sich gegenseitig sichern, und dessen Kapazität nur der Kapazität einer Festplatte entspricht. Wenn Daten auf eine Festplatte geschrieben werden, wird auf einer anderen, inaktiven Festplatte ein Spiegelbild erstellt, was die Zuverlässigkeit und Reparaturfähigkeit des Systems maximiert, ohne die Leistung zu beeinträchtigen. Wenn die Originaldaten belegt sind, können die Daten direkt von der Spiegelkopie (von der schnelleren der beiden Festplatten) gelesen werden, um die Leseleistung zu verbessern. Im Gegensatz dazu hat RAID 1 eine langsamere Schreibgeschwindigkeit. RAID 1 unterstützt grundsätzlich „Hot Swapping“, das heißt, die Festplatten im Verbund können im laufenden Systembetrieb ohne Systemunterbrechung ausgebaut oder ausgetauscht werden. RAID 1 hat die höchsten Stückkosten für Festplatten im Festplattenarray, bietet jedoch hohe Datensicherheit, Zuverlässigkeit und Verfügbarkeit. Wenn eine Festplatte ausfällt, kann das System automatisch auf das Lesen und Schreiben auf der Spiegelfestplatte umschalten, ohne dass die ausgefallenen Daten neu organisiert werden müssen. RAID 0+1: Auch als RAID 10 bekannt, ist es eigentlich eine Kombination aus RAID 0 und RAID 1. Es teilt Daten kontinuierlich in Bits oder Bytes auf und liest/schreibt mehrere Festplatten parallel, wobei jede Festplatte zur Redundanz gespiegelt wird. Durch die RAID 0+1-Kombination werden die Daten nicht nur auf mehrere Festplatten verteilt, sondern jede Festplatte verfügt auch über eine eigene physische Spiegelfestplatte. Dies sorgt für Redundanz, lässt einen oder weniger Festplattenausfälle zu, ohne die Datenverfügbarkeit zu beeinträchtigen, und bietet schnelle Lese-/Schreibfunktionen. RAID 0+1 erfordert mindestens 4 Festplatten, um bei der Festplattenspiegelung einen Streifensatz zu erstellen. Die RAID 0+1-Technologie gewährleistet eine hohe Datenzuverlässigkeit und stellt gleichzeitig eine hohe Effizienz beim Lesen/Schreiben von Daten sicher. RAID 5: ist eine Speicherlösung, die Speicherleistung, Datensicherheit und Speicherkosten berücksichtigt. RAID 5 kann als Kompromiss zwischen RAID 0 und RAID 1 verstanden werden. RAID 5 erfordert mindestens drei Festplatten. RAID 5 kann Datensicherheit für das System bieten, der Sicherheitsgrad ist jedoch niedriger als bei der Spiegelung und die Festplattenspeichernutzung ist höher als bei der Spiegelung. RAID 5 weist eine mit RAID 0 vergleichbare Datenlesegeschwindigkeit auf, verfügt jedoch über zusätzliche Paritätsinformationen und die Datenschreibgeschwindigkeit ist etwas langsamer als beim Schreiben auf eine einzelne Festplatte. Da mehrere Daten einer Paritätsinformation entsprechen, ist die Speicherplatznutzung von RAID 5 höher als die von RAID 1 und die Speicherkosten sind relativ niedrig. Es ist derzeit eine weit verbreitete Lösung. Das könnte Sie auch interessieren:
|
<<: React-Internationalisierung – Verwendung von react-intl
>>: So ändern Sie den Standardzeichensatz von MySQL auf dem MAC auf UTF-8
Kopieren Sie den folgenden Code in den Codebereich...
Detaillierte Erklärung und Beispiele zur Passwort...
Die konkrete Methode ist wie folgt: CSS Code Code...
Beim Konfigurieren eines Clusters ist ein Problem...
In diesem Artikelbeispiel wird der spezifische Co...
1. Entpacken Sie MySQL 5.7 2. Erstellen Sie eine ...
Wie können Sie also nach der Registrierung eines ...
Vorwort Ich glaube, jeder hat den Befehl top unte...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Überblick Eigenschafteneinstel...
Als Nächstes werde ich zwei Tabellen erstellen un...
Inhaltsverzeichnis 1. Übersicht 2. Anwendungsbeis...
Offizielle Website-Adresse: https://dev.mysql.com...
Eingabe-Subsystem-Framework Das Linux-Eingabesubs...
Inhaltsverzeichnis 1. Technologieauswahl 2. Techn...