Bagaimana cara menggunakan penyimpanan "Volume Toko Instance" di Amazon EC2?

18

Menurut AWS saya mendapat penyimpanan 850 GB dengan server Medium EC2. Tetapi ketika saya membuat Amazon Linux AMI, saya tidak dapat menggunakan 850 GB yang disediakan.

Saat membuatnya memang muncul di Konfigurasi Device Storage di Instance Store Volume bahwa perangkatnya akan berlokasi di / dev / sdb, tetapi ketika saya memulai VM, saya hanya menemukan / dev / sda1.

Bisakah Anda membantu saya dalam memasang penyimpanan ini? Terima kasih

Juga, ketika Amazon mengklaim bahwa penyimpanan instan tidak aman untuk penggunaan jangka panjang dan harus memilih menggunakan EBS, lalu apa gunanya 850 GB itu?

Terima kasih

rahulg
sumber
Jenis instance spesifik apa yang Anda coba jalankan? c1.medium? menengah1? sesuatu yang lain?
Eric Hammond
1
Berikut adalah dua sumber yang bagus untuk belajar tentang penyimpanan instan pada EC2: docs.amazonwebservices.com/AWSEC2/latest/UserGuide/… dan docs.amazonwebservices.com/AWSEC2/latest/UserGuide/…
Eric Hammond

Jawaban:

10

Penggunaan penyimpanan instance-lokal yang tidak persisten saat instance dihentikan cukup sederhana: Ini adalah ruang yang sangat besar yang berguna untuk hal-hal sementara. Mereka adalah target yang sempurna untuk pemasangan /tmp, dan sangat berguna jika server Anda menangani file yang sangat besar secara sementara.

Misalnya, jika Anda sedang membangun grup instance untuk melakukan terjemahan suara-ke-teks dari file video yang diunggah, penyimpanan lokal-instance akan menjadi hal yang Anda inginkan untuk meletakkan file dalam proses. Mungkin ada di sana selama beberapa jam saat file diproses, tetapi begitu selesai, file itu dapat dihapus dan diambil lagi. Anda tidak memerlukan EBS untuk itu, dan jauh lebih murah untuk menjalankan penyimpanan semacam itu dari instance-local daripada EBS.

Penyimpanan instan-lokal dimaksudkan untuk digunakan sebagai ruang awal untuk menjalankan pemrosesan, bukan penyimpanan jangka panjang. Jika beban kerja Anda tidak menggunakan ruang awal untuk apa pun, atau apa yang dibutuhkannya kecil hingga tidak signifikan, maka itu tidak cocok untuk Anda.

sysadmin1138
sumber
16
Penyimpanan Ephemeral atau toko contoh TIDAK bertahan pada reboot dari sebuah instance! Itu tidak bertahan di berhenti / mulai, atau penghentian, atau beberapa kegagalan perangkat keras contoh. Berikut ini adalah artikel yang saya tulis tentang perbedaan antara reboot dan stop / start: alestic.com/2011/09/ec2-reboot-stop-start
Eric Hammond
27

Jika itu belum di-mount di bawah misalnya / mnt dan jika tidak memiliki sistem file yang dibuat maka lakukan:

  1. Periksa nama perangkat

    sudo fdisk -l

  2. Buat direktori ke tempat Anda ingin memasang volume

    sudo mkdir / mnt

  3. Buat sistem file pada volume Anda (pastikan Anda memilih volume yang benar karena ini menciptakan sistem file baru pada volume)

    sudo mkfs.ext4 / dev / xvdj

  4. Pasang volume

    sudo mount -t ext4 / dev / xvdj / mnt

  5. Jika Anda ingin mempertahankan mount setelah mis restart, buka / etc / fstab dan tambahkan mount ke sana

    echo "/ dev / xvdj / mnt noatime otomatis 0 0" | sudo tee -a / etc / fstab

  6. Pastikan tidak ada yang salah dengan fstab dengan memasang semua

    mount -a

