Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: / root do ramdisku (16GB Ram)  (Přečteno 4619 krát)

Bombadil

  • Návštěvník
  • Příspěvků: 5
/ root do ramdisku (16GB Ram)
« kdy: 24 Října 2008, 22:11:47 »
Ahoj,  desky s chipsetem intel P45 podporují 16GB ram a 16GB ram se už i prodává:
http://www.alza.cz/ocz-16gb-kit-ddr2-800mhz-pc6400-cl5-5-5-18-gold-gamer-extreme-edition-xtc-d99702.htm

No a mě napadá udělat tmpfs ramdisk a mít na něm vše časteji používane třeba 12GB (kromě třeba filmu a hudby a dokumentu).
Při bootu systému by se vše zkopírovalo do ramdisku a pri vypnutí uložilo na HDD. (UPS by ošetřila nahodný výpadek proudu a ztrátu dat)
Je to proveditelné? pracoval by linux komplet v RAM bez problémů?  Zlepšil by se vykon?
protože ubuntu 8.04.1 tmpfs na neco použiva automaticky.

Ubuntu 8.04.1 co mam nainstalovany vyuziva tmpfs zřejmě automaticky. Na  /var/run , /var/lock , /dev , /dev/shm
ja sem jen pro vyzkoušení doplnil do  fstab:  none            /var/tmp        tmpfs   defaults        0       0

vypis etc/mtab

sudo cat /etc/mtab
/dev/sda1 / ext3 rw,relatime,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
/sys /sys sysfs rw,noexec,nosuid,nodev 0 0
varrun /var/run tmpfs rw,noexec,nosuid,nodev,mode=0755 0 0
varlock /var/lock tmpfs rw,noexec,nosuid,nodev,mode=1777 0 0
udev /dev tmpfs rw,mode=0755 0 0
devshm /dev/shm tmpfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
lrm /lib/modules/2.6.24-21-generic/volatile tmpfs rw 0 0
none /var/tmp tmpfs rw 0 0
securityfs /sys/kernel/security securityfs rw 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0
gvfs-fuse-daemon /home/grosi/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=grosi 0 0
« Poslední změna: 27 Října 2008, 12:50:56 od Bombadil »

Milan Kýček

  • Návštěvník
  • Příspěvků: 95
Re: 16GB RAM?
« Odpověď #1 kdy: 25 Října 2008, 00:20:34 »
Buď jsi všem vyrazil dech, nebo na tebe všichni ...... (serou) . Já bych na Linuxu žádný novinky nezkoušel. Pán odpustí.
Asus Eee PC 1000H, 500GB, 2GB RAM

Tomáš Jančík

  • Stálý člen
  • **
  • Příspěvků: 1179
    • TomášJančík.net
Re: 16GB RAM?
« Odpověď #2 kdy: 25 Října 2008, 00:33:47 »
Buď jsi všem vyrazil dech, nebo na tebe všichni ...... (serou) . Já bych na Linuxu žádný novinky nezkoušel. Pán odpustí.

ono když něco napíšeš v 11 v noci, tak se nemůžeš divit, že ta "největší inteligence" tu už třeba není.... někdy to trvá i pár dní, než si příspěvku všimne někdo s odpovídajícími vědomostmi, který k tomu může něco říct...

nettezzaumana

  • Host
Re: 16GB RAM?
« Odpověď #3 kdy: 25 Října 2008, 02:42:21 »
a) neni potreba a ani vhodne strkat do ramdisku cely "/" .. afaik by melo stacit

/sbin/ldconfig -p | sed 's@^.*=>\s*\(/.*\)/.*[^/]$@\1@;1d' | sort | uniq
echo $PATH | sed 's/:/\n/g'

b) lze to udelat nekolika zpusoby, asi nejlepsi mi prijde vytvorit si specialni initrd, kde bude krasne naskriptovano a nastaveno co se provede .. zmeny filesystemu vlastne potom nebudou existovat, protoze /var:/tmp:/etc:/home budou na fyzickem disku ..

v pripade instalace baliku se pred zmenou filesystemu v ramdisku si remountnes "/" na disk, provedes zmeny, das synchronizovat (musis mit jeste jeden miniaturni chroot) a zase si dle potreby remountnes "/" ..

http://forum.ubuntu.cz/index.php/topic,25299.0.html

sandrick

  • Aktivní člen
  • *
  • Příspěvků: 299
Re: 16GB RAM?
« Odpověď #4 kdy: 25 Října 2008, 03:15:34 »

