Reklama

Jeśli masz wiele dysków twardych w systemie Linux, nie musisz traktować ich wszystkich jako różnych urządzeń pamięci masowej. Dzięki Btrfs możesz bardzo łatwo utworzyć pulę pamięci z tych dysków twardych.

Pod pewnymi warunkami możesz nawet włączyć kopię lustrzaną, aby nie utracić danych z powodu awarii dysku twardego. Po skonfigurowaniu wszystkiego możesz po prostu wrzucić do puli, co chcesz, i maksymalnie wykorzystać dostępną przestrzeń dyskową.

Nie ma narzędzia do konfiguracji GUI, które może to wszystko (jeszcze) ułatwić, ale nadal jest całkiem łatwe do wykonania z poziomu wiersza poleceń. Przedstawię prostą konfigurację korzystania z kilku dysków twardych razem.

Co to jest Btrfs?

Btrfs (zwany systemem plików B-drzewa, „Butter FS” lub „Better FS”) to nadchodzący system plików Ext4 vs. Btrfs: Dlaczego dokonujemy zmiany [Linux]Szczerze mówiąc, jedną z ostatnich rzeczy, na które ludzie patrzą, jest to, który system plików jest używany. Użytkownicy systemów Windows i Mac OS X mają jeszcze mniej powodów, aby szukać, ponieważ tak naprawdę mają tylko jeden ... Czytaj więcej

który zawiera wiele różnych funkcji na poziomie systemu plików, zwykle dostępnych tylko jako osobne pakiety oprogramowania. Podczas gdy Btrfs ma wiele wartych uwagi funkcji (takich jak migawki systemu plików), dwie, które przyjrzymy się w tym artykule, to pula pamięci i dublowanie.

Jeśli nie masz pewności, co to jest system plików, zapoznaj się z tym wyjaśnieniem kilka systemów plików dla Windows Czym jest system plików i jak można dowiedzieć się, co działa na dyskachCo to jest system plików i dlaczego mają one znaczenie? Poznaj różnice między FAT32, NTFS, HPS +, EXT i nie tylko. Czytaj więcej . Możesz również sprawdzić to miłe porównanie różnych systemów plików Od FAT do NTFS do ZFS: systemy plików zdemistyfikowaneRóżne dyski twarde i systemy operacyjne mogą korzystać z różnych systemów plików. Oto, co to oznacza i co musisz wiedzieć. Czytaj więcej aby lepiej zrozumieć różnice między istniejącymi systemami plików.

Btrfs jest nadal uważany przez wielu za „niestabilny”, ale większość funkcji jest już wystarczająco stabilna do użytku osobistego - to tylko kilka wybranych funkcji, w których mogą wystąpić niezamierzone wyniki.

Chociaż Btrfs ma być domyślnym systemem plików dla Linuksa w pewnym momencie w przyszłości, nadal jest najlepszy używać ext4 do konfiguracji pojedynczego dysku twardego lub konfiguracji, które nie wymagają tworzenia puli pamięci i tworzenia kopii lustrzanych.

Łączenie dysków

W tym przykładzie użyjemy konfiguracji z czterema dyskami twardymi. Istnieją dwa dyski twarde (/ dev / sdb i / dev / sdc) o pojemności 1 TB każdy, a także dwa inne dyski twarde (/ dev / sdd i / dev / sde) o pojemności 500 GB na łącznie cztery dyski twarde o łącznej pojemności 3 TB składowy.

Możesz także założyć, że masz inny dysk twardy (/ dev / sda) o dowolnym rozmiarze, który zawiera program ładujący i system operacyjny. Nie martwimy się o / dev / sda i łączymy wyłącznie pozostałe cztery dyski twarde w celu dodatkowego przechowywania.

Tworzenie systemu plików

btrfs_gparted
Aby utworzyć system plików Btrfs na jednym z dysków twardych, możesz użyć polecenia:

sudo mkfs.btrfs / dev / sdb

Oczywiście możesz zastąpić / dev / sdb rzeczywistym dyskiem twardym, którego chcesz użyć. Stąd możesz dodać inne dyski twarde do systemu Btrfs, aby utworzyć jedną partycję obejmującą wszystkie dodane dyski twarde. Najpierw zamontuj pierwszy dysk twardy Btrfs za pomocą polecenia:

sudo mount / dev / sdb / mnt

Następnie uruchom polecenia:

sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde

Teraz możesz dodać je do pierwszego dysku twardego za pomocą poleceń:

sudo btrfs urządzenie dodaj / dev / sdc / mnt btrfs urządzenie dodaj / dev / sdd / mnt btrfs urządzenie dodaj / dev / sde / mnt

Jeśli masz trochę danych zapisanych na pierwszym dysku twardym, system plików zrównoważy je wśród wszystkich nowo dodanych dysków twardych. Możesz to zrobić za pomocą polecenia:

sudo btrfs system plików balance / mnt

Alternatywnie, jeśli wiesz, zanim jeszcze zaczniesz, że chcesz, aby system plików Btrfs obejmował wszystkie dyski twarde, możesz po prostu uruchomić polecenie:

sudo mkfs.btrfs -d single / dev / sdb / dev / sdc / dev / sdd / dev / sde

Oczywiście jest to o wiele łatwiejsze, ale musisz użyć powyższej metody, jeśli nie dodasz ich wszystkich za jednym razem.

Zauważysz, że użyłem flagi: „-d singiel”. Jest to konieczne, ponieważ chciałem konfiguracji RAID 0 (w której dane są dzielone między wszystkie twarde elementy) dyski, ale nie występuje kopia lustrzana), ale „pojedynczy” profil jest potrzebny, gdy dyski twarde są inne rozmiary. Gdyby wszystkie dyski twarde były tego samego rozmiaru, mógłbym zamiast tego użyć flagi „-d raid0”. Nawiasem mówiąc, flaga „-d” oznacza dane i pozwala określić żądaną konfigurację danych. Istnieje również flaga „-m”, która robi dokładnie to samo w przypadku metadanych.

Poza tym możesz także włączyć RAID 1 za pomocą „-d raid1”, który powieli dane na wszystkich urządzeniach, więc używając tej flagi podczas tworzenia System plików Btrfs, który obejmuje wszystkie dyski twarde, oznaczałby, że dostaniesz tylko 500 GB dostępnego miejsca, ponieważ trzy pozostałe dyski twarde są używane do tworzenia kopii lustrzanych.

Na koniec możesz włączyć RAID 10 używając „-d raid10”. W ten sposób powstanie połączenie zarówno RAID 0, jak i RAID 1, dzięki czemu uzyskasz 1,5 TB przestrzeni użytkowej, ponieważ dwa dyski twarde o pojemności 1 TB są sparowane w kopii lustrzanej, a dwa dyski twarde o pojemności 500 GB są sparowane w kopii lustrzanej.

Konwertowanie systemu plików

btrfs_harddiskstack
Jeśli masz system plików Btrfs, który chcesz przekonwertować na inną konfigurację RAID, łatwo to zrobić. Najpierw zamontuj system plików (jeśli jeszcze nie jest) za pomocą polecenia:

sudo mount / dev / sdb1 / mnt

Następnie uruchom polecenie:

sudo btrfs balance start -dconvert = raid1 -mconvert = raid1 / mnt

Spowoduje to zmianę konfiguracji na RAID 1, ale możesz ją zastąpić dowolną konfiguracją (tak pod warunkiem, że jest to faktycznie dozwolone - na przykład nie możesz przejść na RAID 10, jeśli nie masz co najmniej czterech twardych dyski). Ponadto opcja -mconvert jest opcjonalna, jeśli martwisz się tylko danymi, ale nie metadanymi.

Jeśli wystąpi awaria dysku twardego

Jeśli dysk twardy ulegnie awarii, musisz go usunąć z systemu plików, aby pozostałe dyski w puli działały poprawnie. Zamontuj system plików za pomocą polecenia:

sudo mount -o zdegradowany / dev / sdb / mnt

Następnie napraw system plików za pomocą:

sudo btrfs device delete missing / mnt

Jeśli nie masz włączonej macierzy RAID 1 lub RAID 10, wszystkie dane znajdujące się na uszkodzonym dysku twardym zostaną utracone.

Usuwanie dysku twardego z systemu plików

Wreszcie, jeśli chcesz usunąć urządzenie z systemu plików Btrfs, a system plików jest podłączony do / mnt, możesz to zrobić za pomocą polecenia:

sudo btrfs device delete / dev / sdc / mnt

Oczywiście zamień / dev / sdc na dysk twardy, który chcesz usunąć. To polecenie zajmie trochę czasu, ponieważ musi przenieść wszystkie dane z usuwanego dysku twardego, a także zawiedzie, jeśli na pozostałych pozostałych dyskach twardych nie będzie wystarczającej ilości miejsca.

Automatyczny montaż

btrfs_fstab
Jeśli chcesz, aby system plików Btrfs był montowany automatycznie, możesz umieścić to w pliku / etc / fstab:

sudo / dev / sdb / mnt btrfs urządzenie = / dev / sdb, urządzenie = / dev / sdc, urządzenie = / dev / sdd, urządzenie = / dev / sde 0 0

Opcje montażu

Jeszcze jedna wskazówka bonusowa! Możesz zoptymalizować wydajność Btrfs w pliku / etc / fstab w opcjach montowania systemu plików Btrfs. W przypadku dużych macierzy pamięci te opcje są najlepsze: compress-force = zlib, autodefrag, nospace_cache. W szczególności compress = zlib skompresuje wszystkie dane, abyś mógł jak najlepiej wykorzystać dostępną przestrzeń dyskową. Dla przypomnienia użytkownicy SSD mogą korzystać z tych opcji: noatime, compress = lzo, ssd, discard, space_cache, autodefrag, inode_cache. Te opcje są zgodne ze specyfikacjami urządzenia, więc pełna linia w / etc / fstab dla użytkowników SSD wyglądałaby następująco:

sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde,
noatime, compress = lzo, ssd, discard, space_cache, autodefrag, inode_cache 0 0

Jak duża jest twoja pula pamięci?

Btrfs to fantastyczna opcja do łączenia i tworzenia kopii lustrzanych, która z pewnością zyska na popularności, gdy zostanie uznana za całkowicie stabilną. Nie zaszkodzi też, aby istniał GUI ułatwiający konfigurację (poza niektórymi instalatorami dystrybucji), ale polecenia, które musisz użyć w terminalu, są łatwe do uchwycenia i zastosowania.

Jaka jest największa pula pamięci, jaką możesz zrobić? Czy uważasz, że pule pamięci są warte? Daj nam znać w komentarzach!

Źródło zdjęcia: William Hook

Danny jest senior na University of North Texas, który lubi wszystkie aspekty oprogramowania open source i Linuksa.