The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Горячая замена IDE дисков в Linux (hot swap) (hotswap linux slackware ide disk)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: hotswap, linux, slackware, ide, disk,  (найти похожие документы)
From: Anton Borisov <a.borisov@tesv.tmb.ru> Newsgroups: email Date: Mon, 9 Jan 2004 14:31:37 +0000 (UTC) Subject: Горячая замена IDE дисков в Linux (hot swap) К вопросу о горячей замены IDE HDD под linux-ядрами 2.4 Добрый день. В последнее время приходится работать с аппаратурой поддерживающей аппаратную замену (это на серверах), а вот с горячей заменой на персоналках плотно сталкиваться не приходилось. Тем не менее, опишу сам процесс. В наличии имеется linux-box с установленным slackware 9.1; ядро, используемое по умолчанию - bare.z, версия - Linux version 2.4.22 (root@midas) (gcc version 3.2.3) #6 Tue Sep 2 17:43:01 PDT 2003; информация о железе: bash-2.05b$ /sbin/lspci 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) 00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) 00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) 00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) 00:0c.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08) 00:0e.0 Ethernet controller: Standard Microsystems Corp [SMC] 83C170QF (rev 06) 01:01.0 VGA compatible controller: S3 Inc. Savage 4 (rev 04) используемые драйвера: bash-2.05b$ cat /proc/ide/drivers ide-scsi version 0.93 ide-floppy version 0.99.newide ide-cdrom version 4.59-ac1 ide-disk version 1.17 ide-default version 0.9.newide bash-2.05b$ Теперь непосредственно об IDE-дисках, которые использовались. hda: QUANTUM FIREBALLlct15 20, ATA DISK drive - это системный диск hdb: FX4824T, ATAPI CD/DVD-ROM drive - это понятно, кто такой (сидит на том же канале, что и системный) hdd: QUANTUM FIREBALL_TM3200A, ATA DISK drive - а это уже переносной диск, который непосредственно и участвовал в эксперименте. Итак, делаем паузу для заявления. -------------------------------------------------------------------- В IDE-дисках ATA-стандарта НЕ ПРЕДУСМОТРЕНО горячее подключение, поэтому вся отвественность за порчу оборудования лежит на вас. -------------------------------------------------------------------- Однако, при грамотном подходе, можно и (иногда) нужно использовать горячее подключение. Необходимо помнить последовательность операций: 1) подключается шлейф свободного канала 2) подключается питание к диску горячей замены 3) производится сканирование шины 4) монтируется нужный раздел 5) производим запись с/на нужный раздел/накопитель 6) размонтируется раздел 7) отключается шина/дерегистрация канала 8) отключается питание от диска горячей замены 9) отключается шлейф Рассмотрим данный процесс более подробно. Первые 2 пункта освещать подробно не имеет смысла, остановимся на следующем, третьем пункте. Что же означает понятие сканирование шины? При старте системы, ядро производит опрос устройств, сидящих на IDE-каналах (это порты 0x1f0, 0x170). При исправных устройствах система получает от них паспорта, на основе которых и делается вывод об их геометрии, названии, UDMA-свойствах и т.д. Если бы мы при старте задали параметры "ide0=noprobe", то сканирование первого IDE-канала не было произведено. Зачем это нужно? Во-первых, при наличии неисправного IDE-диска, который подключен к боксу, загрузиться проблематично, а именно нельзя. Во-вторых, как в нашем случае, есть возможность подключить дополнительный винт на ходу. Поэтому не будем привязывать систему к конкретному винту, а скажем пропускать сканирование. Можно этого и не делать, а приступить сразу к сканированию. Для этого нам потребуется пакет hdparm. Поехали! /usr/sbin/hdparm -R 0x170 0 0 /dev/hda Означает зарегистрировать IDE-интерфейс по порту 0x170 для устройства /dev/hda. Обращаю ваше внимание, что для меня самого любопытно будет узнать, почему именно таким образом происходит инициализация второго канала. В итоге в /var/log/syslog появляются строчки: Jan 6 19:16:49 ab kernel: hdd: QUANTUM FIREBALL_TM3200A, ATA DISK drive Jan 6 19:16:49 ab kernel: ide1 at 0x170-0x177,0x376 on irq 15 Jan 6 19:16:49 ab kernel: hdd: attached ide-disk driver. Т.е. определился подключенный диск. Отлично. Едем дальше. /usr/sbin/hdparm -z /dev/hdd Обновили (;) содержание разделов. Дальше дело техники - монтируется необходимое устройство, производится запись и т.д. Что же касается пункта #7, то, по желанию, можно производить дерегистрацию канала, а можно не производить. Не забывая при этом последовательность действий. P.S. Стоит отметить следующее - использовалось стандартное ядро, манипуляций с модулями ide-disk производить не обязательно. Удачи! Anton Borisov: a.borisov@tesv.tmb.ru

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Spider, 15:04, 09/01/2004 [ответить] [смотреть все]
  • +/
    Давно об отом мечтал, бум тестить.
    А на Фре такое возможно?
     
  • 1.2, Andrew, 16:34, 09/01/2004 [ответить] [смотреть все]
  • +/
    Можно.
    man atacontrol
     
  • 1.3, Konstantin, 18:57, 09/01/2004 [ответить] [смотреть все]
  • +/
    А на Винде?
     
  • 1.4, leroy, 19:42, 09/01/2004 [ответить] [смотреть все]
  • +/
    Можно, только она зависнет :)
     
  • 1.5, Лысый Пень, 21:15, 09/01/2004 [ответить] [смотреть все]
  • +/
    не зависает - опробовано на разных винтах и на 2000 и на ХР
     
     
  • 2.9, Ламер......судя по твоему изрению, 14:34, 10/01/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    мдя, брат, фантастику тебе писать, не иначе......
     
     
  • 3.10, iSom, 15:11, 10/01/2004 [^] [ответить] [смотреть все]  
  • +/
    Последовательность действий в WinXP x2k подключение - воткнуть сигнальный каб... весь текст скрыт [показать]
     
  • 1.6, devnull, 02:03, 10/01/2004 [ответить] [смотреть все]  
  • +/
    >не зависает - опробовано на разных винтах и на 2000 и на ХР

    пожалуста поподробнее, у меня зависала :-(

    где-то читал что советуют деинсталлировать ide драйвер перед кажд снятием

     
  • 1.7, Moralez, 08:29, 10/01/2004 [ответить] [смотреть все]  
  • +/
    ну блин... я вот сколько ни спрашивал в конфах (фидошных в основном), ни разу мне не сказали: "да, нормально, так можно делать"... Хотелось бы поинтересоваться, какая у автора статистика? 20 успешных попыток? :-( без выгрузки модуля контроллера, подозреваю, до 50 можно и не дожить :-)
     
  • 1.8, adminchik, 12:07, 10/01/2004 [ответить] [смотреть все]  
  • +/
    Хм.... помнится, в стародавние времена, у меня на 2к такое прокатывало нормально, но это было на матери с чипом i440вх.... када поменял на i815 машинка замерзала намертво (висла). более я так не экспериментировал....  хотелось бы статистики побольше, желательно с описанием железа которое в этом принимало участие :)

    P.S. а никто не читал про подключение IDE к SATA!?!?!? тама енто уже намана прокатывает :) :) :)

     
  • 1.11, Vlad, 18:10, 10/01/2004 [ответить] [смотреть все]  
  • +/
    Постоянно так меняю винты под 2000/XP
    проверено на разных матерях/винтах,
    еще ниразу ничего не спалил :)
     
  • 1.12, Vlad, 18:14, 10/01/2004 [ответить] [смотреть все]  
  • +/
    P.S. Один минус: под виндой при таком подключении
    не поднимается UDMA :(
     
  • 1.13, artem, 00:37, 11/01/2004 [ответить] [смотреть все]  
  • +/
    Я пробовал такие чудеса на FreeBSD и матери с 430TX.
    Работает на ура и в принципе нет тут никакой мистики. Одна беда - выключать нужно весь канал, т.е. и master и slave... :(

    У меня только одно замечание на счет последовательности подключения кабелей.
    Я сначала подключаю питание а потом подключаю интерфейсный шлейф. Выключаю наоборот. И делаю это вот из каких соображений: 1) при подаче питания происходят т.н. "переходные процессы" и лучьше, когда они не передаются на шину; 2) все hotswap диски имеют в разьеме контакты питания длиннее интерфейсных по причине пункта 1. :)

    Про винды не знаю, думаю что зависание - следствие ошибок в конфигурации. Хотя мир виндовс туманен...

     
     
  • 2.15, urfin, 10:25, 12/01/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    дядя, а когда у тябя масдай "засыпает", он у тя питаловом не щелкает на винтах с подключеной шиной?!
     
  • 1.14, Insane, 11:38, 11/01/2004 [ответить] [смотреть все]  
  • +/
    Под фрей работает железно 1 подключаем питание 2 прдключаем шлейф 3 детачим ... весь текст скрыт [показать]
     
  • 1.16, Norguhtar, 14:30, 14/01/2004 [ответить] [смотреть все]  
  • +/
    Да конечно все замечательно. НО работает только для linux без devfsd если он есть то фиг. Почему ? Элементарно Ватсон! Поскольку нет там устройств надо ручками его создать :)
     
     
  • 2.17, Boris this is Doris, 21:36, 18/01/2004 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    killall -1 devfsd пробывал?
    из man
    SIGHUP The  configuration  file  is re-read and any shared objects are reloaded.
    Then the mounted device tree is scanned and synthetic REGISTER events are
    generated for each leaf node.
     
  • 1.18, f0x, 14:54, 29/06/2004 [ответить] [смотреть все]  
  • +/
    не подскажет ли кто в OpenBSD можно такое сделать
     
  • 1.19, Михаил, 03:16, 27/06/2005 [ответить] [смотреть все]  
  • +/
    А для SATA как это сделать?
     
     
  • 2.20, bk, 18:31, 27/06/2005 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >А для SATA как это сделать?
    а просто вставить и подмонтировать разве не работает?

     
  • 1.21, Михаил, 21:25, 01/07/2005 [ответить] [смотреть все]  
  • +/
    увы - работает но только если диск такой же конфигурации (размер и геометрия) а так подбирает данные от старого диска ну отсюда и глюки
    http://www.linuxquestions.org/questions/showthread.php?s=&postid=1718161#post
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor