Nowe posty

Autor Wątek: [ROZWIĄZANY] partycjonowanie dla brtfs  (Przeczytany 3234 razy)

Offline kenpo

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 216
    • Zobacz profil
[ROZWIĄZANY] partycjonowanie dla brtfs
« dnia: 2018-06-12, 14:26:10 »
 Chcę zainstalować system mając do dyspozycji czysty dysk SSD. Trochę już czytałem o brtfs, ale jeszcze nie do końca wszystko jest dla mnie jasne.

1. Czy partycjonowanie dla brtfs wymaga podziału na primary i extended? Czytałem, że podział na root i home już nie jest stosowany dla brtfs.
https://wiki.archlinux.org/index.php/Btrfs#Partitionless_Btrfs_disk
Z tego wynika, że można użyć czegoś, co się nazywa subvolume.

Dotychczas dla ext4, miałem oddzielną partycję na /home, na wypadek gdyby jednak backup z jakiegoś powodu zawiódł i musiałbym przeinstalować system. Czy jak będę musiał lub chciał zainstalować system od nowa, to czy da się to zrobić nie naruszając tego subvolume z danymi /home?

Osobne /home na partycji extended może jest bezpiecznym rozwiązaniem, ale ostatnio jak zacząłem używać aplikacji snap, to się okazało, że na partycji root mam mało miejsca. Biorąc pod uwagę, że nie lubię zbyt często instalować systemu od nowa, wolę to wziąć pod uwagę. Brak podziału na primary / extended wyłoby mi na rękę. Podobno z brtfs można zmieniać rozmiary partycji, ale nie wiem czy to dotyczy tylko logicznych, czy też można zmieniać rozmiar extended.

2. Czy backup systemu i snapshoty moga być robione na USB z innym systemem plików, np. NTFS?

3. Czy używać opcji kompresji dla partycji root?
« Ostatnia zmiana: 2018-06-15, 17:10:42 wysłana przez kenpo »

Offline pavbaranov

  • Users
  • Guru
  • *****
  • Wiadomości: 878
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #1 dnia: 2018-06-12, 15:19:35 »
Niemal na wszystkie pytania masz odpowiedź w linku (oraz jego odesłaniach), które podałeś. Ja tylko i wyłącznie podrzucę pod rozwagę (nie próbuję nawet pisać o czymś, czego nie używam, nie znam; brtfs miałem raz w zamierchłej przeszłości): dlaczego brtfs? I jest to pytanie absolutnie retoryczne. Załóż ten system plików, jeśli suma "za" będzie zdecydowanie przewyższać od "przeciw". TIP: Brtfs wydaje się być świetnym systemem dla serwerów, ale Ty chyba masz desktop.
Zanim to zrobisz, polecam: https://duckduckgo.com/?q=SSD+choice+of+filesystem

Offline kenpo

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 216
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #2 dnia: 2018-06-13, 17:15:29 »

Niemal na wszystkie pytania masz odpowiedź w linku (oraz jego odesłaniach), które podałeś.
Na przykład tego nie rozumiem:


Cytuj
Cannot use different file systems for different mount points.


Czy to znaczy, że na USB też będę musiał mieć brtfs żeby zamontować?


Jak ktoś będzie mógł mi łopatologicznie wytłumaczyć, najlepiej w oparciu o swoje doświadczenie, to będę wdzięczny.


dlaczego brtfs? I jest to pytanie absolutnie retoryczne. Załóż ten system plików, jeśli suma "za" będzie zdecydowanie przewyższać od "przeciw". TIP: Brtfs wydaje się być świetnym systemem dla serwerów, ale Ty chyba masz desktop.


Eee, tam. Chcę sobie potestować na dysku testowym, ale jednocześnie zrobić to rozważnie i prawidłowo. Ostatnio na forum Kubuntu temat brtfs stał się popularny i się zainteresowałem, bo możliwość robienia snapshots, to świetna sprawa, a sam system brtfs już nie jest tak bardzo eksperymentalny, więc zakładam, że nadaje się do codziennego użytku.


