Почему attached scsi disk а не sata в linux

Обновлено: 01.07.2024

На предыдущих лекциях мы иногда упоминали о подсистеме udev. Вы уже должны понимать в общих чертах, что такое udev и зачем она нужна. Проще всего пояснить назначение подсистемы udev на основе шины USB и подключаемых к ней устройств. Когда к компьютеру подключается USB-устройство, ядро на уровне обслуживания шины USB, фиксирует событие присоединения нового устройства. Перечень таких событий можно посмотреть выполнив команду dmesg. Вот пример событий, которые регистрирует ядро при подключении флеш-накопителя:

До появления udev необходимо было вручную находить подключаемые устройства и настраивать их работу в системе. Теперь эту работу на себя берет udev. Когда вы подключаете флеш-накопитель к компьютеру с современным Linux-дистрибутивом, то вся настройка и монтирование файловой системы происходит автоматически.

Если остановить демон udev, то при подключении флеш-накопителя, ядро будет регистрировать события, каталог /sys будет меняться, но файловая система флеш-накопителя не будет смонтирована. Более того в каталоге /dev вы также не увидите нового устройства, так как именно udev создает там блочное устройство являющееся флеш-накопителем.

Итак, подведем маленький итог. Задача ядра определять изменения в аппаратной конфигурации системы, регистрировать эти изменения, и вносить изменения в каталог /sys. Задача подсистемы udev выполнить дальнейшую интеграцию и настройку устройства в системе (отобразить его в каталоге /dev), и предоставить пользователю уже готовое к работе устройство.

Подсистема udev настраивает устройства в соответствии с заданными правилами. Правила содержаться в файлах каталога /etc/udev/rules.d/. Также файлы с правилами могут содержаться и в каталоге /etc/udev/. Все файлы правил просматриваются в алфавитном порядке.

Рассмотрим строку с правилом из файла правил и познакомимся с основными принципами построения правил:

В строке видим 4 пары выражений разделенных запятой. Первые две пары являются так называемыми фильтрами, которые позволяют идентифицировать устройство. В примере SUBSYSTEMS==”scsi” указывает на то, что устройство должно быть SCSI-устройством, а пара KERNEL==”sr8*” идентифицирует устройство по имени которое оно (устройство) получило от ядра системы. То есть это правило будет применяться к SCSI-устройству с именем sr0 или sr1 и т.д.

Для каждого подключаемого устройства ядро создает соответствующие записи в каталоге /sys. Устройство кроме принадлежности к какой-либо подсистеме и имени, также имеет множество атрибутов, таких как название, модель, серийный номер и другие. Идентифицировать устройства можно и по именам атрибутов. Для этого используется выражение ATTRIB==значение атрибута.

Выполним следующее практическое задание. Напишем правило, которое создаст в каталоге /dev символический линк на подключаемый флеш-накопитель. Флеш-накопитель идентифицируем по серийному номеру. Подключаем флеш-накопитель и с помощью команды dmesg смотрим имя которое было присвоено ядром для этого накопителя:

Нас интересует самая первая строка которая содержит путь к остальной информации об устройстве записанной в каталоге /sys. Чтобы получить эту информацию нужно выполнить команду udevinfo -a -p путь. Чтобы не набирать такой длинный путь можно записать такую команду:

В результате получим длинный перечень атрибутов и значений в виде готовом для использования в правилахudev. Ниже небольшой фрагмент результатов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Теперь можно составить правило. Например, так:

Это правило будет применено ко всем устройствам подсистемы USB у которых серийный номер равенST1A9BFE. В результате должен быть создан символический линк на такое устройство в каталоге /dev.

$ ls -l /dev/ | grep MyFlash
lrwxrwxrwx 1 root root 3 2010-03-19 21:19 MyFlashRally -> sde

Видим, что подсистема udev выполнила наше правило и создала символический линк на файл-устройство sde.

В большинстве случаев подсистема работает корректно и вмешиваться в ее работу на практике приходиться очень редко. Для более глубокого изучения правил рекомендую ознакомиться с файлом справки man udev, а также просмотреть и разобрать правила в существующих файлах правил udev.

