Jak skonfigurować Bcache?

11

Próbowałem skonfigurować bcache w Ubuntu 14.04 ze świeżą instalacją i pustą /homepartycją ( /dev/sdb2) jako urządzeniem wspierającym. Mam działający system na moim dysku SSD i chciałbym użyć jego /dev/sda2partycji do buforowania mojego /home . Zawsze udało mi się uporządkować moje problemy z Ubuntu na forach, ale staram się zrozumieć podstawy tutaj i potrzebuję pomocy:

  1. Na jakie konto muszę się zalogować, kiedy w pierwszej kolejności konfiguruję bcache? Oczywiście użytkownik utworzony podczas instalacji /dev/sdb2musi zostać wylogowany, /homeaby go odmontować, dlatego skonfigurowałem tymczasowe konto użytkownika na osobnej partycji, aby to zrobić. To już wydaje się zbyt niezdarne.
  2. make-bcache -Bi -Coba mówią mi, że na urządzeniu są superbloki inne niż bcache, więc zrobiłem to sudo wipefs -ana obu urządzeniach. Partycje są wtedy wyświetlane jako niesformatowane bez identyfikatora UUID w GParted. Czy to normalne?
  3. Jeśli tak, to co stanie się z fstab i /homebootem? Czy muszę używać UUID bcache w fstab? Zrobiłem to, ale system nie znalazł /homepartycji przy następnym uruchomieniu.

  4. Zarówno echo /dev/sdb2 > /sys/fs/bcache/registeri echo /dev/sda2 > /sys/fs/bcache/registerzwróć wiadomości „Odmowa zezwolenia”; jak rozumiem, /sysnie można do tego napisać.

    Tak więc echo /dev/sdb2 | sudo tee /sys/fs/bcache/registerwydaje się, że pracował.

Czy ktoś może sprawdzić, czy jest to właściwy sposób, aby to zrobić w Ubuntu?

Wydaje mi się, że udało mi się utworzyć, zarejestrować i podłączyć napęd kopii zapasowej, ale zgodnie z tail /sys/block/bcache0/bcache/stats_total/*I tylko pominąłem dane. Cała moja konfiguracja jest teraz dość chaotyczna, więc wszelkie wyjaśnienia byłyby bardzo mile widziane.

Laszlo Almasi
źródło
Przetestowałeś to? Wygląda na to, że znasz „instrukcje”, co musisz wiedzieć?
Braiam
Przetestowałem to jak wyżej i otrzymuję trafienia do pamięci podręcznej, chybienia i obejścia. Problem polega na tym, że moje urządzenie bazowe, które powinno być moją partycją domową, nie jest montowane jako dom podczas uruchamiania, ale jako osobny dysk. W tej chwili mój / home jest folderem w / obecnie i testuję pamięć podręczną, kopiując pliki na urządzenie kopii zapasowej i uzyskując do nich dostęp. Bałam się fstab, co prawdopodobnie było błędem i nie mam teraz poprawnego UUID dla mojej partycji / home, jeśli ma to jakiś sens. Potrzebuję idiotycznego przejścia specjalnie dla Ubuntu.
Laszlo Almasi
OK, pomieszałem fstab i / home miał zły UUID. Wydaje się, że teraz działa. Nadal byłbym zainteresowany tym, jak dokładnie należy skonfigurować bcache: z tymczasowego konta użytkownika, Live CD / USB lub innego?
Laszlo Almasi

Odpowiedzi:

7

W Ubuntu 15.10 odpowiedź Alexa nie jest już poprawna. initramfsObraz jest zablokowana w instalatorze i nie zostaną automatycznie ponownie generowany, gdy jest zainstalowany system. W ten sposób zostanie bcachezainstalowana instalacja, ale nie będzie można jej uruchomić. Gdzie indziej napisałem bardziej szczegółowy opis następującego procesu ; oto jednak podstawy:

1. Partycjonowanie

Uruchom system Ubuntu Live-CD i utwórz następujący schemat partycji za pomocą fdisklub gparted. Zakładając, że /dev/sdamasz dysk SSD i /dev/sdbdysk twardy:

/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. Utwórz urządzenie bcache

Otwórz terminal, wyczyść systemy plików na urządzeniu do tworzenia kopii zapasowych i buforowania:

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

Zainstaluj bcache-toolsi utwórz bcacheurządzenie:

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. Zainstaluj Ubuntu

Zainstaluj system operacyjny za pomocą niestandardowego partycjonera w następujący sposób:

/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

NIE PONOWNIE URUCHAMIAĆ po zakończeniu instalacji!

4. Zainstaluj bcache na nowej instalacji

Za pomocą chrootinstalujemy bcache-toolsna nowej instalacji. Skonfiguruj środowisko i włącz rozpoznawanie 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

Wejdź do chrooti wykonaj instalację

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

Podczas instalacji należy zauważyć, że initramfsjest ona ponownie generowana i instalowana na partycji ( chroot-ed) /boot.

5. Oczyszczanie

Wyczyść system plików i uruchom ponownie.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot
bkloppenborg
źródło
2

Po kilku próbach i błędach doszedłem do następującego rozwiązania czystej instalacji:

  • Podziel dysk na partycje tak, jak lubisz (zakładając, /dev/sdb2że potrzebujesz miejsca dla siebie /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Tworzy to /dev/bcache0, ale instalator interfejsu użytkownika nie może go jeszcze użyć.)
  • # mkfs.ext4 /dev/bcache0 (To sprawia, że ​​instalator widzi „partycję / dev / bcache0” pod „device / dev / bcache0” i pozwala używać go jako „/ home” podczas instalacji.)
  • Uruchom instalator jak zwykle, pamiętaj, aby wybrać zaawansowane opcje partycji dysku.
  • Instalator tworzy initrdobraz z bcachedołączonym i załadowanym modułem jądra, ponieważ zainstalowaliśmy bcache-toolswcześniej, więc po ponownym uruchomieniu po prostu działa.
  • Po uruchomieniu zainstalowanego systemu zainstaluj bcache-toolsponownie, aby kolejne aktualizacje nie zakłócały procesu uruchamiania, pomijając niezbędny moduł jądra bcache z obrazu initrd.
alex
źródło
W końcu poszedłem bez Bcache, ponieważ potrzebowałem buforowania zarówno dla Ubuntu, jak i Windows w konfiguracji podwójnego rozruchu, a także mam dostęp do moich dysków z innego systemu. Zdecydowałem więc, że buforowanie nie jest odpowiednie dla tego komputera. Mimo wszystko, dziękuję za twoją pomoc.
Laszlo Almasi
0

Ja również wiele razy próbowałem i nie udało mi się, dopóki nie znalazłem tych instrukcji: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

Brzmią trochę owłosione, ale jest to prawdopodobnie jedyny możliwy sposób na uruchomienie bcache, przynajmniej dopóki bcache nie stanie się częścią instalatora ubuntu.

Jedynym dziwnym pominięciem w instrukcjach jest ostatni etap.

Po wykonaniu wszystkich czynności wyszukaj identyfikator UUID zestawu pamięci podręcznej w katalogu / sys / fs / bcache i wykonaj następujące czynności:

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

Jeśli chcesz włączyć tryb zapisu zwrotnego (który zdecydowanie zalecam):

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

catting różnych plików /sys/block/bcache0/bcache/powie ci wszystko o tym, jak działa pamięć podręczna. Skonfigurowałem swój system zgodnie z tymi instrukcjami 26 lipca tego roku i od tego czasu wszystko działa idealnie. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratiopokazuje bardzo zadowalające 88 procent i subiektywnie, maszyna wydaje się być konfiguracją typu SSD.

Vivek
źródło