


So verbessern Sie den Betrieb und die Wartung von Linux vom Anfänger bis zum Fortgeschrittenen
Betriebs- und Wartungsingenieure haben in der Anfangsphase einen sehr harten Job, da sie möglicherweise Computer reparieren, Netzwerkkabel durchtrennen und Maschinen bewegen müssen , was keinen Status zu haben scheint! Zeit Es ist auch sehr fragmentiert, mit allen möglichen trivialen Angelegenheiten, die es schwierig machen, Ihren persönlichen Wert widerzuspiegeln. Allmählich werden Sie verwirrt über die Branche und haben das Gefühl, dass es keine Zukunft für die Entwicklung gibt .
Diese langweiligen und langweiligen Jobs werden die Leute tatsächlich hungrig machen. Aus technischer Sicht sind dies tatsächlich grundlegende Fähigkeiten, die den späteren Betriebs- und Wartungsarbeiten unsichtbar helfen werden, denn ich war auch hier und ich kann es tief Verstehe es. Daher müssen Sie in dieser Zeit eine positive Einstellung bewahren und weiter lernen. Ich glaube, dass ich es Ihnen eines Tages zurückzahlen werde!
Okay, kommen wir zum Punkt. Basierend auf meiner langjährigen Betriebs- und Wartungserfahrung werde ich den Lernweg eines Seniors mit Ihnen teilen Betriebs- und Wartungsingenieur.
Grundkenntnisse
1. Linux-Grundlagen
Am Anfang müssen Sie mit Linux/ vertraut sein. Installation des Windows-Betriebssystems, Startvorgang usw.
2. Systemverwaltung
In der Produktionsumgebung wird hauptsächlich an der Zeichenschnittstelle gearbeitet, daher müssen Sie Dutzende davon beherrschen verwendete grundlegende Verwaltungsbefehle, einschließlich 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 Grundkonzepte und Implementierungsprinzipien von Switches und Routern kennen.
4. Grundlagen der Shell-Skriptprogrammierung
Beherrschen Sie die grundlegende grammatikalische Struktur von Shell und können Sie einfache Skripte schreiben.
Mittelstufe
1. Netzwerkdienste
Die am häufigsten verwendeten Netzwerkdienste müssen bereitgestellt werden, wie z. B. vsftp, nfs, samba , bind , dhcp usw.
Ein Codeversionsverwaltungssystem ist unverzichtbar. Sie können das gängige SVN und GIT erlernen und es einfach bereitstellen und verwenden.
Daten werden häufig zwischen Servern übertragen, daher müssen Sie Folgendes verwenden können: rsync und scp.
Datensynchronisation: inotify/sersync.
Um einige Aufgaben wiederholt auszuführen, können Sie ein Skript schreiben, das regelmäßig ausgeführt wird. Daher müssen Sie in der Lage sein, den Dienst crond für geplante Aufgaben unter Linux zu konfigurieren.
2. Webdienste
Um die Website zum Laufen zu bringen, müssen Sie eine Webdienstplattform erstellen.
Wenn Sie in der PHP-Sprache entwickeln, erstellen Sie normalerweise LAMP- und LNMP-Website-Plattformen. Dies ist eine Kombination aus technischen Begriffen. Sie müssen in der Lage sein, Apache, Nginx, MySQL und PHP bereitzustellen.
Wenn es in der JAVA-Sprache entwickelt wird, wird normalerweise Tomcat zum Ausführen des Projekts verwendet. Um die Zugriffsgeschwindigkeit zu verbessern, können Sie den Nginx-Reverse-Proxy verwenden, um dies zu erreichen dynamische und statische Trennung.
Es ist nicht so einfach wie die Bereitstellung. Sie müssen auch wissen, wie das HTTP-Protokoll funktioniert und die Leistung einfach optimieren.
3. Datenbank
Die Datenbank ist MySQL, die weltweit am weitesten verbreitete Open-Source-Datenbank. Sie haben Recht, es zu lernen! Sie müssen auch einige einfache SQL-Anweisungen, Benutzerverwaltung, gängige Speicher-Engines sowie Datenbanksicherung und -wiederherstellung kennen.
Wenn Sie tiefer gehen möchten, müssen Sie Master-Slave-Replikation, Leistungsoptimierung und Mainstream-Clusterlösungen kennen: MHA, MGR usw. Natürlich ist NoSQL so beliebt. Lernen Sie einfach Redis und MongoDB.
Sicherheit
Sicherheit ist sehr wichtig, bevor Sie Sicherheitsrichtlinien festlegen Server geht online Sicherheitszugriffskontrollstrategien sollten sofort implementiert werden, z. B. die Verwendung von iptables, um den Zugriff nur auf vertrauenswürdige Quell-IPs zu beschränken, das Schließen einiger nutzloser Dienste und Ports usw.
Sie müssen einige häufige Angriffsarten kennen, sonst wie können Sie die richtigen Medikamente verschreiben, zum Beispiel CC, DDOS, ARP usw.
5. Überwachungssystem
Überwachung ist unerlässlich und ein lebensrettender Strohhalm für die rechtzeitige Erkennung und Verfolgung von Problemen. Sie können sich dafür entscheiden, das gängige Open-Source-Überwachungssystem Zabbix zu erlernen, das reich an Funktionen ist 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 mehrere Echtzeit-Schlüsseldaten anzuzeigen, wie zum Beispiel Grafana, was sehr cool sein wird.
6. Erweiterte Shell-Skriptprogrammierung
Shell-Skript ist ein leistungsstarkes Tool für Linux, um Arbeiten automatisch abzuschließen. Es muss kompetent geschrieben werden, daher müssen Sie weitere Funktionen erlernen. Arrays, Signale, E-Mails senden usw.
Die drei Musketiere der Textverarbeitung (grep, sed, awk) müssen 6 spielen. Die Textverarbeitung unter Linux hängt von ihnen ab.
7. Python-Entwicklungsgrundlagen
Shell-Skripte können nur einige grundlegende Aufgaben ausführen, z. B. das Aufrufen von APIs, mehrere Prozesse usw. usw. Sie müssen eine Hochsprache lernen.
Python ist die am häufigsten verwendete Sprache im Bereich Betrieb und Wartung. Sie ist einfach und leicht zu verwenden, sodass Sie zu diesem Zeitpunkt nur die Grundlagen beherrschen müssen, z grundlegende Syntaxstrukturen, Dateiobjektoperationen, Funktionen, Iterationsobjekte und Ausnahmebehandlung, E-Mail-Versand, Datenbankprogrammierung usw.
Erweitert
1. Web Static Cache
Benutzer beschweren sich immer darüber, dass der Zugriff auf die Website langsam ist Reichhaltig! Langsamer Website-Zugriff kann nicht durch Sättigung der Serverressourcen verursacht werden. Es gibt viele Einflussfaktoren, wie z. B. Netzwerk, Anzahl der Weiterleitungsebenen usw.
Für das Netzwerk gibt es ein Nord-Süd-Kommunikationsproblem, und der Zugriff zwischen beiden wird langsam sein. Dies kann durch die Verwendung von CDN gelöst werden, während gleichzeitig statische Seiten zwischengespeichert werden und Anfragen auf der obersten Ebene abgefangen werden möglich und reduziert die Back-End-Anfrage- und Antwortzeiten.
Wenn Sie kein CDN verwenden, können Sie auch Caching-Dienste wie Squid, Varnish und Nginx verwenden, um statische Seiten zwischenzuspeichern und am Verkehrseingang zu platzieren.
2. Cluster
Ein einzelner Server verfügt schließlich über begrenzte Ressourcen und ist definitiv nicht in der Lage, hohem Datenverkehr standzuhalten Verwenden Sie einen Load Balancer, erweitern Sie mehrere Webserver horizontal und stellen Sie gleichzeitig Dienste für die Außenwelt bereit, wodurch sich die Leistung verdoppelt. Zu den gängigen Open-Source-Technologien für Load Balancer gehören LVS, HAProxy und Nginx. Machen Sie sich unbedingt mit einem oder zwei vertraut!
Der Leistungsengpass des Webservers wurde behoben. Es ist besser, einen Cluster zu verwenden. Dies kann eine Master-Multi-Slave-Architektur sein Basis, Lesen und Schreiben sind für das Schreiben verantwortlich, und mehrere Slaves sind für das Lesen verantwortlich. Die Slave-Bibliothek kann horizontal erweitert werden und es gibt einen vierschichtigen Load Balancer, der zig Millionen tragen kann PVs, was perfekt ist!
Um Single-Point-Tools zu vermeiden, ist auch eine hochverfügbare Software erforderlich. Zu den Mainstream-Tools gehören Keepalived, Heartbeat et al.
Es gibt so viele Bilder auf der Website, dass der NFS-Freigabespeicher dies nicht unterstützen kann und die Verarbeitung sehr langsam ist. Es ist einfach, ein verteiltes Dateisystem zu verwenden, es gibt keinen einzigen Punkt und die Zuverlässigkeit ist hoch , hohe Leistung und andere Funktionen, Mainstream Einige umfassen FastDFS, MFS, HDFS, Ceph, GFS usw. In der Anfangsphase empfehle ich das Erlernen von FastDFS, das den Anforderungen kleiner und mittlerer Projekte gerecht werden kann.
3. Virtualisierung
Die Auslastung der Hardware-Serverressourcen ist sehr gering, was eine Verschwendung ist! ist ein vollständiges Betriebssystem. Die Ressourcennutzung kann erheblich verbessert werden. Es wird empfohlen, die Open-Source-Cloud-Plattform KVM + OpenStack zu erlernen.
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 sie zu mühsam schnell erweitert werden kann!
Einfach gesagt: Verwenden Sie Container. Die Hauptmerkmale von Containern sind schnelle Bereitstellung und Umgebungsisolierung. Ein Dienst wird in ein Image gekapselt und Hunderte von Containern können in wenigen Minuten erstellt werden.
Die gängige Containertechnologie ist niemand anderes als Docker.
Natürlich kann eigenständiges Docker in der Produktionsumgebung in den meisten Fällen die Geschäftsanforderungen nicht erfüllen, und Kubernetes- und Swarm-Cluster-Management-Container können bereitgestellt werden, um einen großen Ressourcenpool und eine zentrale Verwaltung zu bilden, um eine starke Unterstützung für die Infrastruktur bereitzustellen . .
4. Automatisierung
Wiederholte und sich wiederholende Arbeiten tragen nicht nur nicht zur Effizienzsteigerung bei, sondern spiegeln auch nicht den Wert wider.
Alle Betriebs- und Wartungsarbeiten sind standardisiert, wie z. B. die Vereinheitlichung von Umgebungsversionen, Verzeichnisstrukturen, Betriebssystemen usw. Auf der Grundlage der Standardisierung können mehr Aspekte der Automatisierung erreicht werden. Eine komplexe Aufgabe kann mit einem Mausklick oder ein paar Befehlen erledigt werden. Es ist so cool, dass alle Vorgänge automatisiert werden so viel wie möglich, um menschliche Fehler zu reduzieren und die Arbeitseffizienz zu verbessern.
Mainstream-Server-Zentralverwaltungstools: Ansible, Saltstack
Wählen Sie einfach eines dieser beiden aus.
Kontinuierliches Integrationstool: Jenkins
5. Erweiterte Python-Entwicklung
Sie können mehr über die Python-Entwicklung erfahren und die objektorientierte Programmierung beherrschen.
Es ist am besten, eine Web-Framework-Entwicklungswebsite wie Django und Flask zu erlernen, hauptsächlich um ein Betriebs- und Wartungsmanagementsystem zu entwickeln. Schreiben Sie einige komplexe Prozesse in die Plattform und integrieren Sie dann zentralisierte Verwaltungstools, um eine zu erstellen einzigartig Betreiben und warten Sie Ihre eigene Managementplattform.
6. ProtokollanalysesystemEine regelmäßige Analyse kann auch potenzielle Risiken aufdecken und wertvolle Erkenntnisse gewinnen.
Ein Open-Source-Protokollsystem: ELK
Lernen Sie, es bereitzustellen und zu verwenden, um Protokollanzeigeanforderungen für die Entwicklung bereitzustellen.
7. Leistungsoptimierung
Eine Leistungsoptimierung reicht nicht aus, um die Servicekapazität zu maximieren.
Dieser Bereich ist auch relativ schwierig und einer der Schlüsselpunkte für ein hohes Gehalt. Man muss hart arbeiten, um für Geld zu lernen!
Sie können von der Hardware-Ebene aus beginnen. Betriebssystemschicht, Softwareschicht und Architektur Denken Sie in Schichtdimensionen.
Bewusstsein
1. Beharrlichkeit
Lernen ist ein langer Prozess, den jeder von uns braucht, um ein Leben lang Karriere zu machen das bleibt bestehen.
Das Wichtigste ist Beharrlichkeit, die Schwierigkeit liegt in der Beharrlichkeit, der Erfolg liegt in der Beharrlichkeit!
2. Ziel
Wenn es kein Ziel gibt, wird es nicht Arbeit genannt, und wenn es keine Quantifizierung gibt, wird es nicht Ziel genannt.
Setzen Sie sich in jeder Phase ein Ziel.
Zum Beispiel: Setzen Sie sich zunächst ein kleines Ziel, das erreicht werden kann, und verdienen Sie 100 Millionen!
3. Teilen
Lernen Sie, den Wert zu teilen Der Kern der Technologie besteht darin, dass sie Wissen effektiv an die Außenwelt weitergeben und mehr Menschen darüber informieren kann.
Solange jeder etwas herausnimmt, denken Sie darüber nach, was passieren wird?
Wenn Sie in die richtige Richtung gehen, müssen Sie sich keine Sorgen um die lange Reise machen!
Zehn gesunde Linux-Menschenverstand
1. GNU und GPL
Das GNU-Projekt (auch bekannt als GNU Project) wurde von Richard Stallman erstellt ( The Free Software Collective wurde am 27. September 1983 von Richard Stallman öffentlich ins Leben gerufen. Sein Ziel ist es, ein völlig kostenloses Betriebssystem zu schaffen. GNU ist auch als Free Software Engineering Project bekannt.
GPL ist die GNU General Public License (GPL), das Konzept des „Anti-Copyrights“. Es ist eines der GNU-Protokolle. Sein Zweck ist der Schutz der freien Nutzung, des Kopierens, der Forschung und Entwicklung von GNU-Software. Es ist außerdem erforderlich, dass die Software in Form eines Quellcodes veröffentlicht wird.
Das GNU-System und der Linux-Kernel bilden zusammen ein vollständiges Betriebssystem: ein GNU-System auf Basis von Linux. Dieses Betriebssystem wird normalerweise „GNU/Linux“ oder einfach Linux genannt.
2. Linux-Distribution
Eine typische Linux-Distribution umfasst: Linux-Kernel, einige GNU-Programmbibliotheken und -Tools, Befehlszeilen-Shell, grafische Oberfläche X-Window-System und entsprechende Desktop-Umgebung, wie z B. KDE oder GNOME, und enthält Tausende von Anwendungen, die von Office-Suiten, Compilern und Texteditoren bis hin zu wissenschaftlichen Tools reichen.
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 Mehrbenutzer-, Multitasking- und Multithreading-Betriebssysteme CPU-Architekturen. Linux erbt die netzwerkzentrierte Designphilosophie von Unix und ist ein Mehrbenutzer-Netzwerkbetriebssystem mit stabiler Leistung.
4. Swap-Partition
Swap-Partition, also den Swap-Bereich, tauscht das System mit Swap aus, wenn der physische Speicher nicht ausreicht. Das heißt, wenn der physische Speicher des Systems nicht ausreicht, wird ein Teil des Speicherplatzes auf der Festplatte für die Nutzung durch das aktuell laufende Programm freigegeben. Wenn diese Programme ausgeführt werden sollen, werden die gespeicherten Daten von der Swap-Partition im Speicher wiederhergestellt. Bei Programmen, deren Speicherplatz freigegeben wird, handelt es sich im Allgemeinen um Programme, die längere Zeit nicht ausgeführt wurden.
Der Auslagerungsspeicher sollte im Allgemeinen größer oder gleich der Größe des physischen Speichers sein. Gleichzeitig sollte das Minimum nicht weniger als 64 MB betragen und das Maximum sollte das Doppelte des physischen Speichers betragen.
5. Das Konzept von GRUB
GNU GRUB (GRand Unified Bootloader, kurz „GRUB“) ist ein Multi-Betriebssystem-Start-Boot-Management-Programm von 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 Starten des Computers ausführen möchte. Gleichzeitig kann GRUB verschiedene Kernel auf der Linux-Systempartition starten und auch zum Übergeben von Startparametern an den Kernel verwendet werden, z. B. zum Aufrufen des Einzelbenutzermodus.
6. Puffer und Cache
Cache (Cache) ist ein temporärer Speicher, der sich zwischen der CPU und dem Arbeitsspeicher befindet Die Austauschgeschwindigkeit ist schneller als der Speicher. Der Cache löst den Konflikt zwischen der CPU-Betriebsgeschwindigkeit und der Lese- und Schreibgeschwindigkeit des Speichers durch Zwischenspeichern von Dateidatenblöcken und verbessert die Datenaustauschgeschwindigkeit zwischen CPU und Speicher. Je größer der Cache-Cache ist, desto schneller ist die CPU-Verarbeitungsgeschwindigkeit.
Puffer-Cache-Speicher beschleunigt den Zugriff auf Daten auf der Festplatte durch Zwischenspeichern von Datenblöcken auf der Festplatte (I/O-Gerät), reduziert I/O und verbessert den Speicher und die Festplatte (oder andere I/O-Geräte). ) ). Der Puffer wird gerade auf die Festplatte geschrieben und der Cache wird von der Festplatte gelesen.
7. TCP-Drei-Wege-Handshake
(1) Das anfordernde Ende sendet ein SYN-Datenpaket (SYN=A) und wartet darauf Bestätigung vom antwortenden Ende
(2) Der Antwortende empfängt SYN und sendet SYN (A+1) und sein eigenes ACK-Paket (K) an den Anforderer zurück
( 3) Das anfragende Ende empfängt das SYN+ACK-Paket vom antwortenden Ende und sendet erneut ein Bestätigungspaket ACK (K+1) an das antwortende Ende
The Das anfordernde Ende und das antwortende Ende stellen eine TCP-Verbindung her, schließen den Drei-Wege-Handshake ab und starten die Datenübertragung.
8. Linux-Systemverzeichnisstruktur
Das Linux-Dateisystem verwendet eine Baumverzeichnisstruktur mit Links, das heißt, es gibt nur ein Stammverzeichnis (normalerweise dargestellt durch „ /"). Es enthält Informationen über Unterverzeichnisse oder Dateien auf niedrigerer Ebene; Unterverzeichnisse können auch Informationen über Unterverzeichnisse oder Dateien auf niedrigerer Ebene enthalten.
/: Das Stammverzeichnis der ersten Hierarchie, das Stammverzeichnis der gesamten Dateisystemhierarchie. Das heißt, der Eingang zum Dateisystem, dem Verzeichnis der höchsten Ebene.
/boot: Enthält die für den Linux-Kernel und das Systemstartprogramm erforderlichen Dateien, z. B. Kernel, initrd. Der Systemstartmanager befindet sich ebenfalls in diesem Verzeichnis.
/bin: Die vom Basissystem benötigten Befehle haben ähnliche Funktionen wie „/usr/bin“. Die Dateien in diesem Verzeichnis sind alle ausführbar.
/sbin: Grundlegende Systemwartungsbefehle, die nur von Superuser verwendet werden können.
/etc: Alle Systemkonfigurationsdateien.
/dev: Speicherverzeichnis für Gerätedateien, z. B. Terminal, Festplatte, optisches Laufwerk usw.
/var: Speichert sich häufig ändernde Daten wie Protokolle, E-Mails usw.
/home: Das Standardspeicherverzeichnis für normale Benutzer.
/opt: Das Speicherverzeichnis für Software von Drittanbietern. In diesem Verzeichnis werden beispielsweise benutzerdefinierte Softwarepakete und kompilierte Softwarepakete installiert.
/lib: Verzeichnis, in dem Bibliotheksdateien und Kernelmodule gespeichert werden, einschließlich aller gemeinsam genutzten Bibliotheksdateien, die von Systemprogrammen benötigt werden.
9. Hardlinks und Softlinks
Hardlinks: Hardlinks verwenden denselben Indexknoten (Inode-Nummer), d. h. Es kann zugelassen werden, dass mehrere Dateinamen auf denselben Dateiindexknoten verweisen (Hardlinks unterstützen keine Verzeichnisverknüpfungen und können keine Partitionsverknüpfungen überschreiten). Das Löschen eines Hardlinks hat keine Auswirkungen auf die Quelldatei des Indexknotens und mehrere Dateien darunter Link.
ln source new-link
Softlink (Symbolischer Link): Ein symbolischer Link ist ein Link, der in Form eines Pfads erstellt wird, ähnlich einer Windows-Verknüpfung und symbolische Links ermöglichen die Erstellung mehrerer Dateinamen, die mit derselben Quelldatei verknüpft sind. Wenn die Quelldatei gelöscht wird, sind alle darunter liegenden Softlinks nicht verfügbar. (Softlinks unterstützen Verzeichnisse, Partitionen und Dateisysteme)
ln -s source new-link
10. RAID-Technologie
Festplatten-Array (Redundante Arrays unabhängiger Festplatten, RAID), günstiges redundantes (unabhängiges) Festplatten-Array.
RAID ist eine Technologie, die mehrere unabhängige physische Festplatten auf unterschiedliche Weise zu einer Festplattengruppe (logische Festplatte) zusammenfasst und so eine höhere Speicherleistung und Datensicherung als eine einzelne Festplatte bietet. Die RAID-Technologie kann mehrere Festplatten zu einem logischen Volume zusammenfassen, um plattenübergreifende Funktionen bereitzustellen. Sie kann Daten in mehrere Datenblöcke (Blöcke) aufteilen und mehrere Festplatten parallel schreiben/lesen, um die Geschwindigkeit des Festplattenzugriffs zu erhöhen Operationen sorgen für Fehlertoleranz. Spezifische Funktionen werden in unterschiedlichen RAID-Kombinationen umgesetzt.
Aus der Sicht des Benutzers ist die aus RAID bestehende Festplattengruppe wie eine Festplatte, die partitioniert, formatiert und für andere Vorgänge ausgeführt werden kann. Die Speichergeschwindigkeit von RAID ist viel höher als die einer einzelnen Festplatte und bietet eine automatische Datensicherung und eine gute Fehlertoleranz.
RAID-Stufen, verschiedene RAID-Kombinationen werden in verschiedene RAID-Stufen unterteilt:
RAID 0: Stripping Stripe Storage-Technologie genannt, alle Festplatten werden vollständig parallel gelesen und geschrieben, ist die einfachste Form der Einrichtung eines Festplatten-Arrays. Es ist kostengünstig und kann die Leistung und den Durchsatz der gesamten Festplatte bereitstellen. Allerdings bietet RAID 0 keine Datenredundanz- und Fehlerreparaturfunktionen Eine einzelne Beschädigung der Festplatte führt zum Verlust aller Daten. (RAID 0 verbessert lediglich die Festplattenkapazität und -leistung, ohne eine Zuverlässigkeitsgarantie für Daten zu bieten. Es eignet sich für Umgebungen mit geringen Anforderungen an die Datensicherheit.)
RAID 1: Spiegelspeicher, indem zwei Festplatten kombiniert werden. Die Daten einer Festplatte werden gespeichert Es wird auf eine andere Festplatte gespiegelt, um Datenredundanz zu erreichen. Auf den beiden Festplatten werden gegenseitige Sicherungsdaten generiert, deren Kapazität nur der Kapazität einer Festplatte entspricht. Wenn Daten auf eine Festplatte geschrieben werden, wird eine Spiegelung auf einer anderen inaktiven Festplatte erstellt, um die Zuverlässigkeit und Reparaturfähigkeit des Systems zu maximieren, ohne die Leistung zu beeinträchtigen. Wenn die Originaldaten ausgelastet sind, können sie direkt von der Spiegelung kopiert werden schnellere der beiden Festplatten), um die Leseleistung zu verbessern. Im Gegenteil, RAID 1 hat eine langsamere Schreibgeschwindigkeit. RAID 1 unterstützt im Allgemeinen „Hot Swap“, d. h. der Ausbau oder Austausch von Festplatten im Array kann bei laufendem System ohne Systemunterbrechung durchgeführt werden. RAID 1 weist die höchsten Stückkosten für Festplatten im Festplatten-Array auf, bietet jedoch eine hohe Datensicherheit, Zuverlässigkeit und Verfügbarkeit. Wenn eine Festplatte ausfällt, kann das System zum Lesen und Schreiben automatisch auf die Spiegelplatte umschalten, ohne dass eine Neuorganisation erforderlich ist die Fehlerdaten.
RAID 0+1: Auch als RAID 10 bekannt, ist es eigentlich eine Kombination aus RAID 0 und RAID 1. Es teilt Daten kontinuierlich in Einheiten von Bits oder Bytes auf und liest/schreibt mehrere Festplatten gleichzeitig Gleichzeitig wird jede Festplatte aus Redundanzgründen gespiegelt. Durch die Kombination von RAID 0+1 verfügt jede Festplatte zusätzlich zur Datenverteilung auf mehrere Festplatten über eine eigene physische Spiegelplatte, die Redundanz bietet, einen oder mehrere Festplattenausfälle zulässt, ohne die Datenverfügbarkeit zu beeinträchtigen, und eine schnelle Lese-/Schreibgeschwindigkeit bietet Fähigkeit. RAID 0+1 erfordert mindestens 4 Festplatten, um einen Stripe-Satz im Disk-Image zu erstellen. Die RAID 0+1-Technologie gewährleistet nicht nur eine hohe Datenzuverlässigkeit, sondern auch eine hohe Effizienz beim Lesen/Schreiben von Daten.
RAID 5: Es handelt sich um 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 Schutzgrad ist jedoch geringer als bei der Spiegelung und die Speicherplatznutzung ist höher als bei der Spiegelung. RAID 5 hat eine ähnliche Datenlesegeschwindigkeit wie RAID 0, verfügt jedoch über zusätzliche Paritätsprüfungsinformationen und die Schreibgeschwindigkeit von Daten ist etwas langsamer als das Schreiben auf eine einzelne Festplatte. Da mehrere Daten einer Paritätsinformation entsprechen, hat RAID 5 gleichzeitig eine höhere Speicherplatzauslastung als RAID 1 und die Speicherkosten sind relativ niedrig. Dies ist eine Lösung, die derzeit weit verbreitet ist.
Weitere technische Artikel zum Thema Linux finden Sie in der Spalte Linux-Tutorial, um mehr zu erfahren!
Das obige ist der detaillierte Inhalt vonSo verbessern Sie den Betrieb und die Wartung von Linux vom Anfänger bis zum Fortgeschrittenen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

