Диски, ленты, файловые системы.
* Какие есть 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
Все специальные файлы для дисков и лент уже созданы
echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
заставит адаптер scsi1 просканировать SCSI канал 0,
чтобы найти свежеподключенное устройство с ID 5 и LUN 0.
Перехватить boot-промпт, дать команду SEA (search)
Или на живой машине ioscan -funC disk
dsfmgr - Device Special Files manager
hwmgr - Hardware manager
drdmgr - Device Request Dispatcher manager
hwmgr -scan scsi
hwmgr -view devices
hwmgr -view devices -cluster
hwmgr -view hierarchy -member membername
hwmgr -show scsi
* Описание геометрии диска при подключении *
Для нормальной работы с диском, возможно, (зависит от
системы) придется позаботиться об описании геометрии диска.
При покупке диска ТРЕБУЙТЕ с поставщика бумажки с
характеристиками и геометрией диска.
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
Логические разделы (блочные) на станции 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
Диск может быть разбит на 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:
Физический диск (целиком)
/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 сообщить все остальные подробности
Физическое форматирование диска на SunOS не делают. Считается,
что диск должны отформатировать на заводе. Можно посмотреть
информацию о диске.
prtvtoc /dev/rdsk/c0t0d0s2
Физическое форматирование
format /dev/rdsk/c0t6d0
* Разметка диска на разделы. Partition Table *
Раметка 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 использует два формата файловых систем:
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. Запись директории на writable 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
Симптомы достаточно красноречивы: заметные задержки при
доступе к диску (из-за retrying'a), и на консоль сыплются
страшные сообщения "Bad media", "Read failure"... "при доступе
к блоку такому-то".
Запишите номера bad-блоков - их можно "подлечить".
Фирменные операционки: лечится, но с трудом-с
Современные SCSI адаптеры сами заменяют 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'овский 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
Да чего там выпендриваться. Грузитесь в MSDOS и там
тестируйте железо всем, чем пожелаете.
Linux: изменение размеров NTFS-раздела
скачать и установить с linux-ntfs.sourceforge.org пакет ntfsprogs
ntfsresize -i /dev/hda9 # посмотреть статус и возможности
# тест возможности обрезать раздел под 15000 Мегабайт
ntfsresize -n -s 15000M /dev/hda9
umount /dev/hda9
ntfsresize -s 15000M /dev/hda9 # обрезать по настоящему
Командой fdisk /dev/hda
удалить, затем вновь создать партицию /dev/hda9 размером 15000M
partition id 7 (NTFS)
После перезагрузки отчекать файловую систему NTFS.
Linux: опрос состояния IDE-диска
smartctl -a /dev/hda
Last-modified: Mon, 20 Mar 2006 05:20:23 GMT