Frage Wie greife ich auf das angehängte Volume in Amazon EC2 zu?


Ich habe gerade ein weiteres ebs-Volume an die laufende Instanz angehängt. Aber wie greife ich auf das Volume zu? Ich kann das nicht finden /dev/sda Verzeichnis überall. Wo soll ich hinschauen?


33
2018-03-02 09:55


Ursprung




Antworten:


Wenn Sie ein EBS-Volume anhängen, geben Sie das Gerät an, an das es angehängt werden soll. Unter Linux sind diese Geräte /dev/xvd* - und sind mit verlinkt /dev/sd*

In der AWS-Konsole können Sie Ihre EBS-Volumes, die zugehörigen Instanzen und das Gerät, mit dem jedes Volume verbunden ist, wie folgt anzeigen:

AWS Console

Dasselbe können Sie mit den CLI-Tools erreichen. Legen Sie die erforderlichen Umgebungsvariablen fest:

export EC2_PRIVATE_KEY=/root/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem 
export EC2_CERT=/root/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

Führen Sie den Befehl für Ihre aktuelle Instanz aus (andernfalls geben Sie nur die Instanz-ID an):

ec2-describe-instances `curl -s http://169.254.169.254/latest/meta-data/instance-id` | grep BLOCKDEVICE

BLOCKDEVICE     /dev/sda1       vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdf        vol-xxxxxxxx    2011-11-13T21:09:53.000Z
BLOCKDEVICE     /dev/sdg        vol-xxxxxxxx    2011-11-13T21:09:53.000Z

In beiden Fällen (CLI und AWS Console) wird darauf hingewiesen, dass die Geräte als beigefügt beschrieben werden /dev/sd* - Das ist jedoch nicht der Fall.

Sehen Sie sich den Inhalt von / dev an:

ls -l /dev/sd* /dev/xv*
lrwxrwxrwx 1 root root       5 Dec 12 18:32 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdf -> xvdf
lrwxrwxrwx 1 root root       4 Dec 12 18:32 /dev/sdg -> xvdg
brw-rw---- 1 root disk 202,  1 Dec 12 18:32 /dev/xvda1
brw-rw---- 1 root disk 202, 80 Dec 12 18:32 /dev/xvdf
brw-rw---- 1 root disk 202, 96 Dec 12 18:32 /dev/xvdg

Die Geräte sind eigentlich /dev/xvd* - und das /dev/sd* Pfade sind symbolische Links.

Ein weiterer Ansatz zur Überprüfung der aktuell verfügbaren Geräte ist zu verwenden fdisk -loder für eine einfachere Ausgabe:

cat /proc/partitions
major minor  #blocks  name

 202        1    4194304 xvda1
 202       80    6291456 xvdf
 202       96    1048576 xvdg

Wenn Sie feststellen müssen, welche Geräte installiert wurden, verwenden Sie sie mount und df - und prüfe /etc/fstab um die Mount-Optionen zu ändern.


37
2018-03-02 21:39



Hat meinen Hintern gerettet. Sie müssen diese Dokumente wirklich aktualisieren. - MBHNYC
FWIW, bei den letzten Releases von Xen virtualisierten Ubuntu-Instanzen sind die xvd * -Geräte nicht mit sd * verknüpft - cbare
@cbare Können Sie bestätigen? Wenn ich in meine Konsole gehe, sehe ich ein 15-Gigabyte-Volume als / dev / sda1 angehängt. Aber wenn ich in meinen Server gehe, ist das einzige, was ich sehe, / dev / xvda1. Es gibt überhaupt kein / dev / sd *! Außerdem wird / dev / xvda1 als 32 Gigs mit 25 Gigs belegt. Kann ich sicher sein, dass diese 2 die gleichen Volumina sind? - CMCDragonkai
@ CMCDragonkai, Nicht sicher, warum Sie verschiedene Größen sehen würden, aber die xvd_-Geräte (virtuelles Xen-Gerät, vermute ich) werden über die Virtualisierungsschicht auf das gleichnamige sd_-Gerät abgebildet. Sehen: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device - cbare
Wie kommt es, dass in meinem Server der Symlink nicht existiert? Könnte ich meinen eigenen Symlink erstellen, um sicher zu stellen, dass sda1 Links zu xvda1 enthält? Die EC2-Schnittstelle sagt sda1, aber das eigentliche Gerät ist xvda1, aber momentan ohne Symlink. - CMCDragonkai


Um ein EBS-Volume zu verwenden, das an den EC2 angehängt ist, müssen Sie das Volume zuerst bereitstellen.

  1. Stellen Sie über SSH eine Verbindung zu Ihrer Instanz her.
  2. Benutze die lsblk Befehl, um die verfügbaren Datenträgergeräte und ihre Bereitstellungspunkte anzuzeigen.

[ec2-user@ip-172-31-86-46 ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 8G 0 disk
xvdf 202:80 0 100G 0 disk

  1. Erstellen Sie ein Dateisystem auf dem Volume, Beispiel -> sudo mkfs -t ext4 / dev / xvdf
  2. Erstellen Sie einen Mount Point Directoty für das Volume ->sudo mkdir mount_point
  3. So mounten Sie dieses EBS-Volume an dem soeben erstellten Speicherort -> sudo mount / dev / xvdf mount_point
  4. Um zu überprüfen, können Sie durchführen ls mount_point

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

2
2017-07-18 20:52