Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Железо в Linux (http://forum.oszone.net/forumdisplay.php?f=29)
-   -   [решено] Подключение SATA на горячую (http://forum.oszone.net/showthread.php?t=267061)

Тишина 29-08-2013 00:56 2209409

Подключение SATA на горячую
 
Как реализовать подключение sata-дисков при работающей системе? в Win достаточно обновить устройства, после чего список пополняется свежеподключенным хардом.
Как в *nix организовать "refresh /dev" ?

Kent 29-08-2013 03:02 2209431

А в Linux не обнаруживает? Вроде, udev это должен делать автоматически.

shisik 29-08-2013 03:16 2209433

Тишина, посмотрите здесь.

ruslandh 29-08-2013 06:44 2209451

Могу только повторить, что udev должен их обнаруживать автоматом. ну, и смонтировать их надо, что-бы использовать.

vadblm 29-08-2013 11:01 2209536

Не нужно никаких "рефрешей", всё происходит автоматически. Вставил диск — появилось устройство, вынул — исчезло. Разумеется, контроллер и его драйвер должны уметь горячее подключение. Список контроллеров и драйверов https://ata.wiki.kernel.org/index.ph...dware_features см. колонку hotplug.

Тишина 29-08-2013 18:09 2209735

На счёт контроллера точно не скажу... Могу точно сказать, что:
материнская плата Gigabyte GA-H61M-S2PV, achi выключен, в Windows подключается на ура, а в Linux нет. как есть единственный sda системный, так он и остаётся... О_о
ну и ещё: Linux Lubuntu 12.04 и RIP Linux 13.7 (вроде бы он на slackware базируется), хотя, вроде бы, не должно играть роли.

P.S. на всякий случай уточню, что подключаю sata (не eSata) винчестеры напрямую, без переходников на usb.

ruslandh 29-08-2013 18:39 2209748

Если честно, есть такая команда - перечитать разделы жёсткого диска (на уровне ядра), но не помню как она называется :)

Цитата:

Цитата http://xgu.ru/wiki/Дисковая_подсистема_Linux
Перечитать таблицу разделов
# partprobe
(из пакета parted).
Другие способы:
hdparm -z /dev/DISK
blockdev –rereadpt /dev/DISK
echo 1 > /sys/block/DISK/device/rescan
Здесь везде вместо DISK название соответствующего устройства (sda, sdb, sdc).


vadblm 29-08-2013 20:35 2209835

Цитата:

Цитата ruslandh
Если честно, есть такая команда - перечитать разделы жёсткого диска »

Это не про отключение/подключение, а про переразбиение на лету без перпеподключения.

Цитата:

Цитата Тишина
achi выключен »

Ну и чего вы хотите?

ruslandh 29-08-2013 21:37 2209859

Цитата:

Цитата vadblm
Это не про отключение/подключение, а про переразбиение на лету без перпеподключения. »

Какая разница?

AMDBulldozer 30-08-2013 04:29 2209951

Цитата:

Цитата Тишина
Как в *nix организовать "refresh /dev" ? »

echo - - - > /sys/class/scsi_host/host0/scan
Ну, или какой там еще номер шины вместо host0...
Примечание: вообще говоря, эта команда бывает нужна только если Вы физически жесткий диск не отключали, а убрали его, скажем, командой echo 1 > /sys/block/sda/device/delete.
Ну, или какой там еще устойство вместо sda...
Если система не сканирует шину после подключения диска, скорее всго ядро собрано без этой поддержки "горячего" подключения. Это легко проверить - воткните диск и посмотрите, появится ли сообщение об этом в dmesg.

Тишина 02-09-2013 10:29 2211382

Цитата:

Цитата vadblm
Цитата Тишина:
achi выключен »
Ну и чего вы хотите? »

а что? =) в Win без него всё подключается и отключается =) проверено на XP sp2/3 32/64, win 7 с sp1 и без 32/64. причём не только на данной материнской плате (ещё 3-4 матплаты gigabyte, 4 asus, 2 microstar, asrock). так что получается для горячего подключения achi требуется не всегда (возможно на некоторых контроллерах он обязателен, но мне пока такие не попадались =) ).

хотя это Win, с Lin может быть по-другому =/

Цитата:

Цитата AMDBulldozer
Примечание: вообще говоря, эта команда бывает нужна только если Вы физически жесткий диск не отключали, »

как раз диски подключаются к рабочей системе, которая стартует только с системным диском.

Цитата:

Цитата AMDBulldozer
Ну, или какой там еще номер шины вместо host0... »

а если номер шины не известен, то как просканить все? скрипт с перебором написать?

Цитата:

Цитата AMDBulldozer
Если система не сканирует шину после подключения диска, скорее всго ядро собрано без этой поддержки "горячего" подключения. Это легко проверить - воткните диск и посмотрите, появится ли сообщение об этом в dmesg. »

хорошая мысль! при установке лина можно включить эту опцию или это получится сделать только на slackware и gentoo? или как её включить в уже установленном дистрибутиве Lubuntu, т.е. Debian (RIP работает из-под live cd)? на сколько это сложно и(или) опасно пересобирать ядро?

AMDBulldozer 02-09-2013 11:07 2211402

for i in /sys/class/scsi_host/host*; do echo "- - -" > $i/scan; done
Но Вы всё-таки посмотрите dmesg в момент подключения диска. Что-то не верю я в возможность сборки ядер без поддержки горячего подулючения. Хотя, конечно, при желании пересобрать его займет 10 минут.

Тишина 02-09-2013 15:19 2211518

спасибо! освободится машина с лином - обязательно попробую!

Тишина 04-09-2013 14:41 2212615

Всё! Спасибо! Работает.

Резюме:

подключить диски:
Код:

for i in /sys/class/scsi_host/host*; do echo "- - -" > $i/scan; done
удалить диск
Код:

echo 1 > /sys/block/sdX/device/delete
X - литера диска!
аккуратней! не удалите системный диск, т.к. уберётся без предупреждения =)


Время: 14:09.

Время: 14:09.
© OSzone.net 2001-