Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam.
Chodzi mi albo o coś w stylu drivespace na Windos, czyli żeby kompresja/dekompresja w czasie rzeczywistym już przy wrzucaniu pliku na partycję/odczycie, albo ewentualnie mogło by być coś do podmontowywania archiwów w trybie rw do jakiegoś folderu i manipulowania bezpośrednio na plikach w archiwum, tak jakby były już rozpakowane, tak aby przy otwieraniu je przez jakiś program, były automatycznie dekompresowane a przy wrzucaniu kompresowane.
Znacie jakieś takie programy/systemu plików? Co prawda google coś tam mówi ale wszystko albo przestarzałe, albo tylko w trybie read-only...
Offline
Jak kompresja w locie, to reiser4 i btrfs :)
Kompresją reiser4 się nie bawiłem, ale ludzie tego używają i podobno działa, a nawet działa całkiem fajnie :)
# mkfs.reiser4 -l |grep compress mkfs.reiser4 1.0.7 Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiser4progs/COPYING. "ccreg40" (id:0x4 type:0x0) [Cryptcompress regular file plugin.] "lzo1" (id:0x0 type:0xc) [lzo1 compression transform plugin.] "gzip1" (id:0x1 type:0xc) [gzip1 compression transform plugin.] "none" (id:0x0 type:0xd) ['Don't compress' compression mode plugin.] "latt" (id:0x1 type:0xd) ['Check on dynamic lattice' compression mode plugin.] "ultim" (id:0x2 type:0xd) ['Check ultimately' compression mode plugin.] "force" (id:0x3 type:0xd) ['Compress evrything' compression mode plugin.] "conv" (id:0x4 type:0xd) ['Convert to extent' compression mode plugin.]
O ile mi wiadomo, to od razu musisz utworzyć system plików z opcjami kompresji, przykładowo:
mkfs.reiser4 -o create=ccreg40,compress=gzip1 /dev/sda2
Aktualnie mam / wraz z /home skompresowane na partycji btrfs — niby działa, ale ten filesystem jest jeszcze w fazie mocno rozwojowej i na cokolwiek wartościowego absolutnie się teraz nie nadaje. Obecnie obsługuje tylko kompresję lzo na dwóch poziomach. Tutaj system plików tworzy się normalnie, potem dopiero montuje się go z wybraną opcją kompresji. Ja mam tak:
/dev/root on / type btrfs (rw,relatime,compress,noacl)
System na reiserfs ważył ~4.6GB, po przeniesieniu na skompresowany btrfs waży ~2.7. Można jeszcze montować z opcją [i]"compress-force"[/i] i urwać trochę więcej MB, ale nie próbowałem. Wydajność tego mojego skompresowanego btrfs jest (z bardzo subiektywnego punktu widzenia i bez żadnych specjalnych testów) lepsza niż jakiegokolwiek systemu plików, którego wcześniej używałem. Natomiast gdybym musiał obecnie używać filesystemu z kompresją do czegokolwiek wartościowego, to kombinowałbym z reiser4, na btrfs jest jeszcze za wcześnie...
Offline
Dzięki za info ale... jak widzę reisera mogę sobie utworzyć ale pod montować to już niezbyt - przynajmniej nie bez re-kompilacji jajka, zaś btrfs jak widzę będzie (przynajmniej toolsy) dostępny dopiero w następnym wydaniu Debiana... może jest coś co działa na Lenny "out of the box"? W re-kompilacje jaja wolałbym się nie bawić bo jak dotąd z 5 prób żadna mi się nie udała :(
Offline
[b]Huk[/b] A w czy problem? Bierzesz jajco z kernel.org, z kernel.org patch do reiser4 kopiujesz konfig z distro make configure dodajesz tylko reisera i śmiga. Ewentualnie jajco nl Liquorix czy też Zen - tam już jest obsługa reiser4
Offline
ZFS, w debianie jest w implementacja ZFSa w Fuse(Chyba w repozytoriach SIDa). Posiada kompresje i inne bardzo ciekawe funkcjonalnosci.
Pozdrawiam
Offline
No dobra, nawet udało mi się skompilować działające jajko po raz pierwszy w życiu :D i mogę sobie pod montować reisera. Z katalogu z plikami wielkimi na 6.7 GB zrobiło się po kompresji (wg gparted bo thunar pokazywał nadal 6.7 GB) 4.9 GB średnio - same pliki dość średnio kompresowalne (choć w 7-zipie zajmowały... 600 MB - to się nazywa kompresja :) ). No nic dzięki za info - jeszcze postaram się przetestować ZFS jak będę miał chwilkę.
Offline
A jak z wydajnością? Dałoby się tak cały system postawić na takiej partycji i w miarę normalnie korzystać?
Offline
[quote=sebcioz]A jak z wydajnością? Dałoby się tak cały system postawić na takiej partycji i w miarę normalnie korzystać?[/quote]
Reiser4 z kompresją? Wydajność i tak będzie pewnie lepsza niż całej reszty linuxowych systemów plików ;)
http://kerneltrap.org/node/8079
http://linuxhelp.150m.com/resources/fs-benchmarks.htm
http://forums.gentoo.org/viewtopic-t-707465.html
http://forums.gentoo.org/viewtopic-t-706171.html
Offline
Co prawda wątek stary ale wypadało by "ostrzec" potencjalnych userów...
Utworzyłem sobie skompresowana partycję reiserem, coś tam powrzucałem w ramach testowania, potem przeformatowałem raz jeszcze - tym razem już bez kompresji i wrzuciłem dysk maszynki wirtualnej z Windos na której miałem parę rzeczy. Niestety jak kompilowałem nowe jajko to zapomniałem wgrać obsługi reiser4, jako że nie wiedziałem czemu nie chce się zamontować - przejechałem partycję fsck.reiser4. Wtedy przypomniałem sobie o konieczności patchowania jajka - co następnie uczyniłem. Nie wiem co zawiniło, ale po pod montowaniu partycji, zamiast pliku z dyskiem wirtualnym ukazały mi się pliki które wrzucałem kiedyś, kiedy jeszcze partycja była stworzona w trybie "do kompresji"... plik z dyskiem przepadł :/ To niestety pokazuje że reiser4 (lub narzędzie z nim związane) ma nadal poważne bugi - żeby było sprawiedliwie, dodam tylko że do czasu trefnego fsck wszystko chodziło jak należy - przy czym muszę zaznaczyć, ja różnicy w prędkości nie widzę pomiędzy większością systemów plików.
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00007 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00083 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='52.15.81.204' WHERE u.id=1 |
0.00071 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '52.15.81.204', 1734025492) |
0.00042 | SELECT * FROM punbb_online WHERE logged<1734025192 |
0.00064 | SELECT topic_id FROM punbb_posts WHERE id=144930 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=16439 ORDER BY posted |
0.00051 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16439 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00253 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16439 ORDER BY p.id LIMIT 0,25 |
0.00089 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16439 |
Total query time: 0.00677 s |