https://www.kubuntuforums.net/showthread.php/73615-How-to-Backup-KDE-Settings?p=415243&viewfull=1#post415243


https://www.kubuntuforums.net/showthread.php/73630-Migrating-From-EXT4-to-BTRFS


https://www.kubuntuforums.net/showthread.php/73726-I-have-btrfs-and-now-what

Offline pavbaranov

  • Users
  • Guru
  • *****
  • Wiadomości: 878
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #3 dnia: 2018-06-13, 17:21:47 »
Na przykład tego nie rozumiem:
Cytuj
Cannot use different file systems for different mount points.
Czy to znaczy, że na USB też będę musiał mieć brtfs żeby zamontować?

Odpowiedzi powinien Ci udzielić ktoś, kto ma brtfs i dodatkowo s subvolumenami (bo to bodaj tego dotyczy) zamiast "normalnych" partycji. Nie używałem w ten sposób brtfs (miałem / oraz /home jak pan bóg przykazał :)). Niemniej jednak zdanie to oznacza, że: nie jest możliwym używanie różnych systemów plików dla różnych punktów montowania. Byłoby jednak bardzo dziwne, gdyby tak założony brtfs uniemożliwiał odczyt dysków zewnętrznych (czyt. innych urządzeń). Wydaje się zatem, że chodzi raczej o to, że nie możesz mieszać systemu plików w ramach tego samego dysku. Mogę się jednak absolutnie mylić i wówczas odpowiedź na Twoje pytanie jest twierdząca.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3047
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #4 dnia: 2018-06-13, 20:47:45 »
Miałem / mam obecnie BTRFS.

1. Snapshoty nie pomogą, jak uwalisz cały FS.

2. Jak robisz jeden BTRFS na całość (i '/' i '/home'), to instalator (.*)ubuntu/Debiana robi automatycznie subwolumeny '@' i '@home'. Przy reinstalacji nie ma możliwości ani wyboru nazw subwolumenów any opcji zwipowania @ nie ruszając @home. Więc biorąc #1 i #2 - i tak robić osobną partycję na /home.

3. Na systemach COW (jak m.in BTRFS) źle działają programy modyfikujące duże pliki w czasie pracy, w szczególności niefajnie działają wirtualizatory. Swojego czasu nie dało się np. korzystać z dockera, jeżeli /var był na BTRFS.

4. "Cannot use different file systems for different mount points." jest bez sensu i nieprawda, ale prawdą jest, że nie możesz ustawiać różnych opcji montowania dla różnych subwolumenów tej samej partycji BTRFS. Nie możesz np zamontować jednego subwolumenu niekompresowanego a innego kompresowanego. Opcjie wybrane przy montowaniu pierwszego sprawiają, że wszystkie pozostałe montowane są z tymi samymi opcjami. Oczywiście, jeżeli mamy dwa osobne partycje z BTRFS to jest pełna dowolność opcji.

5. Raz strciłem zawartość partycji BTRFS bez gwałtownych ruchów, jak wyciągnięcie podczas pracy czy cóś. Ale to było z 3-4 lata temu bodaj.

6. O ile tryby stripe i mirror działają OK, to ciągle wyższe RAID-y są traktowane, jako wysoce eksperymentalne.

7. Bodaj Fedora ma opcję robienia snapshotu przy aktualizacji systemu.

8. Nigdy do końca nie wiesz ile masz wolnego/zajętego miejsca na partycji BTRFS.

W domu całkowicie zszedłem z BTRFS na rzecz XFSa (a mam NVMe). W pracy mam jedną partycję BTRFS 1T na HDD (akcelerowaną 32G partycją BCache z SSD) z pierdylionem subwolumenów (m. in. /tmp, /var/tmp, katalog Pobrane, katalog Squida i temu podobne rzeczy niskiej wartości)
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline kenpo

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 216
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #5 dnia: 2018-06-14, 18:14:05 »
Zainstalowałem sobie Debiana z brtfs. Zrobiłem partycję root i home.

Chodzi mi o to, żeby w pełni nauczyć się korzystać z dobrodziejstw BRTFS, czyli snapshotów i użycia subvolums.

