Skip to content

Instantly share code, notes, and snippets.

Created March 12, 2018 21:49
Show Gist options
  • Select an option

  • Save anonymous/fe1829f65339c399565c5376d5804ccc to your computer and use it in GitHub Desktop.

Select an option

Save anonymous/fe1829f65339c399565c5376d5804ccc to your computer and use it in GitHub Desktop.
rdf/ais/hands-on-lxc/Exkurs Festplatten Dateisysteme.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Festplatten und Dateisysteme\n\n* https://de.wikipedia.org/wiki/Festplattenlaufwerk\n* https://de.wikipedia.org/wiki/Liste_von_Dateisystemen\n* Speziell für den Raspberry \n https://de.wikipedia.org/wiki/Liste_von_Dateisystemen#Dateisysteme_f%C3%BCr_Flash-Datentr%C3%A4ger und \n https://de.wikipedia.org/wiki/F2FS\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Festplatten anzeigen lassen\n\nGenauer gesagt alle Blockdevices anzeigen lassen."
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:12.306851Z",
"end_time": "2018-03-12T21:20:12.754881Z"
},
"trusted": true
},
"cell_type": "code",
"source": "whatis lsblk",
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": "lsblk (8) - list block devices\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:13.728548Z",
"end_time": "2018-03-12T21:20:13.891147Z"
},
"trusted": true
},
"cell_type": "code",
"source": "lsblk",
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": "NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 0 127G 0 disk \n├─sda1 8:1 0 487M 0 part /boot\n├─sda2 8:2 0 1K 0 part \n└─sda5 8:5 0 126,5G 0 part \n ├─rdf--dev--vg-root 252:0 0 125,6G 0 lvm /\n └─rdf--dev--vg-swap_1 252:1 0 980M 0 lvm [SWAP]\nsdb 8:16 0 500G 0 disk \nsdc 8:32 0 500G 0 disk \nsdd 8:48 0 500G 0 disk \n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "> Die Aufgabe von lsblk ist es, verfügbare Block devices in Baumdarstellung aufzulisten und Informationen zu diesen anzuzeigen. Es liest hierzu das sysfs-Dateisystem ein.\n\n> Es ist vergleichbar mit blkid, welches aber nur für Geräte funktioniert, auf denen eine gültige Partitionstabelle existiert. lsblk hingegen listet auch Geräte auf, wenn diese über keine gültige Partitionstabelle verfügen.\n\nhttps://wiki.ubuntuusers.de/lsblk/ aufgerufen am 2018-03-11 10:37:28"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:22.173796Z",
"end_time": "2018-03-12T21:20:22.305789Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo lsblk -o NAME,FSTYPE,STATE,OWNER,GROUP,MODE,TYPE,MOUNTPOINT,LABEL,MODEL ",
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": "NAME FSTYPE STATE OWNER GROUP MODE TYPE MOUNTPOINT LABEL MODEL\nsda running root disk brw-rw---- disk VBOX HARDDIS\n├─sda1 ext2 root disk brw-rw---- part /boot \n├─sda2 root disk brw-rw---- part \n└─sda5 LVM2_me root disk brw-rw---- part \n ├─rdf--dev--vg-root\n │ ext4 running root disk brw-rw---- lvm / \n └─rdf--dev--vg-swap_1\n swap running root disk brw-rw---- lvm [SWAP] \nsdb running root disk brw-rw---- disk VBOX HARDDIS\nsdc running root disk brw-rw---- disk VBOX HARDDIS\nsdd running root disk brw-rw---- disk VBOX HARDDIS\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-11T09:40:19.529419Z",
"end_time": "2018-03-11T09:40:19.731930Z"
}
},
"cell_type": "markdown",
"source": "Siehe auch: https://wiki.ubuntuusers.de/lsblk/#Spezialfall-o-output-Liste"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Plattenplatz anzeigen lassen"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:28.701728Z",
"end_time": "2018-03-12T21:20:28.834299Z"
},
"trusted": true
},
"cell_type": "code",
"source": "whatis df du",
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": "df (1) - report file system disk space usage\ndu (1) - estimate file space usage\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:30.340655Z",
"end_time": "2018-03-12T21:20:30.459236Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df --help",
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": "Aufruf: df [OPTION]... [DATEI]...\nAnzeige von Informationen über die Dateisysteme, auf dem sich jede\nDATEI befindet, oder alle Dateisysteme, welches der Normalfall ist.\n\nErforderliche Argumente für lange Optionen sind auch für kurze erforderlich.\n -a, --all unechte Dateisysteme mit einschließen\n -B, --block-size=GRÖßE Größen in Einheiten von GRÖßE ausgeben, z.B. werden\n bei „-BM“ die Grössen in Einheiten von 1.048.576\n Bytes ausgegeben. Siehe auch GRÖẞE weiter unten\n -h, --human-readable Größen in menschenlesbarem Format (z.B. 1K 234M 2G)\n -H, --si genauso, aber mit 1000 statt 1024 als Teiler (z.B 1.1G)\n -i, --inodes INode‐Information statt der Block‐Benutzung\n auflisten\n -k wie „--block-size=1K“\n -l, --local Liste auf lokale Dateisysteme begrenzen\n --no-sync nicht „sync“ vor Erlangen der Benutzungsinformation\n aufrufen (Standardvorgabe)\n --output[=FELDLISTE] Das durch FELDLISTE definierte Ausgabeformat\n verwenden, oder alle Felder ausgeben, wenn\n FELDLISTE nicht angegeben wird.\n -P, --portability POSIX‐Ausgabeformat verwenden\n --sync „sync“ vor Erlangen der Benutzungsinformation\n aufrufen\n --total Gesamtsumme erstellen\n -t, --type=TYP Liste auf Dateisysteme des Typs TYP begrenzen\n -T, --print-type Dateisystemtyp ausgeben.\n -x, --exclude-type=TYP Liste auf Dateisysteme nicht vom Typ TYP begrenzen.\n -v (ignoriert)\n --help diese Hilfe anzeigen und beenden\n --version Versionsinformation anzeigen und beenden\n\nWerte werden in der ersten verfügbaren GRÖßE von --block-size und der\nUmgebungsvariablen DF_BLOCK_SIZE, BLOCK_SIZE und BLOCKSIZE ausgegeben.\nAndernfalls ist die Vorgabe Einheiten von 1024 Bytes \t(oder 512 wenn\nPOSIXLY_CORRECT gesetzt wurde).\n\nGRÖẞE ist eine Ganzzahl und eine optionale Einheit (Beispiel: 10M sind\n10*1024*1024). Einheiten sind K, M, G, T, P, E, Z, Y (Potenzen von 1024) oder\nKB, MB, ... (Potenzen von 1000).\n\nFELDLISTE ist eine durch Komma getrennte Liste der zu verwendenden Spalten.\nGültige Feldnamen sind: „source“, „fstype“, „itotal“, „iused“, „iavail“,\n„ipcent“, „size“, „used“, „avail“, „pcent“, „file“ und „target“ (siehe\nInfoseite).\n\nGNU coreutils Onlinehilfe: <http://www.gnu.org/software/coreutils/>\nMelden Sie Übersetzungsfehler für df an <translation-team-de@lists.sourceforge.net>\nDie vollständige Dokumentation ist hier: <http://www.gnu.org/software/coreutils/df>\noder auch lokal mittels „info '(coreutils) df invocation'“\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:31.525834Z",
"end_time": "2018-03-12T21:20:31.691080Z"
},
"trusted": true
},
"cell_type": "code",
"source": "du --help",
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": "Aufruf: du [OPTION]... [DATEI]...\n oder: du [OPTION]... --files0-from=DL\nSummierung der Plattennutzung jeder DATEI, rekursiv für Verzeichnisse\n\nErforderliche Argumente für lange Optionen sind auch für kurze erforderlich.\n -0, --null jede Zeile mit einem Nullbyte statt eines\n Zeilenumbruchs beenden\n -a, --all Zählung für jede Datei ausgeben, nicht nur für\n Verzeichnisse\n --apparent-size die sichtbare Größe ausgeben statt des\n Platzverbrauchs; diese ist meist kleiner, kann\n aber auch größer sein durch Löcher in („sparse“‐)\n Dateien, interne Fragmentierung, indirekte Blöcke\n und ähnliches\n -B, --block-size=GRÖßE GRÖßE große Blöcke verwenden. Siehe GRÖßE unten.\n -b, --bytes äquivalent zu „--apparent-size --block-size=1“\n -c, --total Gesamtsumme erzeugen\n -D, --dereference-args nur symbolische Verknüpfungen dereferenzieren, die\n an der Kommandozeile angegeben wurden\n -d, --max-depth=N die Gesamtgröße für ein Verzeichnis (oder, mit\n --all, einer Datei) ausgeben, aber nur dann, wenn\n es bzw. sie N oder weniger Ebenen unterhalb des\n Kommando-zeilenarguments ist; --max-depth=0 ist\n gleichbedeutend mit --summarize\n --files0-from=D aufsummierten Platzverbrauch der in der Datei D\n angegebenen null-terminierten Dateinamen ausgeben.\n ist D „-“, so wird aus der Standardeingabe gelesen\n -H wie --dereference-args (-D)\n -h, --human-readable Größen in menschenlesbarem Format (z.B. 1K 234M 2G)\n ausgeben\n -k Wie „--block-size=1K“\n -L, --dereference alle symbolischen Verknüpfungen dereferenzieren\n -l, --count-links Größe mehrfach zählen, wenn durch harte\n Verknüpfungen verbunden\n -m Wie „--block-size=1M“\n -P, --no-dereference keinen symbolischen Verknüpfungen folgen (Voreinstellung)\n -S, --separate-dirs Größe von Unterverzeichnissen nicht\n mitzählen\n --si wie -h, verwendet aber Potenzen von 1000 statt 1024\n -s, --summarize nur Summe für jedes Argument anzeigen\n -t, --threshold=GRÖẞE Einträge kleiner als GRÖẞE ausschließen wenn positiv,\n oder größer als GRÖẞE wenn negativ\n --time Zeit der letzten Änderung irgendeiner Datei im\n Verzeichnis oder einem seiner Unterverzeichnisse\n anzeigen\n --time=WORT Zeit als WORT anstelle der Änderungszeit anzeigen:\n atime, access, use, ctime or status\n --time-style=STIL Zeit in Stil STIL anzeigen:\n full-iso, long-iso, iso, +FORMAT\n FORMAT wird wie bei „date“ interpretiert\n -X, --exclude-from=DATEI Dateien ausschließen, die einem Muster in DATEI\n entsprechen\n --exclude=MUSTER Dateien ausschließen, die MUSTER entsprechen\n -x, --one-file-system Verzeichnisse auf anderen Dateisystemen überspringen\n --help diese Hilfe anzeigen und beenden\n --version Versionsinformation anzeigen und beenden\n\nWerte werden in der ersten verfügbaren GRÖßE von --block-size und der\nUmgebungsvariablen DU_BLOCK_SIZE, BLOCK_SIZE und BLOCKSIZE ausgegeben.\nAndernfalls ist die Vorgabe Einheiten von 1024 Bytes \t(oder 512 wenn\nPOSIXLY_CORRECT gesetzt wurde).\n\nGRÖẞE ist eine Ganzzahl und eine optionale Einheit (Beispiel: 10M sind\n10*1024*1024). Einheiten sind K, M, G, T, P, E, Z, Y (Potenzen von 1024) oder\nKB, MB, ... (Potenzen von 1000).\n\nGNU coreutils Onlinehilfe: <http://www.gnu.org/software/coreutils/>\nMelden Sie Übersetzungsfehler für du an <translation-team-de@lists.sourceforge.net>\nDie vollständige Dokumentation ist hier: <http://www.gnu.org/software/coreutils/du>\noder auch lokal mittels „info '(coreutils) du invocation'“\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:32.622248Z",
"end_time": "2018-03-12T21:20:32.730055Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df -T",
"execution_count": 7,
"outputs": [
{
"output_type": "stream",
"text": "Dateisystem Typ 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf\nudev devtmpfs 1004756 0 1004756 0% /dev\ntmpfs tmpfs 204808 6044 198764 3% /run\n/dev/mapper/rdf--dev--vg-root ext4 129463932 22235892 100628568 19% /\ntmpfs tmpfs 1024032 172 1023860 1% /dev/shm\ntmpfs tmpfs 5120 4 5116 1% /run/lock\ntmpfs tmpfs 1024032 0 1024032 0% /sys/fs/cgroup\n/dev/sda1 ext2 482922 57453 400535 13% /boot\ncgmfs tmpfs 100 0 100 0% /run/cgmanager/fs\ntmpfs tmpfs 204808 44 204764 1% /run/user/900\nvagrant vboxsf 1921802432 574596844 1347205588 30% /vagrant\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:34.736477Z",
"end_time": "2018-03-12T21:20:34.845839Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df --human-readable",
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": "Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf\nudev 982M 0 982M 0% /dev\ntmpfs 201M 6,0M 195M 3% /run\n/dev/mapper/rdf--dev--vg-root 124G 22G 96G 19% /\ntmpfs 1001M 172K 1000M 1% /dev/shm\ntmpfs 5,0M 4,0K 5,0M 1% /run/lock\ntmpfs 1001M 0 1001M 0% /sys/fs/cgroup\n/dev/sda1 472M 57M 392M 13% /boot\ncgmfs 100K 0 100K 0% /run/cgmanager/fs\ntmpfs 201M 44K 200M 1% /run/user/900\nvagrant 1,8T 549G 1,3T 30% /vagrant\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:36.580324Z",
"end_time": "2018-03-12T21:20:36.687198Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df --si",
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": "Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf\nudev 1,1G 0 1,1G 0% /dev\ntmpfs 210M 6,2M 204M 3% /run\n/dev/mapper/rdf--dev--vg-root 133G 23G 104G 19% /\ntmpfs 1,1G 177k 1,1G 1% /dev/shm\ntmpfs 5,3M 4,1k 5,3M 1% /run/lock\ntmpfs 1,1G 0 1,1G 0% /sys/fs/cgroup\n/dev/sda1 495M 59M 411M 13% /boot\ncgmfs 103k 0 103k 0% /run/cgmanager/fs\ntmpfs 210M 46k 210M 1% /run/user/900\nvagrant 2,0T 589G 1,4T 30% /vagrant\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:38.193911Z",
"end_time": "2018-03-12T21:20:38.302464Z"
},
"trusted": true
},
"cell_type": "code",
"source": "df --inodes",
"execution_count": 10,
"outputs": [
{
"output_type": "stream",
"text": "Dateisystem Inodes IBenutzt IFrei IUse% Eingehängt auf\nudev 251189 462 250727 1% /dev\ntmpfs 256008 712 255296 1% /run\n/dev/mapper/rdf--dev--vg-root 8232960 812922 7420038 10% /\ntmpfs 256008 6 256002 1% /dev/shm\ntmpfs 256008 5 256003 1% /run/lock\ntmpfs 256008 18 255990 1% /sys/fs/cgroup\n/dev/sda1 124928 304 124624 1% /boot\ncgmfs 256008 14 255994 1% /run/cgmanager/fs\ntmpfs 256008 26 255982 1% /run/user/900\nvagrant 1000 0 1000 0% /vagrant\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:39.917348Z",
"end_time": "2018-03-12T21:20:40.049464Z"
},
"trusted": true
},
"cell_type": "code",
"source": "du -h /bin",
"execution_count": 11,
"outputs": [
{
"output_type": "stream",
"text": "16M\t/bin\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## RAID und LVM\n\n* https://de.wikipedia.org/wiki/RAID\n\n* https://de.wikipedia.org/wiki/Logical_Volume_Manager\n\n* https://wiki.ubuntuusers.de/Software-RAID/\n\n* https://wiki.ubuntuusers.de/Software_RAID_mit_LVM/"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Redundant Array of Independent Disks (RAID)\n\n> Ein RAID-System dient zur Organisation __mehrerer physischer__ Massenspeicher (üblicherweise Festplattenlaufwerke oder Solid-State-Drives) zu __einem logischen__ Laufwerk, das eine _höhere Ausfallsicherheit_ oder einen _größeren Datendurchsatz_ erlaubt als ein einzelnes physisches Speichermedium\n\nhttps://de.wikipedia.org/wiki/RAID aufgerufen am 2018-03-11 10:44:11 "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "> Der Betrieb eines RAID-Systems setzt __mindestens zwei__ Speichermedien voraus. Diese werden gemeinsam betrieben und bilden einen Verbund, der unter mindestens einem Aspekt betrachtet leistungsfähiger ist als die einzelnen Medien. Mit RAID-Systemen kann man folgende Vorteile erreichen (allerdings schließen sich einige gleichzeitig aus): \n* Erhöhung der Ausfallsicherheit (Redundanz)\n* Steigerung der Datenübertragungsrate (Leistung)\n* Aufbau großer logischer Laufwerke\n* Austausch von Speichermedien (auch während des Betriebes)\n* Vergrößern des Speichers (auch während des Betriebs)\n* Kostenreduktion durch Einsatz mehrerer kleiner, preiswerter Medien\n\nhttps://de.wikipedia.org/wiki/RAID#Aufbau_und_Anschluss_%E2%80%93_Hardware-RAID,_Software-RAID aufgerufen am 2018-03-11 10:45:16 "
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-10T14:42:46.690321Z",
"end_time": "2018-03-10T14:42:47.783640Z"
}
},
"cell_type": "markdown",
"source": "Es gibt zwei Arten wie ein RAID Verbund betrieben werden kann:\n\n* __Hardware__ durch den Festplattencontroller\n* __Software__ durch die CPU\n * Host-Raid (wird meist als HW-RAID verkauft)\n * Linux Software RAID\n * Windows Software RAID"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Host RAID\n\n__Achtung__ Host Raid (auch BIOS-RAID oder Fake-RAID) diese belasten wie die Software RAID die CPU und sind stark abhängig von der verwendeten Hardware (BIOS).\n\n* https://de.wikipedia.org/wiki/RAID#Host-RAID\n\nFehleranfällig und sollte nicht verwendet werden."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Linux Software RAID\n\nLinux kann durch den Multi Devices Driver Support mehrere Festplatten(partitionen) zu einem RAID verbinden."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Windows RAID\n\nAuch unter Windows gibt es Softwar RAID. Diese RAID lassen sich von Linux nicht mehr auslesen."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID Level\n\n* RAID-0 (Stripping)\n* RAID-1 (Mirroring)\n* RAID-10 (Kombi von 1 und 0)\n* RAID-5 (Parity Striping)\n* RADI-6 (wie 5 nur doppelt redundant)"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID 0\n\n> Bei RAID 0 fehlt die Redundanz, daher gehört es streng genommen nicht zu den RAID-Systemen, es ist nur ein schnelles „Array of Independent Disks“.\n\n> RAID 0 bietet gesteigerte Transferraten, indem die beteiligten Festplatten in zusammenhängende Blöcke gleicher Größe aufgeteilt werden, wobei diese Blöcke quasi im Reißverschlussverfahren zu einer großen Festplatte angeordnet werden. Somit können Zugriffe auf allen Platten parallel durchgeführt werden (engl. striping, was „in Streifen zerlegen“ bedeutet, abgeleitet von stripe, oder „Streifen“)\n\n![RAID-Level 0](https://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/RAID_0.svg/325px-RAID_0.svg.png)\n\nVon en:User:Cburnett - Eigenes WerkDiese Vektorgrafik wurde mit Inkscape erstellt., CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1509075\n\nNachteile: \n\n* Hohes Ausfallrisiko (eine defekt alles defekt).\n* Geschwindigkeitsgewinn nur bei großen Dateien."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Raid 1\n\n> RAID 1 ist der Verbund von mindestens zwei Festplatten. Ein RAID 1 speichert auf allen Festplatten die gleichen Daten (Spiegelung) und bietet somit volle Redundanz. Die Kapazität des Arrays ist hierbei höchstens so groß wie die kleinste beteiligte Festplatte. \n\n![Raid 1](https://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/RAID_1.svg/325px-RAID_1.svg.png)\n\nVorteil:\n\n* erhöhte Sicherheit (fällt eine aus sind die Daten noch da)\n\nNachteil:\n\n* Schreiben leicht langsamer."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID 10\n\n> Ein RAID-10-Verbund ist ein RAID 0 über mehrere RAID 1. Es werden dabei die Eigenschaften der beiden RAIDs kombiniert: Sicherheit und gesteigerte Schreib-/Lesegeschwindigkeit.\n\n> Ein RAID-10-Verbund benötigt mindestens vier Festplatten. \n\n![Raid 10](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/RAID_10.svg/800px-RAID_10.svg.png)"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID 5\n\n> RAID 5 implementiert Striping mit auf Block-Level-verteilten Paritäts-Informationen. Zur Berechnung der Parität wird durch die jeweils an gleicher Adresse anliegenden Datenblöcke der am RAID-Verbund beteiligten Festplatten eine logische Gruppe gebildet. Von allen Datenblöcken einer Gruppe enthält ein Datenblock die Paritätsdaten, während die anderen Datenblöcke Nutzdaten enthalten. Die Nutzdaten von RAID-5-Gruppen werden wie bei RAID 0 auf alle Festplatten verteilt.\n\n![RAID 5](https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/RAID_5.svg/675px-RAID_5.svg.png)\n\nVorteil:\n\n* Bietet wie Raid 0 schnelle Schreib/Lesezugriffe.\n* Daten können wie bei RAID 1 bei Ausfall wiederhergestellt werden.\n\nNachteil:\n\n* Bei kleinen Dateien. Checksumme muss für den betroffenen Datenblock neu berechnet werden.\n* Wiederherstellung ist zeitintensiver als bei RAID1.\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID 6\n\n> RAID 6 (unter diversen Handelsnamen angeboten, zum Beispiel Advanced Data Guarding) funktioniert ähnlich wie RAID 5, verkraftet aber den gleichzeitigen Ausfall von bis zu zwei Festplatten. Insbesondere beim intensiven Einsatz hochkapazitiver SATA-/IDE-Festplatten kann die Wiederherstellung der Redundanz nach dem Ausfall einer Platte viele Stunden bis hin zu Tagen dauern; bei RAID 5 besteht währenddessen kein Schutz vor einem weiteren Ausfall. \n\n![RAID 6](https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/850px-RAID_6.svg.png)"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID Grundlagen\n\nAdministration mit dem Kommando `mdadm`. Exemplarisch wird hier RAID-0 und RAID-1 gezeigt. Da im Fehlerfall eines RAID eine Mail verschickt wird, wird normalerweise auch ein Mailserver installiert. Dieses wird durch `--no-install-recommends` unterbunden.\n\nhttps://wiki.ubuntuusers.de/Software-RAID/"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID Pakete"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:20:54.374621Z",
"end_time": "2018-03-12T21:21:42.040738Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo apt upgrade\nsudo apt install --yes --no-install-recommends mdadm smartmontools",
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"text": "Paketlisten werden gelesen... Fertig\nAbhängigkeitsbaum wird aufgebaut. \nStatusinformationen werden eingelesen.... Fertig\nPaketaktualisierung (Upgrade) wird berechnet... Fertig\n0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.\nPaketlisten werden gelesen... Fertig\nAbhängigkeitsbaum wird aufgebaut. \nStatusinformationen werden eingelesen.... Fertig\nVorgeschlagene Pakete:\n default-mta | mail-transport-agent dracut-core gsmartcontrol smart-notifier\nEmpfohlene Pakete:\n mailx | mailutils\nDie folgenden NEUEN Pakete werden installiert:\n mdadm smartmontools\n0 aktualisiert, 2 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.\nEs müssen 837 kB an Archiven heruntergeladen werden.\nNach dieser Operation werden 2.897 kB Plattenplatz zusätzlich benutzt.\nHolen:1 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 mdadm amd64 3.3-2ubuntu7.6 [394 kB]\nHolen:2 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 smartmontools amd64 6.4+svn4214-1 [442 kB]\nEs wurden 837 kB in 1 s geholt (714 kB/s).m\u001b[33m\ndebconf: kann Oberfläche nicht initialisieren: Dialog\ndebconf: (Die Dialog-Oberfläche funktioniert nicht auf einem Dumb-Terminal, einem Emacs-Shellbuffer oder ohne ein steuerndes Terminal.)\ndebconf: greife zurück auf die Oberfläche: Readline\nVorkonfiguration der Pakete ...\n\n\u001b7\u001b[0;23r\u001b8\u001b[1AVormals nicht ausgewähltes Paket mdadm wird gewählt.\n(Lese Datenbank ... 213246 Dateien und Verzeichnisse sind derzeit installiert.)\nVorbereitung zum Entpacken von .../mdadm_3.3-2ubuntu7.6_amd64.deb ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 0%]\u001b[49m\u001b[39m [.......................................................] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 9%]\u001b[49m\u001b[39m [#####..................................................] \u001b8Entpacken von mdadm (3.3-2ubuntu7.6) ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 18%]\u001b[49m\u001b[39m [##########.............................................] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 27%]\u001b[49m\u001b[39m [###############........................................] \u001b8Vormals nicht ausgewähltes Paket smartmontools wird gewählt.\nVorbereitung zum Entpacken von .../smartmontools_6.4+svn4214-1_amd64.deb ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 36%]\u001b[49m\u001b[39m [####################...................................] \u001b8Entpacken von smartmontools (6.4+svn4214-1) ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 45%]\u001b[49m\u001b[39m [#########################..............................] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 54%]\u001b[49m\u001b[39m [##############################.........................] \u001b8Trigger für systemd (229-4ubuntu21.1) werden verarbeitet ...\nTrigger für ureadahead (0.100.0-19) werden verarbeitet ...\nTrigger für doc-base (0.10.7) werden verarbeitet ...\n4 hinzugefügte Doc-base-Dateien wird verarbeitet...\nTrigger für man-db (2.7.5-1) werden verarbeitet ...\nmdadm (3.3-2ubuntu7.6) wird eingerichtet ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 63%]\u001b[49m\u001b[39m [###################################....................] \u001b8debconf: kann Oberfläche nicht initialisieren: Dialog\ndebconf: (Die Dialog-Oberfläche funktioniert nicht auf einem Dumb-Terminal, einem Emacs-Shellbuffer oder ohne ein steuerndes Terminal.)\ndebconf: greife zurück auf die Oberfläche: Readline\nGenerating mdadm.conf... done.\nupdate-initramfs: deferring update (trigger activated)\nGrub-Konfigurationsdatei wird generiert …\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4882: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4882: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4895: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4895: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4908: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4908: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4921: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4921: /usr/sbin/grub-probe\nWarnung: Werte ungleich 0 für »GRUB_TIMEOUT« werden, falls »GRUB_HIDDEN_TIMEOUT« aktiviert ist, nicht mehr unterstützt.\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4984: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 4984: /usr/sbin/grub-probe\nLinux-Abbild gefunden: /boot/vmlinuz-4.4.0-116-generic\ninitrd-Abbild gefunden: /boot/initrd.img-4.4.0-116-generic\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 5261: /usr/sbin/grub-probe\nFile descriptor 3 (pipe:[39029]) leaked on vgs invocation. Parent PID 5261: /usr/sbin/grub-probe\nFound memtest86+ image: /memtest86+.elf\nFound memtest86+ image: /memtest86+.bin\nFile descriptor 3 (pipe:[39029]) leaked on lvs invocation. Parent PID 5446: /bin/sh\nerledigt\nupdate-rc.d: warning: start and stop actions are no longer supported; falling back to defaults\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 72%]\u001b[49m\u001b[39m [########################################...............] \u001b8smartmontools (6.4+svn4214-1) wird eingerichtet ...\n\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 81%]\u001b[49m\u001b[39m [#############################################..........] \u001b8\u001b7\u001b[24;0f\u001b[42m\u001b[30mFortschritt: [ 90%]\u001b[49m\u001b[39m [##################################################.....] \u001b8Trigger für systemd (229-4ubuntu21.1) werden verarbeitet ...\nTrigger für ureadahead (0.100.0-19) werden verarbeitet ...\nTrigger für initramfs-tools (0.122ubuntu8.10) werden verarbeitet ...\nupdate-initramfs: Generating /boot/initrd.img-4.4.0-116-generic\nW: mdadm: /etc/mdadm/mdadm.conf defines no arrays.\n\n\u001b7\u001b[0;24r\u001b8\u001b[1A\u001b[J",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Erste Überprüfung"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:21:54.554861Z",
"end_time": "2018-03-12T21:21:54.667633Z"
},
"trusted": true
},
"cell_type": "code",
"source": "ls /proc/mdstat",
"execution_count": 13,
"outputs": [
{
"output_type": "stream",
"text": "/proc/mdstat\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Oben wird geprüft, ob der Multi Devices Driver im Kernel geladen ist."
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:21:56.203232Z",
"end_time": "2018-03-12T21:21:56.318940Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /proc/mdstat",
"execution_count": 14,
"outputs": [
{
"output_type": "stream",
"text": "Personalities : \nunused devices: <none>\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:21:57.486905Z",
"end_time": "2018-03-12T21:21:57.622048Z"
},
"trusted": true
},
"cell_type": "code",
"source": "lsblk",
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": "NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 0 127G 0 disk \n├─sda1 8:1 0 487M 0 part /boot\n├─sda2 8:2 0 1K 0 part \n└─sda5 8:5 0 126,5G 0 part \n ├─rdf--dev--vg-root 252:0 0 125,6G 0 lvm /\n └─rdf--dev--vg-swap_1 252:1 0 980M 0 lvm [SWAP]\nsdb 8:16 0 500G 0 disk \nsdc 8:32 0 500G 0 disk \nsdd 8:48 0 500G 0 disk \n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### HD einrichten"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:01.419495Z",
"end_time": "2018-03-12T21:22:01.944007Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted --script /dev/sdb mklabel gpt\nsudo parted --script /dev/sdc mklabel gpt\nsudo parted --script /dev/sdd mklabel gpt",
"execution_count": 16,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:02.742719Z",
"end_time": "2018-03-12T21:22:04.389848Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted -l",
"execution_count": 17,
"outputs": [
{
"output_type": "stream",
"text": "Modell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sda: 136GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: msdos\nDisk-Flags: \n\nNummer Anfang Ende Größe Typ Dateisystem Flags\n 1 1049kB 512MB 511MB primary ext2 boot\n 2 513MB 136GB 136GB extended\n 5 513MB 136GB 136GB logical LVM\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdb: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdc: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdd: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-swap_1: 1028MB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 1028MB 1028MB linux-swap(v1)\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-root: 135GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 135GB 135GB ext4\n\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:15.240934Z",
"end_time": "2018-03-12T21:22:16.834359Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted -a optimal -- /dev/sdb mkpart primary 2048s -8192s \nsudo parted -a optimal -- /dev/sdc mkpart primary 2048s -8192s\nsudo parted -a optimal -- /dev/sdd mkpart primary 2048s -8192s",
"execution_count": 18,
"outputs": [
{
"output_type": "stream",
"text": "Informationen: Möglicherweise müssen Sie /etc/fstab anpassen.\n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\n \r",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:22.790430Z",
"end_time": "2018-03-12T21:22:23.247599Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted /dev/sdb set 1 raid on \nsudo parted /dev/sdc set 1 raid on \nsudo parted /dev/sdd set 1 raid on ",
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"text": "Informationen: Möglicherweise müssen Sie /etc/fstab anpassen.\n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\n \r",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:30.273157Z",
"end_time": "2018-03-12T21:22:30.404905Z"
},
"trusted": true
},
"cell_type": "code",
"source": "lsblk",
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"text": "NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 0 127G 0 disk \n├─sda1 8:1 0 487M 0 part /boot\n├─sda2 8:2 0 1K 0 part \n└─sda5 8:5 0 126,5G 0 part \n ├─rdf--dev--vg-root 252:0 0 125,6G 0 lvm /\n └─rdf--dev--vg-swap_1 252:1 0 980M 0 lvm [SWAP]\nsdb 8:16 0 500G 0 disk \n└─sdb1 8:17 0 500G 0 part \nsdc 8:32 0 500G 0 disk \n└─sdc1 8:33 0 500G 0 part \nsdd 8:48 0 500G 0 disk \n└─sdd1 8:49 0 500G 0 part \n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:35.290273Z",
"end_time": "2018-03-12T21:22:35.935369Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted -l",
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"text": "Modell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sda: 136GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: msdos\nDisk-Flags: \n\nNummer Anfang Ende Größe Typ Dateisystem Flags\n 1 1049kB 512MB 511MB primary ext2 boot\n 2 513MB 136GB 136GB extended\n 5 513MB 136GB 136GB logical LVM\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdb: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdc: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdd: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-swap_1: 1028MB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 1028MB 1028MB linux-swap(v1)\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-root: 135GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 135GB 135GB ext4\n\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:47.026104Z",
"end_time": "2018-03-12T21:22:47.139257Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /proc/mdstat",
"execution_count": 22,
"outputs": [
{
"output_type": "stream",
"text": "Personalities : \nunused devices: <none>\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID-0 anlegen"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:49.844761Z",
"end_time": "2018-03-12T21:22:50.162200Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1",
"execution_count": 23,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: Defaulting to version 1.2 metadata\nmdadm: array /dev/md0 started.\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:52.611003Z",
"end_time": "2018-03-12T21:22:52.723467Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /proc/mdstat",
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"text": "Personalities : [raid0] \nmd0 : active raid0 sdc1[1] sdb1[0]\n 1048303616 blocks super 1.2 512k chunks\n \nunused devices: <none>\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:22:57.105864Z",
"end_time": "2018-03-12T21:23:15.608044Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkfs.ext4 /dev/md0",
"execution_count": 25,
"outputs": [
{
"output_type": "stream",
"text": "mke2fs 1.42.13 (17-May-2015)\nEin Dateisystems mit 262075904 (4k) Blöcken und 65519616 Inodes wird erzeugt.\nUUID des Dateisystems: f3e66944-2518-442a-843f-5d8299176a33\nSuperblock-Sicherungskopien gespeichert in den Blöcken: \n\t32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, \n\t4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, \n\t102400000, 214990848\n\nbeim Anfordern von Speicher für die Gruppentabellen: 0/799 erledigt \nInode-Tabellen werden geschrieben: 0/799 erledigt \nDas Journal (32768 Blöcke) wird angelegt: erledgt\nDie Superblöcke und die Informationen über die Dateisystemnutzung werden\ngeschrieben: 0/799 erledigt\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:23:15.609707Z",
"end_time": "2018-03-12T21:23:15.881307Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkdir /striped",
"execution_count": 26,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:23:19.249792Z",
"end_time": "2018-03-12T21:23:19.552329Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mount /dev/md0 /striped/",
"execution_count": 27,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:23:20.936617Z",
"end_time": "2018-03-12T21:23:21.207321Z"
},
"trusted": true
},
"cell_type": "code",
"source": "echo \"/dev/md0 /striped ext4 defaults 0 0\" | sudo tee -a /etc/fstab",
"execution_count": 28,
"outputs": [
{
"output_type": "stream",
"text": "/dev/md0 /striped ext4 defaults 0 0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:23:22.701103Z",
"end_time": "2018-03-12T21:23:22.810536Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /etc/fstab",
"execution_count": 29,
"outputs": [
{
"output_type": "stream",
"text": "# /etc/fstab: static file system information.\n#\n# Use 'blkid' to print the universally unique identifier for a\n# device; this may be used with UUID= as a more robust way to name devices\n# that works even if disks are added and removed. See fstab(5).\n#\n# <file system> <mount point> <type> <options> <dump> <pass>\n/dev/mapper/rdf--dev--vg-root / ext4 errors=remount-ro 0 1\n# /boot was on /dev/sda1 during installation\nUUID=63371645-d01a-4ca4-ba5e-2c1081123ffb /boot ext2 defaults 0 2\n/dev/mapper/rdf--dev--vg-swap_1 none swap sw 0 0\n/dev/md0 /striped ext4 defaults 0 0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:23:30.797936Z",
"end_time": "2018-03-12T21:23:30.926282Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mount -a",
"execution_count": 30,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Normalerweise müsste man noch die /etc/mdadm/mdadm.conf einrichten folgt später."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID-1\n\nUnser RAID-0 von oben entfernen und danach RAID-1 einrichten."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID löschen"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:24:14.942424Z",
"end_time": "2018-03-12T21:24:15.129942Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo umount /striped",
"execution_count": 31,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:24:16.220069Z",
"end_time": "2018-03-12T21:24:16.380944Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --stop /dev/md0",
"execution_count": 32,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: stopped /dev/md0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:24:56.677769Z",
"end_time": "2018-03-12T21:24:57.012730Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --zero-superblock /dev/sdb1\nsudo mdadm --zero-superblock /dev/sdc1",
"execution_count": 33,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID-1 einrichten"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:25:26.710880Z",
"end_time": "2018-03-12T21:25:27.057662Z"
},
"trusted": true
},
"cell_type": "code",
"source": "yes | sudo mdadm --create /dev/md0 --level=1 --force --raid-devices=2 /dev/sdb1 /dev/sdc1",
"execution_count": 35,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: Note: this array has metadata at the start and\n may not be suitable as a boot device. If you plan to\n store '/boot' on this device please ensure that\n your boot-loader understands md/v1.x metadata, or use\n --metadata=0.90\nContinue creating array? mdadm: Defaulting to version 1.2 metadata\nmdadm: array /dev/md0 started.\nyes: Standardausgabe: Datenübergabe unterbrochen (broken pipe)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:25:30.583540Z",
"end_time": "2018-03-12T21:25:41.552663Z"
},
"trusted": true
},
"cell_type": "code",
"source": "yes | sudo mkfs.ext4 /dev/md0",
"execution_count": 36,
"outputs": [
{
"output_type": "stream",
"text": "mke2fs 1.42.13 (17-May-2015)\nEin Dateisystems mit 131037952 (4k) Blöcken und 32759808 Inodes wird erzeugt.\nUUID des Dateisystems: 4702705e-6d75-4409-a386-b15fdc474cfd\nSuperblock-Sicherungskopien gespeichert in den Blöcken: \n\t32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, \n\t4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, \n\t102400000\n\nbeim Anfordern von Speicher für die Gruppentabellen: 0/399 erledigt \nInode-Tabellen werden geschrieben: 0/399 erledigt \nDas Journal (32768 Blöcke) wird angelegt: erledgt\nDie Superblöcke und die Informationen über die Dateisystemnutzung werden\ngeschrieben: 0/399 erledigt\n\nyes: Standardausgabe: Datenübergabe unterbrochen (broken pipe)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:25:46.597237Z",
"end_time": "2018-03-12T21:25:46.711087Z"
},
"trusted": true
},
"cell_type": "code",
"source": "grep -v ^# /etc/mdadm/mdadm.conf",
"execution_count": 37,
"outputs": [
{
"output_type": "stream",
"text": "\n\nCREATE owner=root group=disk mode=0660 auto=yes\n\nHOMEHOST <system>\n\nMAILADDR root\n\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:25:49.806690Z",
"end_time": "2018-03-12T21:25:51.100740Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --examine --scan | sudo tee -a /etc/mdadm/mdadm.conf",
"execution_count": 38,
"outputs": [
{
"output_type": "stream",
"text": "ARRAY /dev/md/0 metadata=1.2 UUID=3284f99b:a71cf21b:4914072a:6e1033b7 name=rdf-dev:0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:25:55.886575Z",
"end_time": "2018-03-12T21:25:56.257049Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mount -a",
"execution_count": 39,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:00.312937Z",
"end_time": "2018-03-12T21:26:00.434725Z"
},
"trusted": true
},
"cell_type": "code",
"source": "mount",
"execution_count": 40,
"outputs": [
{
"output_type": "stream",
"text": "sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)\nproc on /proc type proc (rw,nosuid,nodev,noexec,relatime)\nudev on /dev type devtmpfs (rw,nosuid,relatime,size=1004756k,nr_inodes=251189,mode=755)\ndevpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)\ntmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204808k,mode=755)\n/dev/mapper/rdf--dev--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)\nsecurityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)\ntmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)\ntmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)\ntmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755)\ncgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)\npstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)\ncgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset,clone_children)\ncgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)\ncgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event,release_agent=/run/cgmanager/agents/cgm-release-agent.perf_event)\ncgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)\ncgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)\ncgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)\ncgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids,release_agent=/run/cgmanager/agents/cgm-release-agent.pids)\ncgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)\ncgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)\ncgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb)\nsystemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)\nmqueue on /dev/mqueue type mqueue (rw,relatime)\ndebugfs on /sys/kernel/debug type debugfs (rw,relatime)\nhugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)\nfusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)\nsunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)\nnfsd on /proc/fs/nfsd type nfsd (rw,relatime)\n/dev/sda1 on /boot type ext2 (rw,relatime,block_validity,barrier,user_xattr,acl)\nbinfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)\ncgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755)\nlxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)\ntmpfs on /run/user/900 type tmpfs (rw,nosuid,nodev,relatime,size=204808k,mode=700,uid=900,gid=900)\n/dev/mapper/rdf--dev--vg-root on /var/lib/docker/plugins type ext4 (rw,relatime,errors=remount-ro,data=ordered)\nvagrant on /vagrant type vboxsf (rw,nodev,relatime)\n/dev/md0 on /striped type ext4 (rw,relatime,data=ordered)\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### RAID-1 Verbund testen"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:14.604030Z",
"end_time": "2018-03-12T21:26:14.802197Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm /dev/md0 --fail /dev/sdc1",
"execution_count": 41,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: set /dev/sdc1 faulty in /dev/md0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:16.337658Z",
"end_time": "2018-03-12T21:26:16.453032Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /proc/mdstat",
"execution_count": 42,
"outputs": [
{
"output_type": "stream",
"text": "Personalities : [raid0] [raid1] \nmd0 : active raid1 sdc1[1](F) sdb1[0]\n 524151808 blocks super 1.2 [2/1] [U_]\n bitmap: 4/4 pages [16KB], 65536KB chunk\n\nunused devices: <none>\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:20.589868Z",
"end_time": "2018-03-12T21:26:20.733019Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --remove /dev/md0 /dev/sdc1",
"execution_count": 43,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: hot removed /dev/sdc1 from /dev/md0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:22.737675Z",
"end_time": "2018-03-12T21:26:22.918914Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --add /dev/md0 /dev/sdc1",
"execution_count": 44,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: re-added /dev/sdc1\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:24.611400Z",
"end_time": "2018-03-12T21:26:24.723370Z"
},
"trusted": true
},
"cell_type": "code",
"source": "cat /proc/mdstat",
"execution_count": 45,
"outputs": [
{
"output_type": "stream",
"text": "Personalities : [raid0] [raid1] \nmd0 : active raid1 sdc1[1] sdb1[0]\n 524151808 blocks super 1.2 [2/1] [U_]\n [>....................] recovery = 1.8% (9444736/524151808) finish=21.4min speed=400768K/sec\n bitmap: 4/4 pages [16KB], 65536KB chunk\n\nunused devices: <none>\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:30.513146Z",
"end_time": "2018-03-12T21:26:31.171597Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --detail /dev/md0",
"execution_count": 46,
"outputs": [
{
"output_type": "stream",
"text": "/dev/md0:\n Version : 1.2\n Creation Time : Mon Mar 12 21:25:26 2018\n Raid Level : raid1\n Array Size : 524151808 (499.87 GiB 536.73 GB)\n Used Dev Size : 524151808 (499.87 GiB 536.73 GB)\n Raid Devices : 2\n Total Devices : 2\n Persistence : Superblock is persistent\n\n Intent Bitmap : Internal\n\n Update Time : Mon Mar 12 21:26:29 2018\n State : active, degraded, recovering \n Active Devices : 1\nWorking Devices : 2\n Failed Devices : 0\n Spare Devices : 1\n\n Rebuild Status : 1% complete\n\n Name : rdf-dev:0 (local to host rdf-dev)\n UUID : 3284f99b:a71cf21b:4914072a:6e1033b7\n Events : 62\n\n Number Major Minor RaidDevice State\n 0 8 17 0 active sync /dev/sdb1\n 1 8 33 1 spare rebuilding /dev/sdc1\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Defekte RAID-1-HD austauschen\n\nWichtig ist es die richtige (Seriennummer) HD austauschen!\n\nDas Kommandos `mdadm --remove` wurde schon oben verwendet."
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:41.650925Z",
"end_time": "2018-03-12T21:26:41.779670Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo hdparm -i /dev/sdc",
"execution_count": 47,
"outputs": [
{
"output_type": "stream",
"text": "\n/dev/sdc:\n\n Model=VBOX HARDDISK, FwRev=1.0, SerialNo=VB37c04fbe-45dd54e6\n Config={ Fixed }\n RawCHS=16383/16/63, TrkSize=0, SectSize=512, ECCbytes=0\n BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=128, MultSect=128\n CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1048576000\n IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}\n PIO modes: pio0 pio3 pio4 \n DMA modes: mdma0 mdma1 mdma2 \n UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 \n AdvancedPM=no WriteCache=enabled\n Drive conforms to: unknown: ATA/ATAPI-1,2,3,4,5,6\n\n * signifies the current active mode\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:54.606132Z",
"end_time": "2018-03-12T21:26:54.816080Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo smartctl -i /dev/sdc",
"execution_count": 48,
"outputs": [
{
"output_type": "stream",
"text": "smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-116-generic] (local build)\nCopyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org\n\n=== START OF INFORMATION SECTION ===\nDevice Model: VBOX HARDDISK\nSerial Number: VB37c04fbe-45dd54e6\nFirmware Version: 1.0\nUser Capacity: 536.870.912.000 bytes [536 GB]\nSector Size: 512 bytes logical/physical\nDevice is: Not in smartctl database [for details use: -P showall]\nATA Version is: ATA/ATAPI-6 published, ANSI INCITS 361-2002\nLocal Time is: Mon Mar 12 21:26:54 2018 UTC\nSMART support is: Unavailable - device lacks SMART capability.\n\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Partitionen analysieren"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:26:58.895673Z",
"end_time": "2018-03-12T21:26:59.054795Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --query /dev/sdc1",
"execution_count": 49,
"outputs": [
{
"output_type": "stream",
"text": "/dev/sdc1: is not an md array\n/dev/sdc1: device 1 in 2 device active raid1 /dev/md0. Use mdadm --examine for more detail.\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:02.957759Z",
"end_time": "2018-03-12T21:27:03.093627Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --query /dev/md0",
"execution_count": 50,
"outputs": [
{
"output_type": "stream",
"text": "/dev/md0: 499.87GiB raid1 2 devices, 1 spare. Use mdadm --detail for more detail.\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:05.892179Z",
"end_time": "2018-03-12T21:27:06.034021Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --examine /dev/sdc1",
"execution_count": 51,
"outputs": [
{
"output_type": "stream",
"text": "/dev/sdc1:\n Magic : a92b4efc\n Version : 1.2\n Feature Map : 0x83\n Array UUID : 3284f99b:a71cf21b:4914072a:6e1033b7\n Name : rdf-dev:0 (local to host rdf-dev)\n Creation Time : Mon Mar 12 21:25:26 2018\n Raid Level : raid1\n Raid Devices : 2\n\n Avail Dev Size : 1048303617 (499.87 GiB 536.73 GB)\n Array Size : 524151808 (499.87 GiB 536.73 GB)\n Used Dev Size : 1048303616 (499.87 GiB 536.73 GB)\n Data Offset : 262144 sectors\n Super Offset : 8 sectors\nRecovery Offset : 34492416 sectors\n State : active\n Device UUID : 79b9a600:5b64afa2:27026cf8:82a4eee6\n\nInternal Bitmap : 8 sectors from superblock\n Update Time : Mon Mar 12 21:27:05 2018\n Bad Block Log : 512 entries available at offset 72 sectors\n Checksum : 610085d6 - correct\n Events : 176\n\n\n Device Role : Active device 1\n Array State : AA ('A' == active, '.' == missing, 'R' == replacing)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:12.576551Z",
"end_time": "2018-03-12T21:27:12.716466Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --detail /dev/md0",
"execution_count": 52,
"outputs": [
{
"output_type": "stream",
"text": "/dev/md0:\n Version : 1.2\n Creation Time : Mon Mar 12 21:25:26 2018\n Raid Level : raid1\n Array Size : 524151808 (499.87 GiB 536.73 GB)\n Used Dev Size : 524151808 (499.87 GiB 536.73 GB)\n Raid Devices : 2\n Total Devices : 2\n Persistence : Superblock is persistent\n\n Intent Bitmap : Internal\n\n Update Time : Mon Mar 12 21:27:12 2018\n State : clean, degraded, recovering \n Active Devices : 1\nWorking Devices : 2\n Failed Devices : 0\n Spare Devices : 1\n\n Rebuild Status : 3% complete\n\n Name : rdf-dev:0 (local to host rdf-dev)\n UUID : 3284f99b:a71cf21b:4914072a:6e1033b7\n Events : 198\n\n Number Major Minor RaidDevice State\n 0 8 17 0 active sync /dev/sdb1\n 1 8 33 1 spare rebuilding /dev/sdc1\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID Verbund deaktiveren"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:21.810734Z",
"end_time": "2018-03-12T21:27:22.359906Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo umount /striped",
"execution_count": 53,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:24.472759Z",
"end_time": "2018-03-12T21:27:26.646515Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --stop /dev/md0",
"execution_count": 54,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: stopped /dev/md0\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID Verbund aktivieren"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:30.079586Z",
"end_time": "2018-03-12T21:27:30.308226Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1",
"execution_count": 55,
"outputs": [
{
"output_type": "stream",
"text": "mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### RAID-Metadaten löschen"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:54.520669Z",
"end_time": "2018-03-12T21:27:57.526794Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo umount /striped\nsudo mdadm --stop /dev/md0",
"execution_count": 57,
"outputs": [
{
"output_type": "stream",
"text": "umount: /striped: not mounted\nmdadm: stopped /dev/md0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:27:59.071950Z",
"end_time": "2018-03-12T21:27:59.346637Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mdadm --zero-superblock /dev/sdb1\nsudo mdadm --zero-superblock /dev/sdc1",
"execution_count": 58,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Aufräumen RAID"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:01.372393Z",
"end_time": "2018-03-12T21:28:02.190111Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted -l",
"execution_count": 59,
"outputs": [
{
"output_type": "stream",
"text": "Modell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sda: 136GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: msdos\nDisk-Flags: \n\nNummer Anfang Ende Größe Typ Dateisystem Flags\n 1 1049kB 512MB 511MB primary ext2 boot\n 2 513MB 136GB 136GB extended\n 5 513MB 136GB 136GB logical LVM\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdb: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdc: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdd: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n 1 1049kB 537GB 537GB primary RAID\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-swap_1: 1028MB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 1028MB 1028MB linux-swap(v1)\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-root: 135GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 135GB 135GB ext4\n\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:09.901764Z",
"end_time": "2018-03-12T21:28:10.546423Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted /dev/sdb rm 1\nsudo parted /dev/sdc rm 1\nsudo parted /dev/sdd rm 1",
"execution_count": 60,
"outputs": [
{
"output_type": "stream",
"text": "Informationen: Möglicherweise müssen Sie /etc/fstab anpassen.\n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\nInformationen: Möglicherweise müssen Sie /etc/fstab anpassen. \n\n \r",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:15.501851Z",
"end_time": "2018-03-12T21:28:15.951114Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted -l",
"execution_count": 61,
"outputs": [
{
"output_type": "stream",
"text": "Modell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sda: 136GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: msdos\nDisk-Flags: \n\nNummer Anfang Ende Größe Typ Dateisystem Flags\n 1 1049kB 512MB 511MB primary ext2 boot\n 2 513MB 136GB 136GB extended\n 5 513MB 136GB 136GB logical LVM\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdb: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdc: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: ATA VBOX HARDDISK (scsi)\nFestplatte /dev/sdd: 537GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: gpt\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Name Flags\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-swap_1: 1028MB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 1028MB 1028MB linux-swap(v1)\n\n\nModell: Linux device-mapper (linear) (dm)\nFestplatte /dev/mapper/rdf--dev--vg-root: 135GB\nSektorgröße (logisch/physisch): 512B/512B\nPartitionstabelle: loop\nDisk-Flags: \n\nNummer Anfang Ende Größe Dateisystem Flags\n 1 0,00B 135GB 135GB ext4\n\n\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### LVM\n\n> Der Logical Volume Manager (LVM) ist ein hauptsächlich im Unix- und Linux-Umfeld verbreitetes Partitionsschema, das eine Abstraktionsebene zwischen Festplatten, Partitionen und Dateisystemen bietet. Durch den LVM ist es möglich, dynamisch veränderbare Partitionen (Logical Volumes, kurz LV) zu bilden, die sich auch über mehrere Festplatten hinweg erstrecken können. Die Größe dieser virtuellen Datenträger lässt sich auch nach dem Anlegen eines Dateisystems noch ändern, selbst wenn schon Daten darin gespeichert wurden. \n\nVorteile:\n\n* Anlegen, vergrößern und verkleinern im laufenden Betrieb.\n* Mehrere HD können als riesige virtuelle Partition zusammengefasst werden.\n* __Snapshot__ für Backups\n* Ist sehr schnell\n* Kann mit RAID kombiniert werden. Außnahme RAID-0, diese wird von LVM direkt unterstützt.\n\n![LVM](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Lvm.svg/620px-Lvm.svg.png)\nVon Emanuel DussDiese Vektorgrafik wurde mit Inkscape erstellt und von Perhelion dann manuell nachbearbeitet. - Eigenes Werk, CC BY-SA 3.0 de, https://commons.wikimedia.org/w/index.php?curid=11624545\n\n> Der LVM fasst _Festplatten_ beziehungsweise _Partitionen_ (Physical Volume, __PV__) zu einem _Pool_ (Volume Group, __VG__) zusammen, aus dem dynamisch _LV-„Partitionen“_ (die Logical Volumes, __LV__) angefordert werden können. Auf diesen Logical Volumes werden die Dateisysteme angelegt."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Arbeiten mit LVM\n\n| Kommando | \tFunktion |\n|-----------|------------|\n| lvcreate | \trichtet ein neues LV in einer VG ein. |\n| lvdisplay | \tliefert Detailinformationen zu einem LV. |\n| lvextend | \tvergrößert ein LV. |\n| lvreduce | \tverkleinert ein LV. |\n| lvremove | \tlöscht ein LV. |\n| lvrename | \tgibt dem LV einen neuen Namen. |\n| lvscan | \tlistet alle LVs auf. |\n| pvcreate | \tkennzeichnet eine Partition oder ein Device als PV. |\n| pvdisplay | \tliefert Detailinformationen zu einem PV. |\n| pvremove | \tentfernt die PV-Kennzeichnung eines ungenutzten PVs. |\n| pvscan | \tlistet alle PVs auf. |\n| vgchange | \tändert die Attribute einer VG. |\n| vgcreate | \terzeugt eine neue VG aus einem oder mehreren PVs. |\n| vgdisplay | \tliefert Detailinformationen zu einer VG. |\n| vgextend | \tvergrößert eine VG um ein PV. |\n| vgmerge | \tvereint zwei VGs. |\n| vgreduce | \tverkleinert eine VG um ein ungenutztes PV. |\n| vgrename | \tgibt einer VG einen neuen Namen. |\n| vgscan | \tlistet alle VGs auf. |\n"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:27.929448Z",
"end_time": "2018-03-12T21:28:28.128609Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo lvscan",
"execution_count": 62,
"outputs": [
{
"output_type": "stream",
"text": " ACTIVE '/dev/rdf-dev-vg/root' [125,56 GiB] inherit\n ACTIVE '/dev/rdf-dev-vg/swap_1' [980,00 MiB] inherit\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:30.172438Z",
"end_time": "2018-03-12T21:28:30.317681Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo lvdisplay",
"execution_count": 63,
"outputs": [
{
"output_type": "stream",
"text": " --- Logical volume ---\n LV Path /dev/rdf-dev-vg/root\n LV Name root\n VG Name rdf-dev-vg\n LV UUID pM0oD2-UIC9-oQmi-cBJe-B9M1-UTjM-jx3nsh\n LV Write Access read/write\n LV Creation host, time rdf-dev, 2018-03-11 22:03:23 +0000\n LV Status available\n # open 1\n LV Size 125,56 GiB\n Current LE 32144\n Segments 1\n Allocation inherit\n Read ahead sectors auto\n - currently set to 256\n Block device 252:0\n \n --- Logical volume ---\n LV Path /dev/rdf-dev-vg/swap_1\n LV Name swap_1\n VG Name rdf-dev-vg\n LV UUID o6cCpX-k6i0-eWl2-Ku8W-E5ir-90A2-BtSKf2\n LV Write Access read/write\n LV Creation host, time rdf-dev, 2018-03-11 22:03:24 +0000\n LV Status available\n # open 2\n LV Size 980,00 MiB\n Current LE 245\n Segments 1\n Allocation inherit\n Read ahead sectors auto\n - currently set to 256\n Block device 252:1\n \n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:34.773001Z",
"end_time": "2018-03-12T21:28:35.033103Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo pvscan",
"execution_count": 64,
"outputs": [
{
"output_type": "stream",
"text": " PV /dev/sda5 VG rdf-dev-vg lvm2 [126,52 GiB / 0 free]\n Total: 1 [126,52 GiB] / in use: 1 [126,52 GiB] / in no VG: 0 [0 ]\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:36.453445Z",
"end_time": "2018-03-12T21:28:36.781556Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo pvdisplay",
"execution_count": 65,
"outputs": [
{
"output_type": "stream",
"text": " --- Physical volume ---\n PV Name /dev/sda5\n VG Name rdf-dev-vg\n PV Size 126,52 GiB / not usable 2,00 MiB\n Allocatable yes (but full)\n PE Size 4,00 MiB\n Total PE 32389\n Free PE 0\n Allocated PE 32389\n PV UUID xBJOWd-irM8-PdSh-mqZ0-gOeE-lzoy-gWywXU\n \n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:37.674478Z",
"end_time": "2018-03-12T21:28:37.809445Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo vgscan",
"execution_count": 66,
"outputs": [
{
"output_type": "stream",
"text": " Reading all physical volumes. This may take a while...\n Found volume group \"rdf-dev-vg\" using metadata type lvm2\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:40.296661Z",
"end_time": "2018-03-12T21:28:40.425766Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo vgdisplay",
"execution_count": 67,
"outputs": [
{
"output_type": "stream",
"text": " --- Volume group ---\n VG Name rdf-dev-vg\n System ID \n Format lvm2\n Metadata Areas 1\n Metadata Sequence No 3\n VG Access read/write\n VG Status resizable\n MAX LV 0\n Cur LV 2\n Open LV 2\n Max PV 0\n Cur PV 1\n Act PV 1\n VG Size 126,52 GiB\n PE Size 4,00 MiB\n Total PE 32389\n Alloc PE / Size 32389 / 126,52 GiB\n Free PE / Size 0 / 0 \n VG UUID AILE6U-tXgu-vaY3-LcgL-dIJS-tvTP-Bz2tWt\n \n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Dateisysteme\n\nhttps://wiki.ubuntuusers.de/Dateisystem/\n\n> Dateisysteme sind die Schnittstellen zwischen dem Betriebssystem und den Partitionen auf Datenträgern. Sie organisieren die geordnete Ablage von Daten.\n\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Was macht ein Dateisystem?\n\n> Neben der Datenorganisation auf dem Datenträger kann ein Dateisystem noch zusätzliche Möglichkeiten zur Verfügung stellen (Beispiele): \n\n> * Verzeichnisse und Unterverzeichnisse anlegen\n* Datumsinformationen speichern (Erstellungsdatum, letzte Änderung, Zugriff)\n* Lange Dateinamen verwenden\n* Groß- und Kleinschreibung für Dateinamen berücksichtigen\n* Sonderzeichen für Dateinamen ermöglichen (z.B.: Leerzeichen)\n* Rechteverwaltung zur Zugriffssteuerung auf Dateien/Verzeichnisse\n* Journaling-Funktionen\n* ..."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Dateisystem und Formatierung\n\n> Ein Dateisystem wird einer Partition durch Formatierung zugewiesen, „man formatiert mit einem Dateisystem“. Hierbei werden auf einer Partition bestimmte Stellen für die Verwaltung reserviert und mit vordefinierten Werten überschrieben (was zu Datenverlust führt). Außerdem wird eine Inhaltstabelle angelegt und die ersten Werte (für die reservierten Stellen) eingetragen. \n\n> Die Formatierung kann entweder mit grafischen Programmen wie GParted durchgeführt werden oder man benutzt die Terminalprogramme mke2fs bzw. mkfs (Für Beschreibungen der Terminalbefehle siehe die entsprechenden manpages). "
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-10T16:24:31.820685Z",
"end_time": "2018-03-10T16:24:32.144795Z"
}
},
"cell_type": "markdown",
"source": "Gegenüberstellung von Dateisystemen siehe:\n\nhttps://wiki.ubuntuusers.de/Dateisystem/#Unterschiede"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Hier die wichtigsten Linux Dateisysteme und deren Maximalen Dateigröße\n\n| Dateisystem | \tMaximale Dateigröße | \tMaximale Dateisystemgröße |\n|-------------|-------------------------|-----------------------------|\n| btrfs | \t16.777.216 TiB | \t16.777.216 TiB = 16 Exabyte = 16 EiB |\n| ext3 | \t2 TiB |\t32 TiB (bei 8 KiB Blockgröße) |\n| ext4 | \t16 TiB |\t1.048.576 TiB = 1 EiB |\n| xfs | \t9.437.184 TiB | \t9.437.184 TiB |\n| ZFS | \t16.777.216 TiB | \t16.777.216 TiB |\n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### ext Dateisystem\n\n> Im Gegensatz zu den unter Windows verwendeten Dateisystemen FAT32 und NTFS, die auf einer Tabellenstruktur basieren, verwenden ext-Dateisysteme eine Baumstruktur zum Speichern des Laufwerksinhaltes. Die Knoten dieser Baumstruktur bestehen aus Inodes (Kurzwort aus \"index node\"). Diese Inodes speichern entweder direkte Verweise auf Festplattenblöcke mit kleinen Dateien oder einen Verweis auf einen weiteren Block, in dem die Datenblöcke größerer Dateien gespeichert sind. Ein Inode hat eine Mindestgröße von 128 Byte.\n\n> Informationen über das Dateisystem werden im ersten Block, im Superblock des Dateisystems, gespeichert. Hier finden sich alle Optionen des Dateisystems, die sich auch mit dem Befehl tune2fs manipulieren lassen. Außerdem findet sich dort ein Verweis auf die Inode-Struktur des zu Grunde liegenden Dateisystems.\n\nhttps://wiki.ubuntuusers.de/ext/ Stand 2018-03-10 20:22:53 \n\nSiehe auch: https://de.wikipedia.org/wiki/Ext4\n\nZum Journaling:\n\nHier wird überprüft, ob eine Dateiopreation vollständig durchgeführt wurde, ähnlich wie bei Datenbanken die Transaktion.\n\n__Allerdings__: Werden Daten im Cache gehalten und können u.U. erst nach Sekunden später ausgeführt werden. Somit kann es trotz Journalings zu Datenverlusten kommen."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### btrfs\n\n> Es soll in Zukunft die bislang im Linux-Umfeld vorherrschenden Dateisysteme ext3 bzw. ext4 mit seinen Beschränkungen (Dateigröße und Gesamtdateisystemgröße) ersetzen. Das Btrfs-Dateisystem ist u.a. auf die folgenden Eigenschaften ausgelegt: \n* erweiterte Dateispeicherung (Dateigröße bis 2^64 Byte)\n* effizientere Speicherung kleiner Dateien\n* effizientere Verwaltung der Verzeichnisstrukturen\n* dynamische Metadatenverwaltung\n* direkt erstellbare \"Schnappschüsse\" des Dateisystems oder Teilen davon\n * Unterverzeichnisse mit separatem Laufwerk-Charakter\n * Objekt bezogene Spiegelung mit Trennung der Ebenen\n* Prüfsummen für Daten und Metadaten (Mehrfach-Algorithmen verfügbar)\n * direkte Integration in den \"Device-Mapper\" mit mehrfacher Geräteunterstützung\n * ständige (online) Dateisystemprüfung und Defragmentierung\n* sehr schnelle Dateisystemprüfung beim Hochfahren\n * effiziente Backup-Erweiterung und Dateisystem-Spiegelung"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Wichtigste Eigenschaft:\n\n__Copy on Write (CoW)__: \n\n> Das Copy-On-Write-Verfahren (kurz COW genannt, englisch wörtlich für „Kopieren-beim-Schreiben“) ist in der Datenverarbeitung eine Optimierungsmethode zur Vermeidung unnötiger Kopien und Kopiervorgänge, beispielsweise zwischen Prozessen unter unixartigen Systemen, insbesondere bei oder nach einem fork-Systemaufruf.\n\n> Die Grundidee des Verfahrens ist, dass die Kopie erst dann „real“ angefertigt wird, sobald sie von einem der Beteiligten verändert wird. Solange alle Beteiligten ihre Kopie nicht verändert haben, reicht es, das Original ein einziges Mal zu speichern. Die Kopie erfolgt also zunächst „virtuell“ – üblicherweise durch das Setzen harter Verknüpfungen – und wird erst bei einer ersten Änderung verzögert angelegt. \n\nhttps://de.wikipedia.org/wiki/Copy-On-Write aufgerufen 2018-03-10 20:33:24\n\n__Achtung__: Bei großen Binärdateien (Datenbanken, virtuelle Festplattenimages) kann sich btrfs CoW negativ auswirken.\n\n__Deduplizierung__ um Dateien gleichen Inhalts nur einmal zu speichern.\n\nDireket Unterstützt RAID-0, -1, -5, -6 und -10\n\nKomprimiert Dateien (mount-Option compress)\n\nSSD-Optimierung (mount-Option ssd)\n\n...\n\nMit Subvolumes, Snapshots und RAID bietet btrfs ähnliche Funktionen wie die\nim Kernel schon enthaltenen Multi Device und Logical Volume Manager und RAID. "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### ZFS\n\n> ZFS (ursprünglich Zettabyte File System) wird oft als Dateisystem angesehen, was im Grunde genommen ein Missverständnis darstellt. ZFS kann ein Dateisystem sein, aber beherrscht auch noch einiges mehr. Es vereint die Funktionalität eines _Logical Volume Managers_ und eines _Software-RAID_ mit einem _Copy-on-Write-Dateisystem (COW)_. Das heißt, dass es (aufgrund seiner Kenntnisse der Festplattenbelegung) effizienter als jedes Hardware-RAID arbeitet, Daten-Integrität per Transaktionen ähnlich wie bei relationalen Datenbanken sichert und im Falle von Daten-Redundanz (Mehrfachspeicherung) sogar selbständig Daten repariert.\n\n> ZFS ist ein 128-bit-Dateisystem, das die Adressierung von 1.000.000.000.000.000.000.000 (1021) Bytes erlaubt (zum Vergleich siehe Binärpräfix). Es ist wahrscheinlich das fortschrittlichste Dateisystem, das es derzeit gibt.\n\nhttps://wiki.ubuntuusers.de/ZFS_on_Linux/ aufgerufen 2018-03-10 21:29:52 "
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Arbeiten mit den Dateisystemen"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### EXT4\n\nSiehe auch: https://www.thomas-krenn.com/de/wiki/Ext4_Dateisystem\n"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:56.337908Z",
"end_time": "2018-03-12T21:28:56.447788Z"
},
"trusted": true
},
"cell_type": "code",
"source": "grep -v ^# /etc/fstab",
"execution_count": 68,
"outputs": [
{
"output_type": "stream",
"text": "/dev/mapper/rdf--dev--vg-root / ext4 errors=remount-ro 0 1\nUUID=63371645-d01a-4ca4-ba5e-2c1081123ffb /boot ext2 defaults 0 2\n/dev/mapper/rdf--dev--vg-swap_1 none swap sw 0 0\n/dev/md0 /striped ext4 defaults 0 0\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "#### Journaling\n\n* data=ordered: Es werden nur Metadaten gespeichert, also Informationen _über_ Dateien. Es werden alle 5 Sekunden die Daten gespeichert. Mit ext4 kommt hier auch Delayd Allocation hinzu (wie auch bei btrfs, zfs ...). \nDie Datenblöcke werden erst beim physikalischen Schreiben reserviert. Datenblöcke werden nicht fragementiert und die Geschwindigkeit kann durch Bündelung erhöht werden.\n\n* data=writeback: Schneller also `ordered` da der Abschluß einer Operation nicht abgewartet wird. Operationen sollten mit `fsync` abgeschlossen werden.\n\n* data=journal: Es werden zusätlich die Daten im Journal abgespeichert."
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:28:59.336058Z",
"end_time": "2018-03-12T21:28:59.480494Z"
},
"trusted": true
},
"cell_type": "code",
"source": "dmesg | grep EXT",
"execution_count": 69,
"outputs": [
{
"output_type": "stream",
"text": "[ 8.177962] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)\n[ 13.193737] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro\n[ 14.883137] EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem\n[ 14.889898] EXT4-fs (sda1): mounted filesystem without journal. Opts: (null)\n[ 438.632022] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null)\n[ 595.261897] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null)\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:07.418935Z",
"end_time": "2018-03-12T21:29:07.765013Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo tune2fs /dev/mapper/rdf--dev--vg-root -l",
"execution_count": 70,
"outputs": [
{
"output_type": "stream",
"text": "tune2fs 1.42.13 (17-May-2015)\nFilesystem volume name: <none>\nLast mounted on: /\nFilesystem UUID: bac7cb39-2ce1-4833-811c-64f8e8b0a8e2\nFilesystem magic number: 0xEF53\nFilesystem revision #: 1 (dynamic)\nFilesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize\nFilesystem flags: signed_directory_hash \nDefault mount options: user_xattr acl\nFilesystem state: clean\nErrors behavior: Continue\nFilesystem OS type: Linux\nInode count: 8232960\nBlock count: 32915456\nReserved block count: 1645772\nFree blocks: 26810232\nFree inodes: 7420107\nFirst block: 0\nBlock size: 4096\nFragment size: 4096\nReserved GDT blocks: 1016\nBlocks per group: 32768\nFragments per group: 32768\nInodes per group: 8192\nInode blocks per group: 512\nFlex block group size: 16\nFilesystem created: Sun Mar 11 22:03:27 2018\nLast mount time: Mon Mar 12 21:16:13 2018\nLast write time: Mon Mar 12 21:16:08 2018\nMount count: 4\nMaximum mount count: -1\nLast checked: Sun Mar 11 22:03:27 2018\nCheck interval: 0 (<none>)\nLifetime writes: 240 GB\nReserved blocks uid: 0 (user root)\nReserved blocks gid: 0 (group root)\nFirst inode: 11\nInode size:\t 256\nRequired extra isize: 28\nDesired extra isize: 28\nJournal inode: 8\nFirst orphan inode: 3276898\nDefault directory hash: half_md4\nDirectory Hash Seed: 899bfd3b-b12f-4010-9a12-2084078eade6\nJournal backup: inode blocks\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:22.316726Z",
"end_time": "2018-03-12T21:29:22.782043Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo e2label /dev/mapper/rdf--dev--vg-root mylabel",
"execution_count": 71,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:24.376096Z",
"end_time": "2018-03-12T21:29:24.512723Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo tune2fs /dev/mapper/rdf--dev--vg-root -l",
"execution_count": 72,
"outputs": [
{
"output_type": "stream",
"text": "tune2fs 1.42.13 (17-May-2015)\nFilesystem volume name: mylabel\nLast mounted on: /\nFilesystem UUID: bac7cb39-2ce1-4833-811c-64f8e8b0a8e2\nFilesystem magic number: 0xEF53\nFilesystem revision #: 1 (dynamic)\nFilesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize\nFilesystem flags: signed_directory_hash \nDefault mount options: user_xattr acl\nFilesystem state: clean\nErrors behavior: Continue\nFilesystem OS type: Linux\nInode count: 8232960\nBlock count: 32915456\nReserved block count: 1645772\nFree blocks: 26810232\nFree inodes: 7420107\nFirst block: 0\nBlock size: 4096\nFragment size: 4096\nReserved GDT blocks: 1016\nBlocks per group: 32768\nFragments per group: 32768\nInodes per group: 8192\nInode blocks per group: 512\nFlex block group size: 16\nFilesystem created: Sun Mar 11 22:03:27 2018\nLast mount time: Mon Mar 12 21:16:13 2018\nLast write time: Mon Mar 12 21:29:22 2018\nMount count: 4\nMaximum mount count: -1\nLast checked: Sun Mar 11 22:03:27 2018\nCheck interval: 0 (<none>)\nLifetime writes: 240 GB\nReserved blocks uid: 0 (user root)\nReserved blocks gid: 0 (group root)\nFirst inode: 11\nInode size:\t 256\nRequired extra isize: 28\nDesired extra isize: 28\nJournal inode: 8\nFirst orphan inode: 3276898\nDefault directory hash: half_md4\nDirectory Hash Seed: 899bfd3b-b12f-4010-9a12-2084078eade6\nJournal backup: inode blocks\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:27.739428Z",
"end_time": "2018-03-12T21:29:27.870831Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo tune2fs --help",
"execution_count": 73,
"outputs": [
{
"output_type": "stream",
"text": "tune2fs 1.42.13 (17-May-2015)\ntune2fs: Ungültige Option -- -\nAufruf: tune2fs [-c max_Anzahl_Einhängungen] [-e Fehlerverhalten] [-g Gruppe]\n\t[-i Intervall[d|m|w]] [-j] [-J Journal_Optionen] [-l]\n\t[-m reservierte_Blöcke_Prozent] [-o [^]Einhängeoptionen[,...]] [-p mmp_Aktualisierungsintervall]\n\t[-r Anzahl_reservierter_Blöcke] [-u Benutzer] [-C Anzahl_Einhängungen] [-L Volume_Kennung]\n\t[-M letztes_eingehängtes_Verzeichnis] [-O [^]Eigenschaft[,...]]\n\t[-Q Quota-Optionen]\n\t[-E erweiterte_Optionen[,...]] [-T Zeitpunkt_letzter_Prüfung] [-U UUID]\n\t[ -I neue_Inodegröße ] Gerät\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "1",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:30.430530Z",
"end_time": "2018-03-12T21:29:30.579898Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo resize2fs --help",
"execution_count": 74,
"outputs": [
{
"output_type": "stream",
"text": "resize2fs 1.42.13 (17-May-2015)\nresize2fs: Ungültige Option -- -\nAufruf: resize2fs [-d debug_flags] [-f] [-F] [-M] [-P] [-p] Gerät [neue_Größe]\n\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "1",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:29:32.894950Z",
"end_time": "2018-03-12T21:32:53.872357Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo e4defrag -c /",
"execution_count": 75,
"outputs": [
{
"output_type": "stream",
"text": "\r\n",
"name": "stdout"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### BTRFS\n\n"
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:34:49.362057Z",
"end_time": "2018-03-12T21:34:50.267158Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo parted --script /dev/sdb mklabel msdos\nsudo parted --script /dev/sdc mklabel msdos\nsudo parted --script /dev/sdd mklabel msdos",
"execution_count": 80,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:34:53.508677Z",
"end_time": "2018-03-12T21:34:53.634472Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo fdisk -l /dev/sdb",
"execution_count": 81,
"outputs": [
{
"output_type": "stream",
"text": "Medium /dev/sdb: 500 GiB, 536870912000 Bytes, 1048576000 Sektoren\nEinheiten: sectors von 1 * 512 = 512 Bytes\nSektorengröße (logisch/physisch): 512 Bytes / 512 Bytes\nI/O Größe (minimal/optimal): 512 Bytes / 512 Bytes\nTyp der Medienbezeichnung: dos\nMedienkennung: 0x9752eca0\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:34:56.059053Z",
"end_time": "2018-03-12T21:34:56.190432Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo sfdisk -T | grep Linux",
"execution_count": 82,
"outputs": [
{
"output_type": "stream",
"text": "81 Minix / old Linux\n82 Linux swap / Solaris\n83 Linux\n85 Linux extended\n88 Linux plaintext\n8e Linux LVM\nf0 Linux/PA-RISC boot\nfd Linux raid autodetect\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:34:59.213348Z",
"end_time": "2018-03-12T21:34:59.471740Z"
},
"trusted": true
},
"cell_type": "code",
"source": "echo ',,83;' | sudo sfdisk /dev/sdb",
"execution_count": 83,
"outputs": [
{
"output_type": "stream",
"text": "Checking that no-one is using this disk right now ... OK\n\nMedium /dev/sdb: 500 GiB, 536870912000 Bytes, 1048576000 Sektoren\nEinheiten: sectors von 1 * 512 = 512 Bytes\nSektorengröße (logisch/physisch): 512 Bytes / 512 Bytes\nI/O Größe (minimal/optimal): 512 Bytes / 512 Bytes\nTyp der Medienbezeichnung: dos\nMedienkennung: 0x9752eca0\n\nOld situation:\n\n>>> Created a new DOS disklabel with disk identifier 0xc2d14e56.\nCreated a new partition 1 of type 'Linux' and of size 500 GiB.\n/dev/sdb2: \nNew situation:\n\nGerät Boot Start Ende Sektoren Größe Id Typ\n/dev/sdb1 2048 1048575999 1048573952 500G 83 Linux\n\nThe partition table has been altered.\nCalling ioctl() to re-read partition table.\nSyncing disks.\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:07.585350Z",
"end_time": "2018-03-12T21:35:07.727188Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo fdisk -l /dev/sdb",
"execution_count": 84,
"outputs": [
{
"output_type": "stream",
"text": "Medium /dev/sdb: 500 GiB, 536870912000 Bytes, 1048576000 Sektoren\nEinheiten: sectors von 1 * 512 = 512 Bytes\nSektorengröße (logisch/physisch): 512 Bytes / 512 Bytes\nI/O Größe (minimal/optimal): 512 Bytes / 512 Bytes\nTyp der Medienbezeichnung: dos\nMedienkennung: 0xc2d14e56\n\nGerät Boot Start Ende Sektoren Größe Id Typ\n/dev/sdb1 2048 1048575999 1048573952 500G 83 Linux\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:11.023782Z",
"end_time": "2018-03-12T21:35:11.389652Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkfs.btrfs /dev/sdb1",
"execution_count": 85,
"outputs": [
{
"output_type": "stream",
"text": "btrfs-progs v4.4\nSee http://btrfs.wiki.kernel.org for more information.\n\nLabel: (null)\nUUID: a4a8dab3-ab92-4584-b5f9-c044cba9baf7\nNode size: 16384\nSector size: 4096\nFilesystem size: 500.00GiB\nBlock group profiles:\n Data: single 8.00MiB\n Metadata: DUP 1.01GiB\n System: DUP 12.00MiB\nSSD detected: no\nIncompat features: extref, skinny-metadata\nNumber of devices: 1\nDevices:\n ID SIZE PATH\n 1 500.00GiB /dev/sdb1\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:17.122877Z",
"end_time": "2018-03-12T21:35:17.509813Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkdir /media/btrfs",
"execution_count": 86,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:18.797088Z",
"end_time": "2018-03-12T21:35:18.989131Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mount /dev/sdb1 /media/btrfs",
"execution_count": 87,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:21.201449Z",
"end_time": "2018-03-12T21:35:23.007404Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs filesystem show",
"execution_count": 88,
"outputs": [
{
"output_type": "stream",
"text": "Label: none uuid: a4a8dab3-ab92-4584-b5f9-c044cba9baf7\n\tTotal devices 1 FS bytes used 384.00KiB\n\tdevid 1 size 500.00GiB used 2.02GiB path /dev/sdb1\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"scrolled": false,
"ExecuteTime": {
"start_time": "2018-03-12T21:35:24.865026Z",
"end_time": "2018-03-12T21:35:24.975371Z"
},
"trusted": true
},
"cell_type": "code",
"source": "btrfs",
"execution_count": 89,
"outputs": [
{
"output_type": "stream",
"text": "usage: btrfs [--help] [--version] <group> [<group>...] <command> [<args>]\n\nCommand groups:\n subvolume manage subvolumes: create, delete, list, etc\n filesystem overall filesystem tasks and information\n balance balance data accross devices, or change block groups using filters\n device manage and query devices in the filesystem\n scrub verify checksums of data and metadata\n rescue toolbox for specific rescue operations\n inspect-internal query various internal information\n property modify properties of filesystem objects\n quota manage filesystem quota settings\n qgroup manage quota groups\n replace replace a device in the filesystem\n\nCommands:\n check Check structural inegrity of a filesystem (unmounted).\n restore Try to restore files from a damaged filesystem (unmounted)\n send Send the subvolume(s) to stdout.\n receive Receive subvolumes from stdin.\n help Display help information\n version Display btrfs-progs version\n\nFor an overview of a given command use 'btrfs command --help'\nor 'btrfs [command...] --help --full' to print all available options.\nAny command name can be shortened as far as it stays unambiguous,\nhowever it is recommended to use full command names in scripts.\nAll command groups have their manual page named 'btrfs-<group>'.\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "1",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:27.998276Z",
"end_time": "2018-03-12T21:35:28.547223Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs filesystem show",
"execution_count": 90,
"outputs": [
{
"output_type": "stream",
"text": "Label: none uuid: a4a8dab3-ab92-4584-b5f9-c044cba9baf7\n\tTotal devices 1 FS bytes used 384.00KiB\n\tdevid 1 size 500.00GiB used 2.02GiB path /dev/sdb1\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:29.669033Z",
"end_time": "2018-03-12T21:35:29.809925Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs filesystem resize -2G /media/btrfs",
"execution_count": 91,
"outputs": [
{
"output_type": "stream",
"text": "Resize '/media/btrfs' of '-2G'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:32.217824Z",
"end_time": "2018-03-12T21:35:32.355915Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs check /dev/sdb1",
"execution_count": 92,
"outputs": [
{
"output_type": "stream",
"text": "/dev/sdb1 is currently mounted. Aborting.\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "240",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:36.385692Z",
"end_time": "2018-03-12T21:35:36.517150Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs check /dev/sdb1",
"execution_count": 93,
"outputs": [
{
"output_type": "stream",
"text": "/dev/sdb1 is currently mounted. Aborting.\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "240",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:44.725323Z",
"end_time": "2018-03-12T21:35:45.039808Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo touch /media/btrfs/datei\nsudo chattr +C /media/btrfs/datei",
"execution_count": 94,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:47.580016Z",
"end_time": "2018-03-12T21:35:47.732601Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo lsattr /media/btrfs/datei",
"execution_count": 95,
"outputs": [
{
"output_type": "stream",
"text": "---------------C /media/btrfs/datei\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:50.100885Z",
"end_time": "2018-03-12T21:35:50.281967Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume create /media/btrfs/sub1",
"execution_count": 96,
"outputs": [
{
"output_type": "stream",
"text": "Create subvolume '/media/btrfs/sub1'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:52.696933Z",
"end_time": "2018-03-12T21:35:52.827033Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkdir /media/btrfs/data",
"execution_count": 97,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:55.026034Z",
"end_time": "2018-03-12T21:35:55.216317Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume create /media/btrfs/data/sub2",
"execution_count": 98,
"outputs": [
{
"output_type": "stream",
"text": "Create subvolume '/media/btrfs/data/sub2'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:56.247875Z",
"end_time": "2018-03-12T21:35:56.375265Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume list /media/btrfs",
"execution_count": 99,
"outputs": [
{
"output_type": "stream",
"text": "ID 257 gen 8 top level 5 path sub1\nID 258 gen 8 top level 5 path data/sub2\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:58.573927Z",
"end_time": "2018-03-12T21:35:58.699538Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo touch /media/btrfs/sub1/tst",
"execution_count": 100,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:35:59.526756Z",
"end_time": "2018-03-12T21:35:59.668207Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo rm /media/btrfs/sub1/tst",
"execution_count": 101,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:00.802278Z",
"end_time": "2018-03-12T21:36:00.927315Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo rmdir /media/btrfs/sub1",
"execution_count": 102,
"outputs": [
{
"output_type": "stream",
"text": "rmdir: konnte '/media/btrfs/sub1' nicht entfernen: Vorgang nicht zulässig\n",
"name": "stdout"
},
{
"output_type": "error",
"ename": "",
"evalue": "1",
"traceback": []
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:05.998114Z",
"end_time": "2018-03-12T21:36:06.127279Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkdir /media/sub2",
"execution_count": 103,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:07.809460Z",
"end_time": "2018-03-12T21:36:07.969741Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mount -o subvolid=258 /dev/sdb1 /media/sub2",
"execution_count": 104,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:09.393529Z",
"end_time": "2018-03-12T21:36:09.517631Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume delete /media/btrfs/sub1",
"execution_count": 105,
"outputs": [
{
"output_type": "stream",
"text": "Delete subvolume (no-commit): '/media/btrfs/sub1'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:13.913938Z",
"end_time": "2018-03-12T21:36:14.044803Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume delete /media/btrfs/data/sub2",
"execution_count": 106,
"outputs": [
{
"output_type": "stream",
"text": "Delete subvolume (no-commit): '/media/btrfs/data/sub2'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:14.836800Z",
"end_time": "2018-03-12T21:36:14.992263Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo ls /media/sub2",
"execution_count": 107,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:15.733674Z",
"end_time": "2018-03-12T21:36:15.839321Z"
},
"trusted": true
},
"cell_type": "code",
"source": "ls /media/btrfs",
"execution_count": 108,
"outputs": [
{
"output_type": "stream",
"text": "data datei\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:17.954221Z",
"end_time": "2018-03-12T21:36:18.112546Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs subvolume snapshot /media/btrfs /media/btrfs/snap1",
"execution_count": 109,
"outputs": [
{
"output_type": "stream",
"text": "Create a snapshot of '/media/btrfs' in '/media/btrfs/snap1'\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:20.731447Z",
"end_time": "2018-03-12T21:36:20.997704Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo mkdir /media/snap1\nsudo mount -o subvol=snap1 /dev/sdb1 /media/snap1",
"execution_count": 110,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:21.728829Z",
"end_time": "2018-03-12T21:36:21.833968Z"
},
"trusted": true
},
"cell_type": "code",
"source": "ls /media/snap1",
"execution_count": 111,
"outputs": [
{
"output_type": "stream",
"text": "data datei\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:22.930833Z",
"end_time": "2018-03-12T21:36:23.061747Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo touch /media/snap1/datei2",
"execution_count": 112,
"outputs": []
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:23.950683Z",
"end_time": "2018-03-12T21:36:24.057179Z"
},
"trusted": true
},
"cell_type": "code",
"source": "ls /media/btrfs",
"execution_count": 113,
"outputs": [
{
"output_type": "stream",
"text": "data datei snap1\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:24.825811Z",
"end_time": "2018-03-12T21:36:24.953045Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs filesystem show /dev/sdb1",
"execution_count": 114,
"outputs": [
{
"output_type": "stream",
"text": "Label: none uuid: a4a8dab3-ab92-4584-b5f9-c044cba9baf7\n\tTotal devices 1 FS bytes used 416.00KiB\n\tdevid 1 size 498.00GiB used 2.02GiB path /dev/sdb1\n\n",
"name": "stdout"
}
]
},
{
"metadata": {
"ExecuteTime": {
"start_time": "2018-03-12T21:36:28.600661Z",
"end_time": "2018-03-12T21:36:28.726722Z"
},
"trusted": true
},
"cell_type": "code",
"source": "sudo btrfs filesystem df /media/btrfs",
"execution_count": 115,
"outputs": [
{
"output_type": "stream",
"text": "Data, single: total=8.00MiB, used=256.00KiB\nSystem, DUP: total=8.00MiB, used=16.00KiB\nMetadata, DUP: total=1.00GiB, used=144.00KiB\nGlobalReserve, single: total=16.00MiB, used=0.00B\n",
"name": "stdout"
}
]
}
],
"metadata": {
"varInspector": {
"window_display": false,
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"library": "var_list.py",
"delete_cmd_prefix": "del ",
"delete_cmd_postfix": "",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"library": "var_list.r",
"delete_cmd_prefix": "rm(",
"delete_cmd_postfix": ") ",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
]
},
"kernelspec": {
"name": "bash",
"display_name": "Bash",
"language": "bash"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {
"width": "220px",
"top": "150px",
"left": "10px",
"height": "calc(100% - 180px)"
},
"toc_section_display": true,
"toc_window_display": true
},
"language_info": {
"codemirror_mode": "shell",
"mimetype": "text/x-sh",
"file_extension": ".sh",
"name": "bash"
},
"gist": {
"id": "",
"data": {
"description": "rdf/ais/hands-on-lxc/Exkurs Festplatten Dateisysteme.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment