su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


Управление запоминающими устройствами

Введение

Работа с запоминающими устройствами

Работа с устройствами и носителями данных

Управление атрибутами устройств

Управление группами устройств

Введение

В этом разделе говорится о том, как работать с запоминающими устройствами на магнитных дисках и на магнитной ленте, использующихся при работе с вашим компьютером в системе Unix System V Release 4.0 Version

Таблица, указывающая команды, позволяющие управлять запоминающими устройствами в вашей систем* показана ниже.

Команда Задача
mknod (1M) Добавление устройства
cpio (1) Копирование файлов на/с гибкий диск
cpio (1M) Копирование файлов на/с кассетную ленту
cpio (1) Копирование файлов на/с SCSI
cpio(-t)(1M) Отображение содержания кассетной ленты

mount (1M)

ls(1)

Отображение содержимого диска
dd(1M)

cpio (1)

dcopy (1M)

volcopy (1M)

Копирование дисков
format (1)

rm (1)

Стирание записей на дисках
format (1M)

scsiformat (1M)

Форматирование дисков
labelit(1M) Маркирование файловых систем
mount (1M)

disksetup(1M)

при разбивке жесткого диска
devnm (1M)

umount(1M), rm(1)

Удаление дисков
fsck (1M) Проверка файловых систем

При выборе storage-devices из меню System Administration появляется нижеприведенный экран:

2 Storage Device Operations and Definition

add - Add Storage Device

copy - Makes Duplicate Copies of Storage Volumes

devices - Displays Information About Storage Devices

erase - Erases the Contents of Storage Volumes

format - Formats Removable Volumes

groups - Device Group Administration

remove - Remove Storage Device

В данном разделе описывается каждая из этих функций и команды shell, используемые для них.

Работа с запоминающими устройствами

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

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

Типы устройств

Большинство компьютеров используют комбинацию жесткого и гибкого дисков для хранения данных.

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

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

Интерфейсные устройства малых вычислительных систем (SCSI) - это группа устройств, отвечающих стандарту ANSI подключения периферийных устройств к компьютеру. Запоминающие устройства SCSI включают накопитель на магнитной ленте, жесткий диск, гибкий диск и устройства однократной записи/многократного считывания (WORM).

Идентификация устройств через специальные файлы

Устройства, поставляемые вместе с компьютером, автоматически идентифицируются при первой загрузке системы.

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

Устройства блокового и символьного типа

Все устройства подразделяются на блоковые и символьные; классификация устройств по этим двум типам зависит от того, каков доступ к этим устройствам. Когда к данным обращаются в блоках с фиксированной длиной (т.е. когда устройство не разрешает доступ, пока не наполнится блок данных), такое устройство классифицируется как блоковое.

Примерами блоковых устройств являются дисковые запоминающие устройства и накопители на магнитных лентах.

В тот момент, когда к данным обращаются порциями, состоящими из специфического числа символов (обычно 1), такое устройство обычно классифицируется как символьное

Необходимо отметить, что физическое устройство (например, жесткий диск) может быть и блоковым и символьным устройством одновременно. Утилиты обработки файлов также могут использовать символьные устройства.

В системе Unix подпрограммы на стандартном языке Си передают данные в эти типы устройств по одному символу за один раз. Примерами символьных устройств являются терминалы и принтеры.

Большинство устройств обеспечивают и символьный и блоковый доступ, однако, обычно предпочтение отдается одному типу доступа к устройству.

К примеру, накопитель на магнитной ленте имеет оба типа доступа, но предпочтение отдается блоковому типу; символьный доступ к накопителям на магнитной ленте возможен, но для хранения одних и тех же данных нужна большая область на магнитной ленте, поэтому предпочтение отдается блоковому доступу. С другой стороны, в терминалах предпочитается символьный доступ.

Блоковый доступ возможен, но символы, которые вы печатаете не будут эхо-отображены на экран до тех пор, пока вы не нажмете "возврат каретки".

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

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

Символьные устройства обычно не хранят файлов или файловых систем и их имена размещены в каталоге символьного устройства (обычно присваивается tty каталогу /dev, который соединяется с файлом в каталоге /dev/rdsk).

Примерами символьных устройств являются терминалы, построчно-печатающие устройства и накопители на магнитной ленте.

Блоковые устройства обычно хранят файлы и файловые системы и их имена размещены в каталоге блокового устройства (обычно /dev/dsk для дисковых устройств). Примеры блоковых устройств - гибкие диски и жесткие диски.

Псевдонимы устройств

У каждого устройства есть псевдоним. Этот псевдоним является уникальным именем, по которому администратор узнает устройство. Он определяется в базе данных устройства в /etc/device.tab и отображается на полное имя пути.

Атрибуты устройств

У базы данных устройства должен быть вход для каждого устройства, состоящий из набора атрибутов, и значения для этого устройства.

Входы устройства должны создаваться по сценарию инсталляции устройства, написанному для операционной системы Unix System V Release 4.0 Version 1.0 или более позднего выпуска, но возможно создание входов в устройство и по другому сценарию инсталляции.

Группы устройств

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

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

Резервирование устройств

Устройства могут быть зарезервированы для исключительного использования с помощью команды devreserv. Резервируемое устройство помещается в список резервируемых устройств; каждая новая попытка зарезервировать это устройство будет неудачной до тех пор, пока не будет отменена существующее резервирование устройства.

Работа с устройствами и носителями данных

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

Добавление нового устройства

В то время как элемент add - Add Storage Device находится в меню storage-devices, функций, вызываемых этим меню, в данной версии нет. Необходимость добавлять новое устройство в систему (т.е. определять новые специальные файлы устройства) возникает нечасто. При добавлении устройства команда autoboot определяет новые файлы. Однако, если вы не можете осуществить первоначальную загрузку системы и если новое устройство использует уже существующий дисковод, можно использовать команду /sbin/mknod для определения файлов устройства.

Примечание

При необходимости установки нового дисковода вместе с новым устройством следует заново загрузить систему.

Для того, чтобы добавить новое блоковое устройство:

1. Перейдите в каталог где вы хотите установить новое устройство (такой как /dev)

2. Напечатайте

/sbin/mknod name b major minor

3. Напечатайте

chgrp root name

Чтобы добавить новое символьное устройство:

1. Перейдите в каталог где вы хотите установить новое устройство (такой как /dev)

2. Напечатайте

/sbin/mknod name с major minor

3. Напечатайте

chgrp root name

Параметры команды mknod:

name - имя специального файла;

b - тип блокового устройства;

с - тип символьного устройства;

major - смещение в таблицу дисковода (или контроллера) в ядре;

minor - идентификационный номер этого специфического физического устройства;

р - абстрактный файл с именем, который функционирует как устройство, работающее по принципу первый пришел - первый вышел.

Форматирование гибких дисков, жестких дисков и магнитных лент

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

Часть информации на диске сохраняется для данных, чтобы в дальнейшем работать со специфическим диском. Таблица содержимого тома (VTOC) постоянно находится в этой области и показывает, как распределены разделы на диске.

На жестком диске в другой зарезервированной обласп отображаются порции диска, которые, возможно, не используются. Форматирование используемого прежде диска, а также вторичное определение дорожек стирает любые данные, которые могут там быть.

Кассетные ленты форматируются в системе Unix с помощью команды ctcfmt или подкоманды sysadm format. Если в вашей системе присутствует накопитель на кассетно ленте, подкоманда sysadm format просит выбрать устройстве которое вы хотите форматировать.

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

Накопители на магнитных лентах SCSI не требуют форматирования.

Жесткие диски поставляются уже сформатированными. Команда disksetup не форматирует жесткие диски, а применяется для разбивки жестких дисков и инсталляции VTOC.

Форматирование

Гибкие диски можно сформатировать с помощью команд shell или путем выбора элемента format - Format Removable Volumes из меню Storage Device.

Если вы выбираете этот вариант, нужно просто заполнить форму, показанную на экране, в которой специфицируется идентификация устройства и то, будет ли проверено форматирование (ответ по умолчанию "да").

