Jakie są zalety i wady montażu różnych katalogów na osobnych partycjach?

41

Podczas instalowania Ubuntu z opcją „coś innego” odkryłem, że istnieje wiele folderów, które można zamontować na osobnych partycjach, jak widać na poniższym obrazku.

wiele folderów można zamontować na osobnych partycjach

Jakie są zalety i wady montowania tych folderów (lub katalogów) na osobnych partycjach?

W szczególności są to katalogi

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
zarejestrowany użytkownik
źródło
możliwy duplikat Jak zrozumieć układ systemu plików Ubuntu?
Charles Green
6
@CharlesGreen To pytanie opisuje użycie tych katalogów. Interesuje mnie znajomość zalet i wad montażu ich na oddzielnych partycjach. Więc te pytania nie są takie same.
Zarejestrowany użytkownik

Odpowiedzi:

54

Dawno dawno temu...

... Był czas, kiedy ludzie instalowali Linuksa i konfigurowali go ręcznie dla swoich specyficznych potrzeb. Niektóre z nich są prawdziwe nawet dzisiaj dla serwerów. Wybory, które widzisz, gpartedsą jednymi z popularnych dla tych, którzy mieli bardzo różne potrzeby w porównaniu ze zwykłymi użytkownikami komputerów stacjonarnych, docelowymi odbiorcami komputerów Ubuntu.

Weźmy je pojedynczo. Pominę te, o których niewiele wiem.

  1. /bootbył czas, kiedy system plików Linux był kruchy, a dyski twarde małe. Ludzie bali się, że dysk twardy zapełni się lub ulegnie uszkodzeniu, a Ubuntu nie uruchomi się. Trzymanie jądra na osobnej partycji pomogło systemowi uruchomić się, gdy inne rzeczy poszły nie tak. W tamtych czasach użytkownicy Linuksa kompilowali własne jądro i usuwali stare. Nie dalej jak w Ubuntu 16.04 LTS The Software Updater aplikację zainstalowaną najnowszą aktualizację jądra, ale nie usunąć stare jądra. W rezultacie mała /bootpartycja zapełniła się starymi jądrami i system przestał się uruchamiać, chyba że okresowo go czyszczono. Zobacz, co się stanie, jeśli będziesz mieć osobną /bootpartycję i zapomnisz regularnie ją czyścić: Jak zwolnić więcej miejsca w / boot? Ubuntu 18.04 LTS z Software Updater Aplikacja nie tylko utrzymuje system up-to-date, ale także usuwa stare jądra.
  2. Z drugiej strony, jeśli chcesz zaszyfrować /partycję (aby zabezpieczyć tajne oprogramowanie, nad którym pracujesz), potrzebujesz osobnej (i nieszyfrowanej) /bootpartycji. W przeciwnym razie system nie uruchomi się. Podobnie, jeśli masz dysk RAID, /bootprzydatne może być przechowywanie go na partycji innej niż RAID. Wiele osób uważa, że ​​posiadanie oddzielnej /bootpartycji to bardzo dobry pomysł z tych i innych powodów.
  3. /homeTrzymanie domu na osobnej partycji nadal ma sens. Ten folder / partycja zawiera twoje osobiste pliki, a umieszczenie go na osobnej partycji pozwala sformatować /i ponownie zainstalować Ubuntu, zachowując pliki nietknięte. Najnowsze wersje oprogramowania instalacyjnego Ubuntu obejmują wybór aktualizacji z DVD / USB. Ta opcja pozostaje /homenienaruszona, nawet jeśli nie znajduje się na osobnej partycji. Jeśli zabraknie miejsca na dysku podstawowym z /partycją. Możesz dodać nowy dysk i utworzyć pojedynczą /homepartycję na nowym dysku.
  4. /tmpgdzie idą pliki tymczasowe. Jeśli korzystasz z serwera, który tworzy duże pliki tymczasowe, mogą one zapełnić całe miejsce na dysku i zatrzymać serwer. Przechowywanie go na osobnej partycji spowoduje tylko zapełnienie tej partycji i może zatrzymać proces tworzenia dużych plików tymczasowych, ale nie zatrzyma reszty systemu. Powiedziano mi, że łatwiej jest poradzić sobie z zapełnioną /tmppartycją niż folderem tymczasowym w /partycji.
  5. /usr/, /opt/i /usr/localto wszystkie miejsca, w których programy i aplikacje są przechowywane w różnych warunkach. Jeśli tworzysz oprogramowanie dla systemu Linux, sensowne może być przechowywanie ich na osobnych partycjach, aby podczas ponownej instalacji Ubuntu nie usuwałeś programów, które napisałeś lub pracowałeś.
  6. Przechowywanie /opt/i /usr/localoddzielna partycja ma również sens, jeśli instalujesz programy ze źródła (własnego lub skądinąd) i chcesz używać ich w innej dystrybucji (np. Red Hat) zainstalowanej na tym samym komputerze na własnej partycji. Następnie zarówno dystrybucje, Ubuntu, jak i Red Hat mogą współdzielić /opti /usr/localpartycje. (Dzięki Rmano!)
  7. /srvi /varsą szczególnie przydatne jako osobne partycje, jeśli prowadzisz serwery lub tworzysz strony internetowe. Dla przeciętnego użytkownika pulpitu te foldery nie zajmują dużo miejsca i nie zawierają niczego, co jest dla niego wartościowe. Dla programisty utrata pracy /var/wwwmoże oznaczać utratę pracy.