В Windows системах есть такое понятие как активный раздел жесткого диска. Это раздел который содержит загрузчик Windows, и если вы установите Windows в раздел который не отмечен как активный (не установлен специальный флаг в таблице разделов), то операционная система не сможет загрузиться. В Linux этот флаг не имеет никакого значения и система будет загружаться даже если диск с загрузчиком не отмечен как активный.

Мы уже знаем, что жесткий диск и его разделы представлены в системе в виде файлов-устройств. Диски с интерфесом IDE обозначаются как hda, hdb, hdc или hdd. Если диск подключен к первому IDE разъему какmaster, то он будет определен как hda, если как slave, то hdb и т.д. Диски с интерфесом SCSI или SATAобозначаются как sda, sdb, sdc и т.д. Диски SATA обозначаются немного по другому чем IDE. Имя SATA диска не зависит от того к какому разъему SATA вы подключили диск. Например у вас есть шесть разъемов SATA(пронумеруем их от 0 до 5). Независимо от того к какому разъему подключить диск он будет называться sda. Если у вас в системе два и более диска SATA, то диск который подключен к разъему с наименьшим номером будет обозначен как sda, и далее по порядку (sdb, sdc и т.д.). Нужно учесть следующее. Если у вас единственный диск SATA был всегда подключен, например, ко второму разъему (и назывался sda), а затем вы подключили еще один диск к первому разъему, то теперь уже новый диск будет называться sda, а ваш старый диск будет называться sdb. Именно по этой причине, рекомендуется записывать разделы жесткого диска в файле/etc/fstab через их UUID.

[ 1.637632] ata2.00: ATA-7: WDC WD2500KS-00MJB0, 02.01C03, max UDMA/133
[ 1.637635] ata2.00: 488397168 sectors, multi 16: LBA48
[ 1.638258] ata2.00: configured for UDMA/133
[ 1.652114] scsi 1:0:0:0: Direct-Access ATA WDC WD2500KS-00M 02.0 PQ: 0 ANSI: 5
[ 1.652228] sd 1:0:0:0: Attached scsi generic sg0 type 0
[ 1.652266] sd 1:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[ 1.652306] sd 1:0:0:0: [sda] Write Protect is off
[ 1.652309] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.652331] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 1.652449] sda: sda1 sda2 sda3 sda4 < sda5
[ 1.689646] sda6 sda7 sda8 sda9 >

Также посмотреть какие у нас есть жесткие диски можно, выполнив команду ls -l /dev/[h,s]d?:

igor@ubuntu:

/linux$ ls -l /dev/[s,h]d?
brw-rw—- 1 root disk 8, 0 2009-11-18 22:58 /dev/sda
brw-rw—- 1 root disk 8, 16 2009-11-18 22:58 /dev/sdb

Диск /dev/sda: 250.1 ГБ, 250059350016 байт
255 heads, 63 sectors/track, 30401 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd4b146b8

Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 2304 18506848+ 7 HPFS/NTFS
/dev/sda2 2305 2472 1349460 e W95 FAT16 (LBA)
/dev/sda3 2473 10263 62581207+ 7 HPFS/NTFS
/dev/sda4 10264 30401 161758485 f W95 расшир. (LBA)
/dev/sda5 10264 12826 20587266 83 Linux
/dev/sda6 12827 12947 971901 82 Linux своп / Solaris
/dev/sda7 12948 18184 42066171 7 HPFS/NTFS
/dev/sda8 18185 27967 78581916 7 HPFS/NTFS
/dev/sda9 27968 30401 19551073+ 7 HPFS/NTFS

Диск /dev/sdb: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb292b292

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 1 4660 37431418+ 83 Linux
/dev/sdb2 4661 4865 1646662+ 5 Расширенный
/dev/sdb5 4661 4850 1526143+ 82 Linux своп / Solaris
/dev/sdb6 4851 4865 120456 83 Linux

Прочитав данную главу, вы научитесь обнаруживать и идентифицировать жесткие диски . Данная информация необходима для подготовки к чтению следующей главы, в которой мы будем размещать разделы на этих устройствах.

4.1. Терминология

4.1.1. Пластина, головка, дорожка, цилиндр, сектор

