Какие устройства в /sys/block являются жесткими дисками?
Мне интересно, какие устройства в /sys/block являются настоящими жесткими дисками:
[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]#
Как я могу это понять?
1 ответ
Является ли блочное устройство реальным жестким диском, можно определить по основному номеру устройства, соответствующему драйверу диска, как описано в man sd
а также man 4 hd
:
Диски SCSI и SATA имеют основные 8, старые диски IDE 3 или 22.
Вы можете увидеть это в /proc/devices
или разобрать /sys/block/*/dev
файлы:cd /sys/block; grep -lE '^(8|3|22):' */dev | sed 's-/dev--'
sda
sdb
Когда это выполняется на виртуальной машине, результаты зависят от типа виртуализации:
С аппаратной виртуализацией поведение такое же, как для PVHVM (см. Ниже).
С паравиртуализацией все меняется. Например, драйвер XEN xvd использует основной 202.
Это также верно для PVHVM, используемого, например, в Amazon EC2.
Таким образом, вам нужны дополнительные меры для достижения желаемого результата на виртуальных машинах.