OS ins Ramdisk und booten

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
irreal
Beiträge: 1
Registriert: 10.05.2009 12:46:32

OS ins Ramdisk und booten

Beitrag von irreal » 10.05.2009 17:08:27

Hallo Freunde,

Ich habe seit Ewigkeit eine Idee und suche eine Lösung dazu.
Ich möchte mein ganzes OS (z.B Debian) in den Ram packen damit der Flaschenhals durch die Festplatte nicht entsteht.
Die heutigen Ram Kapazitäten erlauben das ja :)

Was ich mir vor gestellt habe (bin kein Programmierer):
- ich habe genügend Ram (z.B 12Gb)
- ich habe eine Partition "B" (z.B. 8Gb) mit vollständig installiertem und konfiguriertem Debian
- ich brauch ein Bootmanager welcher die OS aus der Partition "B"(oder einer anderen) bootet oder ein RamDisk "R" (z.B. 8Gb) erstellt (wie das eine LiveCD macht) und dorthin die Partition "B" kopiert und danach die OS aus dem RamDisk "R" bootet.
- das System ohne Einschränkung wie von "B" funktioniert
- außerdem brauche ich ein Tool welcher Änderungen in "R" auf "B" Synchronisieret (jede 12 Stunden oder sozusagen auf Maus Klick)

Könnte mir da jemand helfen? wäre so etwas für jemanden interessant?
(OS mit stark beanspruchten Datenbanken, Bild und Video Bearbeitung oder einfach zum Spaß)
Ich möchte endlich die Idee war werden lassen, und möglicherweise "guest OS" in der VirtualBox beschleunigen.

Das es alternativen gibt weis ich :)
- Nicht das ganze System sondern nur ein Teil davon in Ramdisk auslagern (liefert nicht die gleiche Performance)
- Raid benutzen (teuer da mehrere Festplatten nötig)
- i-Ram, HyperDrive5 oder Acard ANS-9010 (Sehr teuer :) und nur per sata2 ansprechbar + Raid sehr SEHR Teuer :)
- SSD-HardDisk (beschränkte anzahl von Schreibvorgängen)

Ja, RamDisk ist ein flüchtiger Speicher, aber Debian ist auch ein stabiles OS, welches nicht alle 7 Tage ein Reboot braucht :)

Danke im Voraus.

Irreal

P.S: „Google“ ist die Gleiche Antwort wie „42“ :)

Benutzeravatar
Saxman
Beiträge: 4233
Registriert: 02.05.2005 21:53:52
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: localhost

Re: OS ins Ramdisk und booten

Beitrag von Saxman » 10.05.2009 18:38:31

irreal hat geschrieben: Ich möchte endlich die Idee war werden lassen, und möglicherweise "guest OS" in der VirtualBox beschleunigen.
Wilkommen im Forum.
Wenn du nur virtualbox beschleunigen willst pack doch die virtuelle Festplatte in ein tmpfs.

Ansonsten kann Ich dir sagen daß ein wenig an Aufwand bedeutet debian aus dem Ram laufen zu lassen.
Ich hab mir mal den Spass gemacht und angefangen sämtliche Schreibvorgänge in ein tmpfs auszulagern und regelmäßig über rsync dann auf die Platte synchronisieren zu lassen. Dann brauchte es noch init scripte die in die entsprechenden runlevels gelinkt sind dir das alles beim starten und runterfahren synchronisieren. Und dann noch regelmäßige syncs auf die Platte per cronjob.

Mittlerweile bin Ich aber davon wieder weg da der Performancegewinn den Aufwand nicht wert war.
Und selbst mit 8 GB Ram bin Ich an Grenzen gestoßen.
Ich hab noch tmp, die ganzen caches und noch ein paar andere Sachen als tmpfs am laufen und ansonsten schaue Ich daß debian den Ram so extensiv nutzt wie es eben nur geht.

Benutz mal die Foren Sufu, Ich hab schon ein Paar mal was dazu geschrieben und es gibt auch noch von anderen gute Ideen und Vorschläge zu diesem Thema.
"Unix is simple. It just takes a genius to understand its simplicity." - Dennis Ritchie

Debian GNU/Linux Anwenderhandbuch | df.de Verhaltensregeln | Anleitungen zum Review und zum Verfassen von Wiki Artikeln.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: OS ins Ramdisk und booten

Beitrag von cosmac » 10.05.2009 19:43:33

hi,

wenn's komplett aus dem Ram laufen soll, reicht doch eigentlich ein Script und ein angepasster Kernel (mit eingebauten Platten- und Filesystem-Treibern, ohne initrd(!)). Das Script wird statt /sbin/init gestartet, kopiert das System ins Ram, mount / dahin und startet dann das echte init. Als erster Versuch ungefähr so:

Code: Alles auswählen

#!/bin/sh

mount -t tmpfs foo /ramroot  # hier ggf. mehr als 50% des Ram verwenden
# wer getrennte Partitionen braucht, muss hier eben mehrere mounten

cp -a /bin /ramroot
cp -a /dev /ramroot
cp -a /etc /ramroot
cp -a /lib /ramroot
mkdir /ramroot/media
mkdir /ramroot/mnt
mkdir /ramroot/proc
cp -a /root /ramroot
cp -a /sbin /ramroot
mkdir /ramroot/selinux
mkdir /ramroot/sys
mkdir /ramroot/tmp
chmod 1777 /ramroot/tmp
# cp -a /usr /ramroot  # erstmal geht's auch ohne
cp -a /var /ramroot

cd /ramroot
mkdir physroot  # hier hat man nachher Zugriff auf die echte Partition
pivot_root /ramroot physroot

exec /sbin/init ${CMDLINE}
gebootet wird ganz normal mit grub/syslinux/lilo mit der echten Partition. Die einzige Änderung ist der Zusatz "init=/etc/init.d/ramroot" (halt dieses Script). Das könnte doch funktionieren?

Um Änderungen zurück zu kopieren bietet sich rsync an. Wenn man System-Updates und Neuinstallationen doch gleich auf der echten Platte macht, braucht man /usr nicht zu syncen.
Beware of programmers who carry screwdrivers.

Benutzeravatar
uwepr
Beiträge: 657
Registriert: 03.02.2007 12:13:01
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Halle/S.
Kontaktdaten:

Re: OS ins Ramdisk und booten

Beitrag von uwepr » 25.05.2009 15:35:22

Hallo irreal,
http://puppylinux.org/wiki/archives/old ... anlanguage
Viele Grüße!
Uwe Pr.
squeeze/fluxbox

Antworten