В дисковых накопителях данные обычно хранятся на магнитных или оптических пластинах (disk platters). Пластины вращаются (с высокими скоростями). Данные считываются с помощью головок (heads), которые расположены очень близко к поверхности пластин, но не прикасаются к ним! Головки смонтированы на держателе (иногда называемом приводом или вилкой).

Данные записываются по концентрическим окружностям, называемым дорожками (tracks). Нулевой трек (обычно) располагается возле внешней стороны пластины. Время, необходимое для позиционирования головки над определенной дорожкой, называется временем перехода к дорожке (seek time). Обычно пластины располагаются одна над другой, поэтому набор дорожек, доступный при определенном позиционировании держателя головки формирует цилиндр (cylinder). Дорожки разделены на секторы по 512 байт с дополнительным неиспользуемым пространством ( разрывом ) между секторами на внешней стороне пластины.

При рассмотрении составляющих времени доступа (access time) для жесткого диска вы можете отметить, что большая часть времени уходит на позиционирование головок (около 65 %) и задержки вращения пластин (roatational latency) (около 30 %).

4.1.2. Интерфейсы IDE или SCSI

На самом деле следовало бы использовать заголовок "интерфейсы ATA или SCSI ", так как устройство IDE является ATA-совместимым устройством. В большинстве настольных компьютеров используются устройства ATA , в большинстве серверов - устройства SCSI .

4.1.3. Интерфейс ATA

Контроллер ATA позволяет использовать два устройства на каждой из шин, причем одно из устройств должно быть ведущим , а другое - ведомым . В том случае, если ваш контроллер не поддерживает возможность автоматического распределения ролей устройств "cable select", вам придется производить соответствующие настройки самостоятельно с помощью джамперов.

После представления общественности интерфейса SATA (Serial ATA) оригинальный интерфейс ATA был переименован в интерфейс Parallel ATA . Устройства чтения оптических дисков обычно используют интерфейс ATAPI , который на самом деле является интерфейсом ATA, использующим протокол обмена данными SCSI.

4.1.4. Интерфейс SCSI

Контроллер SCSI позволяет использовать более двух устройств. При использовании интерфейса SCSI ( Small Computer System Interface ) каждое устройство получает уникальный идентификатор scsi id . Контроллеру SCSI также требуется идентификатор scsi id , причем вы не должны использовать данный идентификатор для подключенного к контроллеру устройства SCSI.

4.1.5. Блочное устройство

Для жестких дисков с возможностью произвольного доступа к данным в рамках операционной системы реализован уровень абстракции под названием " блочное устройство " (block device), позволяющий осуществлять форматирование этих дисков с использованием блоков фиксированного размера (обычно равного 512 байтам). При этом доступ к каждому из блоков устройства может осуществляться независимо от доступа к любым другим блокам устройства.

Для обозначения файлов блочных устройств в выводе команды ls -l используется символ b.

Обратите внимание на то, что в выводе команды ls -l символьные устройства , позволяющие работать исключительно с непрерывными потоками символов, обозначаются с помощью символа c. Также следует помнить о том, что оптический диск CDROM, соответствующий стандарту ISO 9660, использует блоки, размер каждого из которых равен 2048 байтам .

В старых жестких дисках (а также в дискетах) для доступа к секторам используется система адресации на основе номеров цилиндров, головок и секторов . При этом в большинстве современных дисков используется система адресации LBA (Logical Block Addressing) .

4.1.6. Твердотельные накопители

Твердотельный накопитель или SSD (Solid State Drive) является блочным устройством без движущихся частей. Его можно сравнить с флеш-памятью . Устройства SSD превосходят в цене жесткие диски, но при этом обычно характеризуются гораздо меньшими значениями времени доступа к секторам.

В рамках данной книги для обозначения дисков с вращающимся шпинделем будут использоваться пиктограммы коричневого цвета, а для обозначения твердотельных накопителей - пиктограммы синего цвета.

4.2. Имена файлов устройств

4.2.1. Имена файлов устройств ATA (IDE)

Пути к файлам всех устройств ATA в вашей системе будут начинаться с /dev/hd с последующим буквенным символом. Ведущий жесткий диск, подключенный к первому контроллеру ATA будет представлен в системе с помощью файла устройства /dev/hda, ведомый - с помощью файла устройства /dev/hdb. Именами файлов устройств, подключенных ко второму контроллеру, будут /dev/hdc и /dev/hdd.

Таблица 4.1. Имена файлов устройств IDE

Контроллер Роль устройства Имя файла устройства
IDE 0 Ведущее /dev/hda
Ведомое /dev/hdb
IDE 1 Ведущее /dev/hdc
Ведомое /dev/hdd

Вполне вероятна ситуация, в которой в вашей системе будут созданы только файлы устройств /dev/hda и /dev/hdd . Первый файл будет представлять единственный жесткий диск, а второй - привод для чтения дисков CDROM (по умолчанию настроенный как ведомое устройство).

4.2.2. Имена файлов устройств SCSI

Для файлов устройств SCSI используется аналогичная схема, но все пути к этим файлам начинаются с /dev/sd . В том случае, если для представления устройств, используемых в вашей системе, не хватит букв английского алфавита (устройство, представленное файлом /dev/sdz, не будет являться последним), в именах файлов устройств будет использоваться более одной буквы: /dev/sdaa, /dev/sdab и так далее. (Также позднее мы увидим, что тома LVM обычно представлены файлами устройств /dev/md0, /dev/md1, и.т.д.).

Ниже приведен пример распределения имен файлов устройств в Linux между устройствами SCSI. Добавление диска SCSI или RAID-контроллера с меньшим значением идентификатора scsi id приведет к изменению схемы распределения имен устройств (сдвигу вперед на одну букву из алфавита для устройств с большими значениями идентификаторов scsi id).

Таблица 4.2. Имена файлов устройств SCSI

Устройство Идентификатор scsi id Имя файла устройства
диск 0 0 /dev/sda
диск 1 1 /dev/sdb
RAID-контроллер 0 5 /dev/sdc
RAID-контроллер 1 6 /dev/sdd

В современной системе Linux файлы устройств /dev/sd* будут использоваться для представления устройств SCSI и SATA, а также карт памяти SD, накопителей с интерфейсом USB, устройств ATA/IDE (устаревших) и твердотельных накопителей.

4.3. Определение параметров дисковых устройств

4.3.1. Утилита fdisk

Процедура определения параметров дисковых устройств может быть начата с установления определенных ядром ОС типов устройств с помощью утилиты /sbin/fdisk . Ниже представлен результат использования данной утилиты на старом настольном компьютере с двумя дисками ATA/IDE, работающем под управлением дистрибутива Debian.

А ниже приведен пример описания параметров дисков SATA и SCSI , которые установлены в сервере, работающем под управлением дистрибутива CentOS. Помните о том, что для представления дисков SATA также используется нотация имен файлов устройств, принятая для дисков SCSI , а именно, /dev/sd*.

Ниже приведено описание параметров двух реальных дисков SCSI объемом по 72 ГБ, которые установлены в сервере, работающем под управлением дистрибутива RHEL4u3. Данный сервер соединен с сервером сетевого хранилища ( NAS ) с четырьмя дисками объемом в половину терабайта каждый. На дисках сервера сетевого хранилища размещены четыре раздела LVM (/dev/mdx), предназначенные для формирования программного RAID-массива.

Также вы можете использовать утилиту fdisk для получения информации о каждом отдельном дисковом устройстве.

Позднее мы будем использовать утилиту fdisk для выполнения таких опасных операций, как создание и удаление разделов жестких дисков.

4.3.2. Утилита dmesg

А ниже приведен другой пример фрагмента вывода утилиты dmesg , полученного при работе с компьютером, оснащенным жестким диском ATA объемом 200 ГБ.

В последнем, третьем примере приведен фрагмент вывода утилиты dmesg , полученный при работе с дистрибутивом RHEL 5.3.

4.3.3. Утилита /sbin/lshw

Утилита lshw позволяет получить список параметров аппаратного обеспечения (название утилиты расшифровывается как "list hardware" - "получение списка параметров аппаратного обеспечения"). При передаче соответствующих параметров утилита lshw может вывести большой объем информации о дисковых устройствах (и созданных на этих устройствах разделах).

Ниже приведен сокращенный пример вывода данной утилиты, полученный при работе с дистрибутивом Debian 6:

Данная утилита не поставляется в составе дистрибутивов Redhat и CentOS (но вы можете подключить дополнительный репозиторий программного обеспечения и установить ее).

4.3.4. Утилита /sbin/lsscsi

Утилита lsscsi выводит информацию обо всех устройствах SCSI (а также об эмулируемых устройствах SCSI) в удобном для чтения формате. В первом примере показан вывод утилиты lsscsi при работе с системой SPARC.

Ниже приведен пример вывода утилиты lsscsi при работе с сервером сетевого хранилища QNAP NAS (в котором установлено четыре диска объемом 750 ГБ, причем сам сервер поддерживает возможность загрузки операционной системы с накопителя с интерфейсом USB).

А в этом примере приведен классический вывод утилиты lsscsi .

4.3.5. Файл /proc/scsi/scsi

Другой способ обнаружения дисковых устройств SCSI (или SATA) заключается в чтении файла /proc/scsi/scsi .

В данном примере показано содержимое упомянутого файла в системе SPARC с контроллером RAID 5 производства компании Adaptec.

А это вывод команды cat /proc/scsi/scsi для упомянутого выше сервера сетевого хранилища QNAP (работающего под управлением Debian Linux).

Обратите внимание на то, что в последних версиях дистрибутива Debian данная возможность деактивирована на уровне ядра ОС. Вы можете активировать ее (перед компиляцией ядра ОС) с помощью данного параметра:

В дистрибутивах Redhat и CentOS данный файл присутствует по умолчанию (в случае наличия устройств SCSI).

4.4. Очистка жесткого диска

Перед продажей вашего старого жесткого диска через торговую площадку в сети Интернет следует удалить все хранившиеся на нем ранее данные. После простого изменения таблицы разделов, применения утилиты format из состава ОС Microsoft Windows или даже после применения утилиты mkfs некоторые специалисты все еще будут иметь возможность прочитать большую часть данных, хранившихся на диске.

Хотя в техническом плане утилита /sbin/badblocks и предназначена для отслеживания поврежденных секторов на диске, вы также можете использовать ее для полного удаления всех данных с диска. Так как данная утилита в прямом смысле записывает данные в каждый сектор диска, процедура удаления данных может занять много времени!

В предыдущем примере осуществляется четырехкратная перезапись каждого из секторов на диске. Однократной перезаписи секторов диска с помощью такого инструмента, как dd , также вполне достаточно для уничтожения всех данных на диске.

Обратите внимание на то, что в примере ниже показан способ необратимого уничтожения всех данных, сохраненных на блочном устройстве.

4.5. Дополнительные параметры функционирования дисковых устройств

Подробное рассмотрение вопросов установки значений параметров функционирования жестких дисков (таких, как dma, gap, ) выходит за рамки данного курса. Тем не менее, необходимо упомянуть о том, что для этих целей существует несколько утилит, причем утилиты hdparm и sdparm являются двумя наиболее часто используемыми из них.

Утилита hdparm может использоваться для вывода информации и установки значений параметров функционирования жестких дисков с интерфейсом ATA (SATA). Параметры -i и -I позволят вам получить дополнительную информацию о физических свойствах вашего устройства.

Ниже приведена информация о жестком диске с интерфейсом IDE объемом в 200 ГБ, выводимая утилитой hdparm .

А это пример вывода утилиты sdparm из состава дистрибутива Ubuntu 10.10.

Используйте утилиты hdparm и sdparm с особой осторожностью.

4.6. Практическое задание: дисковые устройства

О данном практическом задании: для того, чтобы получить практические навыки по работе с жесткими дисками, вам, разумеется, потребуется несколько жестких дисков. В том случае, если у вас в распоряжении нет физического жесткого диска, вы можете использовать виртуальные диски виртуальной машины vmware или VirtualBox . Инструктор должен помочь с подключением нескольких жестких дисков ATA и/или SCSI к виртуальной машине. Результаты выполнения данного практического задания могут использоваться при выполнении трех следующих практических заданий (посвященных работе разделами, файловыми системами, а также монтированию файловых систем).

