Estou interessado em quais dispositivos em /sys/block são unidades de HDD reais:
[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]#
Como posso entender isso?
Responder1
Se um dispositivo de bloco é um HDD real pode ser derivado do número do dispositivo principal correspondente ao driver de disco, conforme documentado em man sd
e man 4 hd
:
Os discos SCSI e SATA têm 8 principais, os discos IDE antigos 3 ou 22.
Você pode ver isso /proc/devices
ou analisar os /sys/block/*/dev
arquivos:
cd /sys/block; grep -lE '^(8|3|22):' */dev | sed 's-/dev--'
sda
sdb
Quando executado em uma máquina virtual, os resultados dependem do tipo de virtualização:
ComVirtualização de hardware, o comportamento é igual ao acima, exceto para PVHVM (veja abaixo).
ComParavirtualização, as coisas mudam. Por exemplo, o driver XEN xvd usa o major 202.
Isso também é válido paraPVHVMconforme usado no Amazon EC2, por exemplo.
Portanto, você precisa de medidas adicionais para alcançar o resultado desejado nas VMs.