Jak skonfigurować wiele dysków twardych jako jeden wolumin?

39

Mam zamiar skonfigurować skrzynkę jako serwer plików. Planuję mieć wiele dysków w pudełku i chciałbym je wszystkie skonfigurować tak, aby wyglądały jak jeden dysk. Mogłem więc zasadniczo zainstalować go w say / media i nie obchodzi mnie, który dysk zostanie wykorzystany. Nie jestem pewien, jaka jest poprawna terminologia, więc mój Google fu jest w tej sytuacji bezużyteczny.

Jak więc skonfigurować wiele dysków twardych, aby pojawiały się jako jeden dysk?

Jacob Schoen
źródło

Odpowiedzi:

17

Prawdopodobnie będziesz chciał użyć LVM . Można znaleźć kilka przewodników tutaj .

mgunes
źródło
1
Dzięki. Jako notatkę wydaje się, że tym, którego chcę, jest SettingUpLVM-WithoutACleanInstall, ponieważ nie używam Raida ani niczego nie szyfruję.
Jacob Schoen,
47

Postanowiłem napisać instrukcje krok po kroku, aby to skonfigurować. Ważną uwagą jest to, że zrobiłem to w systemie, w którym ładuję system z osobnej partycji, która nie jest częścią LVM. Tak więc LVM jest po prostu do przechowywania i nie ma żadnych plików potrzebnych do uruchomienia systemu operacyjnego. Ma to również na celu stworzenie wyglądu jednego dużego dysku, chociaż podobną technikę można zastosować do stworzenia wyglądu wielu dysków (tak naprawdę partycje). Jest to bardzo samolubny zrzut mózgu, ponieważ inne przewodniki nie są dla mnie kompletne. Mam więc nadzieję, że może pomóc innym.

Kierunki te pochodzą zasadniczo z linku dostarczonego przez Murata Gunesa z kilkoma dodatkowymi informacjami, które tutaj zebrałem .


Zacząłem od dysku, na którym nie miałem nic, czego potrzebowałem.

  • Najpierw musisz utworzyć partycję jako Linux LVM. Aby to zrobić, możesz użyć fdisk. Możesz zobaczyć wszystkie dyski, które widzi Ubuntu i ich listę, uruchamiając:sudo fdisk -l

Pierwszy wiersz w każdej sekcji powinien zawierać informacje wystarczające do zidentyfikowania dysku. Będzie to wyglądać jak:

Dysk / dev / sda: 500,1 GB, 500107862016 bajtów

Liczy się część /dev/sda. Teraz uruchom: sudo fdisk /dev/sda. Zobaczysz:

Polecenie (m dla pomocy):

Wpisz, paby wyświetlić listę partycji na dysku. Musisz usunąć partycje, które chcesz włączyć do LVM. Więc wpisz, daby usunąć. Jeśli dysk ma tylko jedną partycję, usunie go (dobrze oflaguj go do usunięcia, nie stanie się to, dopóki nam tego nie powiesz). W przeciwnym razie myślę, że (mój tylko jeden) prosi o podanie numeru tego, który chcesz usunąć.

Teraz musisz utworzyć nową partycję. Wpisz nnowy. Pyta, czy rozszerzone, czy podstawowe. Wpisz ppodstawowy. Pyta o numer partycji, typ 1. Dla pierwszego cylindra i ostatniego cylindra po prostu pozostaw je puste, aby użyć wartości domyślnych.

Teraz musisz ustawić Linux LVM. Wpisz t. Prosi o kod szesnastkowy, użyj 8edla LVM Linuksa. Zobaczysz coś takiego:

Zmieniono typ systemu partycji 1 na 8e (Linux LVM)

Na koniec wpisz, waby zapisać zmiany na dysku.

  • Teraz musimy zainstalować LVM, więc uruchom go, sudo apt-get install lvm2aby go zainstalować.
  • Będę szczery i powiem, że nie jestem pewien, co robi ten krok, ale inne kierunki mówiły, aby zrobić, modprobe dm-modaby załadować moduł LVM. Nie dostałem żadnych błędów, więc myślę, że zadziałało.
  • Musimy edytować plik / etc / modules, aby ten moduł ładował się podczas rozruchu. Czy sudo nano /etc/modulesto otworzyć, aby edytować. Dodaj dm-moddo listy elementów.
  • Chcemy również edytować konfigurację lvm, aby zaktualizować filtr, aby skanowanie nie trwało długo (tak myślę i dlatego). Więc zrób sudo nano -w /etc/lvm/lvm.confi zmień linię za pomocą:

filter = ["a /.*/"]

być:

filter = ["a | / dev / hd [ab] |", "r /.*/"]

  • Teraz musimy skonfigurować pierwszy LVM. Zrobić sudo vgscan. Powinieneś zobaczyć coś takiego:

Czytanie wszystkich tomów fizycznych. Może to chwilę potrwać ...
Nie znaleziono grup woluminów

Na wszelki wypadek skonfigurowano już grupy woluminów, sudo vgchange -a yaby je udostępnić.

  • Teraz uruchom, sudo pvcreate /dev/sda1aby skonfigurować partycję.
  • Teraz uruchom sudo vgcreate media /dev/sda1zamieniając nośnik na nazwę, którą chcesz oznaczyć jako partycję.
  • Teraz uruchom sudo lvcreate -l100%FREE -nvolume mediazamieniając wolumin na nazwę, którą chcesz go nazwać. Spowoduje to wykorzystanie całego wolnego miejsca dostępnego na partycji.
  • Teraz musimy sformatować wolumin, więc zrobiłbyś to dla ext4 sudo mke2fs -t ext4 /dev/media/volume.
  • Utwórz katalog, w którym chcesz zamontować wolumin. Zrobiłem sudo mkdir /mnt/media.
  • Zamontuj wolumin, wykonując czynności sudo mount /dev/media/volume /mnt/media. Teraz dotyczy to tylko tej sesji. Po ponownym uruchomieniu nie zostanie on ponownie zamontowany automatycznie. W tym celu musimy edytować /etc/fstabplik. Aby to zrobić, dodaj sudo nano /etc/fstabi dodaj wiersz:

