Jak podzielić dysk 22 TB na partycje?


33

Mam włączony dysk 22 TB /dev/sdb. Jak utworzyć partycję 22 TB? Nie obchodzi mnie system plików - ext4lub zfsjest w porządku.

Uruchamianie CentOS 6.2 - Partycja będzie używana jako zrzut danych. Tylko jeden strumień danych, więc wybranie / wybranie systemu plików nie jest teraz tak naprawdę problemem. Dysk jest utworzony z 12x2 TB dysków nearline SAS i kontrolera Dell Perc.

Chcę tylko partycję 22 TB.


1
Przydałoby się jeszcze kilka informacji. jakiego systemu operacyjnego używasz? jakiego rodzaju wydajności oczekujesz lub potrzebujesz? jaki jest podstawowy sprzęt? to już jest zestaw rajdowy? czy ma redundancję? potrzebujesz dodatkowych funkcji ochrony danych w ZFS?
Tim Kennedy

3
Które próby jak dotąd się nie udały? fdisk, cfdisk?
Nils

Odpowiedzi:


44

Najprostszym rozwiązaniem jest użycie partycjonowania GPT , 64-bitowej wersji Linuksa i XFS :

  • GPT jest konieczne, ponieważ MS-DOS styl tablica partycji MBR stworzony przez fdiskograniczona jest do 2 dysków TIB. Musisz więc użyć partedinnego programu do partycjonowania zgodnego z GPT fdisk. ( gdisk, gpartedEtc.)

  • Jądro 64-bitowe jest konieczne, ponieważ jądra 32-bitowe ograniczają cię do systemów plików mniejszych niż wymagasz. Albo osiągniesz limit rozmiaru oparty na 32-bitowych liczbach całkowitych, albo nie będziesz w stanie zaadresować wystarczającej ilości pamięci RAM, aby poprawnie obsługiwać system plików.

  • XFS to nie jedyne rozwiązanie, ale moim zdaniem najłatwiejsze dla systemów RHEL.

    W tym przypadku nie można używać ext4 w RHEL 6. Chociaż system plików został zaprojektowany do obsługi 1 systemów plików EiB , istnieje sztuczny limit wielkości 16 TiB w wersji e2fsprogszawartej w RHEL 6 i jego pochodnych. Zarówno Red Hat, jak i CentOS nazywają to w swoich dokumentach. (Limit ext4 16 TiB został znacznie podwyższony w RHEL 7 do 50 TiB.)

    ZFS może nie być praktyczny w twojej sytuacji . Ze względu na kilka ograniczeń prawnych i technicznych, nie mogę wprost tego polecić, chyba że potrzebujesz czegoś, co daje tylko ZFS.

    Po wykluczeniu dwóch wybranych systemów plików sugeruję XFS. Jest to domyślny system plików w RHEL 7, był dostępny jako obsługiwany system plików we wszystkich wersjach RHEL 6 i został przeniesiony do późniejszych wersji RHEL 5 po wydaniu RHEL 6.

Oto proces:

  1. Sprawdź, czy mkfs.xfszainstalowałeś, uruchamiając go bez argumentów. Jeśli nie jest obecny, zainstaluj narzędzia XFS dla użytkownika:

    # yum install xfsprogs
    

    Jeśli to się nie powiedzie, to prawdopodobnie dlatego, że masz starszy system operacyjny, który nie ma tego w domyślnym repozytorium pakietów. Naprawdę powinieneś zaktualizować, ale jeśli jest to niemożliwe, możesz to uzyskać z CentOSPlus lub EPEL . Może być również konieczne zainstalowanie kmod_xfspakietu.

  2. Utwórz partycję:

    Ponieważ mówisz, że twój wolumin 22 TiB jest włączony /dev/sdb, polecenia dla parted:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    To powoduje, że przejmuje on cały wolumin z jedną partycją. W rzeczywistości ignoruje pierwsze 1 MiB woluminu, aby osiągnąć wyrównanie 4 KiB wymagane do uzyskania pełnej wydajności dysków twardych i SSD w formacie zaawansowanym .

    Możesz pominąć ten krok i sformatować cały wolumin za pomocą XFS. To znaczy, użyłbyś /dev/sdbw poniższym przykładzie zamiast /dev/sdb1. Pozwala to uniknąć problemu wyrównania sektora. W przypadku woluminu, który zobaczy tylko Twój system operacyjny Linux, nie ma żadnych wad, o których warto mówić, ale odradzam robienie tego na woluminie wymiennym lub wewnętrznym na komputerze z kilkoma systemami startowymi , ponieważ niektóre Systemy operacyjne (na przykład Windows i macOS) będą oferować formatowanie dysku twardego bez partycji za każdym razem, gdy się pojawi. Umieszczenie systemu plików na partycji rozwiązuje ten problem.

  3. Sformatuj partycję:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Dodaj /etc/fstabwpis:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Rosnąć!

     # mount /some/mount/point
    

Jeśli chcesz iść w dół LVM ścieżkę, powyższe etapy są w zasadzie tylko bardziej szczegółową wersją drugiego zestawu poleceń użytkownika bsd„s odpowiedź poniżej . Musisz wykonać jego pierwszy zestaw poleceń przed powyższymi.

LVM oferuje pewne zalety przy złożonym koszcie. Na przykład możesz później „powiększyć” grupę woluminów LVM, dodając do niej więcej woluminów fizycznych, tworząc w ten sposób miejsce na powiększenie woluminu logicznego („partycja” rodzaj, sorta), co z kolei pozwala rozbudować system plików żyjący na logice Tom. (Zobacz, co mam na myśli o złożoności? :))


4
Część ZFS jest dyskusyjna. Port Linux przeszedł długą drogę od 2010 roku i w porównaniu do XFS ma wiele zalet
TheLQ

Jeśli chodzi o GPT / MBR, czy tak naprawdę nie dotyczy /bootto tylko części /? MBR nie powinien dbać o to, jak duży /jest, jeśli ma tylko zamontować małe /bootprawo? Mogę się mylić.
jonescb

1
@jonescb: Lokalizacja /bootnie ma żadnego wpływu na ograniczenia MBR. Jeśli potrzebujesz partycji powyżej 2 TB, nie możesz używać partycjonowania MBR. Prawdą jest jednak, że można obejść brak obsługi BIOS-u podczas uruchamiania z GPT, umieszczając /bootmniejszy dysk z partycjami MBR. Po uruchomieniu jądra nie musisz się martwić ograniczeniami BIOS-u, ponieważ wie, jak interpretować tablicę partycji GPT. Jeśli twoja maszyna jest oparta na EFI, nie musisz wykonywać tego tańca, ponieważ EFI rozumie GPT.
Warren Young,

16

Jest to alternatywa dla innych sugestii.
W ogóle nie musisz partycjonować dysku.
Możesz po prostu utworzyć grupę woluminów z jednym lub większą liczbą woluminów logicznych .

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data

Teraz masz wolumin logiczny, który możesz sformatować za pomocą dowolnego typu systemu plików.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt

LVM jest w zasadzie zaawansowaną formą partycjonowania. Nie ma sensu używać LVM, jeśli zamierzasz utworzyć pojedynczy LV z wykorzystaniem całej przestrzeni, więc równie dobrze możesz po prostu mkfs bezpośrednio na całym urządzeniu dyskowym.
psusi

4
brak narzędzi LV do dodawania migawek danych na żywo, możliwość zmiany rozmiaru, wiele kopii metadanych; znacznie bardziej elastyczny niż zwykły fs na urządzeniu.
bsd

1
Nie potrzebujesz wielu kopii metadanych, jeśli w ogóle nie masz metadanych (tablicy partycji). Migawki wymagają wolnego miejsca, podobnie jak dodawanie / rozwijanie woluminów, dlatego też staje się bezcelowe, jeśli tworzy się pojedynczy wolumin logiczny z wykorzystaniem całej przestrzeni od samego początku. Jeśli chcesz mieć funkcje LVM, powinieneś zacząć od mniejszego woluminu, aby mieć dużo wolnego miejsca do wykorzystania później.
psusi

Nie polecałem LVM w przypadku tej osoby, po prostu wymieniając ją jako alternatywę dla „innych” partycjonujących, niepodzielnych odpowiedzi / rozwiązań. Od niej zależy, czy przeczyta wszystkie odpowiedzi, dokona własnych badań, a następnie zdecyduje, który sposób postępowania najlepiej odpowiada jej potrzebom.
bsd

3
Jedną z zalet LVM, nawet jeśli masz tylko jedną LV, jest to, że pozwala łatwo dodać miejsce później.
płyn do płukania,

6

Pytanie do pytania: zapytałeś „ jak podzielić dysk 22 TB”, a następnie w pytaniu powiedziałeś, że po prostu chcesz partycję 22 TB. To przede wszystkim niejednoznaczne.

