Добавляем диски на лету без перезагрузки

 

Одним из нужных и полезных знаний, которые необходимо знать администратору — как добавить жесткие диски в систему на лету. Данная тема особенно актуальна сейчас — в связи с широким распространением виртуализации. Как правило в процессе определения нового диска необходима перезагрузка системы, но существует и альтернативный способ — без перезагрузки.

Для начала посмотрим какие диски видит система:
# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bceec
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1175 9231360 83 Linux
/dev/sda3 1175 1306 1048576 82 Linux swap / Solaris

Как видно из вывода, необходимого нам диска нет. Поможем системе распознать новый диск с помощью следующей команды:

# echo – – – > /sys/class/scsi_host/host
host0/ host1/ host2/

У нас 3 хоста, на котором может находиться наш новый жесткий диск.

# echo – – – > /sys/class/scsi_host/host0/scan
# echo – – – > /sys/class/scsi_host/host1/scan
# echo – – – > /sys/class/scsi_host/host2/scan

Снова запрашиваем «fdisk -l», и как видим вывод поменялся, добавился диск /dev/sdb:

# fdisk -l