Come installare bcache?


11

Ho provato a configurare bcache in Ubuntu 14.04 con una nuova installazione e una /homepartizione vuota ( /dev/sdb2) come dispositivo di backup. Ho un sistema in esecuzione sul mio SSD e mi piacerebbe usare la sua /dev/sda2partizione per memorizzare nella cache il mio /home . Sono sempre riuscito a risolvere i miei problemi di Ubuntu dai forum, ma faccio fatica a capire le basi qui e ho bisogno di aiuto:

  1. Quale account è necessario per accedere prima di configurare bcache? Ovviamente l'utente creato durante l'installazione su /dev/sdb2deve essere disconnesso per /homeessere smontato, quindi ho impostato un account utente temporaneo su una partizione separata per farlo. Sembra già troppo goffo.
  2. make-bcache -Bed -Centrambi mi dicono che ci sono superblocchi non bcache sul dispositivo, quindi l'ho fatto sudo wipefs -asu entrambi i dispositivi. Le partizioni appaiono quindi non formattate senza UUID in GParted. È normale?
  3. In tal caso, cosa succede a fstab e /homeall'avvio? Devo usare l'UUID di bcache in fstab? L'ho fatto ma il sistema non ha trovato la /homepartizione al prossimo avvio.

  4. Entrambi echo /dev/sdb2 > /sys/fs/bcache/registere echo /dev/sda2 > /sys/fs/bcache/registerrestituiscono i messaggi "Autorizzazione negata"; a quanto ho capito, /sysnon si può scrivere.

    Quindi echo /dev/sdb2 | sudo tee /sys/fs/bcache/registersembra aver funzionato.

Qualcuno può verificare che questo sia il modo corretto di farlo in Ubuntu?

Mi sembra di essere riuscito a creare, registrare e collegare l'unità di supporto, ma secondo il tail /sys/block/bcache0/bcache/stats_total/*mio ho solo bypassato i dati. La mia intera installazione è piuttosto un casino adesso, quindi qualsiasi chiarimento sarebbe molto apprezzato.


L'hai provato? Sembra che tu sappia il "come fare", cosa devi sapere?
Braiam,

L'ho provato come sopra e sto ricevendo hit nella cache, errori e bypass. Il problema è il mio dispositivo di supporto che dovrebbe essere la mia partizione home non montata come home all'avvio ma come unità separata. Quindi la mia / home è una cartella su / al momento e sto testando bcache copiando i file sul dispositivo di backup e accedendo a loro. Stavo scherzando con fstab che probabilmente è stato un errore e non ho un UUID valido per la mia partizione / home ora se questo ha un senso. Quello di cui ho bisogno è un walk-through a prova di idiota specifico per Ubuntu.
Laszlo Almasi,

OK, ho rovinato fstab e / home aveva l'UUID sbagliato. Sembra funzionare ora. Sarei comunque interessato a come esattamente dovrebbe essere impostato bcache: da un account utente temporaneo, live CD / USB o altro?
Laszlo Almasi,

Risposte:


7

Con Ubuntu 15.10, la risposta di alex non è più corretta. L' initramfsimmagine è bloccata nel programma di installazione e non verrà rigenerata automaticamente quando il sistema è installato. Quindi si avrà bcacheun'installazione, ma non sarà in grado di avviarsi. Ho scritto una descrizione più dettagliata del seguente processo altrove ; tuttavia, ecco le basi:

1. Partizionamento

Avvia nel cd live di Ubuntu e crea il seguente schema di partizione con fdisko gparted. Supponendo che /dev/sdasia il tuo SSD ed /dev/sdbè il tuo HDD:

