Ile i jakie partycje powinienem utworzyć dla serwera Linux?

15

Partycje są bardzo ważne na serwerze Linux, ponieważ zapewniają dużą elastyczność, na przykład przy aktualizacji na większy dysk twardy.

Ale ile partycji powinienem utworzyć podczas budowania Linux-a? Jaki rozmiar powinienem ustawić dla każdej partycji?

Wreszcie, które partycje powinienem mieć na osobnym dysku (myślę o / home, / var na być może szybszym dysku itp.) I które partycje mogę udostępniać na tym samym dysku?

paulgreg
źródło
1
Ile masz dysków? czy przewidujesz, że liczba ta zmienia się w czasie? Czy jest to pudełko jednofunkcyjne czy uniwersalne? Pojedynczy użytkownik czy wielu? Wszystkie te rzeczy mają znaczenie.
pjz
Pytanie dotyczy bardziej ogólnego przeznaczenia, ale nadal dotyczy serwerów.
paulgreg

Odpowiedzi:

17

Planowanie dobrej struktury partycjonowania zależy w dużej mierze od faktycznej wiedzy o tym, jak będziesz korzystać z „serwera”. Wszelkie losowe porady, które nie wykorzystują faktycznych usług, które będą świadczone, nie będą szczególnie przydatne.

Na przykład, jeśli jest to okno oparte na Debianie, które będzie używane dla mysql, możesz chcieć osobnych partycji dla /, / var i / var / lib / mysql.

Czy będzie to serwer plików z dużą ilością pamięci współdzielonej? Możesz chcieć partycje /, / home i / srv.

W przypadku pudełka z tylko kalmarem, możesz chcieć na partycji dla / i jednej partycji na dysku twardym dla bufora kalmarów.

Podczas planowania partycji bardzo pomocne jest dobre zrozumienie standardu hierarchii systemu plików i to, czy wybrana dystrybucja odbiega od standardu.

Korzystanie z LVM może znacznie zmienić zdanie w przyszłości i dostosować partycje bez konieczności ponownego uruchamiania, a jego zdolność do tworzenia migawek może być bardzo łatwa do tworzenia dobrych kopii zapasowych.

Zoredache
źródło
1
Najlepsza jak dotąd odpowiedź.
Wstrzymano do odwołania.
Świetna odpowiedź. Zarówno zalecenie, że struktura zależy od zamierzonego zastosowania, i że LVM jest dobrą drogą.
RickMeasham
Zobacz więcej informacji o wartości partycjonowania tutaj. serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache
I nie był nawet świadomy, że nie był system plików Hierarchy Standard. Dzięki, że o tym wspomniałeś.
Joe Internet
8

Zawsze tworzę te partycje, a od zeszłego roku zawsze na LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

Jedną z najważniejszych jest /var- jeśli jest to osobna partycja, to kiedy się zapełni, nie spowoduje awarii partycji root. Chociaż nigdy tego nie robiłem, niektórzy tworzą osobne /usr, aby mogli zamontować go tylko do odczytu.

i czasami tworzę te partycje:

/boot   - even 1 Gig is way more than enough

Powodem jest to, że nie zawsze możliwe jest uruchomienie z partycji RAID lub LVM. W ten sposób /bootmoże być prostą partycją ext3, co pozwala /być bardziej zaawansowanym.

Jeśli będę mieć dużą liczbę dużych plików, czasami utworzę specjalną partycję dla tych dużych plików, aby system plików można było dostosować, aby był wydajny w przechowywaniu dużych plików. Niektóre osoby, jeśli będą obsługiwały NFS z serwera, utworzą oddzielną partycję dla swoich udziałów NFS lub nawet osobną partycję dla każdego udziału NFS. To zależy od twoich potrzeb.

Dlaczego LVM? Jak wspomniałem w odpowiedziach gdzie indziej, ale zapomniałem tu wspomnieć, znacznie łatwiej jest później zmienić zdanie i rozszerzyć partycję. To już uratowało mi tyłek.

To są ogólne wytyczne. Oczywiście oczekuję, że jeśli twój serwer ma specjalne potrzeby, weźmiesz to pod uwagę i sprawisz, że partycja odzwierciedla te potrzeby.

Eddie
źródło
7

Zakładając, że budujesz maszynę, która będzie trwać przez jakiś czas, niewygodna byłaby jej przebudowa i musi być dość elastyczna, może ci się podobać schemat podobny do następującego:

  1. Zainstaluj co najmniej dwa dyski fizyczne tego samego rozmiaru; na potrzeby tego przykładu przyjmuję dyski SATA 500 GB, ale zasady działają dobrze w przypadku innych rozmiarów dysków.

  2. Podziel dysk na partycje w następujący sposób:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    Celem jest posiadanie głupiej partycji 500 MB z przodu, sporej partycji pośrodku dla systemu operacyjnego i aplikacji oraz dużej części dysku z tyłu na dodatkowe dane.

  3. Zbuduj zestaw SW RAID 1 /dev/md0, z /dev/sda1i /dev/sdb1; buduj dodatkowe zestawy SW RAID 1 /dev/md1i /dev/md2z odpowiednich paracji.

  4. Sformatuj /dev/md0jako ext3; to będzie /boot.

  5. Sformatuj /dev/md1i /dev/md2jako woluminy fizyczne LVM.

  6. Utwórz grupę woluminów LVM vg_system, która zawiera /dev/md1.

  7. Utwórz odpowiednie woluminy LVM wewnątrz vg_systemdla różnych partycji systemu operacyjnego; co najmniej, będziemy chcieli swap, /varpary GB oraz /z 10GB lub więcej. UWAGA : nie przydzielaj wszystkich vg_system! Gdy później zdecydujesz, że chcesz zwiększyć rozmiar \varlub chcesz dodać /optlub coś, to będziesz potrzebować tej dodatkowej przestrzeni.

  8. Utwórz grupę woluminów LVM vg_data, która zawiera /dev/md2.

  9. Utwórz woluminy LVM w środku vg_datawedług potrzeb; przynajmniej będziesz potrzebować znacznych rozmiarów /homei możesz potrzebować dodatkowych woluminów, powiedzmy, dla buforów poczty, baz danych, katalogów głównych lub innych danych, które nie są częścią systemu operacyjnego. Ponownie nie przydzielaj wszystkich z vg_datapowodów podobnych do wymienionych powyżej.

