Ho migrato il mio sistema da btrfs a ext4 dopo aver riscontrato problemi di prestazioni con le macchine virtuali. Ho due dischi rigidi nel mio laptop con cui lavorare. Ho spostato correttamente la mia partizione home, ma gli stessi passaggi che ho usato non funzionano per root.
Progressi finora:
Avevo la dd
mia partizione di root da /dev/sda3
dentro /dev/sdb3
. Ho modificato /etc/fstab
il seguente:
$ cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=95f13c34-96ca-49e3-bcb2-ff594df31506
/dev/sdb3 / btrfs rw,noatime,ssd,space_cache,discard 0 0
# UUID=0fe04f59-599f-41e2-ac30-2ad0f17a9727
/dev/sda2 /boot ext2 rw,relatime 0 2
# UUID=44741e0f-924a-4841-80ef-2132bef84182
/dev/sda4 /home ext4 rw,noatime,discard 0 0
e corri sudo mkinitcpio -p linux
. Sembra funzionare Sono in grado di avviare montando la partizione sul secondo disco. df
Spettacoli:
$ df
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 28G 18G 9.8G 65% /
Quindi, chiaramente, sdb3
è montato, no sda3
. Ecco il passaggio problematico: quando provo a formattare sda3
, che è presumibilmente inutilizzato, ottengo quanto segue:
$ sudo mkfs.ext4 /dev/sda3
[sudo] password for stew:
mke2fs 1.42.11 (09-Jul-2014)
/dev/sda3 contains a btrfs file system
Proceed anyway? (y,n) y
/dev/sda3 is apparently in use by the system; will not make a filesystem here!
sda3
è in uso. Come e perché potrebbe essere in uso?
Secondo il commento di Casey, l'output di mount:
mount | grep sd
/dev/sdb3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)
Secondo il commento di Warwick, smontando:
$ sudo umount /dev/sda3
umount: /dev/sda3: not mounted
Montare e smontare sda3 altrove funziona correttamente, ma non cambia nulla.
Aggiornamento: comportamento più sospetto:
$ mount | grep sd
/dev/sdb3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)
$ sudo mount /dev/sda3 mnt
[sudo] password for stew:
$ mount | grep sd
/dev/sda3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)
/dev/sda3 on /home/stew/mnt type btrfs (rw,relatime,ssd,discard,space_cache)
Dopo aver montato sda3, sdb3 non è più mounter. Strano, eh?
Secondo mikeserv:
$ rmmod btrfs
rmmod: ERROR: Module btrfs is in use
Questo è molto atteso, poiché sdb3 è btrfs e dovrebbe essere montato su root. Dal mio file mkinitcpio.conf:
MODULES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
wipefs
sul disco per rimuovere i superblocchi ... rmmod
.... Ci sono molti modi in cui potresti andare, ma probabilmente verranno tutti da te non caricando o scaricando il modulo.