Domyślnie / dev / media / volume / mnt / media ext4 0 1

W tym momencie możesz rozpocząć dodawanie plików na dysk, więc jeśli chcesz wyczyścić inne dyski, które chcesz dodać, możesz je tutaj skopiować.


Dodanie innego dysku do woluminu

  • Więc wykonaj ponownie czynności opisane w pierwszym punkcie, ale dla nowego napędu.
  • Teraz, jeśli nazwa napędu to /dev/sdb1zrobić, sudo vgextend media /dev/sdb1dodaj go do woluminu.
  • Teraz musimy odmontować głośność. Aby to zrobić, zrób to sudo umount /dev/media/volume.
  • Teraz możesz zobaczyć statystyki swojego woluminu, uruchamiając sudo vgdisplay. Ważną częścią jest Free PE / Size. Musisz wiedzieć, ile miejsca możesz dodać do woluminu na następny krok.
  • Więc gdybyś miał 150 GB przestrzeni, zrobiłbyś to sudo lvextend -L+150G /dev/media/volume.
  • Teraz uruchom, sudo e2fsck -f /dev/media/volumeaby sprawdzić system plików.
  • Teraz biegnij, sudo resize2fs /dev/media/volumeaby zmienić rozmiar wszystkiego.
  • Możesz ponownie uruchomić statystyki i sprawdzić, czy Free PE / Sizespadła do oczekiwanych.
  • Ponownie podłącz głośność, wykonując sudo mount /dev/media/volume /mnt/media
  • Opłucz i powtórz dla innych dysków.
    Pomocne było również to, że miałem pliki, które musiałem skopiować z dysków do LVM, które utworzyłem przed dodaniem tego dysku. Użyłem cp -r -vwięc, żeby rekurencyjnie kopiować pliki i używać pełnego wyjścia, więc wiem, co robił. Przykładem pełnego polecenia może być:

cp -r -v / mnt / temp / Movies / mnt / shared / media

Gdzie /mnt/temp/Moviesjest folder, z którego chcesz skopiować.

Jacob Schoen
źródło
Szybkie pytanie ... po stworzeniu LVM powiedz, że przy dwóch dyskach wykonujesz te same kroki, co później dodajesz inne dyski?
@Craig To prawda.
Jacob Schoen
2
Podczas wydawania pvcreate / dev / sda1 otrzymywałem: Urządzenie / dev / sda1 nie znaleziono (lub zostało zignorowane przez filtrowanie). ... zgodnie z błędem startera # 136830 ... filtr w lvm.con ["a | / dev / hd [ab] |", "r /.*/"] ... faktycznie musiał przeczytać: [" a | / dev / [hs [d [ab] | "," r /.*/ "] W przeciwnym razie wielkie dzięki - dobre instrukcje. C.
Miałem to samo pytanie, dziękuję, że zapytałem Jacoba! Zastanawiałem się jednak: jak to działa po ponownej instalacji Ubuntu. Obecnie po ponownej instalacji po prostu ponownie instaluję dyski i wszystkie moje dane wciąż tam są, jak to działa w tej sytuacji? (Mój dysk Ubuntu jest osobnym dyskiem, ale ponieważ cała konfiguracja lvm wydaje się być zapisana na dysku ubuntu ..)
Maarten Kieft
2
Aby dodać dysk, możesz również zrobić to, sudo lvextend -l +100%FREE /dev/media/volumeaby wypełnić całe wolne miejsce.
jcady
6

Osobiście upewniłem się, że wszystkie dyski są (mniej więcej) tego samego rozmiaru, i zamiast tego utworzę z nich „macierz” RAID 5. Wadą macierzy RAID 5 jest to, że tracisz rozmiar jednego dysku w całkowitej dostępnej przestrzeni dyskowej. Zaletą RAID 5 jest to, że jeśli jeden z dysków zginie, nic nie stracisz i możesz po prostu wymienić uszkodzony dysk twardy.

Jeśli nie obchodzi Cię wystarczająco utrata danych, aby wydać na nią dodatkowy dysk, lub jeśli planujesz użyć kilku dysków o różnych rozmiarach, które już masz, prawdopodobnie najlepiej jest użyć LVM, jak mówi Murat.

JanC
źródło
Dzięki za wskazówkę. W rzeczywistości mam kilka dysków o różnych rozmiarach. To było po prostu po prostu znaleźć dla nich zastosowanie. Chociaż byłoby do bani, gdybym coś na nich stracił, nic nie jest ważne, że nie mogłem go zastąpić przy minimalnym wysiłku, a rzeczy, które są dla mnie ważne, zostały już zapisane. Ale +1 za wskazówkę, która może być przydatna dla innych.
Jacob Schoen,
mdadmftw. Jest to programowy kontroler RAID, który obsługuje fajne rzeczy, takie jak poziomy 5 i 6. „RAID nie jest kopią zapasową”, ale z pewnością dużo łatwiej jest go odzyskać po śmierci dysku, po prostu wrzuć inny, poczekaj długi czas podczas gdy resynchronizuje się, a ty jesteś na nogach. Możesz ponownie zsynchronizować dyski na żywo, ale jest on wykładniczo wolniejszy.
Oli