Горячая замена вышедшего из строя диска SATA / dev / sda работала нормально, но когда я перешел на новый диск, он не был распознан:
[root@fs-2 ~]# tail -18 /var/log/messages
May 5 16:54:35 fs-2 kernel: ata1: exception Emask 0x10 SAct 0x0 SErr 0x50000 action 0xe frozen
May 5 16:54:35 fs-2 kernel: ata1: SError: { PHYRdyChg CommWake }
May 5 16:54:40 fs-2 kernel: ata1: link is slow to respond, please be patient (ready=0)
May 5 16:54:45 fs-2 kernel: ata1: device not ready (errno=-16), forcing hardreset
May 5 16:54:45 fs-2 kernel: ata1: soft resetting link
May 5 16:54:50 fs-2 kernel: ata1: link is slow to respond, please be patient (ready=0)
May 5 16:54:55 fs-2 kernel: ata1: SRST failed (errno=-16)
May 5 16:54:55 fs-2 kernel: ata1: soft resetting link
May 5 16:55:00 fs-2 kernel: ata1: link is slow to respond, please be patient (ready=0)
May 5 16:55:05 fs-2 kernel: ata1: SRST failed (errno=-16)
May 5 16:55:05 fs-2 kernel: ata1: soft resetting link
May 5 16:55:10 fs-2 kernel: ata1: link is slow to respond, please be patient (ready=0)
May 5 16:55:40 fs-2 kernel: ata1: SRST failed (errno=-16)
May 5 16:55:40 fs-2 kernel: ata1: limiting SATA link speed to 1.5 Gbps
May 5 16:55:40 fs-2 kernel: ata1: soft resetting link
May 5 16:55:45 fs-2 kernel: ata1: SRST failed (errno=-16)
May 5 16:55:45 fs-2 kernel: ata1: reset failed, giving up
May 5 16:55:45 fs-2 kernel: ata1: EH complete
Я попробовал пару вещей, чтобы сервер нашел новую / dev / sda, например, rescan-scsi-bus.sh, но они не сработали:
[root@fs-2 ~]# echo "---" > /sys/class/scsi_host/host0/scan
-bash: echo: write error: Invalid argument
[root@fs-2 ~]#
[root@fs-2 ~]# /root/rescan-scsi-bus.sh -l
[snip]
0 new device(s) found.
0 device(s) removed.
[root@fs-2 ~]#
[root@fs-2 ~]# ls /dev/sda
ls: /dev/sda: No such file or directory
Я закончил тем, что перезагрузил сервер. / dev / sda был распознан, я установил программный RAID, и теперь все в порядке. Но в следующий раз, как я могу заставить Linux распознавать новый SATA-диск, на который у меня была горячая замена без перезагрузки?
Рассматриваемая операционная система RHEL5.3:
[root@fs-2 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Жесткий диск представляет собой Seagate Barracuda ES.2 SATA 3.0-Gb / s 500-GB, модель ST3500320NS.
Вот вывод lscpi:
[root@fs-2 ~]# lspci
00:00.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a3)
00:02.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2)
00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1)
00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:05.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:05.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:06.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2)
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
00:0a.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0b.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0c.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0d.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0e.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
03:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200e [Pilot] ServerEngines (SEP1) (rev 02)
04:00.0 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X Bridge (rev 06)
04:00.1 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X Bridge (rev 06)
Обновление : возможно, в десятке случаев мы были вынуждены перезагрузить серверы, потому что «горячая замена» не «просто сработала». Спасибо за ответы, чтобы больше заглянуть в контроллер SATA. Я включил вывод lspci для проблемной системы выше (имя хоста: fs-2). Я все еще мог бы использовать некоторую помощь, чтобы понять, что именно не поддерживается аппаратно с точки зрения горячей замены для этой системы. Пожалуйста, дайте мне знать, какой другой вывод, кроме lspci, может быть полезен.
Хорошая новость заключается в том, что «горячая замена» сегодня «сработала» на одном из наших серверов (имя хоста: www-1), что очень редко для нас. Вот вывод lspci:
[root@www-1 ~]# lspci
00:00.0 RAM memory: nVidia Corporation MCP55 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a3)
00:02.0 USB Controller: nVidia Corporation MCP55 USB Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP55 USB Controller (rev a2)
00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1)
00:05.0 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:05.1 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:05.2 IDE interface: nVidia Corporation MCP55 SATA Controller (rev a3)
00:06.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev a2)
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
00:0b.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0c.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI Express bridge (rev a3)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
00:19.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:19.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:19.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:19.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:19.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
03:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200e [Pilot] ServerEngines (SEP1) (rev 02)
04:00.0 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X Bridge (rev 06)
04:00.1 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X Bridge (rev 06)
09:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064ET PCI-Express Fusion-MPT SAS (rev 04)
Ответы:
Если ваш контроллер SATA поддерживает горячую замену, он должен «просто работать (тм)».
Чтобы принудительно выполнить повторное сканирование на шине SCSI (каждый порт SATA отображается как шина SCSI) и найти новые диски, вы будете использовать:
На вышесказанном, <n> это номер шины.
источник
sudo
и при переходе к пользователю root.powertop
чтобы другие устройства отключились, поэтому, возможно, порт SATA, к которому я подключил накопитель, полностью спал. (Система имеет оптический привод SATA подключена и обнаружен при загрузке, но это, вероятно , спит, тоже.) Как другие полагают, чтобы избежать сброса ссылки SATA для активных дисков, выяснить , какиеhost
идентификаторы уже находятся в использовании и неscan
те , только тот, где вы подключили новый диск. (Или любой неиспользованный, если вы не знаете нумерацию.)источник
Когда диск в некоторых случаях выходит из строя, Linux не поймет, что вы фактически извлекли его из массива. Если у вас есть эта проблема (как я сделал сегодня утром), вы можете сделать следующее:
Например, в моем случае / dev / sda не удалось, и я не хотел перезагружать сервер, поэтому я сделал:
После того, как я это сделал, новый диск (который уже был физически добавлен) был сразу виден.
Если он не виден в данный момент, вы также можете сделать это для повторного сканирования:
То, что "- - -" является символами подстановки для канала, идентификатора и LUN соответственно, поэтому вы можете ограничить сканирование некоторым подмножеством, если хотите, указав вместо этого числа.
Прежде чем начать, вы также можете:
Который покажет вам путь с правильным номером хоста, чтобы проверить / proc / scsi / scsi на предмет исчезновения после удаления.
источник
Как насчет этого (похоже, работает в Ubuntu):
sudo partprobe
источник
parted
FTW ... Вы должны знать , это хорошо , кроме обычных подозреваемых нравитсяfdisk
,gdisk
,cgdisk
,testdisk
.Я не могу поверить, что никто еще не упомянул AHCI ... Ваш контроллер SATA должен быть в режиме AHCI, чтобы включить горячую замену. Проверьте это, посмотрев на драйвер, который вы используете:
Посмотрите, как там написано "ачи".
Если это не так, просто включите его в BIOS. Кроме того, некоторые BIOS, особенно на серверах или в UEFI, имеют параметр «Горячая замена = включено / отключено» на диск, который также следует включить, если он существует.
источник
Вот почему мне нужно было перезагрузить компьютер ...
Я просто поменял местами мой / dev / sdc. Я использовал scsiadd -r 3 0 0, чтобы отключить старый диск перед тем, как вытащить его. Затем после установки нового диска новый диск не отображался как / dev / sdc, а как / dev / sdd. После перезагрузки диск снова появится как / dev / sdc.
Так что кажется, что hotswap работает Хорошо, может быть, просто / dev / sd * больше не то же самое.
Может ли это быть ответом на вашу проблему?
источник
Мой DVD на моей машине Fedora 16 подключен к интерфейсу SATA. Он был заперт и не открывался и не закрывался. Запуск partprobe , как корень получил мой CDROM / DVD снова работает. Я считаю, что это поможет на другой машине, где у меня иногда возникают проблемы с горячей заменой. Благодарность!
источник
Контроллер SAS Fusion-MPT является низкоуровневым RAID-контроллером. Если вы не используете его для RAID, он все равно может обеспечить бесполезный уровень препятствий / абстракций.
Возможно, вам придется подсунуть RAID-контроллер с помощью mpt-status или lsiutil, чтобы он действительно сканировал шину.
На http://hwraid.le-vert.net/wiki/LSIFusionMPT есть много документации, но я не могу сказать, что проверил ее.
источник
В некоторых случаях горячая замена может потребоваться включить в BIOS материнской платы и / или контроллера SATA. Это полностью зависит от марки и модели обоих, но если у вас есть встроенные контроллеры SATA, которые должны поддерживать «горячую замену», то стоит пролистать BIOS материнской платы. Карты SATA могут иметь или не иметь свои собственные настройки BIOS, многие карты более низкого уровня не имеют, но карты серверного уровня обычно имеют.
Если я правильно помню, мне нужно было это с несколькими материнскими платами Gigabyte и, возможно, с некоторыми другими марками. Мне нужно было это для горячей замены лотка SATA для работы; при отключенной функции удаление диска не вызывало проблем, но новый диск не регистрировался до перезагрузки. Включение параметра сработало, как и ожидалось, диски, которые были помещены в лоток, были немедленно раскручены и доступны для ОС.
источник
Я знаю, что этот вопрос старый, но у меня был некоторый успех, о котором я не видел нигде. Подобные проблемы возникли с Dell Precision 380 сегодня. В конце концов заставил его работать, выполнив некоторую комбинацию из следующего:
ВНИМАНИЕ: Это может нарушить работу других устройств ATA в системе. Если вы смонтировали файловые системы на этих устройствах, это может плохо закончиться. Моей ситуации было все равно, но твоя может.
Какие именно вышеперечисленные команды нужны и в каком порядке, мне пока неизвестно. Некоторые команды, возможно, придется повторить. Если бы мне пришлось угадывать, я бы сказал, сделать в порядке, показанном выше, а затем еще раз сканировать scsi_host в конце. Я сделал еще немало в своих исследованиях.
Первая команда (scsi_host scan) сообщает среднему слою SCSI сканировать все шины на наличие новых / измененных устройств. Вторая команда пытается сбросить цель SCSI (дисковое устройство). Последние два работают с драйвером для самого контроллера AHCI.
Я нашел эти предметы в основном путем подробного изучения и смелых экспериментов.
Вы можете сопоставить узлы scsi_device с маркой и моделью устройства (используя grep для печати имен файлов перед содержимым):
Первая цифра идентификатора устройства SCSI должна быть номером scsi_host. Затем вы можете сопоставить узлы scsi_host с узлами их устройств:
Я подозреваю, что у меня никогда не будет возможности доработать дальше, поэтому я хотел поделиться этой информацией в надежде сблизить других. Если я получу больше информации, я отредактирую этот ответ, чтобы отразить.
Надеюсь это поможет.
источник
Для работы hotplug у вас должен быть загружен модуль acpiphp.
очевидно, если вы хотите, чтобы это работало при загрузке, вам придется настроить его для загрузки во время загрузки - один из способов - создать / отредактировать /etc/rc.modules (который вызывается rc.sysinit) и добавить строку:
помните, если вы создадите этот файл для chmod + x, как он называется таким образом.
источник