[LINUX] Ich habe versucht, eine SATA-Software-RAID-Konfiguration zu erstellen, die das Betriebssystem unter Ubuntu Server startet

Hintergrund

Auf einem Bare-Metal-Server habe ich persönlich das Einstellungsprotokoll überprüft, mit dem das Betriebssystem mit der Software-RAID1-Konfiguration (Spiegelkonfiguration) mit zwei Speichern gestartet wird. Ich sehe Informationen zu RHEL und CentOS, möchte sie jedoch in der Ubuntu-Umgebung ausprobieren und sie in der Linux-Umgebung vielseitig einsetzbar machen. Es ist einfach, eine Hardware-RAID-Karte zu installieren, aber es ist nicht billig. Machen wir sie also einfach überflüssig mit Software-RAID mit SATA.

Betriebsumgebung

Wenn Sie im Internet nach dieser Art von Informationen suchen, gibt es viele Seiten, die ich mit Virtualbox ausprobiert habe. Bitte haben Sie jedoch Verständnis dafür, dass nicht unbedingt gesagt werden kann, ob es tatsächlich mit dem Bare-Metal-Server der tatsächlichen Maschine funktioniert, da die Funktionsweise des BIOS je nach Hersteller und Modell unterschiedlich ist. Bitte. Nur als Referenz. Dieses Mal haben wir mit dem tatsächlich verwendeten Rack-Mount-Server der PRIMERGY-Serie von FUJITSU überprüft, der häufig in Ihrem Heim-Rack zu finden ist.

BIOS-Einstellungen

Stellen Sie zunächst das BIOS des eigentlichen Bare-Metal-Servers ein. Verwenden Sie die Tasten [F2] und [DEL], um den BIOS-Bildschirm anzuzeigen. IMG_4025 (2).jpg IMG_4027 (2).jpg Stellen Sie hier den SATA-Modus in den BIOS-Einstellungen auf [AHCI-Modus] anstelle von [RAID-Modus] ein. Dieser [RAID-Modus] ist eine Software-RAID-Einstellung, für die die Treibersoftware des Windows-Betriebssystems erforderlich ist, die auch als gefälschtes RAID bezeichnet wird. Diese Art von FakeRAID kann grundsätzlich nicht verwendet werden, da die Treibersoftware unter Linux nicht ausreicht. Einige haben möglicherweise RHEL-Treibersoftware.

Ubuntu Server Installation

Verwenden Sie bei der Installation der Software-RAID-Umgebung von Ubuntu unbedingt die Version "Alternative Ubuntu Server Installer", da die Installation mit der Version "Desktop" oder der normalen Version "Server (Live)" nicht ordnungsgemäß durchgeführt werden kann.

Dieses Mal habe ich "Ubuntu Server 18.04.3 LTS" verwendet.

Spracheinstellungen

Wenn Sie Japanisch auswählen, wird es in der Mitte angehalten. Installieren Sie es daher auf Englisch. IMG_4029.jpg Es gab jedoch auch auf Japanisch kein Problem mit der Tastatur und den regionalen Einstellungen.

Speicherpartitionierung

Dieses Mal erstellen wir zwei Partitionen für den gesamten einzelnen Speicher. Eine ist für den Start des Betriebssystems und die andere für das Betriebssystem und die Benutzer. Da es als RAID1 (Spiegel) mit 2 Einheiten "/ dev / sda" und "/ dev / sdb" konfiguriert ist, gibt es insgesamt 4 Partitionen. IMG_4030 (2).jpg Diese Partition erstellt das Ext4-Dateiformat auf der RAID-Attributpartition. LVM wird diesmal nicht verwendet.

Erstellen Sie eine Partition für den Betriebssystemstart

Erstellen Sie zu Beginn des Speichers eine Partition für den Betriebssystemstart. Eine Größe von 1 GB reicht aus. Erstellen Sie in jedem der beiden Speicher "/ dev / sda1" und "/ dev / sdb1". Setzen Sie die Partition auf das RAID-Attribut. Stellen Sie außerdem sicher, dass das bootfähige Betriebssystem-Flag aktiviert ist :. IMG_4031 (2).jpg IMG_4032.jpg Das Dateiformat von Ext4 wird hier nicht festgelegt, da es nach der Konfiguration von RAID erfolgt. Mach keinen Fehler.

Erstellung von Betriebssystemen und Benutzerpartitionen

Erstellen Sie "/ dev / sda2" und "/ dev / sdb2" für den verbleibenden freien Speicherplatz für das Betriebssystem bzw. die Benutzer. Setzen Sie die Partition außerdem auf das RAID-Attribut. IMG_4033.jpg Das Dateiformat von Ext4 wird hier nicht festgelegt, da es nach der Konfiguration von RAID erfolgt. Mach keinen Fehler.

Erstellen Sie die MD des RAID-Konfigurationsgeräts

Der RAID-Konfigurationsspeicher wird als MD-Gerät erkannt. Erstellen Sie ein MD-Gerät, indem Sie die RAID-Attributpartitionen kombinieren, die in jedem der beiden Speicher erstellt wurden.

--Erstellen Sie ein RAID-Gerät mit dem Namen "md0", indem Sie die RAID-Attributpartitionen "/ dev / sda1" und "/ dev / sdb1" mit einer Kapazität von 1 GB zum Booten des zuerst erstellten Betriebssystems kombinieren. IMG_4035 (2).jpg

Wenn sich der Inhalt der Bildschirmanzeige nach der Erstellung nicht ändert, wird er angezeigt, indem ein Bildschirm zurückgegeben und erneut erkannt wird.

Ext4-Dateiformateinstellungen

Erstellen Sie eine Partition im Ext4-Dateiformat auf dem erstellten RAID-MD-Gerät.

--Stellen Sie die Mount-Position von "md0" für den Betriebssystemstart auf "/ boot" ein. IMG_4040 (2).jpg

--Stellen Sie die Mount-Position von "md1" für Betriebssystem und Benutzer auf "/" ein. IMG_4042.jpg

Endgültige Bestätigung der Partitionserstellung

Stellen Sie sicher, dass die Software-RAID-Konfiguration für Ihren Speicher wie erwartet ist, und partitionieren Sie dann Ihre Installation. Stellen Sie insbesondere sicher, dass Sie das Betriebssystem-Startflag der RAID-Partition für den Betriebssystemstart nicht vergessen haben. Ich denke, dass die Installation bis zum Ende erfolgreich abgeschlossen wurde und Sie neu starten können.

Bestätigung des Betriebssystemstarts

Nach dem Neustart wird die RAID-Synchronisierungseinstellung ausgeführt. Überprüfen Sie sie daher.

$ cat /proc/mdstat

Nachdem die RAID-Synchronisierung abgeschlossen ist, überprüfen wir, ob das Betriebssystem für jeden Speicher alleine startet.

Referenz

Arbeitsnotiz für den Austausch der Festplatte aufgrund eines RAID-Speicherfehlers in CentOS

Recommended Posts

Ich habe versucht, eine SATA-Software-RAID-Konfiguration zu erstellen, die das Betriebssystem unter Ubuntu Server startet
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Als ich versuchte, eine Rails-Umgebung auf WSL2 (Ubuntu 20.04LTS) zu erstellen, stolperte ich und fiel hin.
Ich habe versucht, einen Sender auf der IoT-Plattform "Rimotte" zu registrieren.
[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert
Ich habe ein Systemkonfigurationsdiagramm mit Diagrams on Docker geschrieben
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
[LPIC 101] Ich habe versucht, die Befehlsoptionen zusammenzufassen, die leicht zu Fehlern führen können
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
[Go + Gin] Ich habe versucht, eine Docker-Umgebung zu erstellen
Memo Ein Anfänger hat versucht, eine Java-Umgebung zu erstellen und unter Ubuntu 18.04.2 LTS ins Japanische zu übersetzen.
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
[Shell-Start] Ich habe versucht, die Shell mit einem billigen Linux-Board-G-Cluster auf dem Fernseher anzuzeigen
Ich habe versucht, die Sprachen, die Anfänger von nun an lernen sollten, absichtlich zusammenzufassen
Ich habe versucht, mit Docker einen Dienst aufzubauen, der maschinell erlernte Daten mit explosiver Geschwindigkeit verkauft
So erstellen Sie eine neue virtuelle Python-Umgebung unter Ubuntu
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, den Ipython-Cluster unter AWS auf das Minimum zu starten
Ich habe versucht, das Zugriffsprotokoll mit Node.js auf dem Server auszugeben
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert
[Flask] Ich habe versucht, die "Docker-Compose-Konfiguration" zusammenzufassen, die schnell für Webanwendungen erstellt werden kann
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
Ich habe versucht, es zu erweitern, damit die Datenbank mit der Analysesoftware von Wiire verwendet werden kann
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe versucht, ein System zu erstellen, das nur gelöschte Tweets abruft
Ein Hinweis zum Überprüfen der Verbindung zum Lizenzserver-Port
Ich habe versucht, das SD-Boot-Image von LicheePi Nano zu erstellen
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe gerade ein Skript geschrieben, um Android auf einem anderen Computer zu erstellen
Ich habe versucht, den auf Papier gestempelten Stempel mit OpenCV zu digitalisieren
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Ich habe versucht, ein Standbild aus dem Video auszuschneiden
Mit PyAutoGui habe ich versucht, den UI-Test des VB6-Programms zu automatisieren, das unter Windows Server 2003 R2 ausgeführt wird (Eingabebefehls-Spickzettel).
Ich habe versucht, Sphinx-Dokumente an BitBucket zu senden und sie automatisch auf dem Webserver wiederzugeben
Ich habe Cython unter Ubuntu auf VirtualBox ausprobiert
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Ich habe "Ich habe versucht, ein Skript zu erstellen, das gepostete Bilder sofort speichert, indem ich zu den Tweets eines bestimmten Benutzers auf Twitter zurückgekehrt bin" überarbeitet.
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Ich habe versucht, den besten Weg zu finden, um einen guten Ehepartner zu finden
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ich habe versucht, eine Blockchain zu implementieren, die tatsächlich mit ungefähr 170 Zeilen funktioniert
Ich habe einen Küchentimer erstellt, der in der Statusleiste angezeigt wird!
Passende Karaoke-Tasten ~ Ich habe versucht, es auf Laravel zu setzen ~ <auf dem Weg>
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ich habe versucht, den entscheidenden Baum (CART) zu verstehen, um ihn sorgfältig zu klassifizieren
Ich habe eine Bibliothek konoha gemacht, die den Tokenizer auf ein schönes Gefühl umstellt
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Ich habe versucht, das Ergebnis des A / B-Tests mit dem Chi-Quadrat-Test zu überprüfen
Ich habe versucht, den Ortsnamen zu wecken, der in den Texten von Masashi Sada auf der Heatmap erscheint
Ich habe versucht, einen Linebot zu erstellen (Implementierung)