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.


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

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.

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.