Ich hatte eine Frage zu ext4lazyinit frage hier . Nach allem, was ich gelesen und verstanden habe, können Sie einfach mit der Verwendung der Festplatte beginnen, ohne alle Inodes für Ihr Dateisystem zu erstellen.
Die einzige Möglichkeit, die Sie kennen oder messen können, ist die Überwachung ext4lazyinit
in iotop
. Gibt es eine Möglichkeit, den Fortschritt in Prozent zu berechnen?
Antworten:
Überprüfen Sie diese Patch- Diskussion. Sie können das System ohne Lazyinit initialisieren, aber nicht messen. Wenn Sie Zeit zum Warten haben, warten Sie einfach. Sie können versuchen, Patches aus der Diskussion zu entfernen, laut Patchwork lautet der Status jedoch "Abgelehnt".
quelle
Ich habe anscheinend einen Weg gefunden, um den Fortschritt von ext4lazyinit abzuschätzen.
TL; DR: siehe Skript unten.
Bei dieser Methode wird davon ausgegangen, dass der Datenträger seit dem ersten Mounten der Partition weder getrennt noch das System neu gestartet wurde und dass Sie genau so viele Daten auf die Partition geschrieben haben, wie gerade verwendet werden (also keine Löschung) oder Änderung von Dateien).
Schritt 1 : Vergleichen Sie die Partitionsgröße in fdisk (konvertiert in kiB) mit der Anzahl der 1K-Blöcke in df. Subtrahieren Sie (Anzahl der 1K-Blöcke) von (Partitionsgröße in kiB), um (ungefähre Größe der Inode-Tabelle) zu erhalten.
EDIT: Beispiel, fdisk:
df:
11720976351 Sektoren * 512 Bytes / Sektor / 1024 = 5860488175,5 kiB (fast 5,5 TiB, wie fdisk sagt). Minus dfs 5813233164 entspricht 47255011,5 kiB (ungefähr 45 GiB) für die ungefähre Größe der Inode-Tabelle.
Schritt 2 : Holen Sie sich (Gesamt-KB in Partition geschrieben):
Wählen Sie die richtige Zeile für Ihre Partition und konvertieren Sie sie in KB.
EDIT: Beispiel:
Bei Verwendung von sdd1 sind in meinem Fall insgesamt geschriebene kiB = 2530108940 Sektoren * 512 Bytes / Sektor / 1024 = 1265054470 kiB (fast 1,2 TiB).
Schritt 3 : Nur erforderlich, wenn Sie bereits Daten in das Dateisystem geschrieben haben. Subtrahieren Sie (Anzahl der 1K-Blöcke USED, in df) von (Gesamtzahl der in die Partition geschriebenen kiB), um (ca. kiB in die Inode-Tabelle geschrieben) zu erhalten.
BEARBEITEN: Beispiel: ungefähre in die Inode-Tabelle geschriebene kiB = 1265054470 (ab Schritt 2) - 1217095176 (siehe df-Ausgabe in Schritt 1) = 47959294 kiB (45,7 GiB)
Schritt 4 : Dividieren Sie (ca. kiB, geschrieben in die Inode-Tabelle) durch (ungefähre Größe der Inode-Tabelle in kiB) und multiplizieren Sie mit 100, um den Fortschritt als Prozentsatz zu erhalten.
BEARBEITEN: Beispiel: ungefährer Fortschritt = 47959294 / 47255011.5 * 100% = 101.5%
Skript
Oder um das als partielles Skript zu schreiben (wobei ich mich aus Sicherheitsgründen weigere, einen Aufruf von fdisk zu schreiben):
Aufruf mit $ 1 = "Name der Partition" (zB sdd1), $ 2 = "Sektoren der Partition nach fdisk", $ 3 = "Einhängepunkt ohne abschließenden Schrägstrich"
Testergebnisse
Ich habe meine Methode nur einmal getestet. Installieren:
6 TB Partition
Verschlüsselung mit Cryptsetup
Dateisystem erstellt mit Standardparametern außer -m 0
279 GiB Dateien, die auf die Partition geschrieben wurden, bevor ext4lazyinit abgeschlossen wurde.
Ergebnis : ein Messwert von 99,7% zum Zeitpunkt der Fertigstellung :-)
BEARBEITEN: Dieselbe Festplatte ergibt nach dem Schreiben von fast einem weiteren TiB Daten eine Schätzung von 101,5%. Genau genug, um nützlich zu sein, denke ich.
quelle