Руководство по администрированию UNIX System V

         

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


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

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

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

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

Пример.

#dd if=/dev/rdsk/f0 of=/dev/null 2400+0 records in 2400+0 records out #

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

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



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


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



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


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

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

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

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



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


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

формат по умолчанию отображает список значений атрибутов без дескрипторной маркировки каждого атрибута; формат имени команды, запрашиваемый с помощью параметра -v, отображает атрибут как attribute=value.

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

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



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

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

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

devattr -v diskette1

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

alias='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' fmtcmd='//usr/sbin/format -v /dev/rdsk/f0q15dt' mdensdefault='mdens1HIGH' mdenslist='mdens1HIGH, mdens1MED, mdens1LOW' mkfscmd='/sbin/mkfs -F s5 /dev/dsk/f0t 2370:592 230' mountpt='/install' removable='true' type='diskette' volume='diskette'

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

devattr diskette1 mountpt

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

/install

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



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


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

listdgrp group_name

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



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


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



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


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

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

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

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



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


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

devreserv pid device

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

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

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



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


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

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

где alias - псевдоимя устройства, добавляемого в базу данных;
attribute=value - это список значений атрибутов, связанных с устройством.

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

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

putdev -a diskette3 desc="Floppy Diskette Drive 3" type=diskette



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


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



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


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

Когда к данным обращаются порциями, состоящими из специфического числа символов (обычно 1), такое устройство обычно классифицируется как символьное. Следует отметить, что физическое устройство (например, жесткий диск) может быть и блоковым и символьным устройством одновременно. Утилиты обработки файлов также могут использовать символьные устройства. В системе UNIX подпрограммы на стандартном языке Cи передают данные в эти типы устройств по одному символу за один раз. Примерами символьных устройств являются терминалы и принтеры.

Большинство устройств обеспечивают и символьный и блоковый доступ, однако, обычно предпочтение отдается одному типу доступа к устройству. Например, накопитель на магнитной ленте имеет оба типа доступа, но предпочтение отдается блоковому типу; символьный доступ к накопителям на магнитной ленте возможен, но для хранения одних и тех же данных нужна большая область на магнитной ленте, поэтому предпочтение отдается блоковому доступу. С другой стороны, в терминалах предпочитается символьный доступ. Блоковый доступ возможен, но символы, которые вы печатаете не будут эхо-отображены на экран до тех пор, пока вы не нажмете "возврат каретки". Ниже описываются два специальных файла для каждого устройства.



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


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

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

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

Есть четыре типа выражений:

attribute=value - выбирает все группы устройств, хотя бы с одним членом, атрибут которого attribute определен и равен value; attribute!=value - выбирает все группы устройств хотя бы с одним членом, атрибут attribute которого определен и не равен value; attribute:* - выбирает все группы устройств хотя бы с одним членом, атрибут attribute определен; attribute!:* - выбирает все группы устройств хотя бы с одним членом, у которого атрибут attribute не определен.

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



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


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

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

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



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


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

Определить размеры данных разделов. (Для получения этой информации используйте подкоманду sysadm storage_devices). Решить, какими должны быть размеры новых разделов. (Диск уже полностью распределен. Увеличение размера раздела подкачки означает, что необходимо уменьшить размер другого раздела). Выполнить резервирование всей системы. (Изменение разделов может привести к стиранию всей информации с диска). Теперь вы готовы к перезагрузке операционной системы.



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


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

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

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

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

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

putdev -d device attribute

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

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

putdev -m diskette1 volume=""



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


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



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


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

devfree pid [device [...]]

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

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



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


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

getdv

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

# getdev ctape1 disk1 disk2 diskette1 spool #

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

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



Заключение


Устройства идентифицируются с помощью специальных файлов в специфических каталогах. Условия, используемые при размещении файла устройства, зависят от типа ЭВМ и от того, как управляется это устройство - внешне или внутренне. Стандартные файловые позиции используются для идентификации гибкого диска, жесткого диска и накопителя на кассетной ленте. Между символьным и блоковым устройствами есть различия. Символьные устройства обычно не хранят файлов или файловых систем и их имена размещены в каталоге символьного устройства (обычно присваивается tty каталогу /dev, который соединяется с файлом в каталоге /dev/rdsk). Примерами символьных устройств являются терминалы, построчно-печатающие устройства и накопители на магнитной ленте. Блоковые устройства обычно хранят файлы и файловые системы и их имена размещены в каталоге блокового устройства (обычно /dev/dsk для дисковых устройств). Примеры блоковых устройств - гибкие диски и жесткие диски.



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


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



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


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

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

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

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



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


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

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

devreserv

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

devreserv pid

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

| |



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


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

putdev -d device

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

| |



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


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



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


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

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

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

Есть 4 типа выражений:

attribute=value - выбирает все устройства, для которых определен attribute и который равен value; attribute!=value - выбирает все устройства, для которых определен attribute и который не равен value; attribute:* - выбирает все устройства, для которых определен attribute; attribute!:* - выбирает все устройства, длякоторых attribute не определен.

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

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

getdev -e spool

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

getdev fmtcmd:*

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

getdev fmtcmd!:*

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

getdev type=disk part:*

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

getdev -a type=disk part:*

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

У каких устройств в списке с их именами (disk1, disk3, disk5) атрибут type определен как disk и атрибут part? Выполните

getdev type=disk part:* disk1 disk3 disk5



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


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

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



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


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



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


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

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



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


