To może być głupie pytanie, przepraszam za moją ignorancję.
Mam instancję działającą w następujący sposób:
Czy rootowanie: EBS oznacza, że cały mój system działa na EBS?
Skonfigurowałem tutaj apache i perlową aplikację, wszystkie moje konfiguracje i pliki nie znikną, prawda?
Skąd mam wiedzieć, co działa na efemerycznym magazynie, a co na EBS? Po kliknięciu instancji w konsoli zarządzania i przejrzeniu szczegółów u dołu wyświetli się komunikat: EBS Optimized: false
Co to dokładnie znaczy?
Oto jak wygląda moja pamięć:
[ec2-user@<MY_IP> ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.7G 6.2G 22% /
tmpfs 298M 0 298M 0% /dev/shm
[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
amazon-ec2
storage
amazon-ebs
gideon
źródło
źródło
Odpowiedzi:
Urządzenie root to twoje „/”. W tym przypadku jest to / dev / xvda1 i dysk EBS.
Urządzenia efemeryczne to (jak wiem):
Zawsze możesz sprawdzić, które urządzenia są dyskami EBS, korzystając z AWS UI: EC2 -> Instancje -> [wybierz swoje] -> Blokuj urządzenia
źródło
sysfs1
,devpt
a co nie.xvda1 Xvdd xvdc xvdb
To są wolumeny EBS. Jak możesz powiedzieć, że są ulotne?Urządzenia efemeryczne i ebs mogą przyjmować dowolną literową nazwę pliku urządzenia, więc nie polegaj wyłącznie na nazwie urządzenia. Nazwa urządzenia jest ważna przy ustalaniu, czy jest efemeryczna, czy nie, jak nakreślę poniżej. Poleganie na nazwie punktu montowania ze słowami „efemeryczny” lub „ebs” również nie jest wiarygodne.
Chociaż niektóre z tych czynności można wykonać za pomocą graficznego interfejsu użytkownika EC2, kilka poleceń nadal musiałoby być uruchamianych na samym serwerze, więc tutaj podaję tylko metodę „całego wiersza poleceń”. Dam ci przykłady ze sklepu instancji m3.medium CentOS minimalna wersja 6.5 (tj. Efemeryczna) wspierana przez AMI.
1) Zainstaluj narzędzie wget za pomocą
yum install -y wget
2) Uruchom
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
W tym przykładzie AMI wspiera sklep - dane wyjściowe dla polecenia nr 2 powyżej to:
ami ephemeral0
Dla celów porównawczych poniżej przedstawiono przykładowe dane wyjściowe z serwera CentOS wspieranego przez EBS tylko z woluminami EBS (bez dysków efemerycznych):
ami ebs2 ebs3
Wrócę do kopii zapasowej EBS z woluminami EBS później. Na razie kontynuujmy z przykładem AMI opartym na oryginalnym magazynie instancji, który pokazuje efemeryczny dysk.
Aby dowiedzieć się, który plik urządzenia jest zamapowany na efemeryczny dysk, uruchom ponownie wget, tym razem dodając nazwę efemerycznego dysku odkrytego w punkcie 2 powyżej do adresu URL:
3)
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -
a w tym przykładzie dane wyjściowe to / was:
sdb
Podkreśla to mój punkt powyżej, że nie można zakładać, że / dev / sdb przez / dev / sde są urządzeniami ebs. Być może prawdą jest, że / dev / xvdb przez / dev / xvde to ebs - ale moje systemy zawsze zaczynają się od / dev / xvde1 , więc istnienie tych liter urządzeń prawdopodobnie zależy od systemu operacyjnego, regionu, AMI itp., Którego używasz. Nawiasem mówiąc, możesz uruchomić numer 3 w stosunku do nazw „ebs”, jeśli istnieją (np.
ebs2
), I uzyska podobne wyniki.4) Następnie uruchom
lsblk
W takim przypadku dane wyjściowe wyglądają tak:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk
To podkreśla mój punkt widzenia z góry, że nie można polegać na punkcie montowania, aby powiedzieć, czy urządzenie jest efemeryczne, czy nie.
Zauważysz również, że odwzorowanie między literami woluminu urządzenia EC2 a literami odwzorowania systemu operacyjnego nie jest zgodne. Mały kawałek dobrych wiadomości tutaj jest taki, że litery dysków będą rosły w tej samej kolejności, nawet jeśli same litery nie będą pasować. Pobierzmy więc „inną” literę dysku z naszych meta-danych mapowań urządzeń. Jak widzieliśmy powyżej, były dwa mapowania urządzeń, jedno wywołane,
ami
a drugie wywołaneephemeral0
. Sprawdziliśmy już efemeryczny0, więc przyjrzyjmy się ami:5)
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -
Dane wyjściowe są następujące:
sda1
Możemy śmiało stwierdzić, że najniższa litera w odwzorowaniu systemu operacyjnego to najniższa litera odwzorowania urządzenia blokowego EC2 i od tego momentu możemy zwiększać w górę. A zatem:
/dev/sda1 = /dev/xvde1
i/dev/sdb = /dev/xvdf
Last but not least - zauważysz, że mapowanie urządzeń blokowych
ami
nie pozwala od razu stwierdzić, czy jest ono wspierane przez EBS, czy przez Instance Store. Mamy jeszcze jedno polecenie do uruchomienia.6)
wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -
Jestem pewien, że AMI wspierane przez EBS nie mają ścieżki manifestu, ponieważ manifest ma tylko woluminy magazynu instancji (manifest zawiera nazwy i ścieżkę segmentów pakietu AMI w S3). W przypadkach, które sprawdziłem, wynik z punktu 6 powyżej, gdy działam przeciwko i przechowuję instancję ami, jest podobny do:
someamibucketname/someamidescription/someamidescription.manifest.xml
podczas gdy # 6 jest uruchamiany przeciwko AMI wspieranemu przez EBS, otrzymujesz:
(unknown)
źródło
sudo lsblk
powinien dać ci kilka wskazówek. TO ZNACZYźródło
Istnieją trzy sposoby sprawdzenia, czy przechowywanie EC2 jest efemeryczne.
1) Zgodnie ze zrozumieniem artykułu Instance Store i EBS, które dyskutują, dlaczego istnieją instancje, które utraciły swoje dane w przypadku zatrzymania / zakończenia.
Musisz uruchomić
lsblk
polecenie linux. Przykładowe dane wyjściowe będą:Jeśli widzisz
ephemeral0
słowo kluczowe. wszystko przechowywane na dysku efemerycznym utraci dane po zatrzymaniu i ponownym uruchomieniu instancji.2) Możesz sprawdzić typ instancji. Jeśli zauważysz, że jest przechowywany typ Twojego wystąpienia
EBS only
, dane zostaną zachowane po zatrzymaniu lub ponownym uruchomieniu.3) Zapytaj serwer metadanych, używając:
curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
Pamięć EBS
Z efemerycznym magazynowaniem
źródło