Initialisieren von Volumes Amazon EBS - Amazon EBS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Initialisieren von Volumes Amazon EBS

Leere EBS-Volumes erhalten Ihre maximale Leistung zum Zeitpunkt ihrer Erstellung und erfordern keine Initialisierung (früher als „Vorwärmung“ bezeichnet).

Bei Volumes beliebigen Typs, die durch Snapshots erstellt wurden, müssen die Speicherblöcke von Amazon S3 abgerufen und in das Volume geschrieben werden, bevor Sie auf sie zugreifen können. Diese vorbereitende Aktion benötigt Zeit und kann zu einer erheblichen Erhöhung der Latenzzeit von I/O-Operationen beim ersten Zugriff auf jeden Block führen. Die Leistung des Volumes wird erreicht, nachdem alle Blöcke heruntergeladen und in das Volume geschrieben wurden.

Wichtig

Beim Initialisieren der Bereitgestellte IOPS-SSD-Volumes, die aus Snapshots erstellt wurden, kann die Leistung des Volumes unter Umständen auf einen Wert unter 50 Prozent des erwarteten Niveaus abfallen. Dies führt dazu, dass für das Volume in der Statusprüfung I/O-Leistung der Status warning angezeigt wird. Dies ist normal. Sie können den Status warning bei Bereitgestellte IOPS-SSD-Volumes bei der Initialisierung ignorieren. Weitere Informationen finden Sie unter EBS-Volume-Statusprüfungen.

Für die meisten Anwendungen ist die Amortisierung der Initialisierungskosten während der Nutzungsdauer des Volumes akzeptabel. Um diesen anfänglichen Leistungseinbruch in einer Produktionsumgebung zu vermeiden, können Sie eine der folgenden Optionen verwenden:

  • Erzwingen Sie die sofortige Initialisierung des gesamten Volumes. Weitere Informationen finden Sie unter Linux-Instances (Linux-Instances) oder Windows-Instances (Windows-Instances).

  • Aktivieren Sie die schnelle Snapshot-Wiederherstellung für einen Snapshot, um sicherzustellen, dass die daraus erstellten EBS-Volumes bei der Erstellung vollständig initialisiert werden und sofort die gesamte bereitgestellte Leistung erbringen. Weitere Informationen finden Sie unter Schnelle Amazon EBS-Snapshot-Wiederherstellung.

So initialisieren Sie ein Volume, das aus einem Snapshot unter Linux wiederhergestellt wurde
  1. Fügen Sie das soeben wiederhergestellte Volume an Ihre Linux-Instance an.

  2. Verwenden Sie den Befehl lsblk, um die Blockgeräte auf Ihrer Instance aufzulisten.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /

    Hier können Sie sehen, dass das neue Volume /dev/xvdf angefügt, aber noch nicht aufgespielt ist (da der Pfad nicht in der Spalte MOUNTPOINT aufgeführt ist).

  3. Verwenden Sie den Befehl dd oder fio, um alle Blöcke auf einem Gerät zu lesen. Der Befehl dd ist in Linux-Systemen standardmäßig installiert, aber fio ist beträchtlich schneller, da er Multithread-Leseoperationen zulässt.

    Anmerkung

    Dieser Schritt kann zwischen einigen Minuten und mehreren Stunden dauern. Das hängt von der Bandbreite der EC2-Instance, der für das Volume bereitgestellten IOPS und der Größe des Volumes ab.

    [dd]Der Parameter if (Eingabedatei) sollte auf das Laufwerk festgelegt werden, das Sie initialisieren möchten. Der Parameter of (Ausgabedatei) sollte auf die virtuelle Gerätedatei (Nulldevice) /dev/null festgelegt werden. Mit dem Parameter bs wird die Blockgröße der Leseoperation angegeben. Um eine optimale Leistung zu erzielen, sollte dieser Parameter auf 1 MB festgelegt werden.

    Wichtig

    Die falsche Verwendung des Befehls dd kann die Daten eines Volumes ohne Weiteres zerstören. Achten Sie darauf, den Beispielbefehl unten genau zu befolgen. Nur der Parameter if=/dev/xvdf unterscheidet sich abhängig vom gelesenen Gerätenamen.

    [ec2-user ~]$ sudo dd if=/dev/xvdf of=/dev/null bs=1M

    [fio] Wenn der Befehl fio in Ihrem System installiert ist, verwenden Sie den folgenden Befehl, um Ihr Volume zu initialisieren. Der Parameter --filename (Eingabedatei) sollte auf das Laufwerk festgelegt werden, das Sie initialisieren möchten.

    [ec2-user ~]$ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

    Mit dem folgenden Befehl können Sie fio auf Amazon Linux installieren.

    sudo yum install -y fio

    Verwenden Sie den folgenden Befehl, um fio unter Ubuntu zu installieren:

    sudo apt-get install -y fio

    Wenn die Operation abgeschlossen ist, sehen Sie einen Bericht zur Leseoperation. Das Volume ist nun einsatzbereit. Weitere Informationen finden Sie unter Machen Sie ein Amazon EBS-Volume zur Nutzung verfügbar.

Sammeln Sie wie folgt Informationen zu den Datenträgern in Ihrem System, bevor Sie das Tool verwenden:

