Диски, ленты, файловые системы







* Какие есть SCSI устройства *

MOTOROLA: Какие есть SCSI устройства.

scsiscan - эта утилита сообщит вам, какие SCSI устройства подключены и как они называются (SCSI-id) После подключения новых устройств к компьютеру Motorola 922 он самостоятельно их распознает при очередной начальной загрузке и запускает программу из каталога /sbin/auto-boot, которая создает специальные файлы, соответствующие этим устройствам.

SUN: Какие есть SCSI устройства.

На компьютере Sun SPARC для определения SCSI-устройств: Перейдите в BOOT-prom монитор (Нажмите клавиши Stop+A) Введите команду probe-scsi ok probe-scsi Чтобы создать специальные файлы, выполните "reconfiguration boot": из BOOT-промпта ok boot -r

LINUX: Какие есть SCSI устройства и жесткие диски.

IBM PC/Linux сообщает об опознанных устройствах при начальной загрузке. Предполагается, что соответствующий драйвер SCSI (if exists) сконфигурирован в ядре. Чтобы еще раз просмотреть эти сообщения, выполните команду dmesg Все специальные файлы для дисков и лент уже созданы

HP-UX

Перехватить boot промпт, дать команду SEA (search) Или на живой машине ioscan

* Описание геометрии диска при подключении *

Для нормальной работы с диском, возможно, (зависит от системы) придется позаботиться об описании геометрии диска. При покупке диска ТРЕБУЙТЕ с поставщика бумажки с характеристиками и геометрией диска. Seagate, например, все характеристики держит на http://www.seagate.com

Linux, FreeBDS: ничего описывать не надо

Переходите к следующему разделу.

MOTOROLA: описание геометрии диска

Уже имеющиеся описания для "фирменных" дисков расположены в каталоге /etc/dskdefs/. Выберите описание "похожего" диска, запомните его имя, например, 1Gb Seagate-ST31 - "msea11200". Подсказка: загляните в /etc/scsifmt.info Командой ddefs записать геометрию диска и сохранить ее под новым именем. В ответ на запрос "Template" введите имя описания "похожего" диска. Поправьте параметры, которые вы знаете, и оставьте как есть, если не знаете, зачем они. ddefs -n filename Актуальные параметры: естественно, число голов, секторов... А также (по собственной шкуре проверено): Root offset: 648 (т.к. VTOC занимает 648 блоков) Slice count: 16 (Положено 16 разделов на диске) Interleave: 1 (Что означает "отсутствует") Precomp cylinder: {последний} (Ныне прекомпенсация не используется) Bad spots: 100 (Резерв для замещения bad-блоков) Controller attribute: 850 (кто его знает, зачем, но так Attribute: 10 у всех остальных дисков) Word attribute: 10 Выход из команды ddefs "w" и "q" в ДОКУМЕНТАЦИИ НЕ ОПИСАН. Подсказка по остальным командам ddefs выводится командой "help" В таблице /etc/scsifmt.info добавить строчку со ссылкой на файл с геометрией диска. В качестве ключевых слов указать то, что выводит команда scsiscan. Например, так: scsiscan SEAGATE ST51080N m187_0c0d1 ... cat >> /etc/scsifmt.info "SEAGATE" "ST51080N" filename 7 "1GB SCSI" ^D

SUN: описание геометрии диска

Чтобы диск опознавался Sun'ом, для него должно существовать описание геометрии в файле /etc/format.dat

* Как называются диски и разделы на машине *