Рекомендуется подключить к виртуальной машине три жестких диска объемом 1 ГБ и три жестких диска объемом 2 ГБ. Это позволит выполнить как текущее практическое задание, так и практические задания из следующих глав (посвященные работе с RAID-массивами, разделами LVM и iSCSI) без лишних сложностей.

1. Используйте утилиту dmesg для получения списка всех устройств жестких дисков, обнаруженных в процессе загрузки системы.

2. Используйте утилиту fdisk для вычисления общего объема всех жестких дисков, установленных в вашей системе.

3. Остановите виртуальную машину, добавьте три виртуальных диска с интерфейсом SCSI объемом в 1 ГБ каждый и один виртуальный диск с интерфейсом IDE объемом в 400 МБ. Если это возможно, также добавьте еще один виртуальный диск с интерфейсом IDE объемом в 400 МБ.

4. Используйте утилиту dmesg для проверки корректности обнаружения новых дисковых устройств в процессе загрузки системы.

5. Проверьте наличие файлов устройств, соответствующих дисковым устройствам, в директории /dev .

6. Используйте утилиту fdisk (совместно с утилитой grep и специальным файлом устройства /dev/null ) для вывода информации об объеме новых дисковых устройств.

7. Используйте утилиту badblocks для полной очистки одного из дисков наименьшего объема.

8. Рассмотрите содержимое файла /proc/scsi/scsi .

9. Если это возможно, установите утилиты lsscsi и lshw , после чего используйте их для получения списка дисковых устройств.

4.7. Корректная процедура выполнения практического задания: дисковые устройства

1. Используйте утилиту dmesg для получения списка всех устройств жестких дисков, обнаруженных в процессе загрузки системы.

2. Используйте утилиту fdisk для вычисления общего объема всех жестких дисков, установленных в вашей системе.

3. Остановите виртуальную машину, добавьте три виртуальных диска с интерфейсом SCSI объемом в 1 ГБ каждый и один виртуальный диск с интерфейсом IDE объемом в 400 МБ. Если это возможно, также добавьте еще один виртуальный диск с интерфейсом IDE объемом в 400 МБ.

Данное задание выполняется путем редактирования настроек виртуальной машины vmware или VirtualBox.

4. Используйте утилиту dmesg для проверки корректности обнаружения новых дисковых устройств в процессе загрузки системы.

Аналогично заданию 1.

5. Проверьте наличие файлов устройств, соответствующих дисковым устройствам, в директории /dev .

6. Используйте утилиту fdisk (совместно с утилитой grep и специальным файлом устройства /dev/null ) для вывода информации об объеме новых дисковых устройств.

7. Используйте утилиту badblocks для полной очистки одного из дисков наименьшего объема.

8. Рассмотрите содержимое файла /proc/scsi/scsi .

9. Если это возможно, установите утилиты lsscsi и lshw , после чего используйте их для получения списка дисковых устройств.

эмуляции в биосе нет
на сайте редхэта нашёл такое:

поэтому выставляю Enhanced.

Пробовал ставить RedHat9 с ядром 2.4.20-8
Не захотело ставиться, и вроде бы у него ещё нету поддержки SАТА
Я слил ядро 2.6.3, там включена поддержка SATA. Установил РедХэт9 на второй, подключенный для ентих целей простой ATA диск. Откомпилировал ядро с поддержкой SATA и гружу его.

Motherboard: Intel 865PERL
HDD: Seagate 7200.7 (SATA 80Gb)

Поставил LinuX Red Hat 9

в BIOS выставил такие параметры:
ATA/IDE Configuration -> Legacy
Legacy IDE Channels -> SATA P0/P1, PATA Pri.

Исходные данные:
материнка на чипсете I875P,
жесткий диск segate SATA на 120GB (3120026AS),
второй точно такой IDE диск segate(3120026A).

Linux видит SATA как SCSI устройство. Я нашел несколько
мест, где написано, что 2.6 видит SATA как SCSI, а 2.4 как ide
/dev/hdg. Но мой собственный опыт показал, что это не так.
Оба ядра видят его как scsi (по крайней мере, если использовать
те версии и патчи, что и я).