Sammeln von Informationen über die Systemdisketten
  1. Verwenden Sie den Befehl wmic, um die verfügbaren Datenträger in Ihrem System aufzulisten:

    wmic diskdrive get size,deviceid

    Ausgabebeispiel:

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. Mit dem Befehl dd oder fio können Sie den zu initialisierenden Datenträger angeben. Das Laufwerk C: befindet sich auch \\.\PHYSICALDRIVE0. Sie können den Befehl diskmgmt.msc verwenden, um die Laufwerkbuchstaben mit den Laufwerkzahlen zu vergleichen, wenn Sie nicht genau wissen, welche Laufwerknummer Sie verwenden sollen.

Use the dd utility

Führen Sie die folgenden Schritte aus, um dd zu installieren und damit ein Volume zu initialisieren.

Wichtige Überlegungen
  • Die Initialisierung eines Volumes kann zwischen einigen Minuten und mehreren Stunden dauern. Das hängt von der Bandbreite der EC2-Instance, der für das Volume bereitgestellten IOPS und der Größe des Volumes ab.

  • Die falsche Verwendung des Befehls dd kann die Daten eines Volumes ohne Weiteres zerstören. Befolgen Sie dieses Verfahren unbedingt genau.

Installieren von dd für Windows

Der Befehl dd für Windows funktioniert ähnlich wie der Befehl dd, der allgemein für Linux- und Unix-Systeme verfügbar ist. Sie können damit Amazon EBS-Volumes initialisieren, die aus Snapshots erstellt wurden. Die neuesten Beta-Versionen unterstützen das virtuelle Gerät /dev/null. Wenn Sie eine frühere Version installieren, können Sie stattdessen das virtuelle Gerät nul verwenden. Die vollständige Dokumentation ist unter http://www.chrysocome.net/dd verfügbar.

  1. Laden Sie die aktuelle binäre Version von dd für Windows von http://www.chrysocome.net/dd herunter.

  2. (Optional) Erstellen Sie einen Ordner für Befehlszeilenprogramme, der sich leicht finden und einprägen lässt, etwa C:\bin. Wenn Sie bereits einen Ordner für Befehlszeilenprogramme haben, können Sie stattdessen diesen Ordner im nachfolgenden Schritt verwenden.

  3. Extrahieren Sie das Binärpaket und kopieren Sie die Datei dd.exe in Ihren Ordner für Befehlszeilenprogramme (z. B. C:\bin).

  4. Fügen Sie den Ordner für Befehlszeilenprogramme der Umgebungsvariable "Path" hinzu, damit Sie die Programme in diesem Ordner von überall aus ausführen können.

    1. Wählen Sie die Option Start aus, öffnen Sie das Kontextmenü (rechte Maustaste) für Computer und wählen Sie dann Eigenschaften aus.

    2. Wählen Sie Erweiterte Systemeinstellungen, Umgebungsvariablen aus.

    3. Wählen Sie unter Systemvariablen die Variable Path und dann Bearbeiten aus.

    4. Fügen Sie unter Wert der Variablen ein Semikolon und den Pfad des Befehlszeilenprogramm-Ordners (;C:\bin\) an das Ende des vorhandenen Werts an.

    5. Klicken Sie auf OK, um das Fenster Systemvariable bearbeiten zu schließen.

  5. Öffnen Sie ein neues Befehlszeilenfenster. Mit dem vorherigen Schritt werden die Umgebungsvariablen in Ihren aktuellen Befehlszeilenfenstern nicht aktualisiert. Die Befehlszeilenfenster, die Sie jetzt öffnen, nachdem Sie den vorherigen Schritt abgeschlossen haben, werden aktualisiert.

Initialisieren eines Volumes mit dd für Windows

Führen Sie den folgenden Befehl aus, um alle Blöcke auf dem angegebenen Gerät zu lesen (und die Ausgabe an das virtuelle Gerät /dev/null zu senden). Mit diesem Befehl können Sie Ihre vorhandenen Daten sicher initialisieren.

dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

Möglicherweise tritt ein Fehler auf, wenn dd versucht, über das Ende des Volumes hinaus zu lesen. Sie können diesen Fehler ignorieren.

Wenn Sie eine frühere Version des dd-Befehls verwendet haben, wird das /dev/null-Gerät nicht unterstützt. Stattdessen können Sie das nul-Gerät wie folgt verwenden.

dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
Use the fio utility

Führen Sie die folgenden Schritte aus, um fio zu installieren und damit ein Volume zu initialisieren.

So installieren Sie fio für Windows

Der Befehl fio für Windows funktioniert ähnlich wie der Befehl fio, der allgemein für Linux- und Unix-Systeme verfügbar ist. Sie können damit Amazon EBS-Volumes initialisieren, die aus Snapshots erstellt wurden. Weitere Informationen finden Sie unter https://github.com/axboe/fio.

  1. Laden Sie das fio MSI-Installationsprogramm herunter, indem Sie Assets für die neueste Version erweitern und das MSI-Installationsprogramm auswählen.

  2. Installieren fio.

So initialisieren Sie ein Volume mit fio für Windows
  1. Führen Sie einen ähnlichen Befehl wie den folgenden aus, um ein Volume zu initialisieren:

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=128k --iodepth=32 --direct=1 --name=volume-initialize
  2. Wenn die Operation abgeschlossen ist, ist das neue Volume einsatzbereit. Weitere Informationen finden Sie unter Machen Sie ein Amazon EBS-Volume zur Nutzung verfügbar.