Dodaj EBS do instancji Ubuntu EC2

140

Mam problem z podłączeniem woluminu EBS do mojego wystąpienia Ubuntu EC2.

Oto co zrobiłem:

  1. Z konsoli Amazon AWS utworzyłem wolumin EBS 150GB i podłączyłem go do instancji Ubuntu 11.10 EC2. We właściwościach woluminu EBS „Załącznik” pokazuje: „[mój identyfikator instancji Ubuntu]: / dev / sdf (dołączony)”

  2. Próbowałem zamontować dysk na skrzynce Ubuntu i powiedział mi, że „mount: / dev / sdf nie jest urządzeniem blokowym”

    sudo mount /dev/sdf /vol

  3. Sprawdziłem więc za pomocą fdisk i spróbowałem zamontować z nowej lokalizacji, ale okazało się, że to nie jest właściwy system plików.

    sudo fdisk -l

    sudo mount -v -t ext4 /dev/xvdf /vol

    błąd:

    montowanie: zły typ fs, zła opcja, zły superblok w / dev / xvdf, brak strony kodowej lub programu pomocniczego lub inny błąd W niektórych przypadkach przydatne informacje znajdują się w syslog - wypróbuj dmesg | ogon lub tak

    „dmesg | tail” poinformował mnie, że wystąpił następujący błąd:

    EXT4-fs (sda1): VFS: nie można znaleźć systemu plików ext4

Próbowałem również umieścić konfiguracje w pliku / etc / fstab zgodnie z instrukcją na http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance , ale nadal nie dałem tego samego błąd systemu plików.

Pytania:

P1: W oparciu o punkt 1 (powyżej), dlaczego wolumen został zmapowany na „dev / sdf”, skoro tak naprawdę został zmapowany na „/ dev / xvdf”?

P2: Co jeszcze muszę zrobić, aby załadować wolumen EBS? Pomyślałem, że po podłączeniu go do instancji zajmie się wszystkim za mnie.

JackDev
źródło
Może to należeć do witryny StackExchange zorientowanej na sysadmin. Niemniej jednak dokładnie to, co musiałem znaleźć. Dziękuję za pytanie!
pcurry

Odpowiedzi:

325

Ponieważ jest to nowy wolumen, musisz sformatować wolumin EBS (urządzenie blokowe) za pomocą systemu plików między krokiem 1 a krokiem 2. Zatem cały proces z punktem podłączenia próbki wygląda tak:

  1. Utwórz wolumen EBS.

  2. Dołącz wolumin EBS do /dev/sdf(zewnętrzna nazwa EC2 dla tego konkretnego numeru urządzenia).

  3. Sformatuj system plików /dev/xvdf(wewnętrzna nazwa Ubuntu dla tego konkretnego numeru urządzenia):

    sudo mkfs.ext4 /dev/xvdf
    

    Sformatuj system plików tylko wtedy, gdy jest to nowy wolumin bez żadnych danych. Formatowanie utrudni lub uniemożliwi pobranie jakichkolwiek danych, które wcześniej znajdowały się na tym woluminie.

  4. Zamontuj system plików (z aktualizacją do / etc / fstab, aby pozostał zamontowany przy ponownym uruchomieniu):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    
Eric Hammond
źródło
3
Mówiąc wprost, / dev / xvdf nie istnieje przed montażem / dev / sdf.
Dror
2
Wielkie dzięki za to! Byłem całkowicie zdezorientowany katalogiem / mnt i błędnie założyłem, że mój dodatkowy wolumin EBS (/ dev / xvdf), który kazałem AWS dołączyć podczas tworzenia instancji, jest już zamontowany. Również mapowanie między tym, co pokazuje AWS (/ dev / sdf) i (/ dev / xvdf), które istnieje na Ubuntu, zaskoczyło mnie.
ankimal
7
@scrapcodes: Na szczęście są to zdecydowanie właściwe kroki w przypadku pytania oryginalnego autora (nowy, niesformatowany tom EBS). Z pewnością mogą nie być odpowiednimi krokami, jeśli masz zupełnie inną sytuację (wolumin EBS utworzony z migawki zawierającej istniejący system plików).
Eric Hammond,
9
Dlaczego krok czwarty zawiera flagę -m 000?
Joe Mornin
25
@JosephMornin Wyłączenie wszystkich bitów w tym trybie jest prostym wskaźnikiem, że nikt nie powinien mieć możliwości robienia czegokolwiek w tym katalogu, dopóki nie zostanie zamontowany tutaj nowy system plików. To wiadomość, że ten katalog został utworzony jako punkt montowania. Nie jest to wymagane do działania, ale czasami pozwala uniknąć błędów podczas tworzenia plików, gdy żądany wolumin nie jest zamontowany.
Eric Hammond
-3

Krok 1: utwórz wolumin
Krok 2: dołącz do woluminu głównego instancji
Krok 3: uruchom sudo resize 2fs -p / dev / xvde
Krok 4: uruchom ponownie usługę apache2 sudo apache2 zrestartuj
krok 4: uruchom df -h

Możesz zobaczyć całkowitą objętość dołączoną do Twojej instancji.

Ramesh Sinha
źródło