Ich führe eine Ubuntu 11.04-Instanz für meinen Webserver in der AWS-Cloud aus. Jetzt erhalte ich, dass in / partition meines Servers kein Speicherplatz mehr vorhanden ist . df -ah sag das
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 7.8G 97M 99% /
proc 0 0 0 - /proc
none 0 0 0 - /sys
fusectl 0 0 0 - /sys/fs/fuse/connections
none 0 0 0 - /sys/kernel/debug
none 0 0 0 - /sys/kernel/security
none 3.7G 112K 3.7G 1% /dev
none 0 0 0 - /dev/pts
none 3.7G 0 3.7G 0% /dev/shm
none 3.7G 80K 3.7G 1% /var/run
none 3.7G 0 3.7G 0% /var/lock
/dev/xvdb 414G 16G 377G 4% /mnt
Jetzt habe ich diese Sache Versuche etwas mehr Platz auf für immer / Partition
- Bereinigen Sie alle Protokolldateien für Apache.
- Alle nicht benötigten Dateien vom Server entfernt.
- Home-Verzeichnis bereinigen.
Trotzdem bekomme ich nicht genug Platz. Dieser Instanztyp ist m1.large mit 8 GB EBS. Jetzt bekomme ich genug Speicherplatz in / dev / xvdb .
Gibt es eine Möglichkeit, wie ich / from / dev / xvdb oder anderen Möglichkeiten Speicherplatz zuweisen kann? Bitte schlagen Sie mir die mögliche Lösung dafür vor. Ist es möglich, dieselbe / dev / xvdb- Partition mit einer anderen Instanz zu verwenden.
11.04
server
amazon-ec2
Sumant
quelle
quelle
Antworten:
Die Antwort ist zweifach.
Umgehung: Verwenden Sie / dev / xvdb (/ mnt) für temporäre Daten
Dies ist der so genannte kurzlebige Speicher Ihrer Amazon EC2- Instanz, und seine Eigenschaften unterscheiden sich erheblich von denen des andernorts verwendeten dauerhaften Amazon EBS- Speichers. Insbesondere geht dieser kurzlebige Speicher bei Stopp- / Startzyklen verloren und kann in der Regel verloren gehen. Sie möchten also definitiv keinen dauerhaften Wert darauf legen , dh nur temporäre Daten, die Sie sich leisten können, einfach zu verlieren oder neu aufzubauen . wie eine Auslagerungsdatei oder streng temporäre Daten, die während der Berechnungen verwendet werden. Natürlich können Sie dort beispielsweise große Indizes speichern, müssen jedoch darauf vorbereitet sein, diese nach dem Löschen des Speichers erneut zu erstellen (Neustart der Instanz, Hardwarefehler usw.).
Lösung: Ändern Sie die Größe von / dev / xvda1 (/), um den gewünschten Speicherplatz zu erhalten
Dies ist der sogenannte Root-Gerätespeicher Ihrer von Amazon EBS unterstützten EC2-Instanz, der Amazon EBS insbesondere hinsichtlich Flexibilität und Haltbarkeit erleichtert , dh, die dort gespeicherten Daten sind relativ sicher und überstehen Instanzausfälle. Sie können die Flexibilität und Haltbarkeit noch weiter erhöhen, indem Sie regelmäßig Momentaufnahmen Ihres EBS-Volumes machen, das auf Amazon S3 gespeichert ist und über die bekannte Haltbarkeit von 99,999999999% verfügt.
Mit dieser Snapshot-Funktion können Sie Ihr Problem lösen, indem Sie Ihren aktuellen 8-GB-EBS-Root-Speicher (/ dev / xvda1) durch einen mehr oder weniger großen ersetzen. Der Prozess wird in Eric Hammonds ausgezeichnetem Artikel Größenänderung der Root-Festplatte auf einer laufenden EBS Boot EC2-Instanz beschrieben :
Wenn Sie die von ihm beschriebenen Schritte richtig vorbereiten (ich empfehle dringend, sie zuerst mit einer EC2-Wurfinstanz zu testen, um sich mit der Prozedur vertraut zu machen, oder sie sogar über ein maßgeschneidertes Skript zu automatisieren), sollten Sie in der Lage sein, den Vorgang mit wenigen Schritten abzuschließen Minuten Ausfallzeit nur in der Tat.
Die meisten der beschriebenen Schritte können auch über die AWS Management Console ausgeführt werden, wodurch der Umgang mit den Amazon EC2-API-Tools vermieden wird . das läuft auf Folgendes hinaus:
df -ah
Viel Glück!
Alternative
In Anbetracht der Vielseitigkeit und Benutzerfreundlichkeit dieser EBS-Volumes besteht eine zusätzliche Option darin, mehr EBS-Volumes an Ihre Instanz anzuhängen und klar trennbare Problembereiche dorthin zu verschieben.
Zum Beispiel verwenden wir einige ziemlich schwere Java-Anwendungen, von denen jede 1 bis 2 GB Speicherplatz pro Version beansprucht. zu erleichtern Upgrade - Versionen und generell in der Lage sein , diese Anwendungen auf verschiedenen Instanzen in meinem Ermessen zu bewegen, habe ich sie auf dedizierten EBS - Volumes je platziert, montieren diese auf eine Instanz und Softlink sie an den gewünschten Ort, zB in der Regel
/var/lib/<app>/<version>
und/usr/local/<app>/<version>
.Mit dieser Methode führen wir derzeit EC2-Instanzen aus, wobei der Root-Gerätespeicher immer noch die Standardgröße von 8 GB aufweist (genau wie bei Ihnen), manchmal aber auch bis zu 8 EBS-Volumes mit unterschiedlichen Größen (1 bis 15 GB).
Sie müssen sich jedoch der potenziellen Netzwerkleistungsprobleme bewusst sein, sofern alle diese EBS-Volumes dasselbe LAN für ihre E / A verwenden, was in extremen Fällen sogar zu entsprechenden Leistungsgewinnen führen oder Ihr Netzwerk überlasten kann. Dies hängt also wie üblich davon ab auf den Anwendungsfall und die Arbeitsbelastung zur Hand.
quelle
Yep eine einfache Möglichkeit, es zu fstab und dann mounten, um / var / www / html / files2 / zu sagen
dann mkdir / var / www / html / files2 / website dann ln -s -d / var / www / html / website / var / www / html / files2 / website
quelle
Heute trat das gleiche Problem auf, als Sie die neue ec2-Intance erstellten. Standardmäßig ist EBS 8GB. Sie können die Größe des angehängten EBS ändern, ohne eine neue Oberfläche zu erstellen, einen Snapshot zu erstellen oder das EBS zu trennen. Sie können die folgenden drei Schritte ausführen:
Für den Rest der Schritte folgen Sie bitte diesem Artikel, wenn Sie Fragen haben.
Vielen Dank!
quelle