Для форматирования дискеты используется команда format. Необходимо отформатировать все новые дискеты, чтобы не осталось неотформатированных дорожек.

Для отформатированных дискет можно проверить целостность данных с помощью команды dd. Например, чтобы узнать количество целых и частичных блоков данных (входных и выходных) на дискете 1, запустите команду dd с целью копирования данных с /dev/rdsk/fO на /dev/null (по завершении этой команды дается отчет о количестве скопированных целых и частичных блоков данных):

Пример

#dd if=/dev/rdsk/fO of=/<Jev/null 2400+0 records in 2400+0 records out ft

В этом примере было скопировано 2400 полных записей и 0 частичных. Номера блоков данных зависят от размера блоков данных, используемых на диске. Если команда dd останавливается в середине копирования, это означает, что она нашла неудачный блок.

Во время форматирования параметр -v команды format подтверждает, что форматирование выполняется без ошибок.

Отображение информации

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

Для использования меню sysadm:

1. Выберите display из меню Storage Devices.

При этом из экрана, отображающего имеющиеся в системе устройства, выбирается нужное устройство.

2. Заполните необходимую идентифицирующую колонку о специфическом устройстве.

Система отображает информацию о компоновке и использовании данного устройства.

Использование команд shell:

Для отображения информации о кассетной ленте выполните:

cpio -t rawdevice

где:

Для отображения информации таблицы содержимого тома выполните:

prtvtoc device

где device - путь файла символьного устройства.

Для отображения информации об устройстве выполните:

Is -I /etc/conf/cf.d/mdevice

Is -1 /etc/conf/cf.d/sdevice

Для отображения имени устройства для смонтированной файловой системы выполните:

devnm filesystem

где filesystem - имя смонтированнбй файловой системы (например, /usr).

Для отображения номеров свободных блоков и виртуальных узлов выполните:

df

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

Копирование данных на запоминающие устройства

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

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

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

Если файловые системы в запоминающих устройствах не смонтированы, можно использовать команды cpio, ctccpio или dd.

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

Копирование файловых систем с жесткого диска на диск

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

Копирование файлов с жесткого диска на жесткий диск

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

Копирование файлов с жесткого диска на гибкий диск/магнитную ленту SCSI (и наоборот)

При копировании большого числа файлов на гибкий диск или магнитную ленту SCSI зачастую эффективнее использовать команду cpio, потому что эта команда копирует не только файлы, но также каталоги и подкаталоги.

Копирование файлов с жесткого диска на кассетную ленту (и наоборот)

При копировании большого числа файлов часто эффективнее использовать команду ctccpio, потому что эта команда копирует не только файлы, но также каталоги и подкаталоги.

Копирование файлов с гибкого диска на гибкий диск

Можно скопировать содержание дискеты с исходным файлом на дискету с выходным файлом,-используя меню или команду dd. Можно выбрать либо "символьное", либо "блоковое" устройство, но для выполнения всей процедуры должно использоваться одно и то же устройство (символьное или блоковое).

Если у вас только один дисковод, то данные на исходной дискете копируются во временный файл на жестком диске в области временного файла. Затем исходная дискета заменяется, и временный файл копируется на "конечную" дискету. Если у вас много дисководов, то исходные данные копируются непосредственно на конечную дискету, и временный файл не используется.

Примечание

В качестве области временного файла можно использовать любую файловую систему, но разумнее использовать пространство либо в /tmp, либо в /var/tmp, т.к. файлы в этих двух каталогах автоматически удаляются во время перехода к многопользовательскому режиму. В любом каталоге, который вы используете, должно быть, по крайней мере, 1422 свободных блока для временного использования.

Использование команды fsck

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

Удаление информации с запоминающих устройств

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

Удаление информации с гибких дисков

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

Разбивка жесткого диска

Разбиение жесткого диска происходит со стандартной организацией разделов. Эта организация изменяется в зависимости от номера и размера жестких дисков.

Один жесткий диск разбивается таким образом, чтобы разместить корень (/), /usr, /stand, /var, /home, /opt, /share и другие файловые системы с локальными именами, выделить область подкачки и небольшой раздел для программы начальной загрузки системы. В системах со многими

дисками /usr помещается на втброй диск, а корень и /home - на первый.

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

Планирование изменения разделов жесткого диска

При разбиении жестких дисков следует задать себе вопрос: "Нужно ли мне больше малых файловых систем или нужно оставить разделы по умолчанию?" Есть и другие вопросы, влияющие на это решение. Вот некоторые из них:

1. Какие идентификаторы группы определены?

2. Правильно ли определено количество групп?

3. Должным ли образом назначены пользователи в эти группы?

4. Какой вид обработки данных обеспечивают эти группы?

5. Требует ли их работа запоминающие устройства для временного хранения данных?

6. Есть ли разница между видом обработки данных одной группой и другой?

7. Было ли добавлено ПО, влияющее на текущий план требований к области памяти?

8. Будет ли такое ПО добавлено в будущем?

Разделение жесткого диска может быть выполнено с полным восстановление системы. Команда disksetup может применяться для переопределения разделов на дисках, отличающихся от корневых сегментов дисков.

Если пользователям понадобится больше временного пространства, можно создать отдельный раздел для /var/tmp. Если вы будете это делать, по возможности, разместите раздел в начале диска, в отличие от разделов root и /usr, для балансирования загрузки диска.

Изменение разделов для увеличения области подкачки

Если вы часто получаете сообщения,

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

Для этого следует выполнить следующее:

1. Определить размеры данных разделов.

(Для получения этой информации используйте подкоманду sysadm storage_devices).

2. Решить, какими должны быть размеры новых разделов.

(Диск уже полностью распределен. Увеличение размера раздела подкачки означает, что необходимо уменьшить размер другого раздела).

3. Выполнить резервирование всей системы.

(Изменение разделов может привести к уничтожению всей информации с диска). Теперь вы готовы к перезагрузке операционной системы.

Удаление запоминающих устройств

Параметр remove на экране Storage Devices не действует.

Предупреждение:

Может возникнуть повреждение, если отсоединить любое запоминающее устройство от компьютера, включенного в сеть.

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

Не удаляйте диск, на котором смонтирована корневая файловая система.

Бывают случаи, когда необходимо вывести из работы устройство, например, когда на жестком диске есть дефект. Критические устройства, на которых смонтированы важнейшие файловые системы, никогда не удаляются.

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

Примечание

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

Чтобы удалить некритическое устройство:

1. Предупредите пользователей, что устройство будет выведено из работы, с помощью команды /usr/sbin/wall.

Сделайте объявление, указав, к каким файловым системам не будет доступа или каких услуг не будет. По возможности, дайте пользователю завершить работу на том устройстве, которое будет удалено.

2. Выполните /usr/sbin/devnm, чтобы определить устройство, на котором смонтирована корневая файловая система.

Экран будет выглядеть так:

# /usr/sbin/devnm /

/dev/dsk/lsO /

#

Число в конце сообщаемого полного имени пути (IsO в данном примере) - это номер раздела, в котором смонтирована корневая файловая система.

3. Для определения номера и типа устройства, в котором смонтирована корневая файловая система, выполните Is-l special.

Значение special должно быть номером раздела, который вы получили на этапе 2 со следующими изменениями: последней цифрой номера должна быть 6. Новый номер раздела используется для обращения ко всей информации на диске.

В данном примере номером раздела, о котором заявила devnm, является IsO, поэтому значением special будет Is6, как показано ниже:

# Is -I /dev/dsk/ls6

brw...... 3 root sys 0, 6 Feb 23 1988 /dev/dsk/ls6

#

Выходные данные показывают, что типом устройства является 0, а номер устройства 6.

4. Выполните /usr/sbin/devnm для каталога /usr, чтобы определить устройство, на котором смонтирована пользовательская файловая система.

Экран будет таким:

# /usr/sbin/devnm /usr

/dev/dsk/ls2 /usr

#

5. Чтобы определить тип и номер устройства, в котором смонтирована пользовательская файловая система, снова выполните Is -I special.