9.4.1.

9.4.1.1.

9.4.2.
9.4.3.

9.4.3.1.
9.4.3.2.
9.4.3.3.
9.4.3.4.
9.4.3.5.
9.4.3.6.

9.4.4.

9.4.4.1.

9.4.5.

9.4.5.1.
9.4.5.2.

9.4.6.

В то время как элемент add - Add Storage Device находится в меню storage-devices, функций, вызываемых этим меню, в данной версии нет.

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

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

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

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

/sbin/mknod name b major minor

Напечатайте

chgrp root name

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

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

/sbin/mknod name c major minor

Напечатайте

chgrp root name

Параметры команды mknod:
name - имя специального файла;
b - тип блокового устройства;
c - тип символьного устройства;
major - смещение в таблицу дисковода (или контроллера) в ядре;
minor - идентификационный номер этого специфического физического устройства;
p - абстрактный файл с именем, который функционирует как устройство, работающее по принципу первый пришел - первый вышел.



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


Если выбран вариант 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 - описание любого экземпляра тома, связанного с этим устройством (например, с гибким диском); dpartlist - список секторов диска, связанного с этим устройством. Используется только, если 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 - текстовая строка, используемая для описания любого экземпляра тома, связанного с этим устройством. Этот атрибут определяется только для сменных устройств.



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


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

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

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

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



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


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



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


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

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



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


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

Есть два подхода к копированию данных, находящихся в запоминающих устройствах. Первый - копировать данные полностью с одного запоминающего устройства на другое; второй - копировать специфические файлы с одного запоминающего устройства на другое. Если файловые системы в запоминающих устройствах уже смонтированы, можно использовать команду cp для выполнения любой операции. Если файловые системы в запоминающих устройствах не смонтированы, можно использовать команды cpio, ctccpio или dd. В зависимости от типа выполняемой операции, некоторые команды действуют эффективнее и быстрее других. Ниже описываются предпочитаемые методы.



Обзор


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

При выборе 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, используемые для них.

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

Таблица 4

Команда Задача
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) Проверка файловых систем

| |



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


9.2.1.
9.2.2.

9.2.2.1.
9.2.2.2.

9.2.3.
9.2.4.
9.2.5.
9.2.6.

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

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



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


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

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

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

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

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

cpio -t rawdevice

где -t - отображает таблицу содержимого;
rawdevice - путь к файлу символьного устройства в накопителе на кассетной ленте.

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

prtvtoc device

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

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

ls -l /etc/conf/cf.d/mdevice ls -l /etc/conf/cf.d/sdevice

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

devnm filesystem

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

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

df

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



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


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

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

putdgrp group_name alias [alias [...]]

где group_name - имя создаваемой группы;
alias - псевдоним члена или членов группы устройств.

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

Пример.

putdgrp disk disk1 disk2



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


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



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


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

| |



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


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

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

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



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


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



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


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

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

# getdgrp ctape disk diskette #

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



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


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

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

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

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

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



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


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

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

putdgrp -d group_name

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



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


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



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


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

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

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

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

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

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

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

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

# /usr/sbin/devnm / /dev/dsk/ls0 / #

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

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

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


# ls -l /dev/dsk/ls6 brw------ 3 root sys 0, 6 Feb 23 1988 /dev/dsk/ls6 #

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

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

# /usr/sbin/devnm /usr /dev/dsk/ls2 /usr #

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

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

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

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

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

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

# ls -l /dev/rdsk/disk2 brw------ 2 root sys 0, 22 Feb 23 1988 /dev/rdsk/disk2 #

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

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

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

Определите номер целевого контроллера, дисковода и позиции техсредств диска путем поиска имени устройства с тем же типом и номером в каталоге /dev/dsk (эти номера закодированы в имени устройства в этом каталоге). Используйте команду grep с командой ls, как показано ниже:



# ls -l /dev/dsk|grep "0, 22" brw------ 6 root sys 0, 22 Dec 30 15:26 ls6 #

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

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

# grep ls6 /etc/vfstab /dev/rdsk/ls6 /dev/rdsk/ls6 /home4 /home2 s5 - yes - #

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

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

# cp /etc/vfstab /etc/Ovfstab

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

# /usr/sbin/umount /home4

Отредактируйте файл /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

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

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

# devattr -v device_path alias alias='device_alias' # putdev -d device_alias #

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

# getdgrp alias=alias device_group1 device_group2 # putdgrp -d device_group1 alias # putdgrp -d device_group2 alias #

| |


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


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

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



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


9.5.1.

9.5.1.1.

9.5.2.

9.5.2.1.
9.5.2.2.
9.5.2.3.
9.5.2.4.

9.5.3.

9.5.3.1.
9.5.3.2.
9.5.3.3.

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

Следующие операции выполняются путем выбора варианта 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.

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



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


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

4 Group Membership Management ----------------------------------------------- add - Add a Member list - List Members remove - Remove a member

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



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


9.6.1.
9.6.2.

9.6.2.1.
9.6.2.2.

9.6.3.
9.6.4.

9.6.4.1.
9.6.4.2.

9.6.5.

9.6.5.1.
9.6.5.2.
9.6.5.3.

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

База данных групп устройств постоянно находится в /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, которая описана ниже.



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


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

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

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

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

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

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

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

3 Device Reservation Management --------------------------------------------- free - Free a Reserved Device list - List Device Reservations reserve - Reserve a Device

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