Bagaimana cara mengakses volume terlampir di Amazon EC2

34

Saya baru saja memasang volume ebs lain untuk menjalankan instance. Tetapi bagaimana cara mengakses volume? Saya tidak dapat menemukan /dev/sdadirektori di mana pun. Di mana saya harus mencari?

Maca
sumber

Jawaban:

40

Saat Anda memasang volume EBS, Anda menentukan perangkat yang akan dilampirkan. Di Linux, perangkat ini /dev/xvd*- dan disinkronkan dengan/dev/sd*

Di konsol AWS, Anda dapat melihat volume EBS Anda, instance apa yang dilampirkan, dan masing-masing perangkat volume terpasang sebagai:

Konsol AWS

Anda dapat mencapai hal yang sama dari alat CLI. Tetapkan variabel lingkungan yang diperlukan:

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

Jalankan perintah pada instance Anda saat ini (jika tidak, cukup tentukan instance-id):

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

Perlu dicatat bahwa dalam kedua kasus di atas - CLI dan AWS Console - perangkat digambarkan terpasang pada /dev/sd*- namun ini tidak benar-benar terjadi.

Lihatlah isi / dev:

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

Perangkat sebenarnya /dev/xvd*- dan /dev/sd*jalurnya adalah symlink.

Pendekatan lain untuk memeriksa perangkat yang saat ini tersedia adalah menggunakan fdisk -l, atau untuk output yang lebih sederhana:

cat /proc/partitions
major minor  #blocks  name

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

Jika Anda perlu menentukan perangkat mana yang telah dipasang gunakan mountdan df- dan centang /etc/fstabuntuk mengubah opsi pemasangan.

cyberx86
sumber
1
Disimpan pantatku. Mereka benar-benar perlu memperbarui dokumen-dokumen itu.
MBHNYC
9
FWIW, pada rilis baru-baru ini instance Xen Ubuntu tervirtualisasi, perangkat xvd * tidak terhubung ke sd *
cbare
1
@cbare Bisakah Anda mengonfirmasi. Ketika saya masuk ke konsol saya, saya melihatnya volume 15 pertunjukan terpasang sebagai / dev / sda1. Tetapi ketika saya masuk ke server saya, satu-satunya hal yang saya lihat adalah / dev / xvda1. Tidak ada / dev / sd * sama sekali! Juga / dev / xvda1 terbukti 32 gigs dengan 25 gigs habis. Dapatkah saya yakin bahwa 2 ini adalah volume yang sama?
CMCDragonkai
@ CMCDragonkai, Tidak yakin mengapa Anda akan melihat ukuran yang berbeda tetapi perangkat xvd_ (Perangkat Virtual Xen, saya kira) dipetakan melalui lapisan virtualisasi ke perangkat sd_ yang disebut setara. Lihat: askubuntu.com/questions/166083/what-is-the-dev-xvda1-device
cbare
4
Kenapa di server saya symlink tidak ada? Bisakah saya membuat symlink saya sendiri untuk memastikan tautan sda1 ke xvda1? Antarmuka EC2 mengatakan sda1, tetapi perangkat sebenarnya adalah xvda1, tetapi tanpa symlink saat ini.
CMCDragonkai
6

Untuk menggunakan volume EBS yang terpasang di EC2, Anda harus memasang volume terlebih dahulu.

  1. Hubungkan ke instance Anda menggunakan SSH.
  2. Gunakan perintah lsblk untuk melihat perangkat disk yang tersedia dan titik pemasangannya.

[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. buat sistem file pada volume, contoh -> sudo mkfs -t ext4 / dev / xvdf
  2. buat titik mount directoty untuk volume -> sudo mkdir mount_point
  3. Untuk memasang volume EBS ini di lokasi yang baru Anda buat -> sudo mount / dev / xvdf mount_point
  4. Untuk memeriksa Anda dapat melakukan ls mount_point

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html
Renato Coutinho
sumber
Ini berfungsi dan jauh lebih mudah
user159972
Ini harus menjadi jawaban yang diterima
oneirois