horte
sumber
5
Bergantung pada jenis instance, Anda harus terlebih dahulu melampirkan volume penyimpanan instance ke instance dengan menggunakan opsi pemetaan blok perangkat. Jika Anda tidak melakukan ini, Anda bahkan mungkin tidak melihat perangkat di bawah / dev
Eric Hammond
Komentar @ EricHammond benar-benar jawaban untuk pencarian saya - saya tidak melihat mereka di mana pun - bahkan difdisk -l
Peter V. Mørch
Jika Anda tidak melihat perangkat coba gunakan lsblk.
volker238
Instruksi ini me-mount volume untuk saya, tetapi mencoba menulis file baru ke volume memberikan "akses ditolak". Saya tidak bisa memilah apa yang salah dengan izin. Ada ide?
MikeB
lsblk -fadalah cara terbaik untuk menemukan volume disk - volume apa pun yang dipasang akan ditampilkan dengan jalur mount, dan itu menunjukkan label untuk volume (disarankan untuk menggunakan UUID atau label saat memasang sistem file di Linux).
RichVel
1

Saya membuat skrip untuk Ubuntu yang dapat dijalankan saat boot dan setelah siklus start / stop karena di dunia AWS itu adalah dua hal yang sangat berbeda. Ketika Anda reboot Anda masih memiliki disk ephemeral yang sama dan yang harus Anda lakukan adalah me-mount (/ etc / fstab harus menangani ini secara otomatis) tetapi ketika sebuah instance dihentikan dan kemudian restart Anda mendapatkan disk ephemeral baru yang belum diformat yang membutuhkan lebih banyak cinta untuk mendapatkan siap digunakan. Selama Anda memiliki entri / etc / fstab yang benar, Anda dapat menjalankannya kapan saja dan akan memasang / memformat perangkat sesuai kebutuhan. itu akan mengambil parameter dari titik mount tetapi jika tidak disediakan itu akan menganggap / mnt Anda dapat memanggil script mount_ephemeral.sh dan dijalankan sebagai root di layanan startup.

#!/bin/sh
set -e
mountPoint=${1:-'/mnt'}
rawDevice=$(grep "\s$mountPoint\s" /etc/fstab |cut -f1)
#echo checking $mountPoint on $rawDevice
[ "$rawDevice" = "" ] && { echo -e "$mountPoint not in /etc/fstab"; exit 1; }
mountpoint -q $mountPoint
[  "$?" = "0" ] && { echo -e "$mountPoint mounted"; exit; }
hasFS=$(blkid |grep $rawDevice)
[ ! "$hasFS" = "" ] && { echo -e "$mountPoint has FS:$hasFS"; mount $mountPoint; exit; }
echo initializing $mountPoint on $rawDevice
mkdir -p $mountPoint
mkfs.ext4 $rawDevice
mount $mountPoint
chmod 777 $mountPoint
exit 0
DanJGer
sumber
Saya lebih suka tidak menggunakan /mntsebagai titik pemasangan untuk volume, karena konvensi adalah yang /mnt/foodigunakan untuk setiap volume. Jika Anda harus memasang volume lain di beberapa titik seperti yang dikatakan /mnt/bar, itu berarti bahwa unmount /mntvolume tidak dapat dilakukan saat /mnt/barsedang dipasang. Ini grepberbahaya jika Anda menggunakan /mntdan ada mount poin seperti /mnt/foo, karena /mntbisa cocok dengan beberapa baris - jadi skrip mungkin dalam beberapa kasus me-mount atau mkfs disk yang salah.
RichVel
Itu tidak akan menemukan mount serupa lainnya karena harus cocok persis. Masalahnya adalah spasi putih yang digunakan dalam fstab Anda harus cocok dengan nilai yang dikutip dalam grep. Saya telah memperbarui untuk menggunakan \btetapi YMMV. Ini /mnthanya default, Anda dapat mengubah diri sendiri dan hanya sebuah contoh. Selain itu, Anda bisa mengirimkan parameter ke skrip dan itu akan menggunakan titik mount itu sebagai gantinya. Saya akan menambahkan set -eagar kegagalan apa pun mengakhiri seluruh skrip
DanJGer
koreksi: diubah dari \bke\s
DanJGer
0

Pemasangan store instan juga tergantung pada gambar:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html

Ketika Anda meluncurkan sebuah instance, pemetaan blok perangkat default disediakan oleh AMI yang ditentukan. Jika Anda membutuhkan volume toko instance tambahan, Anda harus menambahkannya ke instance saat Anda meluncurkannya. Perhatikan bahwa Anda juga dapat menghilangkan perangkat yang ditentukan dalam pemetaan perangkat blok AMI.

Beberapa gambar akan menggunakan semua sumber daya yang tersedia.

Zulu
sumber