Мне интересно, какие устройства в /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.
Это также верно дляПВХВМкак это используется на Amazon EC2, например.
Таким образом, вам нужны дополнительные меры для достижения желаемого результата на виртуальных машинах.