Fügen Sie EBS zur Ubuntu EC2-Instanz hinzu

140

Ich habe Probleme beim Anschließen des EBS-Volumes an meine Ubuntu EC2-Instanz.

Folgendes habe ich getan:

  1. Über die Amazon AWS Console habe ich ein EBS 150 GB-Volume erstellt und es an eine Ubuntu 11.10 EC2-Instanz angehängt. Unter den EBS-Volume-Eigenschaften zeigt "Anhang": "[meine Ubuntu-Instanz-ID]: / dev / sdf (angehängt)"

  2. Es wurde versucht, das Laufwerk auf der Ubuntu-Box zu mounten, und es wurde mir mitgeteilt, dass "mount: / dev / sdf kein Blockgerät ist".

    sudo mount /dev/sdf /vol

  3. Also habe ich mit fdisk nachgesehen und versucht, vom neuen Speicherort aus zu mounten, und es hat mir gesagt, dass es nicht das richtige Dateisystem ist.

    sudo fdisk -l

    sudo mount -v -t ext4 /dev/xvdf /vol

    der Fehler:

    mount: falscher fs-Typ, schlechte Option, schlechter Superblock in / dev / xvdf, fehlende Codepage oder Hilfsprogramm oder anderer Fehler In einigen Fällen finden Sie nützliche Informationen in syslog - try dmesg | Schwanz oder so

    "dmesg | tail" sagte mir, dass es den folgenden Fehler gab:

    EXT4-fs (sda1): VFS: ext4-Dateisystem kann nicht gefunden werden

Ich habe auch versucht, die Konfigurationen in die Datei / etc / fstab zu kopieren, wie unter http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance beschrieben , aber immer noch nicht das Recht gegeben Dateisystemfehler.

Fragen:

Q1: Basierend auf Punkt 1 (oben), warum wurde das Volume 'dev / sdf' zugeordnet, wenn es wirklich '/ dev / xvdf' zugeordnet ist?

F2: Was muss ich noch tun, um das EBS-Volume zu laden? Ich dachte, es kümmert sich nur um alles für mich, wenn ich es an eine Instanz anhänge.

JackDev
quelle
Dies kann zu einer sysadmin-orientierten StackExchange-Site gehören. Trotzdem genau das, was ich finden musste. Danke, dass Sie das gefragt haben!
pcurry

Antworten:

325

Da es sich um ein neues Volume handelt, müssen Sie das EBS-Volume (Blockgerät) zwischen Schritt 1 und Schritt 2 mit einem Dateisystem formatieren. Der gesamte Prozess mit Ihrem Beispiel-Mount-Punkt lautet also:

  1. Erstellen Sie ein EBS-Volume.

  2. Schließen Sie das EBS-Volume an /dev/sdf(den externen Namen von EC2 für diese bestimmte Gerätenummer) an.

  3. Dateisystem formatieren /dev/xvdf(Ubuntus interner Name für diese bestimmte Gerätenummer):

    sudo mkfs.ext4 /dev/xvdf
    

    Formatieren Sie das Dateisystem nur, wenn es sich um ein neues Volume handelt, auf dem keine Daten gespeichert sind. Durch die Formatierung ist es schwierig oder unmöglich, Daten abzurufen, die sich zuvor auf diesem Volume befanden.

  4. Mount-Dateisystem (mit Update auf / etc / fstab, damit es beim Neustart gemountet bleibt):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    
Eric Hammond
quelle
3
Um genau zu sein, existiert / dev / xvdf vor dem Mounten von / dev / sdf nicht.
Dror
2
Vielen Dank dafür! Das Verzeichnis / mnt hat mich völlig verwirrt und ich habe fälschlicherweise angenommen, dass mein zusätzliches EBS-Volume (/ dev / xvdf), das ich AWS bei der Instanzerstellung anhängen sollte, bereits bereitgestellt wurde. Auch die Zuordnung zwischen AWS (/ dev / sdf) und (/ dev / xvdf), die auf Ubuntu vorhanden ist, hat mich ausgelöst.
Ankimal
7
@scrapcodes: Glücklicherweise sind dies definitiv die richtigen Schritte für die Frage des Originalplakats (neues, unformatiertes EBS-Volume). Dies sind sicherlich nicht die richtigen Schritte, wenn Sie eine völlig andere Situation haben (EBS-Volume, das aus einem Snapshot mit vorhandenem Dateisystem erstellt wurde).
Eric Hammond
9
Warum enthält Schritt vier die Flagge -m 000?
Joe Mornin
25
@JosephMornin Das Ausschalten aller Bits im Modus ist ein einfacher Indikator dafür, dass niemand in diesem Verzeichnis etwas tun darf, bis hier ein neues Dateisystem bereitgestellt wird. Es ist eine Nachricht, dass dieses Verzeichnis als Einhängepunkt erstellt wurde. Es ist für die Funktionalität nicht erforderlich, vermeidet jedoch manchmal die Fehler beim Erstellen von Dateien, wenn das gewünschte Volume nicht bereitgestellt wird.
Eric Hammond
-3

Schritt 1: Volume erstellen
Schritt 2: An das Root-Volume Ihrer Instanz anhängen
Schritt 3: sudo resize 2fs -p / dev / xvde ausführen
Schritt 4: apache2 neu starten sudo service apache2 restart Schritt 4:
df -h ausführen

Sie können das Gesamtvolumen Ihrer Instanz anzeigen.

Ramesh Sinha
quelle