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?
Odpowiedzi:
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.
źródło
Zawsze tworzę te partycje, a od zeszłego roku zawsze na LVM:
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:
Powodem jest to, że nie zawsze możliwe jest uruchomienie z partycji RAID lub LVM. W ten sposób
/boot
moż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.
źródło
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:
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.
Podziel dysk na partycje w następujący sposób:
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.
Zbuduj zestaw SW RAID 1
/dev/md0
, z/dev/sda1
i/dev/sdb1
; buduj dodatkowe zestawy SW RAID 1/dev/md1
i/dev/md2
z odpowiednich paracji.Sformatuj
/dev/md0
jako ext3; to będzie/boot
.Sformatuj
/dev/md1
i/dev/md2
jako woluminy fizyczne LVM.Utwórz grupę woluminów LVM
vg_system
, która zawiera/dev/md1
.Utwórz odpowiednie woluminy LVM wewnątrz
vg_system
dla różnych partycji systemu operacyjnego; co najmniej, będziemy chcieliswap
,/var
pary GB oraz/
z 10GB lub więcej. UWAGA : nie przydzielaj wszystkichvg_system
! Gdy później zdecydujesz, że chcesz zwiększyć rozmiar\var
lub chcesz dodać/opt
lub coś, to będziesz potrzebować tej dodatkowej przestrzeni.Utwórz grupę woluminów LVM
vg_data
, która zawiera/dev/md2
.Utwórz woluminy LVM w środku
vg_data
według potrzeb; przynajmniej będziesz potrzebować znacznych rozmiarów/home
i 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 zvg_data
powodó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żypvmove
do 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ściszvg_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ć.
źródło
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ć)
Dla mojej ostatniej aktualizacji wykonałem instalację od zera, usuwając moją
/
partycję. To mnie myśleć oddzielna/opt
lub/usr/local
partycji 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).źródło
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.
źródło
W przypadku większości maszyn tak robię
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.
źródło
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:
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!
źródło
Grupa woluminów - rootvg
Grupa woluminów - datavg
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.
źródło