Zalety tej strategii obejmują:

  • Jest odporny na awarie sprzętu; oba dyski mogą ulec awarii bez powodowania awarii systemu, a jeśli zainwestujesz w kontroler wymiany, możesz odzyskać bez przestoju.

  • Jest przyszłościowy i można go rozbudowywać; kupując dyski 2 TB kilka lat później, możesz wbić je w maszynę, przekształcić w inny zestaw SW RAID, sformatować jako fizyczny wolumin LVM, dodać do dowolnej grupy woluminów (prawdopodobnie lv_data), a następnie służy pvmovedo migrowania danych ze starych dysków na nowe. Ponadto główne aktualizacje systemu operacyjnego mogą być znacznie mniej bolesne; jeśli musisz ponownie zainstalować system operacyjny w celu przeprowadzenia ważnej aktualizacji (ahem Red Hat :(), możesz to zrobić, zachowując katalogi domowe (i bufory poczty oraz wszystko inne, co umieścisz vg_data).

Wady tej strategii są nieliczne; Podejrzewam, że jest to trochę skomplikowane, a ty decydujesz się na wydajność zapisu z powodu RAID 1. Jednak od kilku lat buduję stacje robocze i niezależne serwery zgodnie z tymi zasadami i z mojego doświadczenia wynika, że ​​za każdym razem nie zbuduj maszyny zgodnie z tymi wytycznymi, wkrótce chciałbym mieć.

-veve

PS Powinienem dodać, że jeśli dysponujesz infrastrukturą umożliwiającą szybkie i bezbolesne zaopatrzenie nowej maszyny, to taki system jest nadmierny; zamiast majstrować przy zestawach RAID i LVM, po prostu przebuduj maszynę, jeśli chcesz coś zmienić.

hakamadare
źródło
2

Przez lata każdy komputer, z którego korzystałem, był systemem podwójnego rozruchu, a po stronie Linuksa prawie utknąłem z tym schematem (mówię tutaj o osobistych stacjach roboczych, żadnych rzeczy na serwerze, więc przebieg może się różnić)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

Dla mojej ostatniej aktualizacji wykonałem instalację od zera, usuwając moją /partycję. To mnie myśleć oddzielna /optlub /usr/localpartycji byłby miły, oszczędzając mi kłopotów z ponownym zainstalowaniu wszystkich rzeczy mogę umieścić tam (Java, Eclipse ... Ja zwykle nie dbać o tych pakietach distro).

agnul
źródło
2

Oprócz partycji wymienionych przez Eddiego zwykle tworzę jeszcze dwie osobne partycje

/ tmp - z tych samych powodów, dla których utworzyłeś osobną partycję / var (wcześniej miałem pełne miejsce w pamięci tymczasowej). Zwykle korzystam z 1-2 GB

/ usr / local - Umożliwia aktualizację i czyszczenie / usr w razie potrzeby, bez konieczności usuwania wszystkich oddzielnie instalowanych programów. Rozmiar zależy od tego, ile zainstalujesz zewnętrznego oprogramowania. Zwykle korzystam z około 10 GB, ale obecnie uważam, że jest to trochę za małe.

Zawsze ustawiam / home jako ostatni i zapełniam nim resztę dysku.

Na partycji / boot nigdy nie zwiększyłem jej rozmiaru do 100 Mb i nigdy nie napotykałem problemów z przestrzenią (w końcu usuwam stare jądra). To naprawdę może być bardzo małe.

Nie zapomnij również o partycji wymiany.

dagorym
źródło
1

W przypadku większości maszyn tak robię

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

W niektórych przypadkach trzeba to zmienić, ale jestem dość nieugięty, aby użytkownicy nie dostali więcej niż 1 GB miejsca na serwerze. Jeśli będą potrzebować więcej, mogą użyć / tmp, przy założeniu, że będą usuwane przez crona co noc.

Glen Solsberry
źródło
1

Zakładając, że nie używasz tam sprzętowej macierzy RAID - pod Linuksem zawsze używałbym LVM na macierzy RAID. Nawet w przypadku konfiguracji z jednym dyskiem. Powodem jest to, że masz opcję dodania większej ilości miejsca do przechowywania (poprzez rozszerzenie grupy LVM) lub zmiany opcji redundancji (np. Przekształcenie „dziwnej” konfiguracji RAID1 z jednym dyskiem w kopię lustrzaną lub nawet RAID10 z pewnym ciężkim podnoszeniem).

Aby odpowiedzieć na twoje pytanie, zwykle mam coś podobnego do zwykłego serwera. Począwszy od 2 dysków (powiedzmy 1RU Dell), oba podzielone na partycje jako:

  • ~ 100 MB RAID1 dla / boot
  • LVM na RAID1 dla reszty dysku

Następnie tworzymy cały wolumin jako woluminy LVM: * / * / var * / tmp * / home * / opt

Unikałbym tworzenia zbyt wielu systemów plików, ponieważ zarządzanie nimi jest uciążliwe. Jeśli zabraknie Ci miejsca na dysku, będziesz mieć wolne miejsce w wielu systemach plików, ale za mało, aby nad tym pracować.

/ home i / tmp na osobnym systemie plików to zawsze dobry pomysł; generalnie nie rozdzielam / nie wybieram, chyba że planuję włożyć w to wiele rzeczy. (NFS może być lepszą opcją dla / opt, jeśli masz wiele serwerów, które wymagają tego samego stosu oprogramowania)

Krótko mówiąc, używaj LVM do wszystkiego, chyba że masz powód, aby tego nie robić - w ten sposób masz możliwość zmiany.

Ponadto użyj serwera dziennika, aby dzienniki nie wypełniały Twojego / var!

Lester Cheung
źródło
0
  • / boot - 128 MB

Grupa woluminów - rootvg

  • / var - 5 GB (zależy od tego, czy jest używany jako serwer pocztowy. Możesz również zmienić rozmiar, aby przechwycić podstawowe pliki)
  • / tmp - 2 GB
  • / opt - 10 GB (używane w przypadku oprogramowania, które nie jest dostarczane z dystrybucją)
  • / - 6 GB - minimum

Grupa woluminów - datavg

  • / home - reszta

Możesz utworzyć osobne / usr dla swojego oprogramowania, ale w moim przypadku pudełko zostanie ponownie zainstalowane, więc nie ma potrzeby uzyskiwania własnej partycji.

setatakahashi
źródło