Chcę wiedzieć, czy jest ktoś, kto próbował zainstalować i uruchomić jądro zbudowane z pamięci flashcache lub bcache do buforowania SSD?
Jak ci się to udało?
Chcę wiedzieć, czy jest ktoś, kto próbował zainstalować i uruchomić jądro zbudowane z pamięci flashcache lub bcache do buforowania SSD?
Jak ci się to udało?
Odpowiedzi:
Mamy odpowiedź na pamięć podręczną, ale brak odpowiedzi na pamięć flash. Wybrałem flashcache, ponieważ miałem już istniejącą instalację, więc nie było mowy o bcache. Dla mnie też wydawało się, że łatwiej jest skonfigurować. Wybrałem metodę DKMS, aby nie utknąć przy przebudowywaniu modułu / narzędzi za każdym razem, gdy otrzymuję aktualizację jądra.
Te kroki opisano w README-DKMS na Github.
Budowanie modułu
Pierwszą rzeczą, którą robisz, jest instalacja wymagań wstępnych budynku:
Następnie złap źródło:
Zbuduj i zainstaluj moduły:
Tworzenie urządzenia flashcache
(W tym przykładzie używam buforowania z zapisem wstecznym - domyślnie - ale flashcache może także wykonywać zapisywanie i zapisywanie)
Buforowanie urządzenia innego niż root (nie zamontowane w /)
sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX
Gdzie fcache jest utworzonym urządzeniem (/ dev / mapper / fcache), / dev / sdaX to część SSD (lub cały dysk), a / dev / sdbX to partycja HDD.Buforowanie urządzenia roota
Jest jeszcze kilka kroków, jeśli buforujesz urządzenie root. Będziesz potrzebował Ubuntu LiveCD / USB dla tej sekcji.
cd /path/to/flashcache/source
make -f Makefile.dkms boot_conf
Edytuj /boot/grub/grub.cnf i / etc / fstab, aby uruchomić z / dev / mapper / fcache (nie sądzę, aby ten krok był naprawdę konieczny, ale tak mówi). Pamiętaj, aby zapisać identyfikator UUID oryginalnego urządzenia root.
Uruchom ponownie z LiveCD / LiveUSB.
Podłącz urządzenie root:
mount /dev/sda4 /mnt
(/ dev / sda4 to moja partycja root Linux)cd /mnt/path/to/flashcache/source
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
make; sudo make install
Nie ma potrzeby wykonywania całej konfiguracji DKMS w środowisku na żywoOdmontuj urządzenie root
sudo umount /mnt
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
Gdzie fcache jest utworzonym urządzeniem (powinno być takie samo jak w / etc / fstab i /boot/grub/grub.cnf, w moim przypadku było to fcache), / dev / sdbX to partycja SSD (lub cały dysk ), a [UUID] to UUID partycji głównej.Restart!
Ostrzeżenia dotyczące korzystania z urządzenia root
Jedną z drobnych irytujących sytuacji, gdy flashcache jest używany dla urządzenia root, jest to, że grub-probe nie wykrywa urządzenia root i może zepsuć menu startowe, dzięki czemu masz dwa wejścia Ubuntu. Ale nie powinno mieć znaczenia, którego używasz w rzeczywistości, ponieważ
make -f Makefile.dkms boot_conf
powyższy krok instaluje w twoim initrd kilka skryptów, które wykryją i użyją urządzenia flashcache.źródło
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
nalinux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(tj. Zmień parametr root =)Istnieje narzędzie do konwersji umożliwiające włączenie bcache na istniejącym urządzeniu (ujawnienie: napisałem to). Jest to również droga do nowych instalacji, ponieważ obecni instalatorzy dystrybucji nie wiedzą, jak tworzyć urządzenia bcache (w takim przypadku: zacznij od instalacji na dysku twardym).
Instrukcje można znaleźć w sekcji Konwertowanie głównego systemu plików na pamięć podręczną w
blocks
README.bcache wymaga Linuksa 3.10 lub nowszego, który jest pyskaty i można go zainstalować ręcznie ze strony http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D (poszukaj najnowszej oznaczonej wersji , obecnie
v3.11.5-saucy
i zainstaluj debaty pasujące do Twojej architektury).bcache-tools
iblocks
może być zainstalowany z mojego magazynu ppa .źródło
/
,/home
,/usr/
, ...) podczas pracy systemu (jak maintboot jest uszkodzony). Alternatywnie możesz użyć pamięci USB na żywo, zainstalowaćblocks
ją i użyć do konwersji dysków. Należy jednak pamiętać, że to narzędzie działa tylko na podstawowych tablicach partycji MBR i GPT i wymaga 1 MB dodatkowego miejsca przed każdą partycją.Wcześniejsze ostrzeżenie: Bcache nie może być używany do twojej instalacji Ubuntu. Jeśli potrzebujesz buforowania SSD dla twojego systemu operacyjnego, powinieneś poczekać na przyszłą lub specjalną wersję instalatora Ubuntu, która może skonfigurować pamięć podręczną SSD. Zobacz odpowiedź Oli tutaj: czy bcache wymaga nowej instalacji?
Dla wszystkich innych, którzy chcą dysku bcache dla danych innych niż OS:
Pierwszą rzeczą do zrobienia jest uaktualnienie jądra, jeśli używasz 13.04 lub starszej wersji, używając głównego PPA jądra. Instrukcje korzystania z tego można znaleźć tutaj:
https://wiki.ubuntu.com/Kernel/MainlineBuilds
Upewnij się, że wybrałeś jądro w wersji 3.9 lub wyższej podczas uruchamiania, w przeciwnym razie dysk nie będzie działał, a dysk zniknie.
Zainstaluj narzędzia bcache, w tej chwili będziesz musiał zainstalować z repozytorium git:
Jeśli uda ci się spakować pakiet
bcache-tools
dla Debiana, daj nam znać, a to pytanie zostanie dla Ciebie zaktualizowane. (bcache-tools
Zależnościami kompilacji sąuuid-dev
ilibblkid-dev
. Muszą być zainstalowane, aby budowaćbcache-tools
.)Gdy masz już wszystkie narzędzia, możesz spróbować zastosować się do przewodnika tutaj:
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
Ten przewodnik pokazuje, jak sformatować dyski (SSD I dysk twardy), a następnie połączyć je ze sobą, aby utworzyć nowy blok urządzenia za pomocą bcache. Opublikuj komentarz, jeśli uznasz instrukcje za mylące, a ja zaktualizuję tę odpowiedź z uproszczeniami.
źródło
myślałem, że przyjdę tutaj i skomentuję, co mi się przydarzyło, gdy zainstalowałem nowe jądro. Używałem flashcache tylko do partycji / home / folder. Zainstalowałem nowe jądro, uruchomiłem je i zatrzymało się podczas uruchamiania i powiedziałem, że nie może znaleźć / dev / mapper / home_cached, są 3 opcje, które masz po otrzymaniu tego komunikatu i wybieram opcję zalogowania się jako root i spróbuj to naprawić. Najpierw próbowałem załadować moduł flashcache i powiedział, że nie może go znaleźć. Pomyślałem, że będę musiał go skompilować i zainstalować dla nowego właśnie zainstalowanego jądra. wciąż miałem folder / flashcache / w katalogu / root /, więc zapisałem go i uruchomiłem
potem pobiegłem
następnie załadowałem moduł flashcache
po prostu musiałem załadować moje istniejące urządzenie flashcache, które było
następnie po prostu zamontuj moją partycję domową za pomocą
następnie wyjdź z bycia zalogowanym jako root z wyjściem w linii poleceń i powinien kontynuować normalne uruchamianie. wszystko gotowe!
źródło