Jak włączyć buforowanie i tworzenie kopii lustrzanych przy użyciu Btrfs dla systemu Linux

  • William Charles
  • 0
  • 3867
  • 318
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 stracić 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 mogłoby to wszystko uczynić (jeszcze) łatwiejszym, 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, “Masło FS”, lub “Lepsze FS”) to nadchodzący system plików Ext4 vs. Btrfs: Dlaczego dokonujemy zmiany [Linux] Ext4 vs. Btrfs: Dlaczego dokonujemy zmiany [Linux] Szczerze mówiąc, jedną z ostatnich rzeczy, na które ludzie patrzą, jest 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 jedną…, która 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 wyjaśnieniem kilku systemów plików dla systemu Windows Czym jest system plików i jak można dowiedzieć się, co działa na dyskach Czym jest system plików i jak się dowiedzieć Co działa na dyskach Co to jest system plików i dlaczego mają one znaczenie? Poznaj różnice między FAT32, NTFS, HPS +, EXT i więcej. . Możesz także sprawdzić to miłe porównanie różnych systemów plików Od FAT do NTFS do ZFS: systemy plików zdemistyfikowane od FAT do NTFS do ZFS: systemy plików zdemistyfikowane Różne dyski twarde i systemy operacyjne mogą używać różnych systemów plików. Oto, co to oznacza i co musisz wiedzieć. aby lepiej zrozumieć różnice między istniejącymi systemami plików.

Btrfs jest nadal brany pod uwagę “niestabilny” przez wiele, ale większość funkcji jest już wystarczająco stabilna do użytku osobistego - to tylko kilka wybranych funkcji, w których możesz napotkać pewne niezamierzone wyniki.

Podczas gdy Btrfs ma być domyślnym systemem plików dla Linuksa w pewnym momencie w przyszłości, nadal najlepiej jest używać ext4 do konfiguracji pojedynczych dysków twardych lub konfiguracji, które nie wymagają tworzenia puli pamięci i dublowania.

Łą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, w sumie cztery dyski twarde o łącznej pojemności 3 TB składowy.

Możesz również 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


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 na pierwszym dysku twardym były zapisane jakieś dane, system plików zrównoważy je między wszystkimi nowo dodanymi dyskami twardymi. 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 dyski twarde, ale nie występuje kopia lustrzana), ale “pojedynczy” Profil jest potrzebny, gdy dyski twarde mają różne rozmiary. Gdyby wszystkie dyski twarde były tego samego rozmiaru, mógłbym zamiast tego użyć flagi “-d raid0”. The “-re” flagę, nawiasem mówiąc, oznacza dane i pozwala określić żądaną konfigurację danych. Jest też “-m” flaga, która robi dokładnie to samo dla metadanych.

Oprócz tego możesz także włączyć RAID 1 za pomocą “-d raid1” co spowoduje zduplikowanie danych na wszystkich urządzeniach, więc użycie tej flagi podczas tworzenia systemu plików Btrfs, który obejmuje wszystkie dyski twarde, oznaczałoby, że otrzymujesz 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 za pomocą “-d raid10”. Spowoduje to połączenie zarówno RAID 0, jak i RAID 1, dzięki czemu otrzymasz 1,5 TB przestrzeni użytkowej, ponieważ dwa dyski twarde o pojemności 1 TB są sparowane w kopii lustrzanej, a dwa dyski twarde 500 GB są sparowane w kopii lustrzanej.

Konwertowanie systemu plików


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ą, którą chcesz (o ile jest to faktycznie dozwolone - na przykład nie możesz przełączyć się na RAID 10, jeśli nie masz co najmniej czterech dysków twardych) . Dodatkowo flaga -mconvert jest opcjonalna, jeśli martwisz się o dane, ale nie o metadane.

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ż


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 tworzenia pul pamięci 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ą tego warte? Daj nam znać w komentarzach!

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




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.