In diesem Artikel wird beschrieben, wie die SSL -Leistung von NGINX -Servern auf Debian -Systemen effektiv überwacht wird. Wir werden Nginxexporter verwenden, um Nginx -Statusdaten in Prometheus zu exportieren und sie dann visuell über Grafana anzeigen. Schritt 1: Konfigurieren von Nginx Erstens müssen wir das Modul stub_status in der nginx -Konfigurationsdatei aktivieren, um die Statusinformationen von Nginx zu erhalten. Fügen Sie das folgende Snippet in Ihre Nginx -Konfigurationsdatei hinzu (normalerweise in /etc/nginx/nginx.conf oder deren inklusive Datei): location/nginx_status {stub_status

In diesem Artikel werden zwei Methoden zur Konfiguration eines Recycling -Bin in einem Debian -System eingeführt: eine grafische Schnittstelle und eine Befehlszeile. Methode 1: Verwenden Sie die grafische Schnittstelle Nautilus, um den Dateimanager zu öffnen: Suchen und starten Sie den Nautilus -Dateimanager (normalerweise als "Datei") im Menü Desktop oder Anwendungen. Suchen Sie den Recycle Bin: Suchen Sie nach dem Ordner recycelner Behälter in der linken Navigationsleiste. Wenn es nicht gefunden wird, klicken Sie auf "Andere Speicherort" oder "Computer", um sie zu suchen. Konfigurieren Sie Recycle Bin-Eigenschaften: Klicken Sie mit der rechten Maustaste auf "Recycle Bin" und wählen Sie "Eigenschaften". Im Eigenschaftenfenster können Sie die folgenden Einstellungen einstellen: Maximale Größe: Begrenzen Sie den im Recycle -Behälter verfügbaren Speicherplatz. Aufbewahrungszeit: Legen Sie die Erhaltung fest, bevor die Datei automatisch im Recyclingbehälter gelöscht wird

Befolgen Sie die folgenden Schritte, um den Apache -Server neu zu starten: Linux/MacOS: Führen Sie sudo systemCTL RESTART APache2 aus. Windows: Net Stop Apache2.4 und dann Net Start Apache2.4 ausführen. Führen Sie Netstat -a | Findstr 80, um den Serverstatus zu überprüfen.

In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

In diesem Leitfaden werden Sie erfahren, wie Sie Syslog in Debian -Systemen verwenden. Syslog ist ein Schlüsseldienst in Linux -Systemen für Protokollierungssysteme und Anwendungsprotokollnachrichten. Es hilft den Administratoren, die Systemaktivitäten zu überwachen und zu analysieren, um Probleme schnell zu identifizieren und zu lösen. 1. Grundkenntnisse über syslog Die Kernfunktionen von Syslog umfassen: zentrales Sammeln und Verwalten von Protokollnachrichten; Unterstützung mehrerer Protokoll -Ausgabesformate und Zielorte (z. B. Dateien oder Netzwerke); Bereitstellung von Echtzeit-Protokoll- und Filterfunktionen. 2. Installieren und Konfigurieren von Syslog (mit Rsyslog) Das Debian -System verwendet standardmäßig Rsyslog. Sie können es mit dem folgenden Befehl installieren: sudoaptupdatesud

Apache kann aus den folgenden Gründen nicht beginnen: Konfigurationsdatei -Syntaxfehler. Konflikt mit anderen Anwendungsports. Berechtigungen Ausgabe. Aus dem Gedächtnis. Prozess -Deadlock. Dämonversagen. Selinux -Berechtigungen Probleme. Firewall -Problem. Software -Konflikt.