Для 2.6.5 никаких патчей не нужно. Просто включаем в ядре
поддержку SATA SCSI в разделе SCSI и конкретный SATA контролер
(в моем случае Intel ICH). При загрузке
видим SATA винт как /dev/sda, а второй IDE как /dev/hda.

в 2.4.27 обещают тоже сразу все будет в ядре, без патчей.
Но в 2.4.26 пока надо патчить.

почему там каждой версии по три (libata1,2,3) я так и не понял,
взял libata1 и все работает.

скачиваем и применяем вот так (стоя в директории ядра):
patch -p1 ../2.4.26-rc1-libata1.patch

теперь включаем в ядре SATA SCSI как и для 2.6
дальше все тоже как в 2.6. Диск виден как /dev/sda

Собственно все, если вы хотите поставить Linux сразу на SATA
диск, то вам разумеется нужен инсталлятор Linux с соотв. ядром.

В противном случае надо поставить Linux сначала на обычный ATA диск, загрузиться, проделать все, что описано выше и когда SATA заведётся - перенести систему на него. Некоторые мамки вроде
бы позволяют изобразить из SATA обычный ATA, что можно
использовать в такой ситуации для начальной установки. Мне это
не понадобилось.

Только что поставили 3.6 Knoppix на Dell - HDD Seagate SATA 250Gb
BIOS У Dell попроше Intell будет - из всех опций поменяли SATA interface "нормал" на "complicated" (?) - и заработало

Такой вопрос: имеется RAID карта ACard AEC-6897. Драйверов для Linux пока нет, и дело может затянуться еще на полгода. Есть драйвера от предыдущей модели карты на том же чипе, но они не опознают новую.

redix avatar

у меня
UPD - что мне не совсем понятно - хотя можно объяснить тем, что у ТС модуль ahci не полностью загружается …. верно ли это?, на 100% не уверен.

Загрузил модуль обратно
modprobe -v ahci (опция -v показывает. что грузиться)
Проверил, все появилось и стало как прежде.

И тут я вспомнил, что когда писал ТС про загрузку модулей, то была такая фраза (в части указания опции -v для информативности)

Ded1997
Модули вообще никакой информации не предоставили при запуске, спокойно, молча запустились

EDIT 1 - а вот если модуль полностью все-таки не загрузиться, то тогда нужно смотреть и думать - почему он не загружается

Ded1997
Kernel modules: ahci и недостающий libata в lsmod | grep ahci оказались на месте. Также это ничего не меняет.

Вот это и странно. Будет время и желание попробуй еще раз загрузиться и выполнить следующее - за один раз, что б больше к этому не возвращаться.
Плюс к этому, тогда не выгрузили сначала все эти модули, а просто пытались загрузить не достающие.
1. ls /dev/sd*
2. ls /dev/disk/by-id
3. lspci -v -s <id> (вроде бы <id> = 00:11.0)
4. lsmod | grep ahci
и вдобавок отдельно зависимые модули
lsmod | grep libahci
lsmod | grep libata
lsmod | grep scsi_mod

Выгружаем модуль ahci
5. modprobe -v -r ahci
должно проинформировать какие модули были выгружены - и лучше проверить их наличие согласно п.4 - если что то осталось(что маловероятно, то выгрузить отдельно и снова проверить)
6.lspci -v -s <id>

Загружаем модуль обратно
7. modprobe -v ahci
в выводе должно быть указано три модуля
Если какой то модуль не загрузился, грузим его в ручную
insmod /lib/modules/. /<модуль>.ko.gz
9. Проверяем загрузку модулей согласно п.4
10. Смотрим выводы согласно пп.1, 2, 3

Если опять ничего нет, попробуем загрузить модули в ручную, для чего
11. Выгружаем все модули, как это делали раньше в п.5
12. И загружем все модули используя insmod
Путь расположения модулей смотрим в выводе, типа, modinfo -n libata
13. И опять смотрим окончательные выводы по пп. 1, 2, 3 и наличие диска.
UPD 1- все-таки советую это проделать, нет гарантии, что после апгрейд все наладится.
UPD 2- и все таки мне не понятно, это наблюдается только с этими двумя дисками или есть проблемы и с другими? Такое впечатление, что libata не понимает эти диски, а потому и не грузится данный модуль libata.

Читайте также: