by Patrick Schmid, Elvis Corbo, Martin Sommer

33
by Patrick Schmid, Elvis Corbo, Martin Sommer

description

by Patrick Schmid, Elvis Corbo, Martin Sommer. Was ist ein Dateisystem?. System mit dessen Hilfe man Daten in Form von Dateien auf einem Datenspeicher (HDD, CD, DVD, MB, …) speichert und verwaltet. Aufbau eines Dateisystems. Datei wird in Blöcke aufgeteilt - PowerPoint PPT Presentation

Transcript of by Patrick Schmid, Elvis Corbo, Martin Sommer

Page 1: by Patrick Schmid, Elvis Corbo, Martin Sommer

by Patrick Schmid, Elvis Corbo, Martin Sommer

Page 2: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

1. Einführung

2

• System mit dessen Hilfe man Daten in Form von Dateien auf einem Datenspeicher (HDD, CD, DVD, MB, …) speichert und verwaltet.

Was ist ein Dateisystem?

Page 3: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

3

Aufbau eines Dateisystems

• Datei wird in Blöcke aufgeteilt

• Blockgrößen: 512 Byte, 4096 Byte, 8192 Byte

• Massenspeicher ist für das Betriebssystem eine große Fläche nummerierter Blöcke

• Dateiattribute und Daten werden getrennt gespeichert

• Attribute stehen gesammelt im Beschreibungsblock

• Beschreibungsblock unter Windows: FAT (File Allocation Table)

• Beschreibungsblock unter Linux: i-node - Block

Page 4: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

4

Aufbau eines Dateisystems

[Bootblock] [Beschreibungsblöcke] [Freiliste] [Datenblöcke]

Page 5: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

5

Aufbau eines Dateisystems

Page 6: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

6

Aufbau eines Dateisystems

Page 7: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

7

Aufbau eines Dateisystems

Page 8: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

8

• open, close Datei öffnen/schließen

• read, write Schreib-/Lesezeiger setzen

• create, unlink Datei erzeugen/löschen

• mkdir, rmdir Verzeichnis erzeugen/löschen

• readdir Verzeichniseinträge lesen

Dateisystemoperationen

Dateisystemoperationen werden vom Kernel abgefangen und in konkrete Operationen an den Blöcken umgewandelt.

Page 9: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

9

Inkonsistenz

Tritt auf wenn…

• …Tabelleneinträge im Beschreibungsblock/in der Blockliste nicht mehr gültig sind bzw. mit den eigentlichen Datenblöcken nicht übereinstimmen.

• …der Rechner ausfällt während Dateisystemoperationen durchgeführt werden die die Struktur des Dateisystems ändern -> Schreibzugriffe (write, create, unlink, mkdir, rmdir).

Page 10: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

10

Inkonsistenz

Mit inkonsistentem System kann nicht weitergearbeitet werden-> BS versucht beim Booten Konsistenz wiederherzustellen.

• Bei Windows mit scandisk

• Bei Linux mit fsck (file system check)

Page 11: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

2. Grundlagen

11

Inkonsistenz

Page 12: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

3. Journaling

12

Page 13: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

13

Die nachfolgenden Beispiele sehen wir als die gebräuchlichsten Journaling-Dateisysteme an:

• Ext3

• ReiserFS

• NTFS

• HFS+

Page 14: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

14

Beispiel 1:

Linux-Betriebssystem

Page 15: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

15

• ext3 = third extended filesystem

• von Stephen Tweedie entwickelt

• Erweiterung von ext2 -> vollkommen abwärtskompatibel

• ext2 kann ohne Verlust in ext3 konvertiert werden

-> größter Vorteil gegenüber anderen journaling fs unter Linux

• macht fsck überflüssig

Page 16: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

16

• Anfallende Metadaten, die für Journaling benötigt werden, werden in der Datei .journal im root-Verzeichnis der ext3 Partition abgelegt.

• .journal ist eine normale Datei

• Der Dämon kjournald wird gestartet

Page 17: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

17

EXT3-fs: INFO: recovery required on readonly filesystem.EXT3-fs: write access will be enabled during recovery.kjournald starting. Commit interval 5 secondsEXT3-fs: recovery complete.EXT3-fs: mounted filesystem with ordered data mode.VFS: Mounted root (ext3 filesystem) readonly.Freeing unused kernel memory: 92k freedAdding Swap: 530136k swap-space (priority -1)EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,1), internal journalkjournald starting. Commit interval 5 secondsEXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journalEXT3-fs: mounted filesystem with ordered data mode.kjournald starting. Commit interval 5 secondsEXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journalEXT3-fs: mounted filesystem with ordered data mode.

Beim Booten erkennt der Kernel einen Absturz des Systems und stellt das System mit Hilfe des Journals wieder her.

Page 18: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

18

3 verschiedene Möglichkeiten wie Protokollierung in

.journal erfolgen soll:

• data = write-back• data = ordered• data = journal

Der jeweilige Modus wird beim Mounten angegeben.

Protokollierungsarten

Page 19: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

19

• nur Metadaten werden protokolliert jedoch unabhängig vom Schreiben der Daten an sich

• sehr schnell• gerade geschriebene Daten können aber beschädigt

werden

data = write-back

Page 20: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

20

data = ordered

• eigentliche Daten werden synchron mit den Metadaten ins Dateisystem geschrieben.

• Standardeinstellung• korrupte Daten können beim Überschreiben von

Datenblöcken entstehen

Page 21: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

21

• Daten werden zunächst ins Journal übertragen bevor sie tatsächlich ins Dateisystem geschrieben werden.

• langsam -> doppeltes Schreiben• höchste Datensicherheit

data = journal

Page 22: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

22

ext3 verwenden

• Nachdem Partition erstellt wurde Dateisystem mit Hilfe von mkfs erstellen:

/sbin/mkfs -t ext3 /dev/hdaX

Page 23: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

23

ext2 in ext3

• Journal zum bestehenden Dateisystem hinzufügen:

• Partitionstyp in /etc/fstab von ext2 in ext3 umändern

/sbin/tune2fs -j /dev/hdaX

Page 24: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

24

• Partition unmounten:

• Dateisystemtyp ändern:

• Partition auf Fehler überprüfen:

umount /dev/hdaX

ext3 in ext2

/sbin/tune2fs –O ^has_journal /dev/hdaX

/sbin/e2fsck –y /dev/hdaX

Page 25: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

25

ext3 in ext2

• Mounten der Partition als ext2:

• Journal Datei entfernen:

mount –t ext2 /dev/hdaX /mountpoint

rm –f .journal

Page 26: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

26

Beispiel 2:

Linux-Betriebssystem

Page 27: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

27

• blah

Page 28: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

28

Beispiel 3:

Windows-Betriebssystem

Page 29: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

29

• blah

Page 30: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

30

Beispiel 4:

Mac-Betriebssystem

Page 31: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

4. Implementierungen

31

• blah

Page 32: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

5. Konkrete Anwendung

32

Page 33: by Patrick Schmid, Elvis Corbo, Martin Sommer

12. Info – Journalierende Dateisysteme

6. Fazit

33