Meskalamdug ha scritto:Chiarissimo,grazie.
Ultima domanda: sai mica se slackware-14.0 può far partire come root un subvolume con il pool costituito da diversi dischi?
Supponiamo
mkfs.btrfs /dev/sd{a..c}3
creo i subvolumi root e home
configuro lilo per bene con append rootvolume,etc..
creo mkinitrd..
e non parte,devo montare a mano la mnt(sic) a ogni avvio.
Troppo arretrati i programmi e il kernel slackware14 o ho sbagliato io?
Allora, in questo caso ti consiglio due cose:
1) A differenza dello ZFS che usa il label di default per impostare le pool, Btrfs usa (sic) ancora la vecchia e STUPIDA maniera di parlare di storage pool basandosi sui device.
Ciò risulta assurdo quando si parla di pool basate su sistemi multidevice.
La soluzione è:
Codice: Seleziona tutto
# mkfs.btrfs -L tank /dev/tutti_i_device_che_vuoi_mettere
E passi il label al bootloader
LABEL=tank, invece che la root device.
2) Se hai la necessità di montare un determinato dataset come subvolume di root, hai due possibilità.
2.1)
Codice: Seleziona tutto
# btrfs subvolume set-default ID_DEL_SUBVOLUME <mnt_point>
Questo ti permetterà di montare direttamente il subvolume che hai impostato come default, al posto che montare la pool e farti vedere tutti i subvolumi.
Per farla breve:
Facciamo che hai una pool con DUE dataset: svol1 e svol2
svol1 ha la root di Linux e svol2 ha la home.
Se monto normalmente la pool in /mnt, in quel path mi ritroverò le due directory/subvolumi. Il che rende impossibile il montaggio in fase di boot.
Ora, per ovviare voglio far si che quando monto la pool, a meno che non imponga esplicitamente un altro subvolume, voglio che sia svol1 ad essere montato.
Perciò, prima di tutto monto la pool e mi prendo l'ID del subvolume svol1
Codice: Seleziona tutto
# mount -t btrfs LABEL=tank /mnt
# btrfs subvolume list /mnt
L'output del secondo comando mi darà l'ID di tutti i subvolumi presenti nel punto di mount /mnt, ma ovviamente noi prenderemo in considerazione solo l'ID di svol1 (contiamo che sia 55..giusto per esempio).
Per renderlo il subvolume di default, diamo quindi
Una volta fatto, potrai evitare il parametro da passare al mount (o ad /etc/fstab) subvol=<nome_subvolume> per quanto concerne la root.
Ovviamente dovrai passarlo per forza per la home
Codice: Seleziona tutto
# mount -t btrfs -o subvol=home LABEL=tank /mnt/home
Questo dovrebbe bastare ad evitare problemi di montaggio al boot.
C'è chi lamenta problemi con questa soluzione, ma onestamente ne ho fatte molte di installazioni con questo metodo, ma non ho mai avuto problemi.
2.2) Il secondo metodo, consiste nel modificare /etc/fstab nell'initrd, per fargli capire che quando monta il dataset di root lo deve fare passando l'opzione
In questo caso non userai un subvolume di default, ma dovrai ricordarti di passare SEMPRE il parametro subvol al mount, altrimenti Btrfs monterà la pool con dentro i file system annidati (es. /mnt/svol1, /mnt/svol2), il che riporta ai problemi al boot sopracitati.
Per quanto riguarda la configurazione multidevice, meglio leggere questo wiki
https://btrfs.wiki.kernel.org/index.php ... le_Devices
Penso che il boot da un RAID sia supportato. Su questo non ti so dire di preciso.
Era questo ciò che ti serviva sapere? O forse ho capito male io?