ГЛАВА 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 15 10:58 /dev/rdsk/hd0s1 файлы НГМД brw------- 2 root sys 17, 8 Apr 12 13:59 /dev/dsk/fd crw------- 2 root sys 17, 8 Apr 12 13:51 /dev/rdsk/fd brw------- 2 root sys 17, 8 Apr 15 10:59 /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 специфицирует блочное устройство c специфицирует символьное устройство черта (|) означает, что нужно выбрать какую-то одну букву. старший номер слота младший номер физического устройства p специфицирует данный специальный файл как устройст- во типа "первым пришел - первым ушел". Этот тип устройства называется также именованным каналом. (Более подробно о каналах см. в Руководстве прог- раммиста). ФОРМАТИРОВАНИЕ И ДЕЛЕНИЕ ДИСКОВ Форматирование диска - это формирование на нем адресуемых прос- транств. Деление - это приписывание адресуемым пространствам каких-либо файловых систем или других логических единиц. Форматирование дисков Прежде чем диск можно будет использовать для хранения данных, его необходимо отформатировать. Поверхности неотформатированно- го диска представляют собой неразмеченные области, покрытые ве- ществом, которое способно воспринимать и удерживать магнитные заряды. В процессе форматирования на эти поверхности налагается определенная схема адресации. В результате форматирования диска обе его поверхности подразделяются на треки и секторы, к кото- рым может адресоваться контроллер диска. Часть диска резервиру- ется для хранения информации о содержимом данного диска. В этой области хранится оглавление тома. Оглавление тома (volume(1M)) показывает, как размещены разделы диска. На жестких дисках в зарезервированной области хранится также карта (схема) областей диска, непригодных для использования. При форматировании дис- ков, бывших в употреблении, не только переопределяются треки, но и уничтожается информация, которая могла там храниться. Значительно чаще чем жесткие диски Вам придется форматировать дискеты. Лучше всего - как только Вы вскрыли новую коробку с дискетами - сразу же их все отформатировать. Если форматировать каждый раз всю коробку, то Вам не придется следить за тем, ка- кие дискеты уже отформатированы, а какие нет - если коробка вскрыта, то все дискеты в ней отформатированы. Форматирование дискет осуществляется при помощи команды системы UNIX for- mat(1M). Жесткие диски поставляются в уже отформатированном виде. Коман- дой format(1M) следует пользоваться, только если Вы подключаете к системе новый неотформатированный диск. Деление жестких дисков Разделы на жестких дисках Вашего компьютера установлены в соот- ветствии со стандартной конфигурацией, которая зависит от того, имеется ли у Вас один или два жестких диска и каковы их разме- ры. Если имеется один жесткий диск, то на нем выделяются разделы для корневой файловой системы, области подкачек и для дополни- тельной файловой системы, которая используется как диск для резервных копий. Если в системе два диска, то на втором диске может размещаться файловая система /usr2, а корневая система и файловая система для сохранения находятся на первом диске. Подразумеваемое деление представляет собой компромиссное реше- ние. После нескольких месяцев эксплуатации системы Вы можете придти к убеждению, что для лучшего удовлетворения потребностей пользователей более подходящим будет другое деление. Подготовка к изменению структуры жестких дисков Принимая решение о переделе дискового пространства, необходимо определиться в главном - предпочтительнее ли будет увеличить число файловых систем, уменьшая их размер, или же лучше оста- вить большие файловые системы, занимающие диск целиком. Решение этого вопроса зависит от ответов на несколько основных вопро- сов. Какие группы зарегистрированы в системе? Действительно ли не- обходимо именно такое число групп? Правильно ли распределены по группам пользователи? Каков характер работ, выполняемых членами различных групп? Требуется ли им для работы временная память? Имеются ли су- щественные отличия в характере работы членов различных групп? Добавлялись ли в систему какие-нибудь программные средства, использование которых могло повлиять на Ваши представления о потребностях в памяти? Планируются ли такие добавления? Полезную информацию о рабочих характеристиках существующей ор- ганизации файловых систем можно получить при помощи команды sadp(1M). Обращение к этой команде описано в гл. 6. Если Вы решите, что реорганизация дискового пространства дейст- вительно необходима, то это можно сделать только с выполнением полного восстановления системы. Реорганизация дискового пространства для расширения области подкачек Если на консоль часто выдается сообщение о том, что не хватает памяти, то это видимо означает, что существующая конфигурация основной памяти и области подкачек в системе не удовлетворяет потребностям пользователей. Вместо добавления основной памяти Вы можете избрать альтернативное решение - расширить область подкачек (что возможно в системах и с одним, и с двумя диска- ми). Это можно осуществить, выполнив процедуру полной перегрузки системы (см. процедуры из гл.P3), но прежде чем приступить к ней - сделайте следующее: 1. Выясните, какое деление установлено в настоящее время (сверьтесь по своим записям; или воспользуйтесь меню sysadm harddisk или командой /etc/volume). 2. Определите, какие размеры разделов Вы хотите установить. (Поскольку дисковое пространство полностью распределено, то для увеличения области подкачек Вы должны сократить какой-то другой раздел.) 3. Выполните полное сохранение (процедура 5.4). (При изменении деления диска вся информация на нем будет уничтожена.) Еще две операции, которые Вам, возможно, придется выполнять - это дублирование дисков и проверка их пригодности. Дублирование дисков Команда dd(1) или подкоманда sysadm cpdisk(1). Если компьютер имеет только одно устройство НГМД, то содержимое дискеты копи- руется сначала во временный файл на жестком диске. При пользо- вании командой dd можно задать как символьное, так и блочное устройство, но для всей процедуры в целом выбирается один и тот же (символьный или блочный) тип устройства. Затем исходная дис- кета вынимается, и временный файл копируется на вторую дискету. Для образования временного файла можно воспользоваться любой файловой системой, но разумнее делать это в /tmp или /usr/tmp. Файлы из этих двух каталогов автоматически удаляются при пере- ходе в многопользовательский режим (уровень выполнения 2). Не- зависимо от того, какой каталог используется, в соответствующей файловой системе должно быть не менее 800Кб свободного прост- ранства. Если имеется более одного устройства НГМД, то времен- ный файл не создается. СРЕДСТВА УЧЕТА ДЕФЕКТНЫХ БЛОКОВ Примечание Описанные здесь средства применимы только для жестких дисков. Аналогичные возможности для дискет и лент от- сутствуют. В системе UNIX имеется программное средство, называемое обра- ботчиком дефектных блоков (см. также altrack(1M)). Назначение этого средства - продлить срок службы жесткого диска, что дос- тигается за счет исключения из употребления непригодных блоков поддержания работоспосбности диска в целом, несмотря на нали- чие в нем дефектных блоков. Важно отметить, что на встроенных дисках новые дефектные блоки образуются крайне редко, если, конечно, Вы соблюдаете необходи- мые меры предосторожности, избегая передвигать или подвергать вибрации компьютер с вращающимся диском. Однако, если дефектный блок появился, то данные, которые на нем находились, пропадают, и диск в таком виде непосредственно к использованию непригоден. Средства отбраковки дефектных блоков предназначены для восста- новления работоспособности самого диска. Что касается утрачен- ных данных, то об их восстановлении Вы должны позаботиться са- ми, применяя для этого процедуры сохранения данных, которые вы считаете наиболее пригодными в Ваших условиях. Процедуры сохра- нения необходимы также для защиты от ошибок пользователя и все- возможных сбоев аппаратуры. Именно эти обстоятельства, и в осо- бенности ошибки пользователей, являются главным источником по- терь данных в системе. Процедуры сохранения служат защитой от ошибок пользователя, равно как и от потерь данных в результате образования дефектных блоков. Обсуждение процедур сохранения вы найдете в гл. 5 "Управление файловой системой". Что такое дефектный блок? Блок считается дефектным, если он не может надежно сохранять данные. Это обнаруживается только тогда, когда при попытке чте- ния возникает ошибка чтения. Сложность состоит в том, что ошиб- ка чтения еще не обязательно означает, что блок дефектный. Ошибка чтения может быть вызвана неправильным форматированием диска, ошибкой в контроллере или сбоем аппаратуры. Ошибки записи обычно бывают связаны с неправильным форматирова- нием, сбоем аппаратуры или контроллера диска. Обо всех ошибках выдаются сообщения. Проблемы такого рода решаются путем включе- ния блока, дающего ошибки, в файл дефектных блоков, переформа- тирование диска и, возможно, ремонта аппаратуры. В любом случае следует обратиться к представителю фирмы. Если в течение не- большого промежутка времени произошло несколько отдельных сбо- ев, то это также должно служить поводом для обращения к предс- тавителю фирмы (для выявления и устранения причины). ЧЕМ ОБЪЯСНЯЕТСЯ НЕНАДЕЖНОСТЬ БЛОКА? Диск - это аналоговый носитель, используемый для хранения чис- ловой информации. В основе аналоговых явлений лежат магнитные свойства пленки, покрывающей поверхность диска. Плотность запи- си данных на диске очень высока - миллионы битов помещаются на крохотном пространстве. Из-за высокой плотности записи даже не- большие различия магнитных свойств запоминающей поверхности мо- гут иметь большое значение. Если имеются отклонения магнитных свойств, то это означает, что какой-то участок поверхности мо- жет "предпочитать" определенные сочетания битов и "недолюбли- вать" другие. Обычно такие "предпочтения" незначительны по сравнению с разницей в уровнях сигналов. Если же отклонения магнитных свойств превышают некоторую грань и становятся значи- тельными, то мы имеем дефектный блок. Если на этот блок приш- лось "удачное" для него сочетание битов, то в течение некоторо- го времени он может оставаться необнаруженным. Тем не менее, если диск активно используется, то ненадежность блока в конце концов будет выявлена. ФИКСАЦИЯ ДЕФЕКТНЫХ БЛОКОВ Суть обсуждаемых средств обработки дефектных блоков состоит не столько в том, чтобы зафиксировать наличие дефектных блоков, сколько в том, чтобы обеспечить при этом жизнеспособность сис- темы. С этой целью на диске выделяется небольшой участок, кото- рый исключается из общего пользования. Этот участок, называемый специфической областью данных носителя, недоступен для обычных команд и системных вызовов операционной системы UNIX. Зарезер- вированный участок содержит описание свойств диска и другую ин- формацию, специфичную для данного носителя. Специфическая область данных диска содержит набор блоков, назы- ваемый областью замещения. Суть механизма, поддерживающего ви- димость доступности большинства блоков диска, заключается в том, что данные, которые должны были бы храниться в дефектных блоках, попадают в блоки области замещения. Специфическая об- ласть носителя содержит также таблицу соответствия между де- фектными блоками и блоками области замещения. Управляющая прог- рамма диска в операционной системе перенаправляет операции дос- тупа к диску таким образом, чтобы вместо дефектных блоков чита- лись и записывались блоки замещения. Переадресация операций ввода/вывода остается прозрачной для вызывающих программ. Большинство дисков поступает с небольшим числом производствен- ных дефектов. Дефектные блоки выявляются на предприятии средст- вами технического контроля и указываются в метке выпускаемого тома. БЛОКИ, КОТОРЫЕ НЕ МОГУТ БЫТЬ ЗАМЕЩЕНЫ Некоторые особые блоки в специфической области данных носителя не могут быть отображены на блоки замещения: Блок, содержащий физическое описание диска Один или несколько блоков, содержащих таблицу соответствия Все остальные блоки, включая и блоки замещения, могут быть отображены на область замещения. Когда обнаруживаются дефектные блоки Дефектные блоки обнаруживаются в тех случаях, когда несколько дисковых операций ввода/вывода подряд дают ошибки чтения/запи- си. Это означает, что вводимые или выводимые данные утрачены, но система тем не менее способна восстановить работоспособность диска путем отображения дефектных блоков на блоки замещения. Как поступать в нестандартных ситуациях Если ошибка возникает на каком-нибудь критическом для операци- онной системы участке, например, при вводе/выводе во время вы- полнения подкачки, то операционная система приходит в состояние паники. Если ошибка обнаруживается встроенным программынм обес- печением или управляющей программой, то будет выдано сообшение об ошибке, но эти программы неспособны произвести более сложные действия, необходимые для надлежащего документирования ошибки. В этих случаях Вы как администратор системы ОБЯЗАНЫ зафиксиро- вать всю информацию, распечатанную в сообщении об ошибке.