ГЛАВА 4 ОБСЛУЖИВАНИЕ ДИСКОВ И ЛЕНT СОДЕРЖАНИЕ ВВЕДЕНИЕ ТИПЫ УСТРОЙСТВ Жесткие диски НГМД Лентопротяжное устройство ИДЕНТИФИКАЦИЯ УСТРОЙСТВ В ОПЕРАЦИОННОЙ СИСТЕМЕ Блочные и символьные файлы Определение нового специального файла ФОРМАТИРОВАНИЕ И ДЕЛЕНИЕ ДИСКОВ Форматирование дисков Деление жестких дисков Подготовка к изменению структуры жестких дисков Реорганизация дискового пространства для расширения области подкачек ПРОЧИЕ ОПЕРАЦИИ С ДИСКАМИ И ЛЕНТАМИ Дублирование дисков СРЕДСТВА УЧЕТА ДЕФЕКТНЫХ БЛОКОВ Что такое дефектный блок? Чем объясняется ненадежность блока? Фиксация дефектных блоков Блоки, которые не могут быть замещены Когда обнаруживаются дефектные блоки Как поступать в нестандартных ситуациях ВВЕДЕНИЕ В этой главе приводятся необходимые сведения о дисках и лентоп- ротяжных устройствах Вашей машины. Рассматриваются следующие темы: Типы и емкость дисковых устройств Емкость лент Предоставление операционной системе сведений об устройствах Форматирование дисков Копирование дисков Средства отбраковки дефектных блоков В этой главе не рассматриваются файловые системы или содержание информации, хранящейся на дисках. Эти вопросы обсуждаются в гл. 5 "Управление файловой системой". ТИПЫ УСТРОЙСТВ В машине как правило имеется два типа дисковых устройств: встроенные накопители на жестких дисках и накопители на сменных гибких магнитных дисках (НГМД). В различных конфигурациях до- пускаются два и более жестких дисков. Большинство машин имеют лентопротяжные устройства. Все системное программное обеспечение хранится на жестких дис- ках. НГМД применяются в основном как средство ввода программно- го обеспечения и файлов пользователя для последующего примене- ния в системе или же записи данных для хранения. Лентопротяжные устойства применяются в основном для быстрого сохранения файло- вых систем. Жесткие диски Выпускаемые промышленностью жесткие диски имеют различные объе- мы: от 80Мб до 1Гб. Диски герметизированы внутри специального корпуса с целью защиты от пыли, дыма и прочих вредных атмосфер- ных воздействий. Такая конструкция имеет как преимущества, так и недостатки. С одной стороны - система может функционировать без специальных средств контроля запыленности, с другой - нель- зя оперативно заменять пакеты дисковой памяти. НГМД Компьютер обычно имеет один встроенный НГМД. (Соответствующие носители называются дискетами, а иногда - гибкими дисками.) На дискете помещается немногим более 700Кб данных. Программное обеспечение для микрокомпьютеров хранится главным образом на дискетах. Стандартная процедура установки заключается в том, чтобы переписать программы с дискет на жесткий диск. Перепись в обратном направлении используется для копирования имеющихся на жестком диске данных с целью сохранения. Дискеты можно использовать и для непосредственного ввода в опе- ративную память программ и данных для выполнения и обработки. Фактически, для малых машин, не имеющих жестких дисков, это не только допустимый, но и единственно возможный способ работы. Однако, если есть жеский диск, то это, конечно, не оптимальный режим. Желательно пользоваться для работы жесткими дисками, имеющими больший объем и обеспечивающими более быстрый доступ. Кроме того, если НГМД употребляется таким образом - то им уже нельзя пользоваться по прямому назначению. Лентопротяжное устройство Компьютер может быть снабжен лентопротяжным устройством. Сохра- нение данных на лентах более эффективно, чем на дискетах. Объем лент зависит от типа Вашего оборудования; имеются ленты ем- костью от 50Мб до 155 Мб. Время переписи файловой системы в 50Мб с жесткого диска на ленту составляет примерно 20 минут. Поскольку на ленту можно очень быстро переписать большое коли- чество информации, то наличие лентопротяжного устройства может влиять на выбор методов сохранения файловых систем. В этом слу- чае полные копии могут оказаться предпочтительнее, чем комбина- ции полных и добавочных копий (см. обсуждение методов сохране- ния в гл. 5 "Управление файловой системой".) ИДЕНТИФИКАЦИЯ УСТРОЙСТВ В ОПЕРАЦИОННОЙ СИСТЕМЕ Прежде чем воспользоваться диском или лентопротяжным устройст- вом на машине с операционной системой UNIX, необходимо предос- тавить системе сведения об устройстве. Для оборудования, кото- рое входит в комплект поставки, процесс идентификации устройств составляет часть конфигурации и выполняется автоматически при загрузке системы. Традиционный способ выполнения идентификации заключается в соз- дании соответствующего элемента в каталоге /dev корневой файло- вой системы. Естественно, элементом каталога должен быть файл (или другой каталог), и концептуально с дисковым устройством система обращается как с файлом. Имеется, тем не менее, одно отличие, из-за которого устройства называются "специальными" файлами. В тех позициях, в которых для обычных файлов показыва- ется размер в байтах, для специального файла указываются два десятичных числа, называемых его старшим и младшим номерами. На рис. 4-1 приведены фрагменты из выдачи команд из структуры пользовательского каталога и каталога /dev. Старшие и младшие номера в этом примере носят иллюстративный характер и не соот ветствуют номерам в реальной системе. Рис. 4-1 Фрагменты листингов каталогов: обычный файл и файлы устройств обычный файл | |-rw-r----- 1 abc dsg 1050 Apr 23 08:14 dm.ol файлы жестких дисков | |brw------- 2 root sys 17, 0 Apr 15 10:59 /dev/dsk/hd0s0 |brw------- 2 root sys 17, 1 Apr 12 13:51 /dev/dsk/hd0s1 | |crw------- 2 root sys 17, 0 Apr 15 10:58 /dev/rdsk/hd0s0 |crw------- 2 root sys 17, 1 Apr 12 13:51 /dev/rdsk/hd0s1 файлы НГМД | |brw------- 2 root sys 17, 8 Apr 12 13:51 /dev/dsk/fd | |crw------- 2 root sys 17, 8 Apr 12 13:51 /dev/rdsk/fd | |brw------- 2 root sys 17, 8 Apr 21 13:51 /dev/SA/diskette файл лентопротяжного устройства | |brw-r--r-- 3 root root 3, 3 May 17 12:01 /dev/qic В фрагментах распечатки каталогов на рис. 4-1 показан обычный файл (отмечен символом "-" в первой позиции строки) со следую- щими характеристиками: содержит 1050 символов имя dm.ol принадлежит пользователю abc, являющемуся членом группы dsg владелец имеет права на чтение/запись, члены группы - на чте- ние, прочие пользователи не имеют прав доступа. На рис. 4-1 представлены также файлы устройств со следующими характеристиками: На месте размера показаны старший и младший номера устройст- ва. Старший номер - это номер контроллера устройства или управляющей программы устройства (фактически это сме- щение в таблице устройств ядра системы); младший но- мер - это номер конкретного устройства. Некоторые устройства имеют совпадающие старший и младший но- мера, но одно из устройств помечено как блочное (символ b в первой позиции), а другое - как символьное (символ с в первой позиции). Заметьте, что такие пары устройств имеют различные имена или помещены в разные каталоги (например, /dev/dsk/hd0s0 и /dev/rdsk/hd0s0). Имеются синонимы; например, файл diskette - синоним файла fd. Файлы принадлежат суперпользователю, и ни одна группа или прочие пользователи не имеют права использовать их. Это озна- чает, что только процесс с идентификатором пользователя root может осуществлять чтение и запись этих файлов. (Исключением является лентопротяжное устройство.) Блочные и символьные файлы Термины "блочное" или "символьное" устройство имеют отношение не столько к физическим характеристикам устройств, сколько к способу доступа. Имя блочного устройства используется в тех случаях, когда предполагается чтение или запись на устройство логических блоков по 1024 байт. В системе UNIX стандартные подпрограммы ввода/вывода языка C работают с блоками. Символьные устройства, в соответствии с названием, используются для посимвольного чтения/записи. Символьное устройство называ- ется также "бесструктурным" ("raw"). На рис. 4-1 это отражено в именах каталогов, где символьные варианты драйверов магнитных накопителей находятся в каталоге /dev/rdsk. Посимвольный ввод/ вывод используется некоторыми утилитами, предназначенными для обработки файлов. Определение нового специального файла Необходимость определять новые специальные файлы устройств воз- никает нечасто. Если Вы добавляете устройства, то процесс auto- boot заботится об определении соответствующих файлов. Если та- кая потребность тем не менее возникает, то для этой цели в сис- теме UNIX имеется команда mknod(1M). Общий формат команды mknod: |mknod имя [b] [c] старший младший |mknod имя p Элементы команды mknod: имя имя специального файла b специфицирует блочное устройство с специфицирует символьное устройство (нужно выбрать какую-то одну букву) старший номер слота младший номер физического устройства p специфицирует данный специальный файл как устройст во типа "первым пришел - первым ушел". Этот тип устройства называется также именованным каналом. (Более подробно о каналах см. в Руководстве прог раммиста). ФОРМАТИРОВАНИЕ И ДЕЛЕНИЕ ДИСКОВ Форматирование диска - это формирование на нем адресуемых прос- транств. Деление - это приписывание адресуемым пространствам каких-либо файловых систем или других логических единиц. Форматирование дисков Прежде чем диск можно будет использовать для хранения данных, его необходимо отформатировать. Поверхности неотформатированно- го диска представляют собой неразмеченные области, покрытые ве- ществом, которое способно воспринимать и удерживать магнитные заряды. В процессе форматирования на эти поверхности налагается определенная схема адресации. В результате форматирования диска его поверхности подразделяются на дорожки и секторы, к которым может адресоваться контроллер диска. Часть диска резервируется для хранения информации о содержимом данного диска. В этой об- ласти хранится оглавление тома. Оглавление тома [volume(1M)] показывает, как размещены разделы диска. На жестких дисках в зарезервированной области хранится также карта (схема) областей диска, непригодных для использования. При форматировании дис- ков, бывших в употреблении, не только переопределяются дорожки, но и уничтожается информация, которая могла там храниться. Значительно чаще, чем жесткие диски, Вам придется форматировать дискеты. Лучше всего - как только Вы вскрыли новую коробку с дискетами - сразу же их все отформатировать. Если форматировать каждый раз всю коробку, то Вам не придется следить за тем, ка- кие дискеты уже отформатированы, а какие нет - если коробка вскрыта, то все дискеты в ней отформатированы. Форматирование дискет осуществляется при помощи команды системы UNIX for- mat(1M). Жесткие диски поставляются в уже отформатированном виде. Коман дой format(1M) следует пользоваться, только если Вы подключаете к системе новый неотформатированный диск. Деление жестких дисков Разделы на жестких дисках Вашего компьютера установлены в соот ветствии со стандартной конфигурацией, которая зависит от того, имеется ли у Вас один или два жестких диска и каковы их разме- ры. Если имеется один жесткий диск, то на нем выделяются разделы для корневой файловой системы, области подкачек и для дополни- тельной файловой системы, которая используется как диск для резервных копий. Если в системе два диска, то на втором диске может размещаться файловая система /usr2, а корневая система и файловая система для сохранения находятся на первом диске. Подразумеваемое деление представляет собой компромиссное реше ние. После нескольких месяцев эксплуатации системы Вы можете придти к убеждению, что для лучшего удовлетворения потребностей пользователей более подходящим будет другое деление. Подготовка к изменению структуры жестких дисков Принимая решение о переделе дискового пространства, необходимо определиться в главном - предпочтительнее ли будет увеличить число файловых систем, уменьшая их размер, или же лучше оста вить большие файловые системы, занимающие диск целиком. Решение этого вопроса зависит от ответов на несколько основных вопро сов. Какие группы зарегистрированы в системе? Действительно ли не- обходимо именно такое число групп? Правильно ли распределены по группам пользователи? Каков характер работ, выполняемых членами различных групп? Требуется ли им для работы временная память? Имеются ли су- щественные отличия в характере работы членов различных групп? Добавлялись ли в систему какие-нибудь программные средства, использование которых могло повлиять на Ваши представления о потребностях в памяти? Планируются ли такие добавления? Полезную информацию о рабочих характеристиках существующей ор- ганизации файловых систем можно получить при помощи команды sadp. Обращение к этой команде описано в гл. 6. Если Вы решите, что реорганизация дискового пространства дейст- вительно необходима, то это можно сделать только с выполнением полного восстановления системы. Реорганизация дискового пространства для расширения области подкачек Если на консоль часто выдается сообщение о том, что не хватает памяти, то это, видимо, означает, что существующая конфигурация основной памяти и области подкачек в системе не удовлетворяет потребностям пользователей. Вместо добавления основной памяти Вы можете избрать альтернативное решение - расширить область подкачек (что возможно в системах и с одним, и с двумя диска ми). Это можно осуществить, выполнив процедуру полной перезагрузки системы (см. процедуры из гл. P3), но прежде чем приступить к ней, сделайте следующее: 1. Выясните, какое деление установлено в настоящее время (сверьтесь по своим записям; или воспользуйтесь меню sysadm harddisk или командой /etc/volume). 2. Определите, какие размеры разделов Вы хотите установить. (Поскольку дисковое пространство полностью распределено, то для увеличения области подкачек Вы должны сократить какой-то другой раздел.) 3. Выполните полное сохранение (процедура 5.4). (При изменении деления диска вся информация на нем будет уничтожена.) ПРОЧИЕ ОПЕРАЦИИ С ДИСКАМИ И ЛЕНТАМИ Еще две операции, которые Вам, возможно, придется выполнять - это дублирование дискет и проверка их пригодности. Дублирование дисков Для копирования содержимого одной дискеты на другую служит ко- манда dd(1) или подкоманда sysadm cpdisk(1). Если компьютер имеет только одно устройство НГМД, то содержимое дискеты копи- руется сначала во временный файл на жестком диске. При пользо- вании командой dd можно задать как символьное, так и блочное устройство, но для всей процедуры в целом выбирается один и тот же (символьный или блочный) тип устройства. Затем исходная дис- кета вынимается, и временный файл копируется на вторую дискету. Для образования временного файла можно воспользоваться любой файловой системой, но разумнее делать это в /tmp или /usr/tmp. Файлы из этих двух каталогов автоматически удаляются при пере- ходе в многопользовательский режим (уровень выполнения 2). Не- зависимо от того, какой каталог используется, в соответствующей файловой системе должно быть не менее 800 Кб свободного прост- ранства. Если имеется более одного устройства НГМД, то времен- ный файл не нужен. СРЕДСТВА УЧЕТА ДЕФЕКТНЫХ БЛОКОВ Примечание Описанные здесь средства применимы только для жестких дисков. Аналогичные возможности для дискет и лент от- сутствуют. В системе UNIX имеется программное средство, называемое обра- ботчиком дефектных блоков. Назначение этого средства - продлить срок службы жесткого диска, что достигается за счет исключения из употребления непригодных блоков поддержания работоспосбности диска в целом, несмотря на нали- чие в нем дефектных блоков. Важно отметить, что на встроенных дисках новые дефектные блоки образуются крайне редко, если, конечно, Вы соблюдаете необходи- мые меры предосторожности, избегая передвигать или подвергать вибрации компьютер с вращающимся диском. Однако, если дефектный блок появился, то данные, которые на нем находились, пропадают, и диск в таком виде непосредственно к использованию непригоден. Средства отбраковки дефектных блоков предназначены для восста- новления работоспособности самого диска. Что касается утрачен- ных данных, то об их восстановлении Вы должны позаботиться са- ми, применяя для этого процедуры сохранения данных, которые вы считаете наиболее пригодными в Ваших условиях. Процедуры сохра нения необходимы также для защиты от ошибок пользователя и все- возможных сбоев аппаратуры. Именно эти обстоятельства, и в осо- бенности ошибки пользователей, являются главным источником по терь данных в системе. Процедуры сохранения служат защитой от ошибок пользователя, равно как и от потерь данных в результате образования дефектных блоков. Обсуждение процедур сохранения вы найдете в гл. 5 "Управление файловой системой". Что такое дефектный блок? Блок считается дефектным, если он не может надежно сохранять данные. Это обнаруживается только тогда, когда при попытке чте ния возникает ошибка чтения. Сложность состоит в том, что ошиб- ка чтения еще не обязательно означает, что блок дефектный. Ошибка чтения может быть вызвана неправильным форматированием диска, ошибкой в контроллере или сбоем аппаратуры. Ошибки записи обычно бывают связаны с неправильным форматирова- нием, сбоем аппаратуры или контроллера диска. Обо всех ошибках выдаются сообщения. Проблемы такого рода решаются путем включе ния блока, дающего ошибки, в файл дефектных блоков, переформ тирования диска и, возможно, ремонта аппаратуры. В любом случае следует обратиться к представителю фирмы. Если в течение не большого промежутка времени произошло несколько отдельных сбо ев, то это также должно служить поводом для обращения к предс тавителю фирмы (для выявления и устранения причины). ЧЕМ ОБЪЯСНЯЕТСЯ НЕНАДЕЖНОСТЬ БЛОКА? Диск - это аналоговый носитель, используемый для хранения циф- ровой информации. В основе аналоговых явлений лежат магнитные свойства пленки, покрывающей поверхность диска. Плотность запи- си данных на диске очень высока - миллионы бит помещаются на крохотном пространстве. Из-за высокой плотности записи даже не- большие различия магнитных свойств запоминающей поверхности мо- гут иметь большое значение. Если имеются отклонения магнитных свойств, то это означает, что какой-то участок поверхности мо жет "предпочитать" определенные сочетания бит и "недолюбливать" другие. Обычно такие "предпочтения" незначительны по сравнению с разницей в уровнях сигналов. Если же отклонения магнитных свойств превышают некоторую грань и становятся значительными, то мы имеем дефектный блок. Если на этот блок пришлось "удач ное" для него сочетание битов, то в течение некоторого времени он может оставаться необнаруженным. Тем не менее, если диск ак тивно используется, то ненадежность блока в конце концов будет выявлена. ФИКСАЦИЯ ДЕФЕКТНЫХ БЛОКОВ Суть обсуждаемых средств обработки дефектных блоков состоит не столько в том, чтобы зафиксировать наличие дефектных блоков, сколько в том, чтобы обеспечить при этом жизнеспособность сис- темы. С этой целью на диске выделяется небольшой участок, кото- рый исключается из общего пользования. Этот участок, называемый специфической областью данных носителя, недоступен для обычных команд и системных вызовов операционной системы UNIX. Зарезер вированный участок содержит описание свойств диска и другую ин- формацию, специфичную для данного носителя. Специфическая область данных диска содержит набор блоков, назы- ваемый областью замещения. Суть механизма, поддерживающего ви димость доступности большинства блоков диска, заключается в том, что данные, которые должны были бы храниться в дефектных блоках, попадают в блоки области замещения. Специфическая об- ласть носителя содержит также таблицу соответствия между де- фектными блоками и блоками области замещения. Управляющая прог рамма диска в операционной системе перенаправляет операции дос- тупа к диску таким образом, чтобы вместо дефектных блоков чита лись и записывались блоки замещения. Переадресация операций ввода/вывода остается прозрачной для вызывающих программ. Большинство дисков поступает с небольшим числом производствен- ных дефектов. Дефектные блоки выявляются на предприятии средст- вами технического контроля и указываются в метке выпускаемого тома. БЛОКИ, КОТОРЫЕ НЕ МОГУТ БЫТЬ ЗАМЕЩЕНЫ Некоторые особые блоки в специфической области данных носителя не могут быть отображены на блоки замещения: Блок, содержащий физическое описание диска Один или несколько блоков, содержащих таблицу соответствия Все остальные блоки, включая и блоки замещения, могут быть отображены на область замещения. Когда обнаруживаются дефектные блоки Дефектные блоки обнаруживаются в тех случаях, когда несколько дисковых операций ввода/вывода подряд дают ошибки чтения/запи- си. Это означает, что вводимые или выводимые данные утрачены, но система тем не менее способна восстановить работоспособность диска путем отображения дефектных блоков на блоки замещения. Как поступать в нестандартных ситуациях Если ошибка возникает на каком-нибудь критическом для операци- онной системы участке, например, при вводе/выводе во время вы- полнения подкачки, то операционная система приходит в состояние паники. Если ошибка обнаруживается встроенным программынм обес- печением или управляющей программой, то будет выдано сообщение об ошибке, но эти программы неспособны произвести более сложные действия, необходимые для надлежащего документирования ошибки. В этих случаях Вы, как администратор системы, ОБЯЗАНЫ зафикси- ровать всю информацию, распечатанную в сообщении об ошибке.