Jeśli masz już jedno urządzenie blokowe, które może obsłużyć 22 TB miejsca, to masz już całą partycję 22 TB. Wszystko czego potrzebujesz to system plików na nim, który sprawi, że urządzenie będzie można zamontować i będzie ono przydatne do odczytu / zapisu przez procesy systemowe. Co więcej, musisz mieć jądro Linuksa działające w trybie 64-bitowym z modułem / sterownikiem systemu plików, który obsługuje i skaluje do 22 TB wzrostu danych, może obsłużyć tajniki zarządzania danymi na (pojedynczym) urządzeniu blokowym za pomocą łatwość. Wydajność to zupełnie inny wymiar. W takim przypadku wybrałbym XFSjako system plików, ponieważ jest to 64-bitowy system plików, który może obsługiwać systemy plików o wielkości nawet miliona terabajtów. Obsługuje do 9 ćwiczeń.

2^63  = 9 x 1018 = 9 exabytes 

Więcej informacji o XFS: http://oss.sgi.com/projects/xfs/

Jeśli szukasz dalszego partycjonowania ogromnego urządzenia blokowego o pojemności 22 TB, użyj go, gpartedaby podzielić urządzenie na użyteczne partycje, a następnie sformatować je za pomocą systemów plików, aby można je było zamontować.

Wygląda na to, że masz sprzętowy kontroler RAID, ponieważ wspominasz, że masz kontroler RAID DELL perc - co oznacza, że ​​musisz powiedzieć, jakiej konfiguracji RAID (dokładnie jakiego poziomu RAID używasz?), A w większości przypadków nie dostaniesz do dyspozycji 22 TB miejsca, ale mogę się mylić.


Chciałem również zasugerować xfs, ale xfs_check zajmie dużo pamięci i długo będzie działać w / 22G fs. Pomiędzy fizycznym a swapiem trzeba by co najmniej 32G, aby sprawdzić, to znaczy, jeśli kiedykolwiek zależy mu na sprawdzeniu fs na 'datadump' (cokolwiek to jest;)
bsd

@bdowning, możesz poprawić to do 22T fs :)
Nikhil Mulley

Jest to nalot 22 TB. Mam dużo dysków :)
LVLAaron,

To była literówka (pierdnięcie mózgu). Mam to samo urządzenie, 10 TB, z LSI Megaraid (ta sama karta co Dell Perc)
bsd

@bdowning: xfs_checkrzeczywiście zużywa dużo pamięci, ale strona podręcznika (8) wspomina: „ Pamiętaj, że xfs_checkNIE jest zalecane używanie. Użyj xfs_repair -nzamiast tego, aby uzyskać lepszą skalowalność i szybkość. ”.
Cristian Ciupitu

4

Podczas korzystania z ZFS nie powinieneś potrzebować partycjonowania, po prostu utwórz pulę ZFS na swoim urządzeniu o pojemności 22 TB i system plików, jeśli nie chcesz używać domyślnej i to wszystko. Jeśli z jakiegoś powodu zpool nie obsługuje korzystania z całego dysku, najpierw utwórz etykietę EFI i partycję, korzystając z całej dostępnej przestrzeni, a następnie użyj tej partycji do utworzenia puli.

Z kilku powodów nie zalecałbym używania niczego poza ZFS dla tak dużego systemu plików. Najbardziej oczywiste jest to, że jeśli masz brutalne wyłączenie zasilania (np. Panika jądra lub brak zasilania), fsck może zająć bolesny czas na odzyskanie tradycyjnych systemów plików. ZFS z drugiej strony nie potrzebuje fsck, więc natychmiast zaimportuje pulę.

Pamiętaj, że lepiej zepsuć sprzętową konfigurację RAID i użyć dwunastu urządzeń jako JBOD, aby zbudować pulę ZFS, korzystając z jej możliwości programowego RAID. Jeśli Twoim celem jest wydajność, możesz dublować pary dysków, a jeśli twoim celem jest zmaksymalizowanie miejsca, możesz użyć konfiguracji RAIDZ, RAIDZ2 lub RAIDZ3. Wykonanie tej czynności znacznie poprawi niezawodność danych i odporność rozwiązania na błędy.


1
Wiem, że to stara odpowiedź na stare pytanie, ale .... jeśli używasz ZFS, najlepszą opcją jest zniszczenie macierzy RAID, skonfigurowanie kontrolera RAID dla JBOD, aby Linux widział każdy dysk, a następnie utwórz pary dublowane (mniejsza pojemność, świetna wydajność) lub RAIDZ / Z2 / Z3 (większa pojemność, słaba wydajność) z poszczególnych dysków. Tracisz wiele korzyści płynących z ZFS, jeśli nałożysz je na istniejącą macierz RAID zamiast pozwolić sobie na obsługę samych dysków. To samo dotyczy btrfs.
cas

