Esta puede ser una pregunta tonta, disculpe mi ignorancia.
Tengo una instancia que se ejecuta así:
¿ Root Device: EBS significa que todo mi sistema está en EBS?
He configurado apache y una aplicación perl aquí, toda mi configuración y archivos no desaparecerán, ¿verdad?
¿Cómo sé qué se está ejecutando en el almacenamiento efímero y qué se está ejecutando en EBS? Si hago clic en la instancia en la consola de administración y miro los detalles en la parte inferior, dice: EBS Optimized: false
¿Qué significa esto exactamente?
Así es como se ve mi almacenamiento:
[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
Gedeón
fuente
fuente
Respuestas:
El dispositivo raíz es su '/'. En este caso es / dev / xvda1 y es la unidad EBS.
Los dispositivos efímeros son (como sé):
Siempre puede verificar qué dispositivos son unidades EBS, utilizando AWS UI: EC2 -> Instancias -> [elija el suyo] -> Bloquear dispositivos
fuente
sysfs1
,devpt
y qué no.xvda1 Xvdd xvdc xvdb
Estos son volúmenes de EBS. ¿Cómo puedes decir que estos son efímeros?Los dispositivos efímeros y ebs pueden tomar casi cualquier nombre de archivo de dispositivo con letras, así que no confíes únicamente en el nombre del dispositivo. Sin embargo, el nombre del dispositivo es importante para determinar si es efímero o no, como explicaré a continuación. Confiar en un nombre de punto de montaje con las palabras 'efímero' o 'ebs' tampoco es confiable.
Aunque algo de esto se puede hacer a través de la GUI de EC2, algunos comandos aún tendrían que ejecutarse en el servidor, así que aquí, solo le doy un método de 'toda la línea de comandos'. Le daré ejemplos de una AMI respaldada por m3.medium CentOS minimal 6.5 store store (es decir, efímera).
1) Instale la utilidad wget con
yum install -y wget
2) correr
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
En este ejemplo, la AMI respaldada por la tienda: el resultado del comando n. ° 2 anterior es:
ami ephemeral0
Para fines de comparación, a continuación se muestra un ejemplo de salida de un servidor CentOS respaldado por EBS solo con volúmenes EBS (sin unidades efímeras):
ami ebs2 ebs3
Volveré a la instancia respaldada por EBS con volúmenes de EBS más tarde. Por ahora, continuemos con el ejemplo de AMI respaldado por la tienda de instancias original que nos muestra una unidad efímera.
Para averiguar qué archivo de dispositivo está asignado a su unidad efímera, ejecute wget nuevamente, esta vez agregando el nombre de la unidad efímera como se descubrió en el n. ° 2 anterior a la url:
3)
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -
y, en este ejemplo, la salida es / era:
sdb
Esto subraya mi punto anterior de que no puede asumir que / dev / sdb a través de / dev / sde son dispositivos ebs. Se podría ser cierto que / dev / xvdb a través de / dev / xvde son EBS - pero mis sistemas siempre comienzan con / dev / xvde1 , por lo que la existencia de esas cartas de dispositivos probablemente dependerá del sistema operativo, región, AMI, etc, que está utilizando. Como comentario, puede ejecutar el n. ° 3 contra los nombres 'ebs', si los hay (por ejemplo
ebs2
), y producirá resultados similares.4) Luego, corre
lsblk
En este caso, la salida se ve así:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk
Esto subraya mi punto desde arriba de que no puede confiar en un punto de montaje para decirle si un dispositivo es efímero o no.
También notará que la asignación entre las letras de volumen del dispositivo EC2 y las letras de asignación del sistema operativo no coinciden. Una pequeña porción de buenas noticias aquí es que las letras de unidad se incrementarán en el mismo orden, incluso si las letras no coinciden. Entonces, obtengamos la 'otra' letra de unidad de nuestros metadatos de mapeo de dispositivos. Como viste arriba, había dos mapeos de dispositivos, uno llamado
ami
y el otro llamadoephemeral0
. Ya examinamos efímero0, así que examinemos ami:5)
wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -
La salida es / fue la siguiente:
sda1
Podemos concluir con confianza que la letra más baja en el mapeo del sistema operativo es la letra más baja del mapeo del dispositivo de bloque EC2, y podemos aumentar desde allí. Así:
/dev/sda1 = /dev/xvde1
y/dev/sdb = /dev/xvdf
Por último, pero no menos importante , notará que la asignación de dispositivos de bloque
ami
no se presta inmediatamente a si está respaldada por EBS o respaldada por Instance Store. Tenemos un comando más para ejecutar.6)
wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -
Estoy seguro de que las AMI respaldadas por EBS no tienen una ruta de manifiesto porque solo los volúmenes de almacenamiento de instancias tienen un manifiesto (el manifiesto enumera los nombres y la ruta de los segmentos de paquete de la AMI en S3). En los casos que he verificado, el resultado del n. ° 6 anterior cuando se ejecuta en una tienda de instancias ami es algo similar a:
someamibucketname/someamidescription/someamidescription.manifest.xml
mientras que cuando el # 6 se ejecuta contra un AMI respaldado por EBS, obtienes:
(unknown)
fuente
sudo lsblk
debería darte algunas pistas. ES DECIRfuente