Nie jesteś zalogowany na forum.

#1 2015-08-28 04:04:53

Rethil
Użytkownik
Data rejestracji: 2015-08-20
Liczba postów: 30

[SOLVED] Tablica partycji

Podczas instalacji systemu zawsze najwięcej niepewności odczuwam podczas planowania rozkładu partycji. Jakiś czas temu postanowiłem przetestować btrfs i snapshoty z myślą o ewentualnej możliwości rollbacku partycji systemowej. Moje pytania są takie: jak powinny wyglądać subvolumeny dla partycji systemowej? Czy powinienem tworzyć osobne subvolumeny /var i /opt? Jakie inne subvolumeny powinienem stworzyć(przyznaje, że nie do końca rozumiem jak to w ogóle działa)?

Tematu nie nazwałem "btrfs i subvolumeny" ze względu na to, że chciałbym uzyskać ogólne opinie na temat rozkładu partycji jaki teraz posiadam, oraz wszelkie uwagi, gdyż zbliżająca się premiera innej dystrybucji będzie świetną okazją do reinstalacji obu systemów i przepartycjonowania dysku. Chciałbym tym razem mieć mniej wątpliwości niż zwykle. :)

Tutaj jest obecny rozkład (jest MBR, ale będzie GPT):

NAME                                   FSTYPE                                   MOUNTPOINT
sda                                                                        
├─sda1                                 ext4                                      /boot
└─sda2                                 crypto_LUKS
   └─crypt                             LVM2_member
     ├─system-swap                     swap                                      [SWAP]
     ├─system-root                     btrfs                                     /   /var   /.snapshots
     └─system-home                     xfs                                       /home

(ręcznie edytowany wynik lsblk)

Tutaj coś więcej o btrfs:

ID 257 gen 8 top level 5 path __active
ID 258 gen 38697 top level 257 path __active/rootvol
ID 259 gen 38866 top level 257 path __active/var
ID 260 gen 8079 top level 5 path __snapshots
ID 263 gen 159 top level 259 path __active/var/lib/machines

Tutaj ręcznie uproszczone:

NAME                                  LEVEL            MOUNTPOINT
system-root 
├─/__active                           5
│ ├─/__active/rootvol                 257              /
│ └─/__active/var                     257              /var
└─/__snapshots                        5                /.snapshots

Ostatnio edytowany przez Rethil (2015-09-05 16:47:10)


CPU: i7-2600k
GPU: GTX 560Ti
OS: OpenSUSE / Arch Linux
DE: KDE (Plasma 5)

Offline

#2 2015-08-28 07:24:15

barthalion
Developer
Lokalizacja: Poznań
Data rejestracji: 2015-08-20
Liczba postów: 219
WWW

Odp: [SOLVED] Tablica partycji

Cóż, prawda jest taka, że jeśli chcesz mieć w pełni poprawny rollback, to powinieneś albo nie robić osobnej partycji na /boot, a już zwłaszcza niezaszyfrowanej (ewentualnie powinieneś całkiem sobie odpuścić szyfrowanie). Jeżeli zaktualizujesz kernel i cofniesz się do poprzedniej migawki, jądro spróbuje załadować moduły, których już nie będzie. GRUB2 jest zaopatrzony w swój sterownik do btrfs, więc umie odczytać kernel i initramfs. Radzi sobie także z urządzeniami zaszyfrowanymi dm-cryptem, jeden z nowszych artykułów (co prawda dot. Fedory, ale na pewno dasz sobie radę) tutaj.

Szczerze mówiąc nigdy nawet nie pofatygowałem się, żeby wydzielić /var do subwolumenu, a tym bardziej /opt. Jeżeli boisz się, że któreś z nich zapcha partycję systemową i używasz quoty, czemu nie. W innym wypadku nie widzę żadnych zalet takiego rozwiązania, szczególnie, że używasz btrfs tylko z jednym urządzeniem.

Offline

#3 2015-08-28 11:56:18

Rethil
Użytkownik
Data rejestracji: 2015-08-20
Liczba postów: 30

Odp: [SOLVED] Tablica partycji

W dokumentacji dla SLES 12 przeczytałem, że polecane subvolumeny to:

/boot/grub
/opt
/srv
/tmp
/usr/local
/var/lib/{mailman,named,pgsql}
/var/crash
/var/spool
/var/log
/var/opt
/var/run
/var/tmp

W dokumentacji SLES 11 i 12 dokładnie ten sam problem, na który zwróciłeś uwagę został opisany - bez rollbacku /boot można nie zabootować. Prawdopodobnie będę kombinował z szyfrowaniem /boot. Dzięki za link.

Mój przegląd rekomendowanych subvolumenów:
1. Masz racje co do /opt, po głębszym zastanowieniu aplikacje instalowane w /opt mogą tak czy siak nie działać, gdyż rollback pakietów może wpłynąć na niespełnienie zależności. Co za tym idzie można tez pominąć /var/opt.
2. Ze względu na tmpfs dobrym pomysłem mogą być subvolumeny dla /tmp i /tmpfs (pytanie, czy jeżeli zamontuje subvolumeny do tych punktów tmpfs będzie w ogóle użyty), gdyż nie koniecznie chce mieć rollback danych, których i tak nie powinno być po reboocie. Chyba, że tmpfs nie zostanie użyty, więc rollback "atomic" i tak nie wiele zmieni, gdyż te odzyskane dane, ani nie zajmują dużo, ani nie przeżyją reboota, wtedy można zignorować te subvolumeny.
3. W ogóle nie wiem co myśleć o /usr/local i nie mam pojęcia dlaczego powinienem wykluczyć ten katalog z rollbacku.
4. /var/lib/{mailman,named,pgsql} /var/crash, /var/spool, /var/log, var/run - powody są zrozumiałe.
5. Nie żebym w ogóle miał jakieś dane w /srv na desktopie, ale kto wie co będzie w przyszłości.
6. Wygląda na to, że /boot/grub powinien zostać zachowany ze względu na grub.cfg.
7. Co z /boot/EFI?

Opinie?

Ostatnio edytowany przez Rethil (2015-08-28 12:13:21)


CPU: i7-2600k
GPU: GTX 560Ti
OS: OpenSUSE / Arch Linux
DE: KDE (Plasma 5)

Offline

#4 2015-08-28 12:12:06

barthalion
Developer
Lokalizacja: Poznań
Data rejestracji: 2015-08-20
Liczba postów: 219
WWW

Odp: [SOLVED] Tablica partycji

Nie ma kompletnie żadnego sensu, żeby /tmp było subwolumenem. Jak sam już napisałeś, to jest tmpfs. /var/opt i /var/crash – nieużywane w Archu i prawdopodobnie przez nikogo poza SUSE. /var/run i /var/tmp to tak naprawdę tmpfs. /var/spool – planujesz mieć serwer poczty na desktopie? /var/log – po co osobno? Musiałbyś się bardzo postarać, żeby na desktopie zapchać sobie w ten sposób system, a zwłaszcza z poprawnie skonfigurowanym logrotate.

Aplikacje w /opt z reguły są niezarządzane przez menedżer pakietów, więc nie widzę jak mogłyby mieć niespełnione zależności, skoro dostarczają własne biblioteki. /boot/EFI to specjalny system plików, a nie btrfs. Więc jak na ironię jedyne lokacje, które być może warto wydzielić to /usr/local, /var/lib i /srv/.

Z tego co widzę to Twoim zasadniczym problemem jest czytanie korpodokumentacji do płatnej, serwerowej dyskusji i próby aplikowania tej "wiedzy" do biurkowego użytkowania. Z doświadczenia mogę Ci powiedzieć, że nawet na serwerach rzadko stosuje się aż taki overengineering.

Ostatnio edytowany przez barthalion (2015-08-28 12:16:38)

Offline

#5 2015-08-28 12:31:11

Rethil
Użytkownik
Data rejestracji: 2015-08-20
Liczba postów: 30

Odp: [SOLVED] Tablica partycji

Co do /boot/EFI to cofam to, to było głupie i nieprzemyślane z mojej strony. Oczywiście, że to osobna partycja.

Widzę, że /var/opt istnieje jednak, nie powinny tam być przechowywane dane związane z aplikacjami instalowanymi w /opt? Co do /opt to w takim razie widzę pewien sens posiadania subvolumenu. Myślałem, że dobrze jest zachować zawartość /var/log z przed rollbacku ze względu na debugowanie. Doczytam. Pytanie, czy powinienem wydzielić całe /var/lib czy konkretne katalogi tak jak rekomendują ludzie od SLES? Co z /boot/grub?

Prawdopodobnie masz rację, nie mam wystarczającego doświadczenia, ale jeżeli coś robię, staram się zrobić to dobrze. Jako, że SLE i OpenSUSE dosyć mocno promują btrfs, a dokumentacja na Arch Wiki nie okazała się tak pomocna jak bym tego chciał moją następną myślą była dokumentacja kameleona.

Ostatnio edytowany przez Rethil (2015-08-28 12:33:38)


CPU: i7-2600k
GPU: GTX 560Ti
OS: OpenSUSE / Arch Linux
DE: KDE (Plasma 5)

Offline

#6 2015-08-28 14:04:38

barthalion
Developer
Lokalizacja: Poznań
Data rejestracji: 2015-08-20
Liczba postów: 219
WWW

Odp: [SOLVED] Tablica partycji

Tak, zjadłem /opt z listy katalogów które warto zostawić. Co do /var/log, mam raczej mieszane uczucia. Jeśli robisz rollback, to zostawiasz przecież też ten "najnowszy" snapshot, do którego nadal masz dostęp jeżeli potrzebujesz podejrzeć logi. Cofasz się do poprzedniej migawki tylko w celu naprawienia najnowszej, a potem na nią wracasz, zachowując logi nienaruszone poprzez próby naprawienia. Co do /var/opt, nie spotkałem się jeszcze z czymś przechowywanym w /opt, które by z tego korzystało. Co do /var/lib – raczej konkretne katalogi, i to w razie potrzeby, a nie na wyrost. O ile nie będziesz używał baz danych, to nie ma raczej sensu w ogóle tego ruszać.

Offline

#7 2015-08-28 14:19:29

Rethil
Użytkownik
Data rejestracji: 2015-08-20
Liczba postów: 30

Odp: [SOLVED] Tablica partycji

Tak, można z czasem w razie potrzeby utworzyć nowe subvolumeny, więc można darować sobie /var/lib póki co. Podobnie z /srv/ i /var/spool.

/boot/grub
/opt
/var/opt (na wszelki)
/usr/local

Wygląda chyba już lepiej.


CPU: i7-2600k
GPU: GTX 560Ti
OS: OpenSUSE / Arch Linux
DE: KDE (Plasma 5)

Offline

#8 2015-08-30 20:26:38

barthalion
Developer
Lokalizacja: Poznań
Data rejestracji: 2015-08-20
Liczba postów: 219
WWW

Odp: [SOLVED] Tablica partycji

Tak, wygląda teraz sensownie.

Offline

#9 2015-09-05 01:37:41

Rethil
Użytkownik
Data rejestracji: 2015-08-20
Liczba postów: 30

Odp: [SOLVED] Tablica partycji

Testowo postawiłem Archa na laptopie z szyfrowaniem GRUB'a. Wszystko działa świetnie.

Dodatkowo, jeżeli nie chcemy dwa razy wpisywać hasła, tu jest świetna instrukcja.


CPU: i7-2600k
GPU: GTX 560Ti
OS: OpenSUSE / Arch Linux
DE: KDE (Plasma 5)

Offline

#10 2015-09-05 05:18:51

marcin82
Moderator
Lokalizacja: Sosnowiec
Data rejestracji: 2015-08-20
Liczba postów: 154

Odp: [SOLVED] Tablica partycji

Jeśli wszystko jest jasne i działa dobrze to oznacz temat jak rozwiązany.


marcin82

Offline

Stopka

Napędzają nas PacmanVPS i MegiTeam

Forum oparte na FluxBB