Operating System
Вид материала | Реферат |
- The design of the unix operating system by Maurice, 9215.6kb.
- Уровни рассмотрения, 314.07kb.
- Курс по операционным системам (на примере ос windows) Основан на учебном курсе Windows, 29.21kb.
- Выполнил ученик 11 «А» класса, 443.51kb.
- Ос лекция 1 (2-й семестр – временно), 101.4kb.
- 1. ms sql server. Общие сведения, 66.03kb.
- Лекция Сущность, цели и задачи финансового менеджмента, 126.51kb.
- Лекция 10. Файловые системы Unix, 116.79kb.
- Д. В. Серебряков по изданию: advanced selling strategies (The Proven System of Sales, 3304.13kb.
- 1. ао «Казахстанская компания по управлению электрическими сетями» (Kazakhstan Electricity, 243.17kb.
.
- 4-4 -
ТИПЫ ФАЙЛОВЫХ СИСТЕМ
Система может быть настроена на работу с четырьмя различными типами файловых систем:
* XENIX
* UNIX
* DOS
* AFS (Acer Fast Filesystem)
Внутренние структуры файловых систем UNIX и XENIX немного различаются, но это не приводит к серьезным последствиям. По умолчанию принимается быстрая файловая система типа AFS (Acer Fast Filesystem), которая работает значительно быстрее и не доступна в других системах UNIX. В каждой из этих файловых систем размер блока принимается равным 1К. Файловые системы DOS обсуждаются в главе "Использование DOS и OS/2" настоящего руководства.
Преобразование файловых систем UNIX в AFS
Файловую систему UNIX можно в любое время преобразовать в файловую систему AFS. Для этого используется опция Ъ2-Cclustersize
команды fsck(ADM), которая обычно применяется для проверки и
восстановления файловых систем. Опция -C изменяет размер кластера, чтобы заменить формат файловой системы на формат AFS. Аргумент clustersize должен быть степенью числа 2 и меньше 16 (рекомендуется значение 8).
Реальные преимущества файловой системы AFS наглядно проявляются при использовании новой файловой системы. Будет очевидным увеличение скорости работы преобразованной файловой системы AFS; оно проявится только при добавлении новых файлов к файловой системе. Преобразование файловой системы, которая почти заполнена, не влечет никаких или почти никаких выгод; если до заполнения не хватает нескольких блоков, преобразование просто не выполнится. (Полное описание команды fsck см. в разделе "Целостность файловой системы".)
Замечание
Перед выполнением команды fsck следует демонтировать файловую систему.
- 4-5 -
Формат команды:
Ъ2fsck -s -Cclustersize device
Здесь device - имя устройства файловой системы в /dev. Следует отметить, что должна присутствовать также и опция -s. .
- 4-6 -
ОБЕСПЕЧЕНИЕ СВОБОДНОГО ПРОСТРАНСТВА В ФАЙЛОВОЙ СИСТЕМЕ
Сопровождение файловой системы (это одна из важнейших задач администратора системы) обеспечивает нормальную работу операционной системы и чистоту файловых систем, а также гарантирует наличие достаточного пространства для всех пользователей. Для сопровождения файловых систем администратор системы должен отслеживать свободное пространство в каждой файловой системе и выполнять корректирующие действия в случаях, когда свободного пространства становится слишком мало.
В данной главе описываются команды сопровождения файловой системы. Эти команды сообщают, сколько пространства используется, определяют редко используемые файлы и удаляют или восстанавливают испорченные файлы.
Система UNIX работает лучше всего, когда в каждой файловой системе имеется по крайней мере 15% свободного пространства. В любой системе объем свободного пространства зависит от размера диска, содержащего файловую систему, и от количества файлов на диске. Поскольку каждый диск имеет фиксированный объем пространства, важно контролировать число записанных на диске файлов.
Если в файловой системе меньше 15% свободного пространства, работа системы обычно замедляется. Если нет доступного свободного пространства, система прекращает все попытки записи в файловую систему. Это означает прекращение обычной работы пользователя на компьютере (создание новых файлов и расширение существующих).
Единственное спасение для файловой системы, в которой меньше 15% свободного пространства, состоит в удалении одного или нескольких файлов из файловой системы. В следующих разделах описываются стратегии обеспечения доступного свободного пространства.
Стратегии обеспечения свободного пространства
Администратор системы должен регулярно проверять количество свободного пространства во всех смонтированных файловых системах и напоминать пользователям о том, что не следует оставлять в своих каталогах неиспользуемые файлы. Такое напоминание можно включить в файл сообщения текущего дня /etc/motd.
Кроме того, система выполняет команду cleantmp(ADM) для очистки каталога /tmp. Можно отредактировать файл /etc/default/cleantmp, чтобы определить, как часто следует очищать от файлов ключевые каталоги (по умолчанию /tmp). Подробности см. в странице руководства, касающейся cleantmp(ADM).
.
- 4-7 -
Если доля свободного пространства опускается ниже 15%, администратор системы должен сделать следующее:
1) послать пользователям общесистемное сообщение с просьбой удалить неиспользуемые файлы;
2) выявить чрезмерно большие каталоги и файлы и передать по почте их владельцам просьбу удалить ненужные файлы;
3) отыскать и удалить временные файлы и файлы с именем core;
4) очистить содержимое файлов системного журнала;
5) уменьшить фрагментацию диска: сделать полную копию файловой системы, удалить все файлы и затем снова восстановить их с резервной копии;
6) если системе хронически не хватает свободного пространства, возможно понадобится создать и смонтировать дополнительную файловую систему.
Эти действия подробно описаны в последующих разделах.
Вывод на экран величины свободного пространства
С помощью команды df ("disk free" - "свободный диск") можно узнать, сколько свободного пространства имеется в конкретной файловой системе. Эта команда выводит на экран количество "блоков", доступных в данной файловой системе. Блок состоит из 512 символов (или байтов) данных.
Формат команды df:
Ъ2df specialfile
@ Пользователи sysadmsh выбирают System->Report->Disk
В качестве specialfile можно задать имя специального файла UNIX, который соответствует дисководу, содержащему файловую систему. Если имя специального файла не задано, то будет выдано свободное пространство всех нормально смонтированных файловых систем.
Например, чтобы вывести информацию о свободном пространстве корневой файловой системы /dev/root, следует ввести
df /dev/root
и нажать клавишу
df -v
.
- 4-8 -
Общесистемное сообщение
Если свободного пространства мало, можно послать общесистемное сообщение всем пользователям системы, используя команду wall ("write to all" - "писать всем"). Эта команда копирует сообщения, которые вы вводите со своего терминала, на терминалы всех пользователей, зарегистрированных в данный момент.
Чтобы послать сообщение, нужно ввести
wall
и нажать
строку, нажмите
нажмите
системе. Чтобы выйти из среды команды wall, нажмите
результате связь с другими терминалами прервется.
Вывод на экран информации об использовании диска
С помощью команды du можно вывести на экран количество блоков, используемых в каталоге. Эта команда полезна для выявления чрезмерно больших каталогов и файлов.
Формат команды du:
Ъ2du directory
Необязательный параметр directory может быть именем каталога в смонтированной файловой системе. Если имя каталога не задано, на экран выйдет число блоков в текущем каталоге.
Например, чтобы вывести количество блоков, используемых в каталоге /usr/johnd, введите
du /usr/johnd
и нажмите
- 4-9 -
Вывод на экран блоков по владельцам
С помощью команды quot ("quota" - "доля") можно вывести на экран список пользователей и количество принадлежащих каждому из них блоков. Формат команды:
quot specialfile
В качестве specialfile нужно задать имя специального файла, который соответствует дисководу, содержащему файловую систему.
Например, чтобы вывести список владельцев файлов файловой системы, находящейся на жестком диске /dev/hdl, введите
quot /dev/hdl
и нажмите
имеющих файлы в этой файловой системе, и число блоков в этих
файлах для каждого пользователя.
Передача пользователю сообщения по почте
Если у какого-либо пользователя обнаруживаются слишком большие каталоги или файлы, ему можно послать персональное сообщение с помощью команды mail.
Чтобы начать посылку сообщения по почте, введите
Ъ2mail login-name
и нажмите
Поиск файлов
С помощью команды find можно найти все файлы с заданным именем, размером, датой создания, владельцем и/или датой последнего доступа. Эта команда полезна для выявления редко используемых и слишком больших файлов.
Формат команды find:
find directory parameters
.
- 4-10 -
В качестве directory нужно задать имя первого просматриваемого каталога. (Команда find также просматривает все подкаталоги этого каталога.) Параметрами (parameters) являются специальные имена и значения, которые предписывают команде, что нужно искать. Все подробности см. в описании find(C) в документе "Справочник пользователя" (User's Reference). Наиболее часто используются следующие параметры:
Ъ2-name file
Ъ2-atime number
Параметр -name заставляет команду искать указанный файл file. Параметр -atime задает поиск файлов, к которым не было доступа в течение заданного количества дней. Параметр -print задает вывод на экран местоположения всех обнаруживаемых файлов.
Например, чтобы найти все файлы с именем temp в каталоге /usr, введите
find /usr -name temp -print
и нажмите
файлов, найденных командой.
Поиск файлов core и временных файлов
С помощью команды find можно отыскивать файлы core и временные файлы.
Файл core содержит копию прекращенной программы. Система UNIX иногда создает такой файл, если программа привела к ошибке, которую не в состоянии исправить. Временный файл содержит данные, созданные в качестве промежуточного этапа в процессе выполнения программы. Этим файлом можно воспользоваться, если в программе оказалась ошибка или она была преждевременно остановлена пользователем. Имя временного файла зависит от создавшей его программы.
В большинстве случаев пользователю не нужны ни файлы core, ни временные файлы, и их можно спокойно удалять.
Для отыскания файлов core или временных файлов можно задать поиск файлов, к которым за некоторый период времени не было доступа. Например, для поиска всех файлов core в каталоге /usr, к которым не было доступа в течение недели, введите
find /usr -name core -atime +7 -print
и нажмите
.
- 4-11 -
Очистка журнальных файлов
В системе UNIX предусмотрено несколько файлов, называемых журнальными, которые содержат информацию об использовании системы. Когда генерируется новая информация, система автоматически присоединяет ее в конец соответствующего файла, сохраняя предыдущее содержимое файла. Это значит, что размер каждого файла растет по мере добавления новой информации. Поскольку журнальные файлы могут быстро стать довольно большими, необходимо периодически очищать их, удаляя их содержимое.
Для очистки журнального файла введите
Ъ2cat < /dev/null > filename
где filename - полное имя пути для журнального файла, который
нужно очистить. Обычно в журнальный файл поступает информация,
используемая одной и только одной программой, поэтому его имя
обычно отсылает к этой программе. Аналогично формат файла зависит от использующей его программы.
В некоторых случаях очистка файла влияет на последующий вывод соответствующей программы. Например, очистка файла /etc/ddate приведет к тому, что следующее дублирование будет периодическим дублированием.
Удаление и восстановление файловой системы
Если ваша система была некоторое время в работе, постоянное создание и удаление файлов приводит к ситуации, называемой фрагментацией диска. Это означает, что файлы файловой системы записываются на жесткий диск маленькими частями. Когда файл пишется на более чем одну часть диска, используется небольшой объем пространства диска. Можно восстановить пространство файловой системы (обычно от 5 до 10 процентов), если, предварительно сделав полную копию всех файлов файловой системы, удалить все файлы с жесткого диска и затем восстановить их с резервной копии. Чтобы сделать полную резервную копию системных файлов, прочитайте главу "Дублирование файловых систем" настоящего руководства, где приводятся инструкции по дублированию и восстановлению файловых систем. (Фрагментация диска - это проблема производительности; подробнее см. главу "Настройка производительности системы" настоящего руководства.)
.
- 4-12 -
Так как файлы целиком переписываются на диск, каждый файл записывается одним куском, и фрагментация уменьшается. Будет восстановлен небольшой объем пространства. Было бы неплохо выполнять эту процедуру примерно раз в год для интенсивно используемых систем, и немного реже - для умеренно используемых систем. Перед началом этих работ убедитесь в наличии полной, точной и читаемой копии, чтобы не потерять файлы.
Расширение файловой системы
Если свободного пространства хронически мало, может оказаться полезным расширить объем памяти системы, включив второй жесткий диск, как описано выше в данной главе. Как только он смонтирован, можно использовать эту новую файловую систему для работы, или даже копировать в нее пользовательские или системные каталоги.
Хроническая нехватка пространства обычно вызывается тем, что в системе больше пользователей, чем текущий жесткий диск в состоянии нормально обработать, или что имеется слишком много каталогов или файлов. В обоих случаях создание новой файловой системы позволяет перевести некоторых пользователей или какие-либо каталоги с жесткого диска, освобождая значительное количество пространства существующей файловой системы и улучшая функционирование системы.
.
- 4-13 -
ФАЙЛОВЫЕ СИСТЕМЫ И БОЛЬШИЕ КАТАЛОГИ
Рекомендуется избегать использования каталогов, размер которых больше, чем необходимо. Следует знать несколько специальных размеров. Каталог, содержащий строки для не более чем 30 файлов (плюс обязательные строки . и ..), вмещается в один блок на диске, и его просмотр весьма эффективен. Каталог, содержащий до 286 строк, по-прежнему считается небольшим; каталог большего размера, используемый как рабочий, - это обычно катастрофа. Особенно важно, чтобы были небольшими каталоги регистрации, желательно не больше блока. Заметим, что, как правило, каталоги не сжимаемы. Очень важно это уяснить, так как если ваш каталог превышает пороговое значение 30 или 286, поиск становится неэффективным; более того, если удалить файлы таким образом, что их число окажется меньше соответствующего порогового значения, система по-прежнему будет неэффективно работать с каталогом.
.
- 4-14 -
ИЗМЕНЕНИЕ/ДОБАВЛЕНИЕ ФАЙЛОВЫХ СИСТЕМ НА ПЕРВИЧНОМ ЖЕСТКОМ ДИСКЕ
Всегда полезно заранее спланировать компоновку жесткого диска, как описано в документе Installation Guide. Если вы решили изменить число файловых систем на жестком диске, вам следует сделать резервную копию вашей системы и выполнить повторную установку, как описано в главе "Повторная установка и модификация системы" документа Installation Guide. В процессе установки воспользуйтесь ручным управлением компоновки и перераспределите пространство на диске, как требуется. Важно понять, что нельзя использовать резервные копии, созданные утилитой xbackup(ADM). Копиями, создаваемыми этой утилитой, нельзя пользоваться для восстановления файловых систем, которые имели больший размер, чем файловые системы, в которые вы планируете их восстановить. Это остается в силе, даже если резервная файловая система была не полна. Например, если вы сделали копию 20-мегабайтной файловой системы, заполненной лишь на 50 процентов, вы не сможете восстановить тома с резервной копией в 15-мегабайтную файловую систему. В главе, посвященной повторной установке, поясняется, что для дублирования системы следует воспользоваться утилитами, основанными на cpio(C) (такими, как выбор Backups->Create в sysadmsh).
.
- 4-15 -
ЦЕЛОСТНОСТЬ ФАЙЛОВОЙ СИСТЕМЫ
Уже упоминалось, что файловая система - это раздел операционной системы. В обязанности операционной системы входит обеспечение целостности данных файловой системы. Действительная потеря данных - большая редкость; файловые системы UNIX очень устойчивы к порче данных. Это вызвано наличием некоторой избыточности в специальных структурах, невидимых пользователю. Именно эти структуры обеспечивают целостность файловой системы. Например, если при работе системы выходит из строя питание, теряется очень мало информации. Любое нарушение обычно затрагивает один или два файла, делая их недоступными. Почти во всех случаях операционная система может исправить любое повреждение файлов. Очень редко повреждение делает недоступной всю файловую систему.
Для исправления поврежденных файловых систем операционная система пользуется программой fsck ("filesystem check" - "проверка файловой системы"). Эта программа проверяет совместимость файловой системы. В случаях потери содержимого файла (что бывает редко) единственный способ восстановить потерянные данные - воспользоваться резервной копией файловой системы. Программа fsck выполняется автоматически для корневой файловой системы при начальной загрузке. Сообщения состояния программы fsck имеют следующий вид:
| | | | | | | * Phase * Phase * Phase * Phase * Phase | 1 2 3 4 5 | Check Blocks and Sizes (Фаза 1 - Проверка блоков и размеров) Pathnames (Имена путей) Connectivity (Связность) Reference Counts (Счетчики обращений) Check Free List (Проверка свободного списка) |
Если система прекращена аварийно (выход из строя питания), появятся другие сообщения, на первый взгляд тревожные:
FREE INODE COUNT WRONG IN SUPERBLK (FIX?)
(Ошибка в счетчике свободных индексных дескрипторов файлов в суперблоке - исправить?)
На самом деле сообщения такого рода являются обычными в случае, если система не была остановлена нормально; здесь следует лишь ввести y, и fsck продолжит работу. Это можно сделать без вмешательства администратора системы, но, как правило, лучше все же знать, что происходит с файловой системой при возникновении проблемы.
В целях рассмотрения понятия целостности системы и принципов функционирования fsck следует описать структуру, лежащую в основе простого понятия файлов, каталогов и файловых систем. Хотя вникать в принципы файловой памяти не обязательно, полезно знать, к чему относятся сообщения, подобные приведенному выше; после этого они не будут выглядеть столь загадочно. После изуче- .
- 4-16 -
ния данного раздела вам станут понятны некоторые основные принципы операционных систем UNIX. В разделе "Восстановление файловой системы с помощью fsck" описана простая механика использования команды fsck. Последующие подразделы описывают структуры файловой системы, с которыми работает fsck.
Файлы в системах UNIX
Каждая файловая система содержит специальные структуры, позволяющие операционной системе осуществлять доступ и сопровождать файлы и данные, хранящиеся в файловой системе. Нас интересует разрушение и восстановление именно этих структур.
Структура файловой системы базируется на принципе хранения данных на жестких дисках. Хотя жесткий диск и содержит все данные, используемые системой, они отнюдь не хранятся там маленькими аккуратными островками, соответствующими отдельным файлам. Вы вряд ли сможете, указав какое-либо место на жестком диске, с уверенностью сказать: "Мой файл записан именно в этой части диска". На самом деле данные, скорее всего, будут разбросаны по диску, и операционная система использует сложную схему адресации, чтобы иметь доступ к каждому из фрагментов, на которые разбивается файл, и представить их всех пользователю как единое целое.
Разброс данных связан с тем, что операционная система на самом деле работает не с файлами, а с элементами данных. Чтобы понять, что это означает, предположим, что файл создан и записан в одну область на диске. Теперь допустим, что вы редактируете этот файл и удаляете из него несколько предложений вразброс. Значит, вы теперь используете немного меньше пространства на диске, чем вначале. Это пространство имеет ряд разрывов в области, которую занимал файл. Пространство на диске ценится дорого и не тратится зря. Эти освободившиеся маленькие участки памяти выделяются другим файлам. Представьте себе этот процесс с участием сотен файлов и дюжины пользователей, и вам станет яснее принцип сопровождения файлов. Благодаря эффективности алгоритмов (формул), используемых операционной системой, этот процесс является очень эффективным и надежным.