ubuntuusers.de

Archiv/Installieren auf Btrfs-Dateisystem

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Archiv/Installieren_auf_Btrfs-Dateisystem.

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Hallo - ich habe mal die ersten Ansätze nach dem Ausgliedern aus dem Beitrag

als seperates WIKI hinsichtlich der

vorgenommen.

gruß syscon-hh

UbuntuFlo Team-Icon

Avatar von UbuntuFlo

Anmeldungsdatum:
8. Februar 2006

Beiträge: 12317

Wohnort: /home/flo

Huhu!

Tolle Artikelserie, syscon. Danke 👍

Frage: Sollen die Mountoptionen und andere Vorgehensweisen bei btrfs und SSD in den SSD-Artikel beschrieben werden (siehe SSD/TRIM (Abschnitt „TRIM-mit-btrfs“))? Oder von dort nach hier verlinkt werden?

Liebe Grüße,

Flo

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Interessante Frage - muss ich mich noch ausführlich mit beschäftigen.

Die Einordnung macht mich im Moment ein bisschen wirre. Nur das es mit "Btrfs" zu tun hat, ist mir klar. Bleibt mal dran - ich tu's auch!

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ein paar Syntaxsachen:

  • in der 1. Hinweisbox wird kursiv falsch verwendet - stellenweise sollte es unformatiert sein, 1x Monospace (--help)

  • falsches kursiv ist auch in diversen folgenden Hinweisboxen

  • unter "Optionen mkfs.btrfs" müssen alle Optionen Monospace formatiert werden

  • gleiche gilt für diverse andere Optionen, die noch kommen.

Sonst denke ich ok.

Gruß, noisefloor

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

UbuntuFlo schrieb:

Frage: Sollen die Mountoptionen und andere Vorgehensweisen bei btrfs und SSD in den SSD-Artikel beschrieben werden (siehe SSD/TRIM (Abschnitt „TRIM-mit-btrfs“))? Oder von dort nach hier verlinkt werden?

Ich habe das mal als Link eingebracht - nach meiner Meinung reicht das als Hinweis aus der Installation heraus aus.

Derjenige mit SSD wird bzw. sollte sich eh' erst einmal bei SSD informieren. Ob von dort aus (ich hab' noch keine geeignete Stelle gefunden) auch ein Link zur Installation auf Btrfs zwingend erforderlich ist - würde ich zur Zeit verneinen - aber geht bitte in Euch.

gruß syscon-hh

UbuntuFlo Team-Icon

Avatar von UbuntuFlo

Anmeldungsdatum:
8. Februar 2006

Beiträge: 12317

Wohnort: /home/flo

Huhu!

Denke, dass ich dann btrfs einfach verlinken werde in den jeweiligen SSD-Artikeln, so dass zu sehen ist, dass es btrfs-Artikel gibt.

Diejenigen, die sich damit näher auseinandersetzen wollen/müssen, werden dann schon hoffentlich wissen, was zu tun ist ☺

Liebe Grüße,

Flo

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi syscon-hh,

schaue bitte ueber das etwas angepasste Skript, was den Vorgang automatisieren sollte:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
set -e

FS=btrfs
DEVICE=$(sed -n "/\/ ${FS} /s|^\(.*\) / ${FS} .*|\1|p" /proc/mounts)

blkid -g
UUID_EINTRAG=$(blkid -t TYPE=${FS} -o value -s UUID "${DEVICE}")
  
echo "UUID = ${UUID_EINTRAG} vom Btr-Filesystem gefunden" >&2
echo "Startmenü für ein BTR-Filesystem eingefügt" >&2
    
cat << EOF
menuentry "Ubuntu (auf Btr-Filesystem) starten" --class gnu-linux --class gnu --class os {
        recordfail
        insmod gzio
        insmod part_msdos
        insmod btrfs
        search --no-floppy --fs-uuid --set=root ${UUID_EINTRAG}
        linux   /@/boot/vmlinuz root=UUID=${UUID_EINTRAG} ro rootflags=subvol=@ ${GRUB_CMDLINE_LINUX_DEFAULT} ${GRUB_CMDLINE_LINUX} vt.handoff=7
        initrd  /@/boot/initrd.img
}
EOF

Gruss Lasall

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Hallo Lasall und ggf. auch andere (Aus-)Kenner.

Schaut gut aus - nur ich als "System"-Mensch (also nicht Einschienen-IT-Crack) verstehe es noch nicht ganz!

Ich habe die beispielhafte Vorgabe

  • DEVICE=/dev/sdb5

drin, womit ich bestimme, auf welcher Partition ich das zu suchende System suchen soll und hoffentlich auch finde!

Nur was passiert bei Deinem Skript, wenn mehrere Partitionen mit BtrFS vorhanden sind, z.B. zusätzlich eine separate Datenpartition - auch mit BtrFS formatiert - welche wird dann selektiert??

Das die Fehlerroutine "AUSSTIEG()" fehlt, ist erst einmal nicht so kritisch zu sehen, muss aber sein, damit grub.cfg keinen fehlerhaften Eintrag erhält.

gruß syscon-hh

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi syscon-hh,

mit der sed-Zeile wird bewusst nur die Rootpartition ausgewählt. Eine bessere Lösung ist mir dazu leider nicht eingefallen. Die Ausstiegsfunktion ist so wie ich das sehe nicht nötig, da keine Ausgabe erfolgt, falls Root kein btrfs ist. Es wird dann mit Exitcode 2 geendet (oder braucht GRUB2 etwas anderes?). Für Exitcode 1 kann am Ende der Zeile mit "UUID_EINTRAG=" ein "|| exit 1" zum Abfangen gehängt werden.

Gruss Lasall

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Nein - funktioniert nicht, weil die Rootpartion unter BtrFS ja als oberstes enthält:

  • "@"

(siehe auch den im Skript folgenden Aufbau des Menüeintrages) Weshalb ja auch OS_PROBER (noch) nicht richtig arbeitet. Und eingebunden darf die Partition auch nicht sein, ansonsten gibt es eine falsche Auswertung bei GRUB (würde dann ein loop-device werden).

Ich weiss ja nicht, wo man das jetzt bei sed einbringt, würde das gerne zu Ende testen. Sieht zur Zeit so aus:

root@PRECISE-4GDM32:/home/laura# mount /dev/sdb1 /mnt
root@PRECISE-4GDM32:/home/laura# cd /mnt
root@PRECISE-4GDM32:/mnt# ls -l
insgesamt 0
drwxr-xr-x 1 root root 280 Feb  9 12:08 @
drwxr-xr-x 1 root root  36 Dez 15 11:40 h02-03
drwxr-xr-x 1 root root  36 Dez 15 11:40 @home
drwxr-xr-x 1 root root 210 Feb  3 15:49 r02-03
root@PRECISE-4GDM32:/mnt# 

die ohne @ sind snapshots.

Nachtrag: Das Skript steigt bei der Zeile mit "UUID_EINTRAG=$(blkid ..." aus, das ist soweit auch brauchbar. Nur die erste Zeile ergibt schon kein "DEVICE" Eintrag.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi syscon-hh,

sorry dass ich dich hier testen lasse, ich fahre kurz meine VM mit btrfs hoch und bringe das in Ordnung 😳 . (EDIT folgt anschliessend.)

Gruss Lasall

EDIT: Der Fehler kommt dadurch zustande, dass blkid nicht mit Symlinks zurecht kommt. Im konkreten Fall ist (zumindest bei mir) bei der proc-Ausgabe /dev/disk/by-uuid/UUID für Root ☹ . Wenn man die Ausgabe über die /etc/mtab nimmt (was ich eigentlich vermeiden wollte) funktioniert es. Allerdings wird wohl Root immer über die mtab registriert werden, deswegen sollte das auch so kein Problem darstellen.

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Das bringt uns scheinbar nicht weiter. Das Problem ist ja, dass wenn jemand ein zusätzliches (+1) System aufsetzt, dann muss das Mastersystem dieses finden können. Deshalb ja diese funktionierende Hilfskonstruktion (im Kontext des Artikels zu lesen).

Ein normales BtrFS-System macht ja von sich aus alles richtig, weil das Subvolume (hier am Beispiel @) beim Einbinden eine Etage höher gehoben wird und damit so tut, als wenn.

Also lassen wir das vorerst mal in der vorliegenden Fassung - bis Release Precise ist ja noch Zeit, darüber nach zu denken.

Nachtrag: Der Ansatz muss eigentlich sein: Suche eine Partition, die ein Subvolume bzw. Volume mit der Bezeichnung @ hat. Aber auch da bleibt dann das Problem, wenn's mehrere davon gibt.

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Hallo Lasall - Dein Ansatz hat Verwendung gefunden!!

Allerdings an einer anderen Stelle ist Dein Hinweis / Ansatz wunderbar einsetzbar und insbesondere die selektive Auswahl der Rootlaufwerkes.

Dort beim Setzen von Schnappschüssen und zusammen mit (Ana)cron ist es bestens geeignet.

Ich war so frei, dass zu übernehmen, das Skript intensiv zu testen, mögliche Fehler abzufangen und weiter zu optimieren.

gruß syscon-hh

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi syscon-hh,

freut mich, dass das nicht ganz umsonst war und sry, dass ich den Kontext missverstanden nicht gelesen hatte 😳 . Existiert eigentlich zu dem Problem ein Bugreport? Ist nicht 764893 dieses Problem und schon gefixt? Ansonsten wird das Problem wohl relativ einfach zu lösen sein, indem man den os-prober-Komplex dazu bringt auch die Subvolumes als Partitionen zu behandeln.

Gruss Lasall

syscon-hh

(Themenstarter)

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Lasall schrieb:

Existiert eigentlich zu dem Problem ein Bugreport? Ist nicht 764893 dieses Problem und schon gefixt? Ansonsten wird das Problem wohl relativ einfach zu lösen sein, indem man den os-prober-Komplex dazu bringt auch die Subvolumes als Partitionen zu behandeln.

Auch wenn dort etwas von gefixt steht - nein, ausdrücklich nein, es wird noch nichts gefunden mit aktiviertem 30_os-prober.

root@PRECISE-4GDM32:/home/laura# apt-cache policy os-prober
os-prober:
  Installiert: 1.49ubuntu1
  Kandidat:    1.49ubuntu1
  Versionstabelle:
 *** 1.49ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main i386 Packages
        100 /var/lib/dpkg/status

Ich schau mir noch mal das Skript in Ruhe an - irgend etwas muss ja zu finden sein, woran es hakt.

Antworten |