Значение special должно быть номером раздела, который получен на этапе 2, со следующими изменениями: последней цифрой этого номера должна быть 6. Новый номер используется для обращения ко всей информации на диске.

В данном примере номер раздела, сообщенный devnm, Is2, поэтому значением special должно быть Is6, что показано ниже:

# Is -I /dev/dsk/ls6

brw--------2 root sys 0, 6 Feb 23 1988 /dev/dsk/ls6

#

Выходные данные показывают, что тип устройства 0, а номер 6.

6. Выполнить Is -I device_path, где device_path - путь к байт-ориентированному или блок-ориентированному устройству, которое вы хотите удалить. Запишите тип и номер этого устройства.

Например, если устройством, которое нужно удалить, является второй жесткий диск, то путь к этому устройству будет /dev/rdsk/disk2.

Экран будет выглядеть так:

# Is -I /dev/rdsk/disk2

brw...... 2 root sys 0, 22 Feb 23 1988 /dev/rdsk/disk2

#

Выходные данные показывают, что тип устройства 0, а номер 6.

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

Примечание

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

8. Определите номер целевого контроллера, дисковода и позиции техсредств диска путем поиска имени устройства с тем же типом и номером в каталоге /dev/dsk.

Эти номера закодированы в имени устройства в этом каталоге. Используйте команду grep с командой Is, как показано ниже:

#Is -I /dev/dsk|grep "0, 22"

brw--------- 6 root sys 0, 22 Dec 30 15:26 Is6

Здесь номер целевого контроллера 1, номер дисковода 1 и номер позиции техсредств диска 6.

9. Перечислите текущие каталоги, смонтированные в этом устройстве, с помощью команды grep:

# grep Is6 /etc/vfstab

/dev/rdsk/ls6 /dev/rdsk/ls6 /home4 /home2 s5 - yes -

#

Примечание

Сохраните запись этих каталогов; их можно восстановить, когда устройство возвращается к работе.

10. Сохраните текущую таблицу файловой системы, скопировав ее:

# ср /etc/vfstab /etc/Ovfstab

11. Демонтируйте каталоги из устройства с помощью команды /usr/sbin/umount.

# /usr/sbin/umount /home4

12. Отредактируйте файл /etc/vfstab, удалив ненужные ссылки на устройство. Удалите имя этого устройства из каталогов /dev/dsk, /dev/rdsk, /dev/rdsk и /dev/rdsk, выполнив команду rm.

# rm /dev/dsk/ls6 /dev/rdsk/ls6

# rm /dev/rdsk/ls6 /dev/rdsk/ls6

13. Если устройство содержит одну или несколько файловых систем, удалите все входы, связанные с этим устройством, из файла /etc/vfstab.

14. Удалите устройство из базы данных устройств, найдя его псевдоним, а затем удалив.

device_path - это полное имя пути устройства.

# devattr -v device_path

alias alias='device_alias'

# putdev -d device_alias

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

alias - это псевдоимя, возвращенное на предыдущем этапе.

# getdgrp alias=alias

device_group1

device_group2

# putdgrp -d device_flroup1 alias

# putdgrp -d device_group2 alias

#

Управление атрибутами устройств

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

Следующие операции выполняются путем выбора варианта device - Device Alias и Attribute Management с экрана Storage Devices.

Появится нижеприведенный экран:

3 Device Description Management

add - Add a Device

attributes - Device Attribute Management

list - List Device

remove - Remove a Device

reservations - Device Reservation Management

База данных устройств постоянно находится в /etc/device.tab. У нее один вход на устройство, состоящий из ряда атрибутов, описывающих это устройство.

Если нужно добавить, изменить или удалить вход из оболочки системного ядра, можно сделать это, используя команду putdev.

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

Добавление устройства

Если выбран вариант add - Add a Device, вы получите следующую форму:

4 Add a Device

Device Alias:

Description:

Type:

Character special device pathname:

Block special device pathname:

Other Attributes

Attribute: Value:
Attribute: Value:
Attribute: Value:
. .
. .
. .

