Verfügbarmachen eines Amazon EBS-Volumes für die Verwendung auf Linux - Amazon Elastic Compute Cloud

Verfügbarmachen eines Amazon EBS-Volumes für die Verwendung auf Linux

Nach dem Anfügen eines Amazon EBS-Volumes an Ihre Instance wird sie als Blockgerät. Sie können das Volume mit einem beliebigen Dateisystem formatieren und dann mounten. Nachdem Sie das EBS-Volume für die Verwendung verfügbar gemacht haben, können Sie mit den gleichen Methoden darauf zugreifen, wie auf jedes andere Volume. Alle in dieses Dateisystem geschriebenen Daten werden auf das EBS-Volume geschrieben und sind für Anwendungen, die das Gerät verwenden, transparent.

Sie können Snapshots Ihres EBS-Volumes zu Sicherungszwecken erstellen oder als Basis für die Erstellung eines weiteren Volumes verwenden. Weitere Informationen finden Sie unter Amazon EBS-Snapshots.

Anleitungen für Volumes auf einer Windows-Instance finden Sie unter Verfügbarmachen eines Volumes für die Verwendung auf Windows im Amazon EC2-Benutzerhandbuch für Windows-Instances.

Formatieren und Mounten eines verknüpften Volumes

Angenommen, Sie haben eine EC2-Instance mit einem EBS-Volume für das Root-Gerät, /dev/xvda, und Sie haben soeben ein leeres EBS-Volume mithilfe von /dev/sdf mit der Instance verknüpft. Gehen Sie wie folgt vor, damit das neu verknüpfte Volume verwendet werden kann.