Udelat se to da celkem bez problemu. Problem je v tom, ze rsync ti notne zneprijemni (prodlouzi) boot. I kdyz si omezis rozsah dat, jak doporucuje ntz, tak to bude trvat dlouho a vetsina obsahu se stejne nejspis nevyuzije. Jako nejakej zakladani demon by mohl vypadat nejak takto:

Kód: [Vybrat]
case "$1" in
  start)
    stat_busy "Nastavuji ramdisk"
    /usr/bin/rsync --archive --delete /odkud /kam
    /bin/mount --bind /kam /odkud
    add_daemon ramdisk
    stat_done
    ;;
  stop)
    stat_busy "Ukladam ramdisk"
    /bin/umount /kam
    /usr/bin/rsync --archive --delete /kam /odkud
    rm_daemon ramdisk
    stat_done
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
esac
exit 0
(+je nutny si v fstabu vytvorit tmpfs)

Dalsi problem je v tom, ze pokud mas typicky dlouhy uptime, bylo by lepsi delat syncy v nejake rozumne periode pro pripad vytuhnuti systemu.
Ja bych do toho asi nesel. Kdyz to shrnu, tak bud mas 1) normalni uptime a pak budes doplacet na dlouhy rebooty, nebo 2) dlouhej uptime, ale pak budes asi stejne muset syncnout nekolikrat behem toho uptimu, takze zase mala vyhoda.

nettezzaumana

  • Host
Re: 16GB RAM?
« Odpověď #5 kdy: 25 Října 2008, 03:37:57 »
...
.. ne .. figl ramdisku, tak jak je to polozeno, je mit v nem to, cemu se rika v linuxu "static data" ;) .. nemel by na nem bejt zadnej filesystem, do ktery se *vubec nekdy* zapisuje (za beznych podminek) ..

jedina doba, kdy se neco zapisuje je po instalaci dalsich programu ..

Bombadil

  • Návštěvník
  • Příspěvků: 5
Re: 16GB RAM?
« Odpověď #6 kdy: 25 Října 2008, 11:19:42 »
.........
Diky je mi to jasne, ale jak sem to googloval, tak sem někde vyčetl, že do tmpfs de dat data jen pomoci tar a cp.

Bombadil

  • Návštěvník
  • Příspěvků: 5
Re: 16GB RAM?
« Odpověď #7 kdy: 25 Října 2008, 11:31:56 »
a) ....

b) lze to udelat nekolika zpusoby, asi nejlepsi mi prijde vytvorit si specialni initrd, kde bude krasne naskriptovano a nastaveno co se provede .. zmeny filesystemu vlastne potom nebudou existovat, protoze /var:/tmp:/etc:/home budou na fyzickem disku ..

v pripade instalace baliku se pred zmenou filesystemu v ramdisku si remountnes "/" na disk, provedes zmeny, das synchronizovat (musis mit jeste jeden miniaturni chroot) a zase si dle potreby remountnes "/" ..

http://forum.ubuntu.cz/index.php/topic,25299.0.html
dík za odpověd
a) ač se sice častečne živim programovanim PLC, coz je sice něco jiného, tak bohužel tohle bych potřeboval trošku vysvětlit pro normalni smrtelniky diky.
b) specilaní initrd? dle googlu vsude tvrdi ze pokud ramdisk tak tmpfs. Ale jestli tomu dobre rozumím: Tak ja vlastne dle tebe budu mit na ramdisku jen data, která se nemění. Takže mi initrd nevadi, protože velikost bude konstantni dokud nebudu neco noveho instalovat.     

nettezzaumana

  • Host
Re: 16GB RAM?
« Odpověď #8 kdy: 25 Října 2008, 13:56:26 »
ne.. ramdisk je obycejna block device .. muzes zformatovat normalne systemem souboru ..

pouzij treba LFS-book, nicmene si najdi jak funguje initrd, vyzkousej udelat ramdisk a formatovat a vymysli nejakou pro tebe vhodnou metodu, jak to bude fungovat ..

zde pro inspiraci ::

http://www.faqs.org/docs/Linux-mini/Loopback-Root-FS.html
http://www.denx.de/wiki/DULG/RootFileSystemOnARamdisk
http://thumper.fastcoder.net/wiki/Running_Linux_from_a_Ramdisk

reknu ti jiny priklad, jak jsem to delal na solarisu (ps. byla to jen serverova instalace, takze to melo asi 1GB, zadne graf rozhrani apod ..) ::

