Czy dzięki wirtualizacji nadal ma sens używanie wielu punktów montowania?

15

Czy w 2013 r. Ma sens utrzymywanie wielu punktów montowania na nowym obrazie Linuksa, czy też przydzielanie całej przestrzeni do / ma większy sens?

Wolałbym unikać ponownego uruchamiania wymaganego do zwiększenia rozmiaru punktu montowania. Wolałbym również monitorować przestrzeń jednego wierzchowca. Wolę wiedzieć, że cały serwer zajmuje ponad 70% miejsca na dysku w porównaniu do pojedynczych punktów montowania.

Jeremy Mullin
źródło
Dlaczego musisz zrestartować komputer, aby zwiększyć rozmiar punktu montowania? Myślę, że wszystkie popularne systemy plików obsługujące online rozwijają się w tym momencie.
derobert

Odpowiedzi:

17

Pewnie, że nadal jest przydatny. Nie chcesz, aby niekontrolowany proces wypełnił dziennik i spowodował / przejście na pełny dysk. Ponadto, jeśli używasz czegoś takiego jak LVM, możesz rozszerzyć wolumeny online.

W przypadku wielu maszyn wirtualnych i tak będziesz chciał rozdzielić operacje we / wy. Prawdopodobnie będziesz chciał mieć swoje bazy danych na osobnych wrzecionach, a jedynym sposobem na osiągnięcie tego jest posiadanie osobnego punktu montowania dla lokalizacji bazy danych. Poza bazami danych zapewnia to bardziej szczegółową elastyczność, jeśli przerośniesz swój pierwotny projekt.

Krótko mówiąc, tak, nadal istnieją dobre powody, aby zrobić to w 2013 r.

MDMarra
źródło
Czy maszyna nadal nie zawiesza się, nawet jeśli / var (lub / tmp) i tak się zapełni?
onionjake,
2
@onionjake Nie, niekoniecznie. Ale rozbiją się, jeśli się /zapełni.
ewwhite
Dzięki za notatkę o tym, jak logi wymknęły się spod kontroli. Te konkretne maszyny wirtualne używają SAN, więc uważam, że IO jest już rozproszone i nie jest dla mnie problemem w tej konkretnej sytuacji.
Jeremy Mullin,
Ponadto, jeśli chcesz, aby jedna maszyna wirtualna obejmowała wiele pul VMFS w ESXi, będziesz musiał użyć wielu dysków wirtualnych (które są wyświetlane jako dyski fizyczne dla maszyny wirtualnej). Nadal możesz połączyć je w jeden punkt montowania z LVM, jeśli naprawdę tego chcesz, ale moim zdaniem jest to zła praktyka.
Paul Gear
5

W dzisiejszych czasach nie używałbym zbyt wielu osobnych montowań, ale prawdopodobnie kilka kluczowych byłoby pomocnych w administrowaniu systemem.

Tylko 2 lub 3, szczególnie. z jednym, który różni się rozmiarem. To zależy od tego, czego używasz. Powiedziałbym tylko / (względnie stabilny) i / var (zmieniający się). W zależności od systemu operacyjnego i geometrii dysku może być również potrzebny / boot. / tmp jest prawdopodobnie montażem tmpfs skonfigurowanym przez instalatora.

Zmienne (głównie / var, ale mogą to być po prostu / var / log i / var / lib / mysql itp.) Zazwyczaj musisz się martwić i zaplanować rozszerzenie. Jeśli to możliwe, użyj lvm itp., Aby ułatwić zmianę rozmiaru.

johnshen64
źródło
1
Ja osobiście używam LVM, a bootowanie musi odbywać się na własnej partycji, a nie w grupie woluminów, którą uważam (jeśli używasz starszej wersji gruba).
4

Tak, nadal używam wielu partycji na maszynach wirtualnych i punktach montowania dla potrzeb monitorowania, bezpieczeństwa i konserwacji.

Nie jestem fanem pojedynczych lub ograniczonych maszyn wirtualnych mountpoint (chyba, że ​​są to maszyny wyrzucane). Traktuję maszyny wirtualne tak samo, jak traktuję serwery fizyczne. Wyrównanie partycji z niektórymi standardami Linux File System Hierarchy Standard nadal ma sens pod względem logicznego oddzielenia plików wykonywalnych, partycji danych, temp i przechowywania dzienników. Ułatwia to także naprawę systemu. Jest to szczególnie prawdziwe w przypadku maszyn wirtualnych i serwerów pochodzących z szablonu.

