Migration von AWS EC2 auf einen neuen Instanztyp mit SSD-Laufwerken

13

Ich habe MySQL auf einer m1.xlarge-Instanz mit einem 100-GB-EBS-Volume, das die Datendateien enthält. Ich möchte auf eine m3.2xlarge-Instanz migrieren und die Datendateien auf den neuen SSD-Laufwerken mit 2 x 80 GB ablegen.

Ich habe meine Instanz gestoppt, den Typ entsprechend geändert und gestartet. Als Speicher konnte ich jedoch nur einen 15G-Empfänger und ein 8G-Laufwerk finden.

$ fdisk -l
Disk /dev/xvda1: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Wie erhalte ich Zugriff auf die 2 x 80-GB-SSDs für diesen Instanztyp?

paiego
quelle
fdisk -l, mkfsDann mount.
Ceejayoz
1
Wenn Sie den Instanztyp geändert und gestartet haben, werden nur der RAM- und der CPU-Typ geändert. Um die Größe der Festplatte im Allgemeinen zu ändern, sollten Sie: - einen Snapshot Ihrer Instanz erstellen - aus dem Snapshot in derselben Zone ein größeres Volume erstellen - ein neues Volume an instance / dev / sda1 anhängen - die Instanz starten (Änderungen des DNS-Namens)
LinuxDevOps
@LinuxDevOps: Danke. Wird das angehängte Volume durch die Änderung meiner Vorgehensweise weiterhin verfügbar sein, wie es vor der Instanzänderung war?
Paiego
Überprüfen Sie in Ihrer AWS-Webkonsole unter EC2-Verwaltung -> Volumes, ob es vorhanden ist (anhand der Kapazität identifizieren und 'verfügbar'), ob Sie es möglicherweise verloren haben
LinuxDevOps

Antworten:

13

Um eine vollständige Antwort zu erhalten, handelt es sich bei Ihren SSD-Laufwerken im Grunde genommen um kurzlebige Datenträger. Der AWS-Dokumentation zufolge besteht die einzige Möglichkeit, diese kurzlebigen Datenträger zu verwenden, darin, eine neue Instanz zu erstellen. (Die Funktion zum Anhängen von kurzlebigem Speicher an die Instanz nach dem Erstellen ist noch nicht verfügbar.)

Dies ist aus den AWS-Dokumenten :

Bei Instanzen, die Amazon EBS für das Root-Gerät verwenden, ist beim Start standardmäßig kein Instanzspeicher verfügbar. Außerdem können Sie keine Instanzspeicher-Volumes anhängen, nachdem Sie eine Instanz gestartet haben. Wenn Sie also möchten, dass Ihre von Amazon EBS unterstützte Instanz Instanzspeicher-Volumes verwendet, müssen Sie diese mithilfe einer Block-Gerätezuordnung angeben, wenn Sie Ihre AMI erstellen oder Ihre Instanz starten. Beispiele für Block Device Mapping-Einträge sind: / dev / sdb = ephemeral0 und / dev / sdc = ephemeral1. Weitere Informationen zum Blockieren der Gerätezuordnung finden Sie unter Blockieren der Gerätezuordnung

Wie bei @LinuxDevOps bereits erwähnt, müssen Sie einen Snapshot Ihrer vorhandenen Instanz erstellen und anschließend einen neuen, der die SSD-Volumes anfügt. Nachdem Sie sich in Ihre neue Instanz eingeloggt haben, können Sie wie erwähnt @ceejayoz.

Listen Sie Ihre Geräte auf:

fdisk -l

Erstellen Sie ein Dateisystem auf den Geräten. Zum Beispiel ext4

mkfs.ext4 /dev/xvdb
mkfs.ext4 /dev/xvdc

Montieren Sie die Geräte:

mkdir -p /mnt/xvdb; mkdir -p /mnt/xvdc
mount /dev/xvdb /mnt/xvdb
mount /dev/xvdc /mnt/xvdc

Als Referenz: Liste der Gerätenamen nach Instanztypen

Es gibt auch andere ähnliche Antworten in SF und SO. Zum Beispiel: Wo ist mein kurzlebiger Speicher für die EC2-Instanz?

Rico
quelle