Ich verwende einen Ubuntu-Server auf EC2 ebs und meine Anwendung benötigt viel temporären Speicherplatz, der in / tmp zugewiesen ist. Auf ec2 ist das Root-Laufwerk, das auch / tmp enthält, jedoch mit etwa 10 GB ziemlich klein. Der gesamte verbleibende Speicherplatz wird unter / mnt bereitgestellt. Infolgedessen gibt meine Anwendung Fehler "Nicht genügend Speicherplatz" zurück, da / tmp voll zu sein scheint.
Was ist der beste Weg, um dieses Problem zu lösen? Eine Sache, an die ich denken kann, ist create / mnt / tmp und eine symbolische Verknüpfung herzustellen
/tmp --> /mnt/tmp
Ich zögere jedoch ein bisschen, mit etwas herumzuspielen, das von so vielen Linux-Programmen und -Tools verwendet wird. Ich bin nicht sicher, ob jedes Programm die symbolische Verknüpfung korrekt auflöst, und nicht sicher, wie es zur Leistung führen würde.
quelle
Antworten:
Bei EBS-gestützten Images ist der kurzlebige Speicher weiterhin verfügbar. Er wird standardmäßig nicht als Blockgerät zugeordnet (wie bei Bildern im Instanzspeicher).
Die amazon doc ist hier , und es gibt eine nützliche Blog - Post, hier
Zusammenfassend: Sie können diese Zuordnung in der Befehlszeile angeben, wenn Sie das Image starten, und es dann als normales Volume einbinden
/dev/sd[x]
. Wenn Sie Ihr eigenes AMI rollen, können Sie das Mapping in dieses AMI backen, sodass alle von dort gestarteten Bilder von Anfang an darauf zugreifen können.Symlinking
/tmp
funktioniert, aber ich würde es in diesem Fall nicht empfehlen, wenn Sie eine große Menge an temporärem Speicher verwenden. Sobald Sie die Gerätezuordnung verfügbar haben, können Sie das Gerät wie/tmp
in gemountet haben/etc/fstab
.Bei einer kleinen Instanz sollten 150 GB Instanzspeicher kostenlos verfügbar sein. Es versteht sich von selbst, dass dieser Speicher beim Neustart der Instanz stirbt. Wenn Ihre Nutzung nicht so vorübergehend ist, müssen Sie Ihr eigenes neues EBS-Volume erstellen und auf diese Weise bereitstellen.
quelle
Sie können den / tmp-Mountpunkt an / mnt / tmp binden:
quelle
Die in der Frage vorgeschlagene symbolische Verknüpfung ist keine so schlechte Lösung. Dabei ist jedoch besondere Vorsicht geboten. Um die genauen Schritte zum Mounten des Volumes zu konsolidieren, sind:
1) Erstellen Sie ein neues Volume in der AWS-Konsole. Hängen Sie es an die Instanz an.
2) Formatieren Sie es und hängen Sie es unter say ein
/mnt/vol1
3) Reinigen Sie so
/tmp
weit wie möglich.4)
mkdir /mnt/vol1/tmp && mv /tmp/* /mnt/ && rmdir /tmp && ln -s /mnt/vol1/tmp /tmp
quelle
/tmp
einen Neustart überleben.