В этом документе описывается процедура установки и настройки аппаратного SCSI RAID, в основном, на примере хост-контроллеров фирмы DPT, хотя принципы, приведенные здесь, применимы и в других случаях.
Используйте информацию, приведенную здесь, на собственный страх и риск. Я не несу никакой ответственности за то, что вы можете натворить после прочтения этого документа. Наиболее свежую версию этого документа можно найти по адресу http://www.ram.org/computing/linux/dpt_raid.html.
В этом документе я предполагаю, что у вас установлен Linux. Также заметьте, что я испытывал только контроллеры DPT Smartcache IV PM2144UW и PM3334UW, со стойками DPT SmartRAID tower и Wetex, и не пробовал другие настройки. Поэтому, в случае использования другого оборудования, процедура может отличаться.
На настоящий момент существует только один хорошо поддерживаемый Linux хост-контроллер RAID (т.е. контроллер, для которого есть драйвер для Linux) - это контроллер фирмы DPT. Однако, существуют другие хост-контроллеры и контроллеры SCSI-SCSI, которые могут работать под Linux. Их производят фирмы Syred, ICP-Vortex, а также BusLogic. К тому же, существуют различные SCSI-SCSI контроллеры. Смотрите страницу "RAID в Linux".
Если в будущем будет реализована поддержка других контроллеров, я приложу все усилия, чтобы внести информацию об этих контроллерах в этот документ. Пожалуйста, посылайте мне любую информацию, которая, как вы считаете, имеет отношение к этому HOWTO.
Этот документ ориентирован исключительно на контроллеры фирмы DPT. Описана поддержка, практически, всех контроллеров серии SmartRAID IV.
Серия Vortex фирмы ICP представляет из себя полный набор всевозможных контроллеров, поддерживающих Linux. Драйвер ICP встроен в ядро Linux, начиная с версии 2.0.31. Все основные дистрибутивы Linux содержат этот драйвер; S.u.S.e., LST Power Linux, Caldera и Red Hat поддерживают контроллеры фирмы ICP в процессе загрузки и установки. RAID-система легко настраивается при помощи ROMSETUP (для настройки не надо загружать MS-DOS!).
Утилита мониторинга GDTMON позволяет управлять всей системой ICP RAID (узнать скорость передачи, настроить параметры контроллера и жестких дисков, менять сломавшиеся диски и т.п.). На текущий момент существуют следующие модели: одно- и двухканальные Wide- и Ultra-SCSI контроллеры для RAID 0 и RAID 1; одно-, двух-, трех- и пятиканальные Wide- и Ultra-SCSI контроллеры для RAID 0, 1, 4, 5 и 10; одно- и двухканальные Wide- и Ultra2-LVDS SCSI контроллеры для RAID 0 и RAID 1; одно-, двух-, трех- и пятиканальные Wide- и Ultra2-LVDS SCSI контроллеры для RAID 0, 1, 4, 5 и 10; одно- и двухпортовые оптоволоконные контроллеры для RAID 0, 1, 4, 5 и 10; скоро должны появиться 64-битные UW-SCSI контроллеры.
Имея настолько богатый выбор, вам, при необходимости установить RAID, придется серьезно и аккуратно решить, что же вам надо. В зависимости от ваших потребностей и уровня RAID, который вы собираетесь использовать, некоторые контроллеры могут быть лучше, некоторые хуже. Адаптеры SCSI-SCSI может быть не настолько хороши, как хост-контроллеры (смотрите Сравнение хост- и SCSI-SCSI адаптеров фирмы DPT). Michael Neuffer ([email protected]), автор драйвера EATA-DMA, прекрасно описал эту разницу на странице Высокопроизводительные SCSI и RAID в Linux.
От типа стойки зависит возможность горячей замены винчестеров, системы предупреждения (т.е. существует ли система индикации сбоев, и отображается ли повреждение конкретного носителя), и дополнения к самим носителям (например, система воздушного охлаждения или система дополнительного питания). Сначала мы использовали стойки фирмы DPT - RAID-5 на 18 Гб, но они достаточно дороги. Теперь у нас установлена стойка фирмы Wetex (http://www.wetex.com/), имеющая такие же возможности, но стоящая почти вчетверо дешевле. Теперь у нас установлена стойка Wetex на 14 слотов, из которых мы сделали 2 RAID-5, размерами 45 Гб и 63 Гб соответственно.
Внимательно прочтите инструкции по установке карты контроллера и винчестеров. В случае с контроллерами фирмы DPT, менеджер контроллера для Linux для них до сих пор не написан. Вам понадобится системная MS-DOS дискета (обычно ее можно сделать командой format /s из приглашения MS-DOS. Затем вы можете использовать менеджер контроллера фирмы DPT для MS-DOS (сделайте на всякий случай его резервную копию).
После установки контроллера, загрузите DOS при помощи этого диска. Далее вставьте дискету с менеджером контроллера и запустите его командой:
a:\ dptmgr
После минуты ожидания (или около того), вы увидите красивое меню с большим количеством опций. Настройте ваш набор дисков, как аппаратный RAID (один логический массив). Выберите "прочая" ("other") в пункте "операционная система".
Менеджер контроллера для MS-DOS значительно проще использовать с мышью, поэтому вам может понадобиться драйвер мыши на первом (загрузочном) диске.
В принципе, существует теоретическая возможность запустить менеджер контроллера DPT для SCO Unix под Linux, но это может оказаться сложнее, чем это того стоит. Скорее всего, будет проще запустить под Linux все тот же менеджер контроллера для MS-DOS.
Вам надо будет встроить в ядро поддержку SCSI и соответствующий драйвер низкого уровня. Читайте "HOWTO: Ядро", чтобы узнать, как собрать ядро. После того, как вы включите поддержку SCSI (SCSI support), в разделе драйверов низкого уровня, выберите соответствующий драйвер (EATA DMA или EATA ISA/EISA/PCI для большинства EATA DMA-совместимых карт (DPT), EATA PIO для очень старых карт моделей PM2001 и PM2012A фирмы DPT). Многие драйверы, включая EATA DMA и EATA ISA/EISA/PCI, должны быть в новых версиях ядер.
После сборки ядра перезагрузите систему, затем проверьте, все ли правильно настроено. Вы должны увидеть драйвер, распознающий RAID, как один SCSI-диск. Если у вас RAID-5, то размер этого диска будет равен 2/3 суммарного объема дисков, входящих в массив.
Ниже приведены примерные сообщения, выдаваемые драйвером EATA DMA при загрузке:
EATA (Extended Attachment) driver version: 2.59b developed in co-operation with DPT (c) 1993-96 Michael Neuffer, [email protected] Registered HBAs: HBA no. Boardtype Revis EATA Bus BaseIO IRQ DMA Ch ID Pr QS S/G IS scsi0 : PM2144UW v07L.Y 2.0c PCI 0xef90 11 BMST 1 7 N 64 252 Y scsi0 : EATA (Extended Attachment) HBA driver scsi : 1 host. Vendor: DPT Model: RAID-5 Rev: 07LY Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 8, lun 0 scsi0: queue depth for target 8 on channel 0 set to 64 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 35591040 [17378 MB] [17.4 GB]
(Приведенный выше пример выдается ядром при загрузке системы с одним SCSI-контроллером фирмы DPT, настроенным в режиме RAID-5, с тремя дискам, по 9 Гб каждый.)
Ниже приведены примерные сообщения, выдаваемые драйвером EATA ISA/EISA/PCI при загрузке:
aic7xxx: <Adaptec AHA-294X SCSI host adapter> at PCI 15 aic7xxx: BIOS enabled, IO Port 0x7000, IO Mem 0x3100000, IRQ 15, Revision B aic7xxx: Single Channel, SCSI ID 7, 16/16 SCBs, QFull 16, QMask 0x1f EATA0: address 0x7010 in use, skipping probe. EATA0: 2.0C, PCI 0x7410, IRQ 11, BMST, SG 252, MB 64, tc:y, lc:y, mq:62. EATA0: wide SCSI support enabled, max_id 16, max_lun 8. EATA0: SCSI channel 0 enabled, host target ID 6. EATA/DMA 2.0x: Copyright (C) 1994-1997 Dario Ballabio. scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.1.1/3.2.1 scsi1 : EATA/DMA 2.0x rev. 3.11.00 scsi : 2 hosts. scsi0: Scanning channel A for devices. Vendor: IBM OEM Model: DFHSS2F Rev: 1818 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 Vendor: SEAGATE Model: ST41650 TX Rev: DG01 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 Vendor: TEAC Model: FC-1 GF 00 Rev: RV L Type: Direct-Access ANSI SCSI revision: 01 CCS Detected scsi removable disk sdc at scsi1, channel 0, id 3, lun 0 Vendor: SONY Model: CD-ROM CDU-541 Rev: 2.6a Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi1, channel 0, id 5, lun 0 EATA0: scsi1, channel 0, id 0, lun 0, cmds/lun 21, sorted, tagged. EATA0: scsi1, channel 0, id 3, lun 0, cmds/lun 21, sorted. EATA0: scsi1, channel 0, id 5, lun 0, cmds/lun 21, sorted. scsi : detected 1 SCSI cdrom 3 SCSI disks total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 4404489 [2150 MB] [2.2 GB] SCSI device sdb: hdwr sector= 512 bytes. Sectors= 2779518 [1357 MB] [1.4 GB] SCSI device sdc: hdwr sector= 256 bytes. Sectors= 4160 [1 MB] [0.0 GB]
(Приведенный выше пример выдается ядром при загрузке системы с двумя SCSI-контроллерами, DPT PM3224W и Adaptec AHA2940.)
После всех вышеописанных процедур можно воспринимать RAID как обычный диск. Сначала разбейте диск на разделы (используя команду fdisk). Затем отформатируйте диск, создав на нем файловую систему ext2. Это можно сделать следующей командой:
% mkfs -t ext2 /dev/sdxN
где /dev/sdxN - это имя вновь созданного SCSI-раздела. После этого подключите разделы и используйте точно также, как любой другой диск (в том числе, добавьте соответствующие строки в файл /etc/fstab).
Мы сначала намеревались проверить горячую замену, просто достав диск, а затем вернуть его в стойку фирмы DPT (которую необходимо покупать отдельно). Но, еще до начала наших экспериментов, у нас прошел сбой диска (пока я это пишу, писк от массива сводит меня с ума). Несмотря на то, что один диск сломался, все данные на RAID были доступны.
Вместо замены диска, мы просто подождали немного и поставили этот диск обратно. Диск был восстановлен и все вроде бы нормально. Пока диск был нерабочим, а также в процессе восстановления данных, все данные были доступны. Правда, надо заметить, что если бы сломался еще один диск, то у нас были бы серьезные проблемы.
Ниже приведен результат работы программы Bonnie, на контроллере 2144 UW с 9x3=17 Гб RAID-5, с использованием драйвера EATA DMA. RAID-массив установлен на двухпроцессорной системе Pentium Pro с Linux с ядром версии 2.0.33. Для сравнения приведены результаты работы программы Bonnie с IDE диском на той же машине.
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU RAID 100 9210 96.8 1613 5.9 717 5.8 3797 36.1 90931 96.8 4648.2 159.2 IDE 100 3277 32.0 6325 23.5 2627 18.3 4818 44.8 59697 88.0 575.9 16.3
Некоторые спорят об этих замерах (и, кстати, частично правы - у меня не было возможности замерить подобные цифры на наших машинах - они слишком перегружены) из-за того, что размер используемого файла мог привести к тому, что он просто остался в кэше (как результат - поразительно хорошие показатели скорости). Вот подобные замеры с контроллером 3344 UW:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1000 1714 17.2 1689 6.0 1200 5.7 5263 40.2 7023 12.1 51.3 2.2
И некоторые замеры с хост-контроллером RAID:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 64 7465 100.0 70287 98.7 37012 97.7 8074 99.2 *****100.3 ***** 196.6 128 7289 99.3 67595 98.5 35294 98.6 7792 97.6 *****100.3 ***** 195.8 256 7222 98.8 44844 69.6 16096 51.8 5787 72.7 ***** 99.8 ***** 85.2 512 7138 98.4 13871 23.2 7888 29.3 7183 89.3 16488 27.2 1585. 11.5 1024 6908 95.8 12270 21.5 7161 25.4 7373 90.4 16527 28.2 123.8 1.8 2047 6081 84.1 12664 22.6 7191 25.6 7289 89.5 16573 28.5 75.0 1.2 ***** results exceed column width (> 100 MB/sec, > 10000 seeks/sec) host: Два PII 400 MHz, 2 x U2W, 512 Мб ОЗУ, без внутренних дисков RAID: IFT 3102 UA 128 Мб кэш, RAID-5, 6 x 9 Гб OS: SuSE Linux 6.0 с ядром версии 2.2.3
В этом разделе описаны некоторые команды, которые можно использовать в Linux, для проверки конфигурации вашего RAID-массива. В примерах мы опять ссылаемся на драйвер EATA DMA, но действия для других драйверов будут аналогичны.
Чтобы просмотреть настройку вашего драйвера, наберите:
% cat /proc/scsi/eata_dma/N
где N - это идентификатор хоста контроллера (host id). Вы увидите примерно следующее:
EATA (Extended Attachment) driver version: 2.59b queued commands: 353969 processed interrupts: 353969 scsi0 : HBA PM2144UW Firmware revision: v07L.Y Hardware Configuration: IRQ: 11, level triggered DMA: BUSMASTER CPU: MC68020 20MHz Base IO : 0xef90 Host Bus: PCI SCSI Bus: WIDE Speed: 10MB/sec. SCSI channel expansion Module: not present SmartRAID hardware: present. Type: integrated Max array groups: 7 Max drives per RAID 0 array: 7 Max drives per RAID 3/5 array: 7 Cache Module: present.
Type: 0 Bank0: 16MB without ECC Bank1: 0MB without ECC Bank2: 0MB without ECC Bank3: 0MB without ECC Timer Mod.: present NVRAM : present SmartROM : enabled Alarm : on Host<->Disk command statistics: Reads: Writes: 1k: 0 0 2k: 0 0 4k: 0 0 8k: 0 0 16k: 0 0 32k: 0 0 64k: 0 0 128k: 0 0 256k: 0 0 512k: 0 0 1024k: 0 0 >1024k: 0 0 Sum : 0 0
Чтобы увидеть более подробную статистику, наберите:
% echo "eata_dma latency" > /proc/scsi/eata_dma/N
А затем снова:
% cat /proc/scsi/eata_dma/N
и увидите более подробную статистику.
Чтобы выключить этот режим, наберите:
% echo "eata_dma nolatency" > /proc/scsi/eata_dma/N
Это может происходить по ряду различных причин, но, скорее всего, в ядро не встроен соответствующий драйвер. Проверьте и убедитесь в том, что нужный драйвер встроен в ядро (EATA-DMA или EATA ISA/EISA/PCI для большинства карт фирмы DPT).
RAID не настроен должным образом. Если у вас стойка фирмы DPT, то вам надо настроить один логический RAID-массив. Michael Neuffer ([email protected]) пишет: "При настройке контроллера с SM запустите его с ключом /FW0 и/или выберите Solaris в качестве ОС. В результате этого, массив будет управляться напрямую контроллером."
Как сказано в "Руководстве пользователя контроллера DPT", это очень большая проблема и, возможно, потребуется возвратить диск производителю, потому что менеджер контроллера DPT скорее всего не сможет его отформатировать. Однако, вам, возможно, удастся отформатировать его на низком уровне, при помощи программы фирмы DPT, которая называется clfmt; ее можно найти на их сайте в разделе утилит (http://www.dpt.com/techsup/sr4utils.htm). Прочтите инструкции к программе после разархивирования файла clfmt.zip (используйте эту программу очень аккуратно). После низкоуровневого форматирования диск можно воспринимать как новый. Еще раз, используйте эту программу с опаской!
Снова прочтите SCSI-HOWTO. Проверьте кабели и терминаторы. Попробуйте на другом компьютере, если это возможно. Основная причина проблем со SCSI-устройствами - неправильно настроенное оборудование. В конце концов, вы можете обратиться в различные группы новостей или написать мне, и я постараюсь вам помочь.
Эти документы могут вам пригодиться в процессе настройки RAID:
Технологическая библиотека DPT
Домашняя страница EATA-DMA
HOWTO: Диски в Linux
HOWTO: Ядро Linux
HOWTO: SCSI в Linux
HOWTO: Настройка мультидисковых систем
Решения RAID для Linux
Создание этого документа было бы невозможно без:
Andreas Koepf ([email protected])
Boris Fain ([email protected])
Dario Ballabio ([email protected])
Heiko Rommel ([email protected])
Jos Vos ([email protected])
Michael Neuffer ([email protected])
Ralph Wallace ([email protected])
Russell Brown ([email protected])
Syunsuke Ogata ([email protected])
Tom Brown ([email protected])
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу, приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <[email protected]>, или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу <[email protected]>