Czy tracisz wszystko, gdy masz awarię dysku twardego w LVM na wielu dyskach twardych, który NIE używa RAID?

16

Zastanawiam się nad użyciem LVM do serwera multimediów / plików, ponieważ chciałbym połączyć wiele fizycznych dysków twardych w jeden wolumin. Nie chcę używać RAID w mojej LVM, więc moje pytanie brzmi:

Jeśli jeden z wielu dysków twardych w moim woluminie ulegnie awarii, czy stracę wszystkie moje dane, czy po prostu stracę dane przechowywane na tym pojedynczym dysku?

Ponadto, gdybym po prostu stracił dane na indywidualnym dysku, czy byłoby to tak proste, jak wymiana tego dysku i przywrócenie tego, co było na nim z kopii zapasowej w celu odzyskania?

Fujin
źródło

Odpowiedzi:

11

Jeśli jeden z wielu dysków twardych w moim woluminie ulegnie awarii, czy stracę wszystkie dane, czy po prostu stracę dane przechowywane na tym dysku?

Nie, stracisz dane przechowywane na całym LVM

Ponadto, gdybym po prostu stracił dane na indywidualnym dysku, czy byłoby to tak proste, jak wymiana tego dysku i przywrócenie tego, co było na nim z kopii zapasowej w celu odzyskania?

Nie, to nie jest takie proste

Możesz przeczytać tutaj podobne pytanie LVM i odzyskiwanie po awarii

B14D3
źródło
7

Proste: szukasz mhddfs .
Udaje, że jest to jeden duży system plików, zapisuje na dyskach w kolejności, w jakiej zostały wymienione, i ostatecznie przenosi duże pliki na inne urządzenie, jeśli pierwszy był zbyt pełny. W rzeczywistości może także używać podfolderów na dyskach, umożliwiając tę ​​samą funkcjonalność.
Poszczególne dyski należy najpierw zamontować i pozostać dostępne. W ogóle nie zmienia systemów plików i nie dba o to, który system plików jest na miejscu (o ile system plików poprawnie zgłasza wolne miejsce). W przypadku zgubienia dysku konieczne będzie ponowne zamontowanie mhddfs (w locie), a dane na tym dysku znikną.
Stosowanie:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

lub w /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Złożone i potężne: chcesz unionfs .
Podczas gdy mhddfs jest miły i niezwykle prosty, miałem problemy z uprawnieniami do plików podczas udzielania dostępu innym przez SSH. Nie mogłem znaleźć żadnego rozwiązania, ale znalazłem unionfs.
Unionfs pozwala także na montowanie kilku folderów w różnych systemach plików w jednym, ale ma magię w zakresie uprawnień. Możesz scalić kilka folderów tylko do odczytu i jeden zapisywalny razem, aby wyglądał jak jeden. Osoby, którym udostępniłeś scalony folder, mogą następnie zapisywać w folderze tylko do odczytu - jak im się wydaje - ale pliki kończą się w jednym, zapisywalnym. Startowe dyski CD z systemem Linux działają w ten sposób, zapisywalny dysk to ramdysk. Ludzie mogą nawet usuwać pliki w folderach tylko do odczytu, co tak naprawdę nie usuwa pliku, ale tworzy ukryty plik białej listy w swoim katalogu zapisu. Jeśli złapiesz wszystkie opcje, możesz zasadniczo użyć swojego systemu plików jako słabego mans SVN .
Jeśli zbyt często korzystasz z opcji podobnych do SVN, możesz pominąć istniejące dane dwukrotnie (nieprawdopodobne w twoim scenariuszu, ale możliwe), podczas gdy twój zapisywalny folder zapełnia się małymi, ukrytymi plikami białej listy. Poza tym utrzymuje dyski w czystości i nadaje się do indywidualnego użytku. Co się stanie, jeśli plik jest za duży na dysk, jeszcze nie wiem.
Stosowanie:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

gdzie =rwsprawia, że ​​folder jest odczytywalny i zapisywalny, i =roczyni go tylko do odczytu, nawet jeśli uprawnienia określają inaczej. W etc/fstabtym jest

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0
DennisH
źródło
Jak radzą sobie one z dyskiem wymiennym, który nie jest podłączony?
endolith
@endolith Mhddfs na dysku wymiennym oznaczałoby, że nie wiadomo, co się na nim skończy, unionfs ma rzeczywisty sens, ale wymaga odmontowania w zależności od dostępności urządzenia wymiennego.
DennisH,
Nie rozumiem twojego komentarza. Jeśli połączysz 3 dyski USB za pomocą mhddfs i umieścisz na nich pliki, a następnie usuniesz jeden, czy stanie się coś złego? Jeśli podłączysz go z powrotem, czy wróci do poprzedniego stanu?
endolith
3
@endolith Odłączanie podczas zapisu nigdy nie jest dobre. Jeśli odłączysz urządzenie po zapisaniu, wszystkie napędy USB są indywidualnie OK, nie ma problemu. Możesz odłączyć dysk, podłączyć go do PC2, użyć go, podłączyć z powrotem do PC1 i zamontować ponownie, aby nadal korzystać z nich jak poprzednio. Pomiędzy punktem montowania na zwykłym komputerze PC1 należy poinformować, że wziął dysk (ponownie zamontować). Ale załóżmy, że współdzielisz 2 pliki z PC2, nie możesz powiedzieć, na którym dysku montowania mhddfs się one znajdą, czy nawet na tym samym dysku. Dyski są nadal dostępne indywidualnie, aby sprawdzić / zapewnić lokalizację, ale to już nie wymaga mhddfs.
DennisH
4

