Laut AWS habe ich mit dem Medium EC2 Server 850 GB Speicher erhalten. Aber wenn ich ein Amazon Linux AMI erstelle, kann ich die mitgelieferten 850 GB nicht verwenden.
Während der Erstellung wird in der Speichergerätekonfiguration in Instance Store Volumes angezeigt, dass sich das Gerät unter / dev / sdb befindet. Wenn ich die VM starte, finde ich jedoch nur / dev / sda1.
Können Sie mir bitte bei der Montage dieses Speichers helfen? Danke dir
Wenn Amazon behauptet, dass der Instanzspeicher für die langfristige Nutzung nicht sicher ist und die Verwendung von EBS vorziehen sollte, wozu sind dann diese 850 GB gut?
Vielen Dank
Antworten:
Die Verwendung von instanzlokalem Speicher, der beim Stoppen einer Instanz nicht persistent ist, ist recht einfach: Es handelt sich um einen sehr großen Speicherbereich, der für vorübergehende Dinge nützlich ist. Sie sind das perfekte Ziel für das Mounten
/tmp
und äußerst nützlich, wenn Ihr Server sehr große Dateien vorübergehend verarbeitet.Wenn Sie beispielsweise eine Gruppe von Instanzen erstellen, um hochgeladene Videodateien in Text zu übersetzen, ist der instanzlokale Speicher genau das Richtige, um die in Bearbeitung befindlichen Dateien zu speichern. Es kann einige Stunden dauern, bis die Datei verarbeitet wurde. Sobald dies erledigt ist, kann die Datei gelöscht und eine weitere aufgenommen werden. Sie brauchen dafür kein EBS, und es ist viel billiger, diese Art von Speicher instanzlokal als EBS zu betreiben.
Der instanzlokale Speicher soll als Arbeitsspeicher für die Ausführung der Verarbeitung und nicht als Langzeitspeicher verwendet werden. Wenn Ihre Workload keinen Arbeitsspeicherplatz für irgendetwas benötigt oder das, was benötigt wird, so klein ist, dass es nicht signifikant ist, dann passt es nicht zu Ihnen.
quelle
Wenn es nicht bereits unter zB / mnt gemountet ist und noch kein Dateisystem erstellt wurde, gehen Sie wie folgt vor:
Überprüfen Sie den Gerätenamen
sudo fdisk -l
Erstellen Sie ein Verzeichnis, in dem Sie das Volume bereitstellen möchten
sudo mkdir / mnt
Erstellen Sie ein Dateisystem auf Ihrem Volume (stellen Sie sicher, dass Sie das richtige Volume auswählen, da dadurch ein neues Dateisystem auf dem Volume erstellt wird).
sudo mkfs.ext4 / dev / xvdj
Mount Volume
sudo mount -t ext4 / dev / xvdj / mnt
Wenn Sie den Mount zB nach einem Neustart beibehalten möchten, öffnen Sie / etc / fstab und fügen Sie den Mount hinzu
echo "/ dev / xvdj / mnt auto noatime 0 0" | sudo tee -a / etc / fstab
Stellen Sie sicher, dass mit fstab nichts falsch ist, indem Sie all einhängen
mount -a
quelle
fdisk -l
lsblk
.lsblk -f
ist der beste Weg, um Datenträger zu finden. Alle bereitgestellten Datenträger werden mit dem Bereitstellungspfad und den Bezeichnungen für Datenträger angezeigt (empfohlen wird die Verwendung von UUIDs oder Bezeichnungen beim Bereitstellen von Dateisystemen unter Linux).Ich habe ein Skript für Ubuntu erstellt, das beim Booten und nach einem Start / Stopp-Zyklus ausgeführt werden kann, da dies in der Welt von AWS zwei sehr unterschiedliche Dinge sind. Wenn Sie neu starten, haben Sie immer noch die gleiche kurzlebige Festplatte, und Sie müssen nur noch mounten (/ etc / fstab sollte dies automatisch erledigen). Wenn jedoch eine Instanz gestoppt und dann neu gestartet wird, erhalten Sie eine neue unformatierte kurzlebige Festplatte, die mehr Liebe benötigt bereit zum Benutzen. Solange Sie den / etc / fstab-Eintrag korrekt eingegeben haben, können Sie diesen jederzeit ausführen und das Gerät wird nach Bedarf eingehängt / formatiert. Es wird ein Parameter des Einhängepunkts verwendet, aber falls nicht angegeben, wird / mnt angenommen. Sie können das Skript mount_ephemeral.sh aufrufen und als root in einem Startdienst ausführen.
quelle
/mnt
als Einhängepunkt für Volumes zu verwenden, da die Konvention/mnt/foo
für jedes Volume verwendet wird. Wenn Sie irgendwann ein anderes Volume/mnt/bar
bereitstellen müssen, würde dies bedeuten, dass die Bereitstellung des/mnt
Volumes nicht rückgängig gemacht werden kann, solange/mnt/bar
es bereitgestellt ist. Dasgrep
ist gefährlich, wenn Sie/mnt
Mount-Punkte verwenden und es gibt/mnt/foo
, da/mnt
mehrere Zeilen übereinstimmen könnten - daher kann das Skript in einigen Fällen die falsche Festplatte mounten oder mkfs.\b
aber YMMV zu verwenden. Dies/mnt
ist nur eine Voreinstellung, die Sie selbst ändern können, und nur ein Beispiel. Darüber hinaus können Sie dem Skript einen Parameter übergeben, der stattdessen diesen Einhängepunkt verwendet. Ich werde hinzufügenset -e
, dass jeder Fehler das gesamte Skript beendet\b
bis\s
Die Bereitstellung des Instanzspeichers hängt auch vom Image ab:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html
Einige Bilder verwenden alle verfügbaren Ressourcen.
quelle