¿Qué dispositivos en /sys/block son discos duros?

¿Qué dispositivos en /sys/block son discos duros?

Me interesa saber qué dispositivos en /sys/block son unidades HDD reales:

[root@sdp1a block]# pwd
/sys/block
[root@sdp1a block]# ls
dm-0   dm-12  dm-3  dm-7   loop1  loop5  ram1   ram13  ram3  ram7  sdaa  sdae  sdai  sdam  sdaq  sdau  sday  sdbb  sdbf  sdc  sdg  sdk  sdo  sds  sdw
dm-1   dm-13  dm-4  dm-8   loop2  loop6  ram10  ram14  ram4  ram8  sdab  sdaf  sdaj  sdan  sdar  sdav  sdaz  sdbc  sdbg  sdd  sdh  sdl  sdp  sdt  sdx
dm-10  dm-14  dm-5  dm-9   loop3  loop7  ram11  ram15  ram5  ram9  sdac  sdag  sdak  sdao  sdas  sdaw  sdb   sdbd  sdbh  sde  sdi  sdm  sdq  sdu  sdy
dm-11  dm-2   dm-6  loop0  loop4  ram0   ram12  ram2   ram6  sda   sdad  sdah  sdal  sdap  sdat  sdax  sdba  sdbe  sdbi  sdf  sdj  sdn  sdr  sdv  sdz
[root@sdp1a block]#

¿Cómo puedo entender esto?

Respuesta1

Si un dispositivo de bloque es un HDD real se puede derivar del número de dispositivo principal correspondiente al controlador de disco como se documenta en man sdy man 4 hd:
los discos SCSI y SATA tienen 8 principales, los discos IDE antiguos 3 o 22.

Puede verlos /proc/deviceso analizarlos en los /sys/block/*/devarchivos:
cd /sys/block; grep -lE '^(8|3|22):' */dev | sed 's-/dev--'
sda
sdb

Cuando esto se ejecuta en una máquina virtual, los resultados dependen del tipo de virtualización:
ConVirtualización de hardware, el comportamiento es el anterior excepto para PVHVM (ver más abajo).
ConParavirtualización, las cosas cambian. Por ejemplo, el controlador XEN xvd utiliza el 202 principal.
Esto también es válido paraPVHVMcomo se usa en Amazon EC2, por ejemplo.
Por lo tanto, necesita medidas adicionales para lograr el resultado deseado en las máquinas virtuales.

información relacionada