Als erstes wollte ich sicherstellen, dass es ein Verständnis dafür gibt, worum es in diesem Beitrag NICHT geht:
- Hier geht es NICHT darum , einen bootfähigen USB-Stick zu erstellen
- Hier geht es NICHT nur darum, von USB zu booten
Ich möchte einen NAS-Heimserver (Dateiserver) haben, der von einem USB-Stick oder einer CF-Karte gestartet wird. Für den Punkt in diesem Beitrag ist es unerheblich, wie das Flash-Laufwerk angeschlossen ist (USB, IDE, auf andere Weise), was relevant ist: Ich möchte eine vollständige Betriebssysteminstallation starten und vom Flash-Laufwerk ausführen. Die Gründe für diese Art der Installation sind: Ich möchte auf einfache Weise eine Sicherungskopie des Betriebssystems erstellen (Image des Flashs) und sicherstellen, dass das Betriebssystem sofort ausgetauscht und gebootet werden kann (durch Ersetzen des Flash-Laufwerks) ) und ich möchte, dass Laufwerke auf einem Dateiserver getrennt vom Betriebssystem austauschbar sind.
Mir ist bewusst, dass es möglich ist, ein Flash-Laufwerk einfach als ext2 zu formatieren und darauf zu installieren. Was ich suche, sind Empfehlungen für die Schaffung einer robusteren Lösung. Hier sind ein paar Dinge, die ich tun möchte:
- Konfigurieren Sie die Root-Partition als YAFF2 oder LogFS oder als ein anderes Dateisystem, das speziell für Flash-Laufwerke entwickelt wurde.
- Konfigurieren Sie das Basisbetriebssystem neu, um Schreibvorgänge zu minimieren (RAMFS in / tmp und so weiter).
Bitte reichen Sie Ihre Empfehlungen ein. Ich frage mich, ob Ubuntu überhaupt für ein solches Szenario geeignet ist ...
Ich möchte mein Ziel ein wenig klarstellen. Die regulären SSD-Laufwerke sind mit Firmwares ausgestattet, die das Laufwerk durch die folgenden Tricks für lange Zeit am Leben erhalten. USB-Sticks haben keine solche Firmware, daher können sie bei Verwendung eines regulären Dateisystems schnell zerstört werden. Ich suche, ob es möglich ist, SSD-Firmware mithilfe eines für Flash entwickelten Dateisystems zu emulieren. In gewissem Sinne versuche ich, es so zu machen, dass ein USB-Laufwerk ein System auf normale Weise ausführen kann, als wäre es eine tatsächliche SSD.
noatime
Flag und andere Tricks, um nicht auf das Laufwerk zu schreiben. Ich denke wirklich, Ihre Frage bezieht sich nicht auf die Installation auf einem Flash-Laufwerk (da dies gut beantwortet ist), sondern darauf, wie Sie Schreibvorgänge auf das Laufwerk minimieren können.Antworten:
Verwenden Sie LVM . In diesem Fall können Sie Snapshots verwenden - sofortige Klone Ihres Systems, sodass Sie problemlos das gesamte System kopieren oder es einfach zwischen Flash-Laufwerken * migrieren können.
Und wenn Sie eine Art "Wear-Leveling" möchten , können Sie aufs für das Root-Dateisystem auf USB- Flash verwenden. Sie müssen also nicht YAFF2 usw. verwenden, ext4 ist in Ordnung.
*Aber / boot müssen Sie immer manuell kopieren + Sie müssen die UUID von grub / disk ändern . Sie Rettungs - CD für den Fall , müssen die Größe Wurzelvolumen auf die Größe des USB - Flash. Und für den Fall, dass Sie mürrisch werden, lesen Sie dieses Handbuch .
Ich habe das Handbuch dafür geschrieben.
quelle
Wenn Sie Ubuntu auf der Festplatte mit LVM haben (Ubuntu Server verwendet standardmäßig LVM).
Dieses Skript wurde in Ubuntu Oneiric 11.10 x86_64 3.0.0-16-Server mit folgenden Anwendungen getestet:
Schritt 1. Schrumpfwurzel FS auf die Größe Ihres FlashDrive oder kleiner. Überspringen Sie diesen Schritt, wenn Ihre Root-FS-Größe kleiner oder gleich der des FlashDrive ist.
Booten Sie mit der Resc-CD und hängen Sie Ihre Root-Partition ein. Führen Sie die folgenden Befehle aus:
Schritt 2. FlashDrive vorbereiten: z Migration
werfen Sie einen Blick auf Ihre alte Root-UUID
A) Wenn Ihr Grub geladen ist, aber das Betriebssystem auf Anhieb nicht geladen werden kann, lesen Sie diesen Artikel . Versuchen Sie ls Befehl, um herauszufinden, was Grub Seeing.
Nach dem erfolgreichen Booten sind die Änderungen nicht dauerhaft, so dass Sie grub aktualisieren müssen
B) Wenn Sie Grub überhaupt nicht sehen, booten Sie mit der Rescue-CD.
Schritt 3. AUFS für Root-Dateisystem auf USB-Flash-Laufwerk.
Erstellen Sie nun die Datei / etc / initramfs-tools / scripts / init-bottom / __ rootaufs und platzieren Sie das nächste Skript:
Nachdem wir die Berechtigungen für diese Datei ändern müssen:
Schritt 4. GRUB2 ändern.
quelle
Ich möchte die gleiche Frage stellen und auch genau das Gleiche tun. Hilft diese Antwort?
Wie optimiere ich das Betriebssystem für SSDs?
Diese Links sehen auch sehr nützlich aus, obwohl ich nicht für die Richtigkeit der Informationen bürgen kann
http://bernaerts.dyndns.org/linux/53-debian-server-compact-flash
http://www.chrisnewland.com/ using-linux-tmpfs-to-reduce-disk-writes-for-power-saving-and-longer-cf-lifespan-186
Ich denke, wenn Sie diese Dinge erledigt haben, müssen Sie überwachen, um zu sehen, was Ihre spezifischen Anwendungen auf das Boot-Flash-Laufwerk schreiben. Gibt es eine einfache Möglichkeit, festzustellen, was auf ein bestimmtes Laufwerk geschrieben wird?
quelle