Jeśli po prostu łączysz ze sobą wiele urządzeń, nie byłoby żadnej nadmiarowości, więc możesz stracić dane. Ale jeśli używasz nośnika / serwera plików dla firmy, nie powinieneś niczego tracić, ponieważ masz kopię zapasową wszystkiego na serwerze kopii zapasowych / napędzie taśmowym.

Dlaczego unikasz RAID? Punktem RAID jest dostępność; jeśli nie chcesz tracić czasu z powodu awarii dysku, możesz użyć konfiguracji RAID 1, która może również przyspieszyć odczyty. Nie są zbyt drogie, zwracają się za pierwszym razem, gdy masz awarię dysku, a jeśli NAPRAWDĘ unikasz płacenia za kartę, możesz skonfigurować Linuksa do korzystania z programowego RAID, chociaż konfiguracja wymaga nieco więcej uwagi i rozwiązywanie problemów, aby upewnić się, że wymieniłeś właściwy dysk.

W przeciwnym razie będziesz musiał przeskoczyć niektóre obręcze, aby spróbować odzyskać dane z pozostałych dysków. Byłoby to możliwe, ale jakbyś prosił o więcej kłopotów, niż powinieneś. Uzyskaj dobrą kopię zapasową na miejscu i ponownie rozważ macierz RAID.

Bart Silverstrim
źródło
1
Unikam RAID, ponieważ nie martwię się o dostępność. To jest do użytku osobistego. Staram się unikać RAID, ponieważ szukam bardziej niezawodności. Jedna mała rzecz idzie źle w RAID, a ty tracisz cały zestaw i nie mam ochoty sobie z tym radzić. Raczej mam jedno duże archiwum plików, które mogę wykonać kopię zapasową, a nie kilka.
Fujin
1
Nie jestem pewien, czy to rozumiem. RAID sprawia, że ​​nie stracisz tablicy, jeśli coś pójdzie nie tak. Nieużywanie RAID ma miejsce wtedy, gdy jedna awaria zabije wszystko.
JOTN
4
@ user72630: Masz poważne nieporozumienia na temat działania macierzy RAID. Przede wszystkim istnieją różne poziomy RAID, z których większość ma na celu uniknięcie utraty danych w przypadku awarii dysku. Następnie możesz skonfigurować macierz RAID, aby mieć tylko jeden system plików na wielu dyskach, tak jak planujesz za pomocą LVM. Proszę przeczytać en.wikipedia.org/wiki/RAID
Sven
Co powiedzieli inni. Istotą RAID jest utrzymanie dostępności ... tzn. Dysk ulega awarii, dane są nadal dostępne. Przy odpowiednim biegu można hot-swap uszkodzony dysk i nie martwić się o przestoje w ogóle .
Bart Silverstrim
3

Jeśli używasz jednego systemu plików obejmującego wszystkie woluminy LVM, cały system plików zostanie uszkodzony, ponieważ FS nie wie o podstawowych woluminach fizycznych i nie utworzy struktur do niego dopasowanych. Możliwe jest uratowanie niektórych części dysków roboczych, ale nie ma na to gwarancji.

Odzyskiwanie plików z uszkodzonego dysku nie będzie działać z tego samego powodu.

Sven
źródło
2

Myślę, że znacznie prostszą drogą byłoby skonfigurowanie mdadm dla partycji medialnej. Jeśli nie masz sprzętu do „prawdziwego RAID”, przejście na mdadm byłoby znacznie łatwiejsze i wydaje się, że spełnia twoje wymagania dotyczące redundancji i prostej wymiany dysku.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Aby uzyskać więcej informacji: http://en.wikipedia.org/wiki/Mdadm

Jeśli jeden z wielu dysków twardych w moim woluminie ulegnie awarii, czy stracę wszystkie moje dane, czy po prostu stracę dane przechowywane na tym pojedynczym dysku?

Jeśli korzystasz z mdadm i RAID 5, możesz stracić jeden dysk i mieć funkcjonalną macierz, ale może wystąpić spadek wydajności.

Aaron Lake
źródło
1

Myślę, że ważną rzeczą do zrozumienia, o której nie wspomniano, jest to, że plik w systemie plików niekoniecznie musi znajdować się w jednym miejscu na dysku. Jest podzielony na bloki, które mogą znajdować się w dowolnym miejscu w systemie plików. Pierwsze 4K, jeśli plik może znajdować się na dysku1, następny dysk2 itp. Możesz sobie wyobrazić bałagan związany z próbą odzyskania czegokolwiek, jeśli stracisz część systemu plików.

JOTN
źródło
0

Btrfs jest tutaj dobrym wyborem; możesz mieć metadane odporne na utratę jednego dysku (profil porcji „raid1”); dane na innych dyskach będą nadal osiągalne (po prostu to jasne, co przekłada się na pliki pełne dziur, gdziekolwiek odniesienie do brakującego dysku). Odbywa się to poprzez uruchomienie salda btrfs z filtrem :

sudo btrfs balance start -m convert=raid1 /mnt/point
Gabriel
źródło