Amazon EC2'de “Instance Store Birimleri” depolaması nasıl kullanılır?


18

AWS'ye göre Medium EC2 sunucusu ile 850 GB depolama alanım var. Ama bir Amazon Linux AMI oluşturduğumda, verilen 850 GB'yi kullanamıyorum.

Oluştururken bu gösteriyi yapan Depolama Aygıtı Yapılandırma içinde Örnekli Depo Ciltler cihaz / dev / sdb yer olacağını, ancak VM başlatmak zaman, sadece / dev / sda1 bulabilirsiniz.

Bu depoyu monte etmemde bana yardım eder misiniz? Teşekkür ederim

Ayrıca, Amazon, örnek depolama alanının uzun süreli kullanım için güvenli olmadığını ve EBS kullanmayı tercih etmesi gerektiğini iddia ettiğinde, bu 850 GB'ın anlamı nedir?

Teşekkürler


Hangi belirli örnek türünü çalıştırmaya çalışıyorsunuz? c1.medium? m1.medium? başka bir şey?
Eric Hammond

Yanıtlar:


10

Bir örnek durdurulduğunda kalıcı olmayan örnek yerel depolamanın kullanımı oldukça basittir: Geçici şeyler için yararlı olan çok büyük bir alan. Bunlar, montaj için mükemmel bir hedeftir /tmpve sunucunuz çok büyük dosyaları geçici olarak işliyorsa son derece yararlıdır.

Örneğin, yüklenen video dosyalarının sesden metne çevirisini yapmak için bir grup örnek oluşturuyorsanız, örnek yerel depolama yalnızca işlemdeki dosyaları koymak istediğiniz şey olacaktır. Dosya işlenirken birkaç saat orada olabilir, ancak tamamlandıktan sonra silinebilir ve başka bir dosya alınabilir. Bunun için EBS'ye ihtiyacınız yoktur ve bu tür bir depolamayı EBS yerine yerel örnek üzerinden çalıştırmak çok daha ucuzdur.

Eşgörünümlü yerel depolama, uzun süreli depolama için değil, işlemek için çalışma alanı olarak kullanılmak üzere tasarlanmıştır. İş yükünüz herhangi bir şey için kazı alanı kullanmıyorsa veya ihtiyacı olan şey anlamlı olmayacak kadar küçükse, sizin için uygun değildir.


16
Geçici depolama veya örnek deposu DOES bir örneğin yeniden başlatılmasında devam eder! Bir durdurma / başlatma, bir sonlandırma veya bazı örnek donanım arızalarında devam etmez. Yeniden başlatma ve durdurma / başlatma arasındaki fark hakkında yazdığım bir makale: alestic.com/2011/09/ec2-reboot-stop-start
Eric Hammond

27

Eğer zaten örn. / Mnt altına monte edilmemişse ve zaten oluşturulmuş bir dosya sistemine sahip değilse:

  1. Cihaz adını kontrol edin

    sudo fdisk -l

  2. Birimi bağlamak istediğiniz yere dizin yapın

    sudo mkdir / mnt

  3. Biriminizde dosya sistemi oluşturun (birimde yeni bir dosya sistemi oluşturduğundan doğru birimi seçtiğinizden emin olun)

    sudo mkfs.ext4 / dev / xvdj

  4. Montaj hacmi

    sudo dağı -t ext4 / dev / xvdj / mnt

  5. Örneğin, yeniden başlattıktan sonra montaj parçasını korumak istiyorsanız, / etc / fstab dosyasını açın ve montaj parçasını ekleyin

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

  6. Hepsini monte ederek fstab ile hiçbir şeyin yanlış olmadığından emin olun

    mount -a


5
Örnek türüne bağlı olarak, önce blok cihazı eşleme seçeneklerini kullanarak örnek deposu birimlerini örneğe eklemeniz gerekir. Bunu yapmazsanız, / dev altındaki cihazları göremeyebilirsiniz
Eric Hammond

@ EricHammond'un yorumu gerçekten görevimin cevabı oldu - Onları hiçbir yerde görmedim - hattafdisk -l
Peter V. Mørch

Cihazı görmüyorsanız kullanmayı deneyin lsblk.
volker238

Bu talimatlar benim için birimi bağlar, ancak birime yeni bir dosya yazmaya çalışmak "erişim reddedildi" değerini verir. İzinlerde neyin yanlış olduğunu çözemiyorum. Herhangi bir fikir?
MikeB

lsblk -fdisk birimlerini bulmanın en iyi yoludur - bağlanan birimler takma yolu ile gösterilir ve birimler için etiketleri gösterir (Linux'ta dosya sistemlerini bağlarken UUID'leri veya etiketleri kullanmanız önerilir).
RichVel

1

Ubuntu için önyükleme sırasında ve bir başlatma / durdurma döngüsünden sonra çalıştırılabilecek bir komut dosyası oluşturdum çünkü AWS dünyasında bunlar çok farklı iki şey. Yeniden başlattığınızda aynı geçici diske sahipsiniz ve tek yapmanız gereken bağlanmak (/ etc / fstab bunu otomatik olarak işlemelidir), ancak bir örnek durdurulduğunda ve yeniden başlatıldığında almak için daha fazla sevgiye ihtiyaç duyan yeni bir biçimlendirilmemiş geçici disk elde edersiniz kullanıma hazır. / Etc / fstab girdisine sahip olduğunuz sürece bunu istediğiniz zaman çalıştırabilirsiniz ve aygıtı gerektiği gibi bağlar / biçimlendirir. bağlama noktasının bir parametresini alır, ancak sağlanmazsa / mnt değerini alır. mount_ephemeral.sh komut dosyasını çağırabilir ve bir başlangıç ​​hizmetinde root olarak çalışabilirsiniz.

#!/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

/mntBirimler için bağlama noktası olarak kullanılmamayı tercih ediyorum , çünkü kural /mnt/fooher birim için kullanılıyor. Bir noktada başka bir birim monte etmek zorunda kalırsanız, bu monte /mnt/baredildiğinde sökme /mnthacminin yapılamayacağı anlamına gelir /mnt/bar. grepEğer kullanıyorsanız tehlikelidir /mntve bu şekilde puan var monte edilir /mnt/foo, çünkü /mntbazı durumlarda komut kudreti monte yüzden ya da yanlış diski mkfs - birkaç satır maç olabilir.
RichVel

Tam olarak eşleşmesi gerektiğinden benzer bağlar bulamaz. Sorun, fstab'nızda kullanılan boşlukların grep'te belirtilen değerle eşleşmesi gerektiğidir. \bKullanmak için güncelledim ama YMMV. /mntKendini değiştirmek ve sadece bir örnektir tıpkı bir varsayılan değerdir. Ek olarak, komut dosyasına bir parametre iletebilirsiniz ve bunun yerine bu bağlama noktasını kullanır. Ekleyeceğim, set -eböylece herhangi bir hata tüm betiği sonlandırır
DanJGer

düzeltme: değiştirilen \biçin\s
DanJGer

0

Örnek deposu bağlantısı da görüntüye bağlıdır:

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

Bir örneği başlattığınızda, varsayılan blok aygıt eşlemesi belirtilen AMI tarafından sağlanır. Ek örnek deposu birimlerine ihtiyacınız varsa, bunları başlatırken örneğe eklemeniz gerekir. AMI blok cihazı eşlemesinde belirtilen cihazları da atlayabileceğinizi unutmayın.

Bazı resimler mevcut tüm kaynakları kullanacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.