(BTW, nie lubię LVM na maszynach wirtualnych ... Planuj lepiej !! )

W moich systemach próbuję wykonać następujące czynności:

  • / jest zwykle mały i nie rośnie zbytnio.
  • /boot ma przewidywalny rozmiar, a wzrost jest kontrolowany przez częstotliwość aktualizacji jądra.
  • /tmpjest zależny od aplikacji i środowiska, ale można go odpowiednio dopasować. Monitorowanie go osobno pomaga w zachowaniu nieprawidłowego licznika i chroni resztę systemu.
  • /usr Powinny być przewidywalne, zawierające pliki wykonywalne itp.
  • /varrośnie, ale ilość rezygnacji z danych może być mniejsza. Miło móc osobno go zmierzyć.
  • I podział wzrostu. W tym przypadku jest to /data, ale jeśli to był system bazy danych, może to być /var/lib/mysqlalbo /var/lib/pgsql... Zauważ, że jest to inna urządzenie blokowe, /dev/sdb. Jest to po prostu kolejny VMDK na tej maszynie wirtualnej, więc można go zmienić niezależnie od VMDK zawierającego prawdziwe partycje systemu operacyjnego.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

Oddzielenie niektórych z tych partycji znacznie ułatwia identyfikację trendów i wykrywanie anomalnych zachowań; np. zrzuty 4 GB rdzenia /var, proces, który się wyczerpuje /tmp,

Normalna wprowadź opis zdjęcia tutaj

Nieprawidłowy. Nagły wzrost /varnie byłby łatwy do wykrycia, gdyby /użyto jednej dużej partycji. wprowadź opis zdjęcia tutaj


Ostatnio musiałem zastosować koktajl parametrów i atrybutów montowania systemu plików (nodev, nosuid, noexec, noatime, nobarrier) dla szablonu VM o podwyższonym poziomie bezpieczeństwa. Partycjonowanie było bezwzględnie wymagane, ponieważ niektóre partycje wymagały określonych ustawień, których nie można zastosować globalnie. Kolejny punkt danych.

ewwhite
źródło
2

Upewnij się, że wiele punktów instalacji nadal ma swoje zalety, zwirtualizowany serwer, czy nie.

Ale dzięki wirtualizacji prawdopodobnie używasz również szablonów maszyn wirtualnych, prawda? A twój system monitorowania, taki jak Nagios (z NConf?) Obsługuje również szablony? Jeśli tak, to musisz przejść przez tę mentalną walkę o punkt zaczepienia tylko raz.

Powrót do tematu

Kiedyś podzielić moje systemy w ten sposób: /, /home, /usr, /var, /tmp(i ewentualnie jakiś inny punkt montowania dla danych), ale to była przesada i uciążliwe. W dzisiejszych czasach prosty sposób na posiadanie tylko jednego systemu operacyjnego /, może z osobnym, /varjest dla mnie sposobem; wtedy jeśli serwer wirtualny potrzebuje więcej miejsca na dane, to daję mu jeszcze jeden obraz dysku i montuję go w razie potrzeby.

Janne Pikkarainen
źródło
Jak rozpoznajesz problemy, powiedzmy /optlub /tmpw konfiguracji z jedną partycją?
ewwhite
Jeśli serwer zacznie szybko pochłaniać miejsce na dysku, coś w tym rodzaju du -m --max-depth=4 / | sort -nr | head -n 30 | lessjest zaskakująco skuteczne. I w kontrolowanym. monitorowane środowisko, ile potencjalnych miejsc masz dla tego rodzaju rzeczy? /var/log, /tmp, /opt/*/log, A może coś innego? Nie za mocno.
Janne Pikkarainen,
1

W przypadku serwerów plików również wolę montować /homewolumin na własnej partycji / dysku i korzystać z tej noexecopcji podczas montowania. Paranoja, ale uniemożliwia użytkownikom wykonywanie plików z ich folderów domowych.

Poza tym wolę umieszczać /bootwolumin w lustrze RAID 1 na wszystkich dyskach, ale znowu, zgodnie ze starą praktyką, nie widzę jeszcze minusów

Kanadyjczyk Luke
źródło
1
Pytanie dotyczyło serwerów wirtualnych, więc bit about / boot na RAID 1 nie ma zastosowania. Ale to zdecydowanie dobry pomysł na fizycznych serwerach.
Paul Gear