So formatieren und mounten Sie ein EBS-Volume unter Linux

  1. Stellen Sie per SSH eine Verbindung mit Ihrer Instance her. Weitere Informationen finden Sie unter Herstellen einer Verbindung zur Linux-Instance.

  2. Das Gerät kann mit einer Instance mit einem anderen als dem von Ihnen in der Blockgerät-Zuweisung angegeben Namen verknüpft werden. Weitere Informationen finden Sie unter Gerätebenennung bei Linux-Instances. Verwenden Sie den Befehl lsblk, um Ihre verfügbaren Datenträger und (ggf.) deren Mounting-Punkte anzuzeigen, damit Sie anhand dieser Informationen den richtigen Gerätenamen ermitteln können. Die Ausgabe von lsblk entfernt das Präfix /dev/ aus vollständigen Gerätepfaden.

    Im Folgenden finden Sie eine Beispielausgabe für eine Instance, die auf dem Nitro-System basiert und EBS-Volumes als NVMe-Blockgeräte bereitstellt. Das Root-Gerät ist /dev/nvme0n1. Das verknüpfte Volume ist /dev/nvme1n1, das noch nicht gemountet ist.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part

    Nachstehend finden Sie eine Beispielausgabe für eine T2-Instance. Das Root-Gerät ist /dev/xvda. Das verknüpfte Volume ist /dev/xvdf, das noch nicht gemountet ist.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
  3. Stellen Sie fest, ob es ein Dateisystem auf dem Volume gibt. Neue Volumes sind unformatierte Blockgeräte. Sie müssen ein Dateisystem auf ihnen erstellen, bevor Sie sie mounten und verwenden können. Auf Volumes, die aus Snapshots erstellt wurden, ist wahrscheinlich bereits ein Dateisystem vorhanden. Wenn Sie ein dann weiteres Dateisystem erstellen, werden bei diesem Vorgang Ihre Daten überschrieben.

    Verwenden Sie den Befehl file -s, um Informationen zu einem Gerät zu erhalten, z. B. den zugehörigen Dateisystemtyp. Wenn die Ausgabe einfach data anzeigt, so wie in der folgenden Beispielausgabe, ist auf dem Gerät kein Dateisystem vorhanden und Sie müssen eines erstellen.

    [ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data

    Wenn das Gerät ein Dateisystem hat, zeigt der Befehl Informationen zum Dateisystemtyp an. In der folgenden Ausgabe ist beispielsweise ein Root-Gerät mit XFS-Dateisystem zu sehen.

    [ec2-user ~]$ sudo file -s /dev/xvda1 /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
  4. (Bedingt) Wenn Sie im vorherigen Schritt festgestellt haben, dass es ein Dateisystem auf dem Gerät gibt, überspringen Sie diesen Schritt. Wenn Sie ein leeres Volume haben, erstellen Sie mit dem Befehl mkfs -t ein Dateisystem auf dem Volume.

    Warnung

    Verwenden Sie diesen Befehl nicht, wenn Sie ein Volume mounten, auf dem sich bereits Daten befinden (z. B. ein Volume, das aus einem Snapshot erstellt wurde). Andernfalls formatieren Sie das Volume und löschen die vorhandenen Daten.

    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    Wenn Sie die Fehlermeldung erhalten, dass mkfs.xfs nicht gefunden wurde, können Sie mit folgendem Befehl die XFS-Tools installieren und anschließend den vorherigen Befehl wiederholen:

    [ec2-user ~]$ sudo yum install xfsprogs
  5. Erstellen Sie mit dem Befehl mkdir das Mountingpunkt-Verzeichnis für das Volume. Der Mounting-Punkt ist die Position des Volumes in der Dateisystemstruktur und wo nach dem Mounten des Volumes Dateien gelesen und geschrieben werden. Im folgenden Beispiel wird ein Verzeichnis mit dem Namen /data erstellt.

    [ec2-user ~]$ sudo mkdir /data
  6. Verwenden Sie den folgenden Befehl, um das Volume im Verzeichnis zu mounten, das Sie im vorherigen Schritt erstellt haben.

    [ec2-user ~]$ sudo mount /dev/xvdf /data
  7. Überprüfen Sie die Dateiberechtigungen Ihrer Volumebereitstellung, um sicherzustellen, dass Ihre Benutzer und Anwendungen auf das Volume schreiben können. Weitere Informationen zu Dateiberechtigungen finden Sie unter Dateisicherheit im Linux-Dokumentationsprojekt.

  8. Der Mountingpunkt wird nach dem Neustarten der Instance nicht automatisch beibehalten. Informationen zum automatischen Mounten dieses EBS-Volumes nach dem Neustart finden Sie unter Automatisches Mounten eines verknüpften Volumes nach dem Neustart.

Automatisches Mounten eines verknüpften Volumes nach dem Neustart

Um ein verknüpftes EBS-Volume bei jedem Neustart des Systems zu mounten, fügen Sie der Datei /etc/fstab einen Eintrag für das Gerät hinzu.

Sie können den Gerätenamen, z. B. /dev/xvdf, in /etc/fstab verwenden, empfohlen wird jedoch die Verwendung des 128-Bit-UUID (Universally Unique Identifier) des Geräts. Die Gerätenamen können geändert werden, aber der UUID bleibt während der gesamten Nutzungsdauer der Partition bestehen. Durch Verwenden des UUID reduzieren Sie das Risiko, dass das System nach einer Neukonfiguration der Hardware nicht mehr gestartet werden kann. Weitere Informationen finden Sie unter Identifizieren des EBS-Geräts.

So mounten Sie ein verknüpftes Volume nach dem Neustart automatisch

  1. (Optional) Erstellen Sie eine Sicherung der Datei /etc/fstab für den Fall, dass Sie diese Datei beim Bearbeiten versehentlich beschädigen oder löschen.

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. Verwenden Sie den Befehl blkid, um den UUID des Geräts zu finden.

    [ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"

    Verwenden Sie für Ubuntu 18.04 den lsblk-Befehl.

    [ec2-user ~]$ sudo lsblk -o +UUID
  3. Öffnen Sie die Datei /etc/fstab mit einem Texteditor Ihrer Wahl, z. B. nano oder vim.

    [ec2-user ~]$ sudo vim /etc/fstab
  4. Fügen Sie der Datei /etc/fstab den folgenden Eintrag hinzu, um das Gerät am angegebenen Mountingpunkt zu mounten. Die Felder sind der UUID-Wert, der vom Befehl blkid (oder lsblk für Ubuntu 18.04) zurückgegeben wurde, der Mountingpunkt, das Dateisystem und die empfohlenen Mountingoptionen für das Dateisystem. Weitere Informationen finden Sie auf der Handbuchseite für fstab (führen Sie man fstab aus).

    UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
    Anmerkung

    Wenn Sie Ihre Instance jemals booten, ohne dass dieses Volume verknüpft ist (z. B. nachdem das Volume zu einer anderen Instances verschoben wurde), ermöglicht die Mountingoption nofail das Starten der Instance, auch wenn beim Mounten des Volumes Probleme auftreten. Unter Debian-Derivaten wie Ubuntu-Versionen vor 16.04 muss außerdem die Mount-Option nobootwait hinzugefügt werden.

  5. Um zu prüfen, ob der Eintrag funktioniert, führen Sie die folgenden Befehle aus, um das Mounting des Geräts aufzuheben und dann alle Dateisysteme in /etc/fstab zu mounten. Wenn es keine Fehler gibt, ist die /etc/fstab-Datei in Ordnung und das Dateisystem wird nach dem Neustart automatisch gemountet.

    [ec2-user ~]$ sudo umount /data [ec2-user ~]$ sudo mount -a

    Wenn Sie eine Fehlermeldung erhalten, beheben Sie die Fehler in der Datei.

    Warnung

    Fehler in der Datei /etc/fstab können dazu führen, dass ein System nicht mehr gestartet werden kann. Fahren Sie das System nicht herunter, wenn Fehler in der Datei /etc/fstab auftreten.

    Wenn Sie nicht sicher sind, wie Fehler /etc/fstab korrigiert werden, und Sie im ersten Schritt dieses Verfahren eine Sicherungsdatei erstellt haben, können Sie mit dem folgenden Befehl eine Wiederherstellung aus Ihrer Sicherungsdatei durchführen.

    [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab