Amazon EC2 bulut sunucumun kök EBS cihazını değiştirebilir miyim?


107

EBS destekli bir Amazon EC2 bulut sunucum var. Bu örnekteki kök cihazı değiştirmek istiyorum. Lütfen bunun için en iyi yolu söyleyebilir misiniz?

Yalnızca engelleme aygıtlarının birkaç özniteliğini değiştirmeye ilişkin belgeleri buluyorum, ancak kök aygıt olarak ayarlamayı içermiyor gibi görünüyorlar.

Yanıtlar:


191

Evet, çok kolay:

  1. Örneği durdurun.
  2. Kök EBS birimini ayırın.
  3. Alternatif EBS birimini kök olarak ekleyin: /dev/sda1
  4. Örneği başlatın.

Bu, tabii ki, alternatif EBS biriminizin önyüklenebilir olduğunu varsayar - önyüklenebilir işletim sistemi görüntüsünü içermesi gerekir.


50
Anahtar "kök olarak" - /dev/sda1gerçekten!
Aseem Kishore

6
Teşekkürler, bu harika. Bunlardan biri, bu olduğunda DNS / IP'nin değişebileceğidir, bu nedenle tüm DNS / Elastik IP'leri vb. Güncellediğinizden emin olun. Bir süre neden buna artık katılamadığımı anlamaya çalıştım ve nedeni buydu.
mrooney

14
Ne benim için ne /dev/sdade /dev/sda1çalıştı, ama /dev/xvdayaptı.
bhspencer

9
Adamım, bu korkutucuydu. /dev/sda- işe yaramadı. /dev/sda1, dev/sdf- çalıştı, ancak örnek önyükleme yapmadı. /dev/xvdaçalıştı.
Alex Fortuna

13
aws ec2 describe-instances --instance-id i-XXXXXXX | grep -i rootDeviceName/dev/xvda
Kullanmanız

43

Seçilen cevaba yorum eklemek için yeterli temsilcim yok, ancak benim için /dev/sda1işe yaramadığını (kök olarak eklemediğini), ancak /dev/xvdaçalıştığını (kök olarak eklenmiş) kullandığımı belirtmek istiyorum . Örnek, HVM kullanan en yeni t2.micro örneklerinden biridir.


VPC'de bulunan makinelerin, / dev / xv * formatındaki cihaz isimlerinin kendisinin çalıştığını ve / dev / sd * formatında isim vermenize gerek olmadığını düşünüyorum. Bu bir gözlem - bunu güvenle söyleyecek uzman değilim.
Mayank Jaiswal

Bu tanıma uyan, kök cihazı çıkarıp yeniden taktıktan sonra önyükleme yapamayan ("Kök cihaz bulunamıyor") bir örneğim var. Bu yanıtı denemek istiyorum, ancak bunu /dev/sda1ekleyemezsem AWS örneğimi başlatmayı reddediyor. Alternatif bir kök cihaz adı kullanmak için yapılandırmam gereken başka bir ayar var mı?
Jack O'Connor

/ dev / sda1 for Linux / dev / xvda for Windows
Luis

whoopse, / dev / sda, bölümü tanımlamak için emin olun 1 , /dev/sdageçersiz ama /dev/sda1gayet iyi.
ThorSummoner

16

Diomidis Spinellis'in, kabul edilen cevabın yorumlar başlığındaki yorumunu detaylandırmak için, yeni kök cihazınız olarak değiştirmeye çalıştığınız cihazın dosya sistemi etiketini kontrol etmeniz önemlidir. Kendi sunucu taşıma işlemimde sorun giderirken, örneğim açılmadan önce aşağıdakileri yapmam gerekiyordu:

e2labelYeni kök cihazınız için oluşturduğunuz ext2 / ext3 / ext4 dosya sistemindeki etiketi değiştirmek için komutu kullanın .

İlk olarak, mevcut kök cihazınız için dosya sistemi etiketini kontrol edin.

$ sudo e2label /dev/xvda1
cloudimg-rootfs

Yeni cihazı aynı dosya sistemi etiketine sahip olacak şekilde ayarlayın.

$ sudo e2label /dev/xvdg 'cloudimg-rootfs'

Benim durumumda etiket öyleydi cloudimg-rootfs. Bazen basitçe olacaktır /.

E2label'in nasıl çalıştığını anlamak önemlidir; daha fazla bilgi man e2labeliçin makinenizi kontrol edin veya http://linux.die.net/man/8/e2label adresini ziyaret edin .


1
Bu inanılmaz derecede önemli, bu cevabın neden daha yaygın bulunamadığını anlayamıyorum.
ays0110

3

Bu, aws tarafından önerilen çözümdür. Kök birimi, durdurduktan sonra orijinal örnekten ayırabilirsiniz. Kök birim / dev / sda1'e eklenir. Bu çıkarıldıktan sonra lütfen yeni örneğe ekleyin. Birim bağlandıktan sonra, onu işletim sisteminden takmanız gerekebilir. Takıldıktan sonra, içindeki verileri görmelisiniz.

Yeni anahtarı eklemeyi bitirdikten sonra, anahtarı çıkarabilir ve / dev / sda1'deki orijinal örneğe ekleyebilirsiniz.

Herhangi bir değişiklik yapmadan önce kök birimin anlık görüntüsünü oluşturmanızı öneririm.

Herhangi bir çözümü denemeden önce önemli olmayan durumlarda deneyin veya örnekleri tespit edin


1

Bunu CloudFormation aracılığıyla yapmak istiyorsanız, aşağıdakileri yapmanız gerekecektir:

  1. Mevcut kök birimden anlık görüntü oluşturun (konsol veya CLI aracılığıyla)
  2. Bu anlık görüntüden yeni AMI oluşturun - burada kök birim boyutunu artırın, doğru sanallaştırma süresini (paravirtual veya HVM) seçtiğinizden emin olun.
  3. AWS :: EC2 :: Instance kaynağınızda ImageId parametresini az önce yaptığınız yeni AMI'ye ayarlayın

Yığınınızı dağıtın. Bu, örneğinizi yeniden oluşturacağından, Esnek IP adresi kullandığınızdan veya DNS erişiminiz olduğundan emin olun.

Bu geçici çözümü yapmanız gerekmesinin nedeni, CF'nin EC2 BlockDeviceMappings'de kök birim boyutunu ayarlamanıza veya Kök Hacmin SnapshotId'sini ayarlamanıza izin vermemesidir.


0

Birimleriniz monte edildiğinde, numaralarla bir sonradan düzeltme alır, örneğin: /dev/sdamonte edildiğinde, /dev/sda1, /dev/sda2yaptığınız bölümlere bağlı olarak monte edilir . Kök aygıtın kendisini monte ederken, aygıtın zaten takılı olduğunu varsayar, bu nedenle /dev/sda1birimi kök aygıt olarak bağlamak için vermemiz gerekir . Not: Bağlı herhangi bir kök birim olmamalıdır.

Şu adımları izleyin: 1) Birimlerinize gidin, İşlem'den birimler ekle'yi seçin. 2) Örneğinizi seçin 3) Kök olarak bağlamak için cihaz adını /dev/sda1 4) Örneğinizi başlatın.

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.