1) vytvoril jsem si ramdisk velky jako / partisna, pomoci zfs jsem ho zformatovat a pomoci raidu synchronizoval s "/"
2) jednoduse jsem ho remountnul jako / a bylo to ;)

ps. zrovna tohle pujde udelat urcite nekolika zpusoby .. fantazii se meze nekladou (pokud v dane oblasti vyrazne nepredbiha uroven schopnosti)
pps. zmen prosim nazev threadu z nic nerikajicich "16GB" ram na neco relevantniho k jeho obsahu .. / root do ramdisku si muzes udelat treba na 1Gb ram
« Poslední změna: 25 Října 2008, 14:10:33 od nettezzaumana »

sandrick

  • Aktivní člen
  • *
  • Příspěvků: 299
Re: 16GB RAM?
« Odpověď #9 kdy: 25 Října 2008, 21:13:21 »
ne .. figl ramdisku, tak jak je to polozeno, je mit v nem to, cemu se rika v linuxu "static data" ;) .. nemel by na nem bejt zadnej filesystem, do ktery se *vubec nekdy* zapisuje (za beznych podminek) ..

jedina doba, kdy se neco zapisuje je po instalaci dalsich programu ..

Tak to s tebou nemuzu souhlasit. Smysl ramdisku je uchovani nejakych dat, ke kterym se casto pristupuje. Treba nejaka databaze, ze ktery se behem dne cte (nebo i se do ni zapisuje) treba X-tisickrat.
Naopak na staticka data, rekneme nejake knihovny, bych nic takovyho nevytvarel. Blbej priklad: mam knihovnu X, jakej je rozdil mezi tim, ze nacpu cele /usr/lib do ramdisku, a tim ze se tato knihovna X nacte v okamziku kdy je potreba? Predpokladejme, ze logicky mam dostatek RAMky, pak tam ta knihovna X s vysokou pravdepodobnosti zustane a dalsi pristupy k ni budou v obou pripadech stejne rychly...

Jo, jeste jit na to pres initrd bych moc nedoporucoval. Jednak je dana metoda zastarala, jednak by se musel vyrabet ten image + pri kazde zmene tech "statickych dat" znovu. To je proste zbytecne slozity.
« Poslední změna: 25 Října 2008, 21:19:54 od sandrick »

sandrick

  • Aktivní člen
  • *
  • Příspěvků: 299
Re: 16GB RAM?
« Odpověď #10 kdy: 25 Října 2008, 21:14:15 »
.........
Diky je mi to jasne, ale jak sem to googloval, tak sem někde vyčetl, že do tmpfs de dat data jen pomoci tar a cp.

To neni pravda, staci se podivat do google (rsync+tmpfs)

nettezzaumana

  • Host
Re: 16GB RAM?
« Odpověď #11 kdy: 27 Října 2008, 07:38:08 »
Tak to s tebou nemuzu souhlasit. Smysl ramdisku je uchovani nejakych dat, ke kterym se casto pristupuje. Treba nejaka databaze, ze ktery se behem dne cte (nebo i se do ni zapisuje) treba X-tisickrat.
Naopak na staticka data, rekneme nejake knihovny, bych nic takovyho nevytvarel. Blbej priklad: mam knihovnu X, jakej je rozdil mezi tim, ze nacpu cele /usr/lib do ramdisku, a tim ze se tato knihovna X nacte v okamziku kdy je potreba? Predpokladejme, ze logicky mam dostatek RAMky, pak tam ta knihovna X s vysokou pravdepodobnosti zustane a dalsi pristupy k ni budou v obou pripadech stejne rychly...

Jo, jeste jit na to pres initrd bych moc nedoporucoval. Jednak je dana metoda zastarala, jednak by se musel vyrabet ten image + pri kazde zmene tech "statickych dat" znovu. To je proste zbytecne slozity.
<< a navrhujete neco konkretniho mistre, nebo je toto jen teoreticka priprava? ;)

ad.1) pokud provozujes nejakou velkou db napriklad, tak je take mozne dat ji do /dev/ramx .. ;) pokud tam vyresis nejakym duveryhodnym zpusobem morrorovani ..

sandrick

  • Aktivní člen
  • *
  • Příspěvků: 299
Re: 16GB RAM?
« Odpověď #12 kdy: 27 Října 2008, 13:41:10 »
<< a navrhujete neco konkretniho mistre, nebo je toto jen teoreticka priprava? ;)

Navrhuju, vizte hned prvni muj prispevek v tomhle threadu...

 

Provoz zaštiťuje spolek OpenAlt.