@cas Zdecydowanie masz rację, odpowiedź zaktualizowana. Skoncentrowałem się jednak na pytaniu OP „jak podzielić dysk 22 TB na partycje”, a nie „co poleciłbyś zrobić z moją konfiguracją dysku”.
jlliagre

3

Nie jestem pewien, czy jest to obecnie możliwe przy użyciu standardowej tablicy partycji. W standardowym schemacie tablicy partycji woluminy są ograniczone do 2 32 sektorów. Przy 512 bajtach na sektor po prostu zabraknie liczb, które można przypisać do sektorów około 2 TB.

Jednak powinieneś być w stanie to zrobić, jeśli używasz tabeli partycji GUID zamiast standardowej. Tabele partycji GUID umożliwiają rozszerzenie woluminów do zakresu zettabyte. Większość dystrybucji Linuksa można uruchomić z woluminu GUID, jednak obecnie nie ma żadnej wersji systemu Windows (oprócz Windows 7 na EFI).

Niektóre narzędzia, takie jak fdisk, nie mogą współpracować z woluminami GUID, jednak inne narzędzia, takie jak GParted, mogą. Po utworzeniu tabeli partycji GUID powinieneś być w stanie utworzyć wolumin przy użyciu jednego z kilku popularnych systemów plików, które obsługują wolumin tego rozmiaru (np. EXT4.)


W systemie 32-bitowym może być. Udało mi się utworzyć partycję 3,5 TB na 64-bitowym serwerze Ubuntu obsługiwanym w wersji 8.04 i wyższej. Mówiąc o cyberciti.biz/tips/…
Karlson

Według mojej wiedzy może nie być nawet potrzebna tablica partycji, aby umieścić system plików na dysku twardym. Ponadto według OP nie jest to dysk rozruchowy, ale duża przestrzeń zrzutu.
Karlson

3

W przypadku tabeli partycji, jak wspomniano w innym miejscu, GPT jest doskonałą opcją, ponieważ obsługuje partycje o rozmiarze do 9,4 ZiB (9,4 × 10 21 bajtów), co znacznie przewyższa wszystko, czego potrzebujesz z 22 TiB.

W systemie plików BTRFS w systemie Linux jest doskonałym systemem plików do kopiowania i zapisywania:

  1. Jego atrybut kopiowania przy zapisie oznacza, że ​​żaden duplikat pliku nie jest przechowywany dwukrotnie.
  2. Posiada funkcję kompresji w locie, dzięki czemu dane są przesyłane przez LZO lub GZip, zanim zostaną zapisane i odczytane z dysku, oszczędzając miejsce na dysku.
  3. Obsługuje nadmiarowość w konfiguracjach RAID-1, RAID-10, RAID-5 i RAID-6 bez żadnych kosztów ogólnych.
  4. Obsługuje także RAID-0, jeśli szybkość ma zasadnicze znaczenie.
  5. Zawiera także podwoluminy, migawki i wiele innych.
  6. Prawie wszystkie zadania systemu plików są wykonywane online , więc zwykle nie trzeba nigdy odmontowywać systemu plików w celu naprawy.

Jest podobny do ZFS pod względem funkcji, ale jest częścią głównego jądra Linuksa.


BTRFS FAQ ostrzega przed użyciem funkcji parzystości RAID, z wyjątkiem celów testowych i programistycznych. Znane są błędy, które mogą zjadać twój system plików. Więcej informacji pod linkiem.
Warren Young,

1

Jeśli nie szukasz redundancji lub możliwości jej wykonania, prawdopodobnie możesz:

mkfs -t ext4 /dev/sdb

4
Próbowałeś tego? Zmieniłem, mkfsaby określić system plików
Karlson

1
@AaronJAnderson wyjaśnienie pomogłoby.
n0pe

To polecenie nie będzie działać, jeśli urządzenie ma ponad 2 TB
LVLAaron

1
@AaronJAnderson Stworzyłem objętość 3.5TB użyciu reiserfsi ext3tak, jeśli ext4twierdzi, że maksymalny rozmiar objętości 16 eksabajtów Nie widzę żadnego powodu, że 22TB nie zadziała.
Karlson

1
wersja e2fsutils, która jest dostarczana z tą wersją systemu Linux (i większość innych obecnie nie obsługuje ponad 16 TB)
LVLAaron,
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.