Заполнение этой формы создает новый вход в базе данных устройства. Каждый вход в базе данных устройства состоит из списка атрибутов для особого устройства.

Требуется атрибут alias; другие атрибуты необязательные и могут варьироваться от устройства к устройству.

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

alias

Это уникальное имя, по которому распознается устройство. Оно ограничивается 14 символами и может содержать только алфавитно-цифровые символы и специальные символы: подчеркивания (_), знака доллара ($), тире (-) и точки (.), перед которыми стоит наклонная черта (\).

bdevice

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

capacity

Информационная емкость устройства или типичного тома - сменная.

cdevice

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

cyl

Используется командой, специфицированной в атрибуте mkfscmd.

desc

Описание любого экземпляра тома, связанного с этим устройством (например, с гибким диском).

dpartllst

Список секторов диска, связанного с этим устройством. Используется только, если type=disk. В списке должны быть псевдонимы устройства, каждый из которых должен иметь type=dpart.

dparttype

Тип сектора диска, представленного этим устройством. Используется только, если type=dpart.

Он должен быть либо fs (для файловых систем), либо dp (для раздела данных).

erasecmd

Командная строка, стирающая информацию с устройства.

fmtcmd

Командная строка, форматирующая устройство.

fsname

Имя файловой системы в файловой системе, администрируемой в этом разделе с помощью команды /usr/sbin/labelit. Атрибут специфицируется только, если type=dpart и dparttype=fs.

gap

Используется командой, специфицированной в атрибуте mkfscmd.

mkfscmd

Командная строка, которая при выполнении помещает файловую систему в прежде сформатированное устройство.

mountpt

Точка монтирования по умолчанию для устройства. Используется только, если устройство монтируемое. Для секторов диска, где type=dpart и dparttype=fs, этот атрибут должен специфицировать место, где обычно монтируется сектор.

nblocks

Число блоков в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs.

ninodes

Число индексных дескрипторов файлов в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs.

norewind

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

pathname

Определяет полное имя пути к индексному дескриптору файла, описывающему устройство (используется для полных имен пути не блок-ориентированных или не байт-ориентированных устройств, например, каталогов).

type

Лексема, представляющая характерные качества устройства. Стандартные типы включают: 9-track, ctape, disk, directory, diskette, dpart и qtape.

volname

Имя тома в файловой системе, администрируемой в этом секторе с помощью команды /usr/sbin/labelit. Используется только, если type=dpart и dparttype=fs.

volume

Текстовая строка, используемая для описания любого экземпляра тома, связанного с этим устройством. Этот атрибут определяется только для сменных устройств.

Создание входа с помощью команды

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

Напечатайте:

putdev -a alias [attribute=value [...]]

где:

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

Вот командная строка, необходимая для добавления устройства с псевдонимом diskettes к базе данных:

putdev -a diskettes desc="Floppy Diskette Drive 3"

type=diskette

Списки устройств

Перечисление устройств с помощью меню

Можно получить список всех устройств, выбрав вариант List Devices из меню sysadm.

Перечисление устройств с помощью команд

Необходимо использовать команду getdev для составления списка устройств. Выполненная без параметров, эта команда создает список всех устройств в базе данных.

Например команда:

getdv

может создать такой список:

# getdev

ctape!

diskl

disk2

diskettel

spool

#

Можно заказать списки, дав имена устройствам, которые следует включить в эти списки, определив критерии, по которым описываются эти устройства, или дав и имена устройств, и список критериев. Использование команды getdev позволяет получить ответы на следующие вопросы:

1. Для каких устройств определена команда форматирования?

2. Какие устройства, кроме spool, устанавливаются в базу данных устройств?

Определение устройств в командной строке getdev

Нужно дать имена устройствам в командной строке getdev, напечатав:

getdev [-e] device [device [...]]

где device - имя устройства или устройств, которое вы хотите включить в список.

Все устройства с именами будут включены в список, если вы не используете параметр -е, который указывает, что устройства с именами должны быть исключены из списка.

Назначение имен критериям в командной строке getdev

Для того, чтобы присвоить имя критериям в командной строке getdev, выполните следующее:

getdev [-a] criteria [criteria'[...]]

где criteria специфицируется по выражениям. Есть 4 типа выражений:

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

В этом случае в список будут включены только те устройства, которые соответствуют всем критериям.

К примеру:

1. Какие устройства, кроме spool, помещаются в базу данных?

Наберите:

getdev -e spool

2. У каких устройств определен атрибут fmtcmd?

Наберите:

getdev fmtcmd:*

3. У каких устройств не определен атрибут fmtcmd?

Наберите:

getdev fmtcmd!:*

4. У каких устройств атрибут type определен как disk или атрибут part?

Наберите:

getdev type=disk part:*

5. У каких устройств атрибут type определен как disk и атрибут part?

Наберите:

getdev -a type=disk part:*

(этот пример отличается от предыдущего требованием, чтобы устройство отвечало обоим критериям, а не одному).

6. У каких устройств в списке с их именами (diskl, diskS, diskS) атрибут type определен как disk и атрибут part?

Выполните:

getdev type=disk part:* disk1 disk3 disk5

Управление атрибутами из меню

Когда вы выбираете параметр attributes - Device Attribute Management из меню Device Description, у вас появляется возможность добавлять, составлять список, модифицировать или удалять атрибуты из специфицированных устройств.

В любом случае вы называете устройство. Затем для каждого необязательного параметра, кроме list, определяете атрибут, который будет добавлен, удален или модифицирован.

Перечисление атрибутов устройства с помощью команд

Команда devattr отображает значения атрибутов устройства. Отображение может быть представлено в двух форматах:

Чтобы перечислить атрибуты устройства, напечатайте

devattr [-v] device [attribute [...]]

где:

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

Например, напечатав:

devattr -v diskette1

вы получите следующее:

allas='diskette1'

bdevice='/dev/dsk/f0t'

capacity='2370'

cdevice='/dev/dsk/f0t'

copy='true'

desc='Floppy Drive 1'

erasecmd='/usr/sadm/sysadm/bin/floperase/dev/dsk/f0'

fmtcffld='//usr/sbin/format -v /dev/rdsk/f0q15dt'

mdensdefault='den"1HIGH"

mdenslist='mdens1HIGH, mdensMED, mdens1LOW

mkfscmd='/sbin/mkfs -F s5 /dev/dsk/f5t 2370:592 230'

mountpt='/install'

removable='true'

type='diskette1'

volume='diskette''

Для того, чтобы увидеть только значение атрибута mountpt, напечатайте:

devattr diskettel mountpt

Это порождает:

/install

Из этого примера можно видеть, что значением атрибута mountpt для устройства diskettel является /install.

Изменение входа устройства с помощью команд

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

Для этого напечатайте:

putdev -m device attribute=value [attribute=value[... ]]

где:

Если специфицируемый атрибут в настоящий момент существует в базе данных, команда putdev -m изменяет значение. Если этого атрибута нет, его добавляют и дают ему значение value.

Атрибут с псевдоименем нельзя изменить с помощью команды putdev -m. Это предотвращает случайное изменение или удаление псевдонима устройства из базы данных.

Чтобы удалить описание атрибута из входа в устройство, используйте синопсис -d команды putdev:

putdev -d device attribute

где:

Чтобы удалить значение атрибута, но сохранить атрибут в точке входа устройства, используйте тот же формат со следующим исключением - присвойте атрибуту значение "нуль". Например, чтобы удалить значение атрибута volume, оставив volume во входе устройства, напечатайте

putdev -m diskette1 volume=""

Удаление входа устройства с помощью команд

Команду putdev можно использовать, чтобы удалить * точку входа (элемент) из базы данных устройств.

Для этого напечатайте

putdev -d device

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

Управление группами устройств

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

База данных групп устройств постоянно находится в /etc/dgroup.tab. В этом каталоге дается один элемент на одну группу устройств; этот элемент состоит из списков членов группы.

Можно прочитать эту базу данных, но непосредственно редактировать ее нельзя.

Можно попробовать управление группой устройств, выбрав параметр group из меню Storage Device или с помощью команды. Получите нижеприведенный экран:

3 Device Group Management '

add - Add a Device Group

list - List Device Group

membership - Group Membership Management

remove - Remove a Device Group

Для управления базой данных групп устройств с помощью команды shell используйте команду putdgrp.

Пополнение группы устройств

1. Выберите параметр add. Затем заполните форму, в которой укажите имя группы и список устройств, которые нужно включить i группу.

2. Для создания группы устройств используйте команду putdgrp.

Напечатайте

putdgrp group_name alias [alias [...]]

где:

В следующем примере показано, как создается группа disk из двух членов (diskl и diskZ).

Пример

putdgrp disk diskl disk2

Создание списка групп устройств

1. Выберите из меню параметр List Device, дайте имя группе устройств, и на экране отобразится список.

2. Используйте команду getdgrp для создания списка групп, определенных в базе данных групп устройств.

Выполняемая без параметров, эта команда создает список всех групп устройств. Например, выполнение getdgrp может порождать список:

# getdgrp

ctape

disk

diskette #

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

Определение групп устройств в командной строке getdgrp

Назовите группы устройств в командной строке, напечатав

getdgrp [-e] group_name [group_name[... ]]

где group_name - имя группы или групп устройств, которые вы хотите включить в список.

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

Имена критериев в командной строке getdgrp

Чтобы присвоить имена критериям в командной строке getdgrp, выполните

getdgrp [-a] criteria [criteria[... ]]

где criteria определяются с помощью выражений. Есть четыре типа выражений:

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

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

Удаление группы устройств

При помощи меню можно удалить группу устройств, выбрав необязательный параметр и войдя в имя удаляемой группы устройств.

Удалить описание группы устройств из базы данных можно, напечатав

putdgrp -d group_name

где group_name - это имя удаляемого описания групп устройств.

Управление членами группы устройств

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

Экран выбора меню выглядит так:

4 Group Membership Management

add - Add a Member
list - List Members
remove - Remove a member

В любом случае вас просят дать имя группы, а в случа добавления или удаления, имя добавляемого или удаляемо! члена.

Перечисление членов группы устройств

Для отображения списка с именами устройств, принадлежащих группе, напечатайте

listdgrp group_name

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

Изменение группы устройств

Команду putdgrp можно использовать для изменения описаний группы путем добавления или удаления устройства из описания группы.

Для этого напечатайте

putdgrp [-d] group_name alias [alias [...]]

где:

group-name - имя изменяемого описания группы;

alias - псевдоним устройства, которое добавляется к описанию группы, или, если используется параметр -d, имя устройства, которое удаляется из описания группы.

Управление резервированием устройств

Резервирование устройства помещает его в список резервируемых устройств. Этот список содержит имена зарезервированных устройств и процессы идентификации, запросившие резервирование.

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

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

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

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

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

Примечание

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

Управление резервированием устройств можно осуществить, выбрав параметр из меню Storage Devices или выполнив специфические команды резервирования.

В тот момент, когда вы выбираете параметр reservation получаете такой экран:

3 Device Reservation Management

free - Free a Reserved Device
list - List Device Reservations
reserve - Reserve a Device

В случаях освобождения и резервирования устройств вас просят ввести имя устройства.

Резервирование устройства

Для того, чтобы зарезервировать устройство для исключительного использования, напечатайте

devreserv pid device

где:

Примечание

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

Освобождение зарезервированного устройства

Для того, чтобы освободить зарезервированное устройство, наберите:

devfree pid [device [...]]

где:

Команда devfree может быть выполнена только с аргументом pid; в этом случае все зарезервированные для процесса устройства будут освобождены.

Проверка состояния резервирования устройств

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

Для того, чтобы перечислить все устройства, зарезервированные на данный момент, напечатайте:

devreserv

Чтобы перечислить все устройства, зарезервированные на данный момент для конкретного идентификатора процесса, напечатайте:

devreserv pid

где pid - идентификатор процесса.


Оглавление

Предыдущая страница

Следующая страница

GNU OCXE GNU LINUX
Сайт управляется системой uCoz