Каждое "устройство" имеет соответствующий ему "специальный файл". От системы к системе имена эти абсолютно друг на друга не похожи. Одно, пожалуй, постоянно: все специальные файлы обычно расположены в каталоге /dev или его подкаталогах. В SVR4 устройства собраны в отдельные каталоги: /dev/rdsk/* - бесструктурные диски и разделы дисков /dev/dsk/* - блочные диски и разделы дисков /dev/rmt/* - стриммерные накопители на магнитной ленте /dev/term/* - линии для подключения терминалов (dial-in) /dev/cua/* - линии с модемным управлением (dial-out) /dev/pts/* - псевдотерминальные линии

MOTOROLA: Общий формат имени:

controller_cXdYsuffix где: controller - тип устройства X - номер контроллера Y - логический номер устройства suffix - зависит от устройства, например: номер раздела на жестком диске Логические диски (разделы физического SCSI диска) с блочной структурой на станции Motorola 922 /dev/dsk/m197_c0d0s1 SCSI контроллер m197 номер 0, SCSI устройство 0 логический раздел (slice) 1 /dev/dsk/m328_c0d0s0 SCSI контроллер m328 номер 0, . . . SCSI устройство 0 логический раздел (slice) 0 Физический диск (целиком) /dev/rdsk/m328_c0d0s7 Условное обозначение всего жесткого /dev/rdsk/m197_c0d1s7 диска, целиком Бесструктурные (сырые) разделы /dev/rdsk/m197_c0d0s1 /dev/rdsk/m197_c0d1s2 Магнитные ленты. /dev/rmt/ctape1 а также /dev/rmt/m197_c0d4 CD-ROM. /dev/rdsk/m197_c0d6s7 - "сырой" (физический) /dev/dsk/m197_c0d6s0 - раздел CD-ROM с файловой системой "Моторольного" формата ufs /dev/dsk/m197_c0d6s7 - CD-ROM со стандартной файловой системой iso9660

SUN:.

Логические разделы (блочные) на станции SPARCstation: Диск может быть разбит на 8 логических разделов с 0 по 8. Общий формат имени SCSI устройства: /dev/dsk/c0t2d0s3 Controller 0 (обычно 0) Taget 2 (SCSI ID) Disk 0 (LUN Logical Unit Number - обычно 0) Slice 3 (Номер раздела) Физический диск (целиком) /dev/rdsk/c0t3d0s2 Весь жесткий диск представляется разде- лом 2 Загрузочный внутренний жесткий диск SPARC- station имеет 3-й SCSI номер. CD-ROM (целиком) /dev/dsk/c0t6d0s2 CD обычно вешают на 6-й SCSI номер. Имеет ровно один раздел - весь диск. Магнитные ленты. /dev/rmt/0 1-я лента (обычно 150Мб) /dev/rmt/1 2-я лента (обычно DAT 4Гб) После подключения новых устройств к Sun'у. Нужно выполнить "reconfiguration boot". Из boot prom'a: ok boot -r

Linux:.

Диск может быть разбит на 4 primary раздела с 1 по 4. Один из разделов может быть extended - тогда он может быть разбит еще на 4 раздела с 5 по 8 Физический диск (целиком) /dev/hda Первый IDE жесткий диск /dev/hdb Второй IDE жесткий диск /dev/hdc IDE hd (или CD) - master на втором интерфейсе /dev/hdc IDE hd (или CD) - slave на втором интерфейсе /dev/sda Первый SCSI жесткий диск ... /dev/sda1, /dev/sda2, ... ,8 Разделы жесткого SCSI диска /dev/hdb1, /dev/hdb2, ... ,8 Разделы жесткого IDE диска CD-ROM /dev/sbpcd,/dev/sonycd, ... /dev/hdc - IDE CD а лучше /dev/cdrom Магнитные ленты. /dev/rmt1 Дискеты. /dev/fd0 - флоппи A: /dev/fd1 - флоппи B:

HP-UX

Физический диск (целиком) /dev/rdsk/c0t6d0 Весь жесткий диск (raw) /dev/dsk/c0t6d0 Весь жесткий диск Жестких разделов в HP-UX нет, зато есть LVM - и в нем логические тома /dev/vg00/lvol12 char logical volume /dev/vg00/rlvol12 block logical volume Магнитные ленты /dev/rmt/0m лента с перемоткой /dev/rmt/0mn лента без перемотки

* Как отформатировать SCSI диск * .

Форматировать SCSI на низком уровне не умеет ни один Unix в мире.Форматирование обычно заключается в тестировании bad block'ов и нанесении логической разметки диска - делении его на логические разделы.

MOTOROLA: низкоуровневое форматирование диска

Хотите по-простому - воспользуйтесь командой scsifmt. Применяется она к БЕССТРУКТУРНОМУ цельному диску (каталог /dev/rdsk, slice номер 7). Например: scsifmt /dev/rdsk/m197_c0d1s7 scsifmt /dev/rdsk/m328_c1d0s7 ВНИМАНИЕ: вы уже набрали эту команду? Сосчитайте до 20 и немного подумайте. Подумали? Теперь нажмите Ctrl-C. Вы нажали ENTER вместо Ctrl-C ? У вас есть 30 свободных минут. Можете за это время ознакомиться с главой "Инсталляция Unix". Ведь команда scsifmt ничего не переспрашивает и сразу начинает форматировать указанный диск, не требуя никаких подтверждений. scsifmt просто вызывает команду dinit с соответствующими ключами, которая все и делает. Для более тонких работ пользуйтесь dinit непосредственно. Инициализация диска(низкоуровневое форматирование, тестирование бад-блоков, загрузочная запись) делается командой dinit. dinit [-f] [-q] [-b] filename /dev/rdsk/m187_c0d1s7 -X 9 debug-level -f переформатировать -q "быстрый" формат -b сделать диск загрузочным -v {0-4} write тест man dinit сообщить все остальные подробности

SUN:

Физическое форматирование диска на SunOS не делают. Считается, что диск должны отформатировать на заводе. Можно посмотреть информацию о диске. prtvtoc /dev/rdsk/c0t0d0s2

HP-UX

Физическое форматирование format /dev/rdsk/c0t6d0

* Разметка диска на разделы. Partition Table *

Linux: fdisk

Раметка partiotion table в Linux делается командой fdisk. Это диалоговая утилита - без особых изысков, все делается просто. fdisk /dev/hda # или /dev/sdb ... mke2fs /dev/hda1 # создает файловую систему типа ext2 на первом разделе Распечатать таблицу разделов: fdisk -p /dev/hda # или /dev/sdb ...

SUN: Разметка форматированного диска на разделы

Чтобы диск опознавался Sun'ом, для него должно существовать описание в файле /etc/format.dat Из-под СуперПользователя запустите команду format, и в диалоговом режиме сможете проинициализировать и протестировать диск и разбить его на разделы. format Boot-монитор при загрузке операционной системы ищет на корневом разделе boot-блок. Он записывается командой installboot или dd installboot /dev/rdsk/c0t3d0s0 dd if=/usr/lib/fs/ufs/bootblk bs=1k skip=1 of=/dev/dsk/c0t3d0s0

SUN: Создание файловой системы.

newfs /dev/dsk/c0t0d0s7 SUN: виды файловых систем. ufs Unix File System основной тип файловых систем для жестких дисков hsfs High Sierra, ISO 9660, Rock Rige Extension файловая система на CD-ROM'ах pcfs MS-DOS FAT для дискет 3" nfs Network File System наиболее популярная сетевая файловая система rfs Remote File System тяжелое наследие System V - еще одна сетевая FS tmpfs для хранения Временной Файловой системы используется свободное место swap-области lofs Loop Back FS фактически mount -F nfs localhost:/ /mnt procfs Process FS - "для каждого процесса имеется файл" fifofs FIFO FS fdfs File Descriptors FS namefs

MOTOROLA: Разметка форматированного диска на разделы.

Производится Disk Slice Editorom dse. На диске может быть до 15 slice'ов (разделов). Они нумеруются числами от 0 до 6, от 8 до f. Номер 7 зарезервирован, чтобы обозначать весь диск целиком. dse имя_бесструктурного_диска # например: dse /dev/rdsk/m197_c0d0s7 DSE имеет экранный интерфейс, схожий с редактором VI Команды: :q! выйти без внесения изменений в таблицу разделов :wq сохранить изменения и выйти h,j,k,l команды перемещения по экрану (это если у вас не ра- ботают стрелочки) C создать раздел на свободном месте dw стереть поле dd уничтожить раздел cw изменить значение поля ВНИМАНИЕ: самый первый раздел должен начинаться с блока номер 648 (или больше), поскольку на диске должно оставаться место для хранения разметки диска VTOC (Volume Table Of Contents). На создаваемом разделе должна быть создана файловая система. В SVR4/88 используются 3 разных типа - ufs, s5, bfs. Выбирайте "UFS". Motorola: виды файловых систем. ufs Unix File System основной тип файловых систем для жестких дисков s5 System V. Устарелый тип файловой системы, исполь- зовался в старых версиях SV 3.1. Более медленная, но занимает меньше места под служебную информацию bfs Boot File System для каталога /stand Служебная "очень простая" файловая система. В ней лежат файлы начальной загрузки boot и unix cdfs CD File System Стандартная для CD ROM'ов разметка ISO 9660 После переразметки диска dse автоматически запустит команду mkfs со всеми необходимыми параметрами - для создания чистых файловых систем на новых разделах, поэтому пункт, относящийся к команде mkfs, имеет скорее академический интерес. Реально dse только ГОТОВИТ описание VTOC, а прописывает ее на диск команда fmthard. Параметры у нее непростые, именно она применяется при инсталляции системы. fmthard -S file_with_vtoc_description /dev/rmt/m187_c0d1s7 Для обычных же юзеров к ней написан пользовательский интерфейс dse. Распечатать таблицу разделов: prtvtoc /dev/rdsk/m187_c0d0s7

* Какого типа у нас файловые системы *

MOTOROLA: Какого типа у нас файловые системы

fstyp имя_дискового_раздела Рекомендуемый тип для неспециализированных (т.е. не тех, которые /stand, /boot и некоторые другие) файловых систем стандартный Unix'овский "ufs" - Unix File System. Это быстрая файловая система BSD-подобного типа с символическими линками, длинными именами файлов (до 256 байт), изменяемым размером блока, "размазанной" таблицей inod'ов (описатели файлов расположены группами, которые равномерно распределены по диску)

mkfs - создает пустую файловую систему.

# создаем файловую систему типа s5 на 4-ом разделе диска, раз- # мером 200 Мб !!! Размер указывается в 512-байтных блоках mkfs -F s5 /dev/rdsk/m328_c2d0s4 400000 # создаем файловую систему типа ufs на 5-ом разделе диска mkfs -F ufs -o bsize=4096,nsect=36,ntrack=9,free=1 \ /dev/rdsk/m328_c2d0s5

Linux: создание файловой системы

mke2fs /dev/hda9

HP-UX: создание файловой системы

newfs -F hfs /dev/rvol12

HP-UX: JFS vs HFS

HP-UX использует два формата файловых систем: HFS (High Perfomance) - AKA старая добрая ufs, и новомодная JFS (Journal) AKA Verytas vxfs 0. vxfs - это не файловая система, а база данных с журналом транзакций и откаткой. Любая операция записи в файловую систему содержит только завершенные транзакции, поэтому fs на диске _всегда_ находится в корректном состоянии. В лог пишется "протокол намерений", и его можно использовать для откатки. Плюсы: 1. vxfs использует физический журнал для записи критической метаинформации на диск. Это гарантирует эффективное восстанавление fs. Большая сохранность позволяет дольше кэшировать данные. Очень заметен выигрыш по скорости "close file" - закрытие файла НЕ форсирует sync inod'а на диск, в отличие от ufs. 2. vxfs применяет кластерную адресацию последовательных блоков - выигрыш в адресации блоков и скорости доступа к большим файлам. 3. inod в vxfs-е имеет длину 256 байт (а не 128), и короткие (<=96байт) директории или симлинки хранятся прямо в inod'е 4. Директории vxfs проиндексированы - следовательно, повышена скорость поиска файла по имени. 5. По необходимости vxfs умеет создавать дополнительные области inod'ов, и вообще - место в vxfs распределяется по мере заполнения. Написать подробнее про транзакции. Минусы: 1. Служебные структуры vxfs занимают больше места на диске 2. Загрузчик ядра не умеет читать формат vxfs, поэтому каталог /stand обязан быть HFS'ным Плюсы для Live JFS (AKA OnLine VxFS) Only: Это расширение стандартной vxfs, коммерческий продукт, поставляемый за отдельные деньги, после его установки стандартная vxfs получает дополнительные возможности: 6. Увеличение размера fs без отмонтирования. 7. Уменьшение размера fs (а-ля speed disk) без отмонтирования. 8. Snapshot (заморозка) fs. По команде возникает параллельное дерево-копия раздела - "остановленное" на момент подачи команды. Реализация: использует дополнительно раздел диска для сохранения изменяемых блоков с данными. При обращении к "замороженным" данным блоки, еще не измененные - считываются из оригинальной файловой системы, если же менялись, то оригинал берется с сохраненной на отдельный раздел копии. Примеры, на которых vxfs дает заметный (в 2-4 раза) выигрыш cd /hfs ; time tar xf /tmp/big.tar cd /vxfs ; time tar xf /tmp/big.tar time cat bigfile bigfile bigfile bigfile bigfile > /vxfs/big time cat bigfile bigfile bigfile bigfile bigfile > /hfs/big Вывод: в некоторых операциях vxfs быстрее, в остальных - не медленнее, устойчивее к выключению питания, но несколько больше съедает дискового пространства. HFS имеет смысл на статических "readonly" каталогах, например /usr - скорость чтения одинакова, а hfs компактнее.

Linux. Запись директории на вритабле CDROM

mkisofs -R -o image directory затем записать образ на cd-r командой cdrecord

* Монтирование файловых систем * .

Чтобы сделать "видимыми" файлы, лежащие на дисковом разделе, Unix использует команду mount. Mount "подцепляет" файловую систему к общему дереву файлов. При монтировании нужно указать "точку монтажа" - каталог, к которому "подцепляется" наша новая файловая система. Например: mount -F ufs /dev/dsk/m197_c0d0s8 /home1 Чтобы посмотреть, какие файловые системы у нас смонтированы, выполните команду df Чтобы наши файловые системы монтировались, а swap области акти- визировались автоматически при каждой загрузке, необходимо вставить соответствующие строки в файл /etc/vfstab . Формат строчек можно посмотреть в этом же файле.

MOTOROLA: Монтирование CD-ROM.

Если на CDROM'е записана файловая система формата "ufs" - т.е. это "родной", моторольный cdrom, то монтировать его нужно по тем же правилам, что и обычный жесткий диск, только "read only" mount -F ufs -r /dev/dsk/m197_c0d6s0 /cdrom Если же это обычный "game'овый" диск для MSDOS'а, а точнее, CDROM стандартного формата iso9660, то монтировать его надо так: mount -F cdfs -o ro /dev/dsk/m197_c0d6s7 /cdrom (использование ключей -r и -o ro - равнозначно)

Отмонтирование файловых систем.

umount /home1

* Изменение параметров fs *

Sun: tunefs Linux: tune2fs HP-UX: fsadm

* Bad-блоки * .

Симптомы достаточно красноречивы: заметные задержки при доступе к диску (из-за retrying'a), и на консоль сыплются страшные сообщения "Bad media", "Read failure"... "при доступе к блоку такому-то". Запишите номера bad-блоков - их можно "подлечить".

Фирменные операционки: лечится, но с трудом-с

Современные SCSI адаптеры сами заменяют bad-блоки. Если засекли бад-блоцк, пропишите по нему (или файлу с ним) нули, адаптер заодно и пропишет, и подменит, и навсегда спрячет его, и он больше не покажется.

Motorola: Bad-блоки

Рекомендую ознакомиться с документацией - раздел "Bad blocks" в Томе "Disks and Tapes Managment" см. также man по ddefs, mvme328, scsi1x7, dinit, ... Надеюсь при описании геометрии диска командой ddefs вы не поскупились указать число "Bad spots" больше нуля. Замещение бад-блоков выполняется все той же командой dinit dinit -n dskdeffilename /dev/rdsk/m187_c0d107 -n номера bad-блоков вводятся с клавиатуры dinit -t bad-list dskdeffilename /dev/rdsk/m187_c0d107 -t bad-list файл со списком bad-блоков Как протестировать диск на бад-блоки? У dinit есть ключ -v 1 - verify with pattern

Linux: Bad-блоки

Linux'овский fsck с ключом "-c" умеет сам находить и лечить от bad-блоков (они собираются в отдельный "bad" inode) # -y yes на все вопросы, -f force checking, -c bad-blocks e2fsck -c -y -f /dev/hda3

* Диагностика оборудования *

MOTOROLA: Утилита тестирования оборудования GOLD

Для тестирования и диагностики оборудования станции Motorola 922 можно воспользоваться утилитой gold. Она имеет систему меню, очень похожую на систему меню утилиты sysadm.

SUN: Утилита тестирования оборудования sundiag

Sundiag - многофункциональная утилита тестирования оборудования на Sun

Unix для PC

Да чего там выпендриваться. Грузитесь в MSDOS и там тестируйте железо всем, чем пожелаете.