Używanie LVM z dyskami SSD i SATA


22

Widziałem w tym pytaniu , że możliwe jest umieszczenie zarówno dysku SSD, jak i standardowego dysku twardego SATA w jednej grupie woluminów LVM (VG).

Jak to wpływa na wydajność?

Czy istnieje sposób wymuszenia, aby system operacyjny znajdował się na dysku SSD, gdy dane znajdują się na dysku SATA w obrębie jednej grupy woluminów?

Czy są jakieś dobre dokumenty na temat korzystania z LVM z różnymi typami napędów?

Czy byłoby korzystne utworzenie VG dla każdego rodzaju napędu i / lub prędkości? Myślałem o stworzeniu jednego VG dla dysków SSD i jednego dla SATA (i dla każdego typu dysku, który mogę dodać w przyszłości, jak to będzie).



Mam intuicję, że umieszczenie zarówno dysku SSD, jak i konwencjonalnego dysku twardego w tej samej grupie woluminów byłoby naprawdę złym pomysłem.
Samiam

@samiam to była moja pierwsza myśl. Nie byłem pewien, czy istnieją sposoby, aby powiedzieć LVM, aby zawsze umieszczał dane przechodzące do i od takiego a takiego katalogu do sda i zawsze umieszczał dane idące do innego katalogu na sdb.
Nick

@Graeme, który dużo mówi o wydajności, ale nie widziałem nic związanego z rozpinaniem różnych typów dysków, o czym głównie się martwię. Jeśli coś przeoczyłem, proszę to zaznaczyć.
Nick

Nick: Nie mogę odpowiedzieć na temat LVM od szczytu głowy, ale tak, jest to możliwe, aby ustawić /etc/fstabtak, że /jest na SSD, ale nic poniżej /homejest na tradycyjnym dysku twardym. Jest to zwykle opcja podczas instalowania dowolnego nowoczesnego systemu Linux ( /homebyłby to „punkt montowania” przy wyborze jakiejś formy „opcji zaawansowanych”)
samiam

Odpowiedzi:


8

LVM nie rozróżnia dysku szybkiego i wolnego. Czy nie wydaje się dobrym pomysłem umieszczenie tych dysków w jednej grupie woluminów LVM.

Poza tym zawsze dobrze jest zamontować /tmpkatalog na dysku SSD, co zapewnia ogromne przyspieszenie, szczególnie w przypadku aplikacji, które używają go jak kompilacji.


4
Załóż /tmptmpfs. Większa wydajność, mniejsze zużycie dysku SSD (lub na dysku twardym). Bardzo szybkie odczyty SSD sprawiają, że są one najbardziej przydatne w przypadku danych, które są odczytywane częściej niż zapisywane.
Gilles „SO- przestań być zły”

zostało to odkryte jako luka i nie jest już dostarczane przez wiele dystrybucji.


5
Meh Zasadniczo chcę, aby pliki /tmpbyły czyszczone przy ponownym uruchomieniu - jeśli mają pozostać, to po to /var/tmpjest. Używam tmpfs od /tmplat na wielu maszynach i nigdy nie zbliżyłem się do wyczerpania przestrzeni wymiany i nie mam nietypowo małych ilości danych /tmp, więc argument jest fałszywy. W każdym razie nie jest to luka - to słowo oznacza problem bezpieczeństwa.
Gilles „SO- przestań być zły”

1
wygląda na to, że nie masz złych użytkowników do obsługi. Jeśli nie chcesz nazywać tego podatnością, nazwij to szkodliwym, w każdym razie nie jest to zalecane, chyba że wiesz, co robisz.

8

W najnowszych wersjach LVM można utworzyć jeden LV „początkowy” na dysku twardym i jeden LV „puli pamięci podręcznej” na dysku SSD, a następnie połączyć go w jeden LV „pamięci podręcznej”. Ma taki sam rozmiar jak „początkowy” LV (tzn. Masz tylko tyle miejsca, ile jest na HDD), ale często używane bloki i metadane są buforowane na SSD w celu poprawy wydajności.

Chodzi o to, zakładając, że masz już VG obejmujący oba dyski:

lvcreate -l 100%PVS -n your_name YourVG /dev/YourHDD
lvcreate --type cache-pool -l 100%PVS -n your_name_cache YourVG /dev/YourSSD
lvconvert --type cache --cachepool YourVG/your_name_cache YourVG/your_name

Następnie będziesz miał your_nameLV, którego możesz używać jak każdy inny LV, i kilka wewnętrznych LV, które możesz zobaczyć lvs -a YourVG.

Na przykład skonfigurowałem zaszyfrowany główny system plików na partycji SSD ( /dev/sda3) i partycji HDD ( /dev/sdb1) za pomocą następujących poleceń:

pvcreate /dev/sda3 /dev/sdb1
vgcreate RootVG /dev/sda3 /dev/sdb1
lvcreate -l 100%PVS -n cryptroot RootVG /dev/sdb1
lvcreate --type cache-pool -l 100%PVS -n cryptroot_cache RootVG /dev/sda3
lvconvert --type cache --cachepool RootVG/cryptroot_cache RootVG/cryptroot
cryptsetup luksFormat --type luks2 /dev/RootVG/cryptroot

Możesz znaleźć więcej informacji na temat tego postu na blogu lub tego . (Pierwszy jest tym, którego użyłem w celach informacyjnych i jest również używany jako odniesienie w artykule Wikipedii LVM; drugi jest przeze mnie, opisując, jak go użyłem w praktyce. Zdecyduj sam, któremu chcesz zaufać 😉)

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.