Oczywiście nie są to jedyne katalogi, które można montować jako partycje. W systemie Linux partycję można zamontować jako dowolny folder w dowolnym miejscu. Partycje są często montowane jako podkatalogi /mnt/i /media.

Mam nadzieję że to pomoże

użytkownik68186
źródło
+1, fajna odpowiedź. Możesz również zobaczyć moje zdanie w askubuntu.com/a/379212/16395 i askubuntu.com/a/379019/16395
Rmano
1
Dzięki @Rmano Widziałem już wcześniej twoją szczegółową odpowiedź. Pożyczę od twojej drugiej odpowiedzi i edytuję moją.
user68186,
2
Jest w porządku (chociaż robię to, aby przetrwać pełną ponowną instalację --- nowsi instalatorzy są w stanie zapisać, /homeale nie /usr/local. BTW, „zainstaluj ręcznie i na miarę” to lemat Arch Linux ... więc nadal są (dużo ) osób, które to robią
Rmano
2
Historyczny powód posiadania / boot jako oddzielnej partycji wynika z dni, w których dysk twardy był większy niż BIOS mógł znieść, więc jeśli jądro znajdowało się w niedostępnej części dysku, nie można go załadować. Umieszczając partycję / boot na pierwszym miejscu na dysku, zapewniono, że BIOS zawsze będzie miał dostęp do jądra, aby Linux mógł się uruchomić.
Thorbjørn Ravn Andersen
1
Zauważ też, że dyski można dodać, aby uzyskać więcej miejsca, ale w Uniksie potrzebujesz miejsca, aby je zamontować zamiast przypisywać literę dysku. Na przykład, jeśli dysk był pełny, nowy dysk został zakupiony do przechowywania / home, a bieżąca zawartość została tam przeniesiona.
Thorbjørn Ravn Andersen
15

Ogólne zalety posiadania wielu partycji:

  1. Możesz używać różnych dysków / jednostek LUN i mieć lepszą wydajność. Może to zwiększyć wydajność baz danych, ponieważ dziennik transakcji może znajdować się w magazynie, a pliki danych w innym. Podobnie jest w przypadku aplikacji internetowych intensywnie korzystających z dysków i we / wy.
  2. Możesz użyć różnych opcji montowania (które zwiększają bezpieczeństwo lub wpływają na wydajność lub stabilność w bardziej szczegółowy sposób)
  3. Możesz mieć różne systemy plików
  4. Przestrzenią zarządzasz osobno. Możesz mieć nieprzyjemną aplikację, która wypełnia przestrzeń, która nie wpływa na inne aplikacje.
  5. Fragmentacja jednej partycji jest niezależna od drugiej.
  6. Możesz wykonywać migawki, montować, montować, formatować, defragmentować, monitorować wydajność tych systemów plików niezależnie.
  7. Możesz mieć szyfrowanie na określonych woluminach.
  8. Możesz montować woluminy na żądanie.

Ogólne wady posiadania wielu partycji:

  1. Zwiększa to koszty administracyjne.
  2. Będziesz miał większe szanse na marnowanie większej ilości miejsca na dysku.
  3. Będziesz miał więcej incydentów związanych z zapełnieniem dysku.
  4. Trudniej jest stworzyć spójną migawkę aplikacji działającej na różnych woluminach.
  5. Zużywa nieco więcej zasobów.
  6. W zależności od typu woluminu (etykieta MS-DOS, LVM, btrfs ...) możesz nie być w stanie łatwo przydzielić miejsca z woluminu, zmniejszając inny. Zwłaszcza online.

Innym sposobem partycjonowania systemu jest użycie LVM, btrfs lub zfs dla /. Przydziel tylko minimalną ilość miejsca na /, a jeśli to konieczne, utwórz woluminy logiczne lub rozszerz /. To pozostawia wybór do podzielenia na ilości w późniejszym czasie i ma niższe koszty utrzymania.

Teraz konkretne rzeczy:

  • / boot dobrze jest być oddzielną partycją. System plików musi być obsługiwany przez program ładujący (zwykle GRUB).
  • Jeśli używasz EFI / UEFI, wymagana jest partycja systemowa EFI.
  • / home dobrze jest oddzielić rzeczy użytkownika od systemu operacyjnego i aplikacji.
  • / tmp można zamontować za pomocą noexec, nodev, nosuid. Może to być fs odwzorowany w pamięci, taki jak tmpfs.
  • / usr można zamontować tylko do odczytu i ponownie zamontować rw dla aktualizacji, może być zdalny jak udział NFS.
  • / srv / opt zapisze aplikację i dane aplikacji. Jeśli masz aplikację intensywnie korzystającą z operacji we / wy, możesz użyć lepszego podsystemu dyskowego (np. SSD)
  • / usr / local jest domyślnie używany przez aplikacje zainstalowane lokalnie na bieżącym komputerze. Na przykład masz wszystko inne w NFS i masz dysk lokalny ...

Nie ma idealnego rozwiązania. Jeśli nie masz jasnego powodu, aby utworzyć nową partycję, nie rób tego. Jedyną partycją, którą trzeba utworzyć oprócz / is / boot.

Dla komputerów stacjonarnych / laptopów miło jest mieć / home, aby można było ponownie zainstalować system operacyjny niezależnie od danych.

Mircea Vutcovici
źródło
Zapraszamy. Nie zgadzam się, że dobrym pomysłem jest posiadanie osobnej /bootpartycji dla przeciętnego użytkownika pulpitu. Stare jądra nie są automatycznie czyszczone, a nowe są dodawane. To się dzieje!
user68186,
1
Jeśli się zapełni, użytkownik nie będzie mógł zainstalować nowych jąder, a aktualizacje się nie powiodą. Ale system będzie działał.
Mircea Vutcovici
1
Z drugiej strony, jeśli używasz systemu plików nieobsługiwanego przez GRUB lub szyfrujesz partycję /, musisz użyć partycji / boot.
Mircea Vutcovici
Uzgodniono w obu punktach.
user68186,
1
Zedytowałem odpowiedź, aby usunąć obowiązkowe wymagania dotyczące partycji / boot.
Mircea Vutcovici
2

Na komputer?

Bez różnicy.

Na serwer?

Zarządzanie przestrzenią i tworzenie kopii zapasowych.

Jeśli twój system ma wielu użytkowników, możesz utworzyć dodatkową partycję dla / home /, wtedy użytkownicy nie przekroczą tej przestrzeni i root (/) nie zostanie zmieniony.

Możesz także zamontować NFS, SMB lub partycję na innych dyskach fizycznych w tych folderach. Na przykład :

/ dev / sda1 / boot (1GB)

/ dev / sda2 / (60GB)

nfs: // IP / folder / home (X TB)

/ dev / sdb1 / var (1 TB dla / var / www lub / var / ftp)

Do laptopa

/ on m-sata (szybki)

/ var / home / opt / tmp on hdd (slow)

przemo
źródło
1
Czy możesz rozwinąć swój ostatni punkt? Kolejny post odradzał posiadanie tych partycji na osobnym dysku ze względu na utworzenie dodatkowego punktu awarii: teraz, jeśli którykolwiek z dysków ulegnie awarii, pozostaniesz bez działającego systemu. Nie wspominając o tym, że spowolniłoby to czas uruchamiania, ponieważ teraz / czeka na zamontowanie partycji dysku twardego.
Khashir
2

Odpowiedź przemo, imo, najbardziej uderza w kwestie praktyczne. Oto kilka dodatkowych praktycznych uwag:

Środowiska korporacyjne zwykle używają oddzielnych partycji na wynajem, / home, / opt, / var, / boot i dodatkowych systemów plików (1 na aplikację lub zespół aplikacji) w / opt. Ma to przede wszystkim na celu uniknięcie braku miejsca w systemie z powodu ogromnej ilości katalogu domowego (/ home), braku kontroli dzienników (/ var) lub aplikacji zajmujących mnóstwo miejsca (/ opt, / opt // itd.) i / boot, aby pozostałe partycje mogły zostać zbudowane w LVM, a także aby zapewnić sobie coś z powłoki odzyskiwania, gdyby z jakiegoś powodu została uszkodzona podstawowa partycja systemowa.

Dla własnych osobistych zastosowań innych niż serwer, po prostu przechowuję osobne partycje /, / boot i / home, aby móc podwójnie uruchomić wiele systemów operacyjnych Linux / UNIX i użyć dla nich tej samej partycji / home.

W przypadku budowania maszyny wirtualnej w Oracle Virtualbox, VMWare Player / Workstation / Fusion itp. Do użytku osobistego, naprawdę nie ma praktycznego powodu, aby mieć wiele partycji z różnymi punktami montowania ze względu na ładne możliwości współdzielenia folderów zapewniane przez przynajmniej VirtualBox oraz VMWare Player / Workstation / Fusion. Jedynym wyjątkiem może być / boot z powodu powłoki odzyskiwania podanej w moim akapicie dotyczącym „środowiska korporacyjnego”.

MGodby
źródło
2

Jeśli coś pójdzie naprawdę źle podczas aktualizacji lub aktualizacji głównej wersji, posiadanie / home na innej partycji pozwala na rozruch z CD, a następnie całkowite wyczyszczenie i ponowną instalację systemu operacyjnego bez utraty danych. Ponadto umożliwia to wielokrotny rozruch z różnymi dystrybucjami Linuksa, niektóre osoby lubią oceniać je obok siebie.

h22
źródło
Separate / home to jedno z moich mydelników, ale ostatnio zostałem spalony, kiedy zainstalowałem pyskaty na innej partycji tylko do testowania na oneirycznym notatniku i to pomieszało kilka plików konfiguracyjnych w moim współdzielonym / home, co sprawiło, że oneiric był bardzo niezadowolony, gdy Uruchomiłem się ponownie.
Joe
0

Oprócz istniejących odpowiedzi możesz mieć niestandardowe / wspólne przypadki użycia kompatybilności i wydajności, które korzystają z różnych partycji.

Możesz chcieć współdzielić dane z innym systemem operacyjnym, takim jak Windows, i musisz użyć systemu plików, który obsługuje zarówno Linux, jak i Linux.

Mogą istnieć specjalistyczne przypadki użycia, które pozwalają na różne strojenie (tego samego typu systemu plików, takie jak partycja EXT4 dla wielu małych plików i partycja EXT4 dla kilku dużych plików (takich jak maszyny wirtualne), możliwe jest zoptymalizuj pamięć i wydajność dla obu przypadków użycia.

NGRhodes
źródło