Wie erstelle und optimiere ich eine ext4-Partition über die Befehlszeile?
41
PARTITIONIERUNG (zB fdisk)
Welche nützlichen Befehle werden zum Partitionieren einer zusätzlichen Festplatte über die Befehlszeile verwendet? Da die meisten veröffentlichten Handbücher auf GParted und andere grafische Dienstprogramme abzielen, wäre eine Zusammenfassung einiger Befehlszeilensequenzen hilfreich.
TUNING - RESERVIERTE PLATZ-, RÜCKSCHREIB- UND ZUGRIFFSZEITEN
So entfernen Sie den reservierten Speicherplatz (standardmäßig), falls das Laufwerk zu 100% voll ist. Da es sich bei mir lediglich um ein sekundäres Laufwerk für "Daten" handelt, wird durch Entfernen des reservierten Bereichs sichergestellt, dass das gesamte Laufwerk zur Verwendung verfügbar ist.
Ich bin auch neugierig auf Write-through vs. Write-back und darauf, die Aktualisierung der Zugriffszeiten (für Dateien und Verzeichnisse) zu überspringen, um die Leistung zu verbessern.
Diese Befehle sind BEISPIELE . Durch das Löschen von Partitionen, das Ändern und Formatieren von Dateisystemen werden Daten gelöscht und / oder der Systemstart Ihres Computers wird möglicherweise verhindert. Machen Sie Backups. Verwendung auf eigene Gefahr. Probieren Sie eine Maschine aus, auf der es Ihnen nichts ausmacht, alle Daten zu verlieren. Einschränkung Admin.
So richten Sie ein Laufwerk schnell als einzelne ext4-Partition ein ...
Erkannte Geräte der Klasse "DISK" anzeigen
lshw -C disk
Vorhandene Partitionstabelle (n) anzeigen
fdisk -l
Bearbeiten Sie die Partitionstabelle für mein ausgewähltes Gerät (in diesem Fall "sdx")
fdisk /dev/sdx
Drücken Sie in FDISK:
d... bis d elete die aktuelle Partition
n... zur Schaffung eines n ew Partition
p... um es als P RIMARY-Partition anzugeben
1... um es als primäre Partition 1 ST festzulegen
w... um die Änderungen zu schreiben .
Zeigen Sie die neue Partitionstabelle an:
fdisk -l
Formatieren Sie das Dateisystem der neuen Partition als Typ ext4
mkfs -t ext4 /dev/sdx1
Erstellen Sie ein neues Verzeichnis, in das das neue Laufwerk geladen werden soll:
mkdir /storage
mount /dev/sdx1 /storage
ABSTIMMUNG
Entfernen Sie reservierte Blöcke (dh setzen Sie sie auf 0%), da dieses Laufwerk nur für Benutzerdaten bestimmt ist
tune2fs -m 0 /dev/sdx1
Da sich der Server in der UPS befindet, stellen Sie das Zurückschreiben ein, damit die Apps nicht auf das tatsächliche Schreiben der Festplatte warten
tune2fs -o journal_data_writeback /dev/sdx1
Mounten Sie beim Booten mit /etc/fstabund legen Sie auch die Write-Back-Richtlinie fest
vi /etc/fstab
Suchen Sie die entsprechende Zeile fstabfür Ihr Laufwerk (oder fügen Sie sie hinzu) . Parameter in fstab werden durch Leerzeichen getrennt. Das oben beschriebene Laufwerk könnte beispielsweise wie folgt aussehen:
Starten Sie den Computer neu, um zu überprüfen, ob alles ordnungsgemäß funktioniert hat.
Denken Sie daran, diese Befehle sind destruktiv! Habe Backups und sei vorsichtig!
Zwischen Speicher und ext4 sollte ein Leerzeichen sein. Der Befehl lautet also / dev / sdx1 / storage ext4 relatime, errors = remount-ro 0 1
Ganesh Krishnan
Toller Reiseführer! Es wäre schön, hier einige Referenzen zu haben, um geeignete fstab-Optionen zu bestimmen (nur ein Link zu einer Liste wäre großartig)
Sander
13
Verwenden parted
Nachfolgend die Anleitung zum Erstellen einer neuen ext4-Partition auf einer neuen Festplatte mit parted(getestet auf Ubuntu 14.04.4 LTS x64). partedunterstützt im Gegensatz zu GUID Partition Table (GPT) und kann anschließend für Partitionen über 2 TB verwendet werden fdisk.
Verwenden Sie sudo lshw -C disk *-disk, um den logischen Namen Ihrer neuen Festplatte anzuzeigen:
description: ATA Disk
product: ST6000NM0024-1HT
vendor: Seagate
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/sdb
version: SN05
serial: Z4D30T30
size: 5589GiB (6001GB)
configuration: ansiversion=5 sectorsize=4096
Der logische Name lautet /dev/sdb. Wir können loslegen:
Mit sudo parted /dev/sdb printkönnen wir sehen, dass die GPT erstellt wurde:
username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
Wir müssen auch die Größe der Festplatte kennen (wir werden MB als Einheit verwenden):
sudo parted /dev/sdb print unit MB print free
was anzeigt:
Disk /dev/sdb: 6001175MB
Wir können jetzt die primäre Partition erstellen, sodass sie den gesamten Festplattenspeicher beansprucht. So legen Sie die Partitionsbezeichnung fest:
Mit sudo parted /dev/sdb printkönnen wir sehen, wie die primäre Partitionsbezeichnung erstellt wurde:
username@server:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 6001GB 6001GB xfs primary
Wir müssen dann mkfs verwenden , um die Partition tatsächlich zu erstellen:
sudo mkfs.ext4 /dev/sdb1
Die Partition ist nun erstellt, wir müssen sie mounten. Dazu sudo nano /etc/fstabund fügen Sie die folgende Zeile ( /crimeader Ordner , in dem wir wählen die neue Partition zu mounten):
/dev/sdb1 /crimea ext4 defaults 0 0
Wir erstellen den Ordner und laden neu /etc/fstab:
sudo mkdir /crimea
sudo mount -a # Remount /etc/fstab without rebooting in Linux
Sie können die neu gemountete Partition folgendermaßen anzeigen df -h:
/dev/sdb1 5.5T 58M 5.2T 1% /crimea
In sudo nano /etc/fstab, statt mit /dev/sdb1Ihnen seine verwenden könnte UUID, die Sie finden können , mit sudo lshw -C volume:
Die Verwendung der UUID hat den Vorteil, dass sie unabhängig von der tatsächlichen Gerätenummer ist, die das Betriebssystem Ihrer Festplatte gibt. Image Sie fügen dem System eine weitere Festplatte hinzu, und aus irgendeinem Grund entscheidet das Betriebssystem, dass Ihre alte Festplatte jetzt sdbnicht mehr vorhanden ist sba. Ihr Boot-Vorgang wäre durcheinander, wenn fstab auf den Gerätenamen zeigen würde. Im Falle der UUIDs wäre dies jedoch in Ordnung.
Zusammenfassung:
sudo lshw -C disk # Checking the location of the new drive. It is /dev/sdb.
sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)
sudo parted /dev/sdb print # Checking that the GPT has been created
sudo parted /dev/sdb print unit MB print free # see 6001175MB size
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition label
sudo mkfs.ext4 /dev/sdb1 # Creating the partition
sudo nano /etc/fstab # Add line `/dev/sdb1 /crimea ext4 defaults 0 0`
sudo mount -a # Remount /etc/fstab without rebooting
Stattdessen sollten Sie das Ende des MB sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MBbesser angeben ext4 0% 100%, um die Warnung zu vermeiden: Die resultierende Partition ist nicht richtig ausgerichtet, um die beste Leistung zu erzielen.
Verwenden
parted
Nachfolgend die Anleitung zum Erstellen einer neuen ext4-Partition auf einer neuen Festplatte mit
parted
(getestet auf Ubuntu 14.04.4 LTS x64).parted
unterstützt im Gegensatz zu GUID Partition Table (GPT) und kann anschließend für Partitionen über 2 TB verwendet werdenfdisk
.Verwenden Sie
sudo lshw -C disk *-disk
, um den logischen Namen Ihrer neuen Festplatte anzuzeigen:Der logische Name lautet
/dev/sdb
. Wir können loslegen:Mit
sudo parted /dev/sdb print
können wir sehen, dass die GPT erstellt wurde:Wir müssen auch die Größe der Festplatte kennen (wir werden MB als Einheit verwenden):
was anzeigt:
Wir können jetzt die primäre Partition erstellen, sodass sie den gesamten Festplattenspeicher beansprucht. So legen Sie die Partitionsbezeichnung fest:
(Siehe https://unix.stackexchange.com/a/49274/16704, wenn Sie wissen möchten, warum wir verwenden
--align optimal
)Mit
sudo parted /dev/sdb print
können wir sehen, wie die primäre Partitionsbezeichnung erstellt wurde:Wir müssen dann mkfs verwenden , um die Partition tatsächlich zu erstellen:
Die Partition ist nun erstellt, wir müssen sie mounten. Dazu
sudo nano /etc/fstab
und fügen Sie die folgende Zeile (/crimea
der Ordner , in dem wir wählen die neue Partition zu mounten):Wir erstellen den Ordner und laden neu
/etc/fstab
:Sie können die neu gemountete Partition folgendermaßen anzeigen
df -h
:In
sudo nano /etc/fstab
, statt mit/dev/sdb1
Ihnen seine verwenden könnteUUID
, die Sie finden können , mitsudo lshw -C volume
:Ansonsten könnte man einfach machen
sudo blkid /dev/sdb1
:Die neue Zeile
/etc/fstab
lautet:https://unix.stackexchange.com/a/137868/16704 erklärt, warum es am besten ist, UUID (liquidat, cc by-sa 3.0) zu verwenden:
Zusammenfassung:
quelle
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB
besser angebenext4 0% 100%
, um die Warnung zu vermeiden: Die resultierende Partition ist nicht richtig ausgerichtet, um die beste Leistung zu erzielen.