/dev/sda1 - 1024 MB, EXT4, used for /boot (grub/grub2 doesn't support bcache)
/dev/sda2 - any format, for cache
/dev/sdb1 - EFI partition (if your machine needs it)
/dev/sdb2 - swap
/dev/sdb3 - any format, backing partition

2. Creare il dispositivo bcache

Apri il terminale, cancella i file system sul dispositivo di backup e memorizzazione nella cache:

sudo wipefs -a /dev/sda2
sudo wifefs -a /dev/sdb3

Installa bcache-toolse crea il bcachedispositivo:

sudo apt-get update
sudo apt-get install bcache-tools
sudo make-bcache -B /dev/sdb3 -C /dev/sda2
sudo mkfs.ext4 /dev/bcache0

3. Installa Ubuntu

Installare il sistema operativo utilizzando il partizionatore personalizzato come segue:

/dev/bcache0 - format EXT4, use as /
/dev/sda1    - format EXT4, use as /boot
/dev/sdb1    - EFI partition (if your machine needs it)
/dev/sdb2    - swap

NON RIAVVIARE al termine dell'installazione!

4. Installare bcache sulla nuova installazione

Usando un chrootinstalliamo bcache-toolssulla nuova installazione. Imposta l'ambiente e abilita la risoluzione DNS

sudo mount /dev/bcache0 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Entra in chrooted esegui l'installazione

sudo chroot /mnt
sudo apt-get update
sudo apt-get install bcache-tools

Durante l'installazione dovresti notare che initramfsviene rigenerato e installato nella partizione ( chroot-ed) /boot.

5. Pulizia

Smonta in modo pulito il filesystem e riavvia.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot

2

Dopo alcune prove ed errori sono arrivato alla seguente soluzione per un'installazione pulita:

  • Partiziona l'HDD come preferisci (supponendo che /dev/sdb2sia lo spazio che desideri per il tuo /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Questo crea /dev/bcache0, ma il programma di installazione dell'interfaccia utente non può ancora utilizzarlo.)
  • # mkfs.ext4 /dev/bcache0 (Questo fa vedere al programma di installazione una "partizione / dev / bcache0" sotto "device / dev / bcache0" e ti permette di usarlo come "/ home" durante l'installazione.)
  • Esegui il programma di installazione come al solito, assicurati di selezionare le opzioni avanzate di partizione del disco.
  • Il programma di installazione crea l' initrdimmagine con il bcachemodulo del kernel incluso e caricato a causa di quello che abbiamo installato in bcache-toolsprecedenza, quindi dopo il riavvio funziona.
  • Dopo aver avviato il sistema installato, installalo di bcache-toolsnuovo, in modo che ulteriori aggiornamenti non paralizzino il processo di avvio omettendo il modulo kernel bcache necessario dall'immagine initrd.

Alla fine sono andato senza bcache perché avevo bisogno della cache per Ubuntu e Windows in una configurazione a doppio avvio e accedo anche alle mie unità da un altro sistema. Quindi ho deciso che la cache non è adatta per questo PC. Grazie per l'aiuto comunque.
Laszlo Almasi,

0

Anche io ho provato e fallito molte volte fino a quando ho trovato queste istruzioni: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

Sembrano un po 'pelosi ma questo è probabilmente l'unico modo fattibile per far funzionare bcache, almeno fino a quando bcache non diventa parte dell'installer di Ubuntu.

L'unica curiosa omissione nelle istruzioni è l'ultima fase.

Dopo aver fatto tutto, cerca l'UUID del set di cache in / sys / fs / bcache e fai questo:

echo <UUID> > /sys/block/bcache0/bcache/attach

Se desideri abilitare la modalità di writeback (che consiglio vivamente):

echo writeback > /sys/block/bcache0/bcache/cache_mode

catting vari file /sys/block/bcache0/bcache/vi dirà tutto su come è in esecuzione la cache. Ho installato il mio sistema usando queste istruzioni il 26 luglio di quest'anno e da allora tutto funziona perfettamente. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratiomostra un 88 percento molto soddisfacente e soggettivamente, la macchina sembra una configurazione tutto SSD.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.