Te subvolumes z BRTFS nie mają nic wspólnego z subvolums LVM, zgadza się? Czy warto dodatkowo przy instalacji skorzystać z opcji i ustawienia LVM? Czy żeby to zrobić trzeba mieć cały dysk do dyspozycji bez wcześniejszego podziału na partycje? Wydaje mi się, że ta opcja na to wskazuje, ale potrzebuję rozwiać wątpliwości.
https://blog.szygmon.pl/wp-content/uploads/2018/03/Zrzut-ekranu-2018-03-11-12.07.51.png

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3047
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #6 dnia: 2018-06-14, 21:18:40 »
Nie. Ta opcja znaczy, że dysk będzie zaorany do czysta i podzielony na 2 partycje, ROOT (/dev/sda1) i SWAP (/dev/sda5), oraz, że ROOT będzie z defaultu sformatowany na EXT4. Nie masz żadnego wpływu na układ, ilość, rozmiar i typ partycji. Tak samo dwie pozostałe opcje (LVM i szyfrowany LVM)

BTRFS zrobisz tylko z opcji "ręcznie".

A jeżeli przez "subwolumeny LVM" rozumiesz dyski logiczne, to nie - zachowują się inaczej niż subwolumeny BTRFS. Dyski logiczne LVM sztywno wydzielają fragmenty dysku (niekoniecznie ciągłe) jak podpartycje, możesz je zwiększać i zmniejszać ręcznie (niektórych FSów nie da się zmniejszać, np XFS) i takie wolumeny normalnie sobie formatujesz jak chcesz. Subwolumen LVM tworzysz o konkretnej pojemności. Dla odmiany - subwolumeny BTRFS na jednej partycji współdzielą obszar danych (nie definiujesz ich pojemności). Wszystkie naraz pokazują taką samą ilość wolnego miejsca, a zapisywanie danych na dowolny z nich "kradnie" wolne miejsce ze wszystkich naraz. Np masz pustą partycję BTRFS 100GB. Robisz na niej 100 subwolumenów i każdy pokazuje 100GB wolnego. Jak nagrasz na którykolwiek 50GB danych (zakładam wolumeny niekomresowane), to każdy pokaże teraz tylko 50GB wolnego. Ma to tą przewagę nad LVM, że nie musisz martwić się, ile miejsca chcesz przeznaczyć na który subwolumen.

Troszkę podobnie do zachowania BTRFS ma jeden tryb pracy LVM, mianowicie tzw "thin provisioning". Możesz tam zrobić tzw "cienką pulę", czyli przydzielić partycję do podziału przez subwolumeny współdzielące obszar na tej partycji. Możesz zrobić pulę np 32GB i na niej zrobić np 8 subwolumenów po 10GB. Dopiero, jak rzeczywiście zapisujesz na wolumeny dane, to zaczynają schodzić bloki z partycji-puli. Jest też zaimplementowany TRIM, który zwraca zwolnione przez FS bloki do puli. I dopóki wolumeny w sumie nie spróbują zaalokowac więcej, niż 32GB, tak długo system jest przezroczysty. Pierwszy zapis poza miejce dostępne generuje wirtualny błąd zapisu dysku.

I na koniec - technicznie da się zrobić cały dysk jako jedną, pociętą subwolumenami partycję, ale:
* Nie zrobisz SWAPa, bo BTRFS nie pozwala zrobić pliku wymiany (żaden system COW nie pozwala)
* Standardowy instalator nie pozwala definiować i przydzielać subwolumenów. Musisz zainstalować na defaultach, potem zabootować się z jakiegość liveCD/liveUSB, dorobić resztę subwolumenów, poprzenosić dane i poprawić /etc/fstab.

« Ostatnia zmiana: 2018-06-14, 21:47:20 wysłana przez Paweł Kraszewski »
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline kenpo

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 216
    • Zobacz profil
Odp: partycjonowanie dla brtfs
« Odpowiedź #7 dnia: 2018-06-15, 17:10:26 »
Dziękuję za tak wyczerpujące odpowiedzi. Zabieram się za naukę.