Смекни!
smekni.com

Администрирование локальных сетей (стр. 23 из 39)


Размер файла

8 15 24 31 40 43 46

1

2

блоки адреceсуемые 3

напрямую с inode

4

12

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

Распределение дискового места.

Свободное место на диске определяется через битовую карту ассоциированную с каждой группой цилиндров. Битовая карта содержит один бит для каждого фрагмента. Для определения свободен ли блок, система проверяет смежные фрагменты. Пример куска битовой карты для файловой системы использующей 1024-х байтные фрагменты и 8192-х байтные блоки показан ниже:

Битовая карта 00000000 00000011 11111100 11111111
Номера фрагментов 0-7 8-15 16-23 24-31
Номера блоков 0 1 2 3

Фрагменты с номерами 14-21 в этом примере сободны (отмечены 1), а фрагменты 0-13 и 22-23 уже заняты. Любые восемь подряд идущих фрагментов не могут составлять блок, только восемь фрагментов выровненных по границе блока могут составить блок. HP-UX пытается положить все все файлы находящиеся в одной директории в одну и туже группу цилиндров. Новосозданные директории помещаются в те группы цилиндров где наибольшее количество свободных inodes и наименьшее количество директорий. Если размер файла превішает порог определяемій параметром maxbpg (определяется при создании файловой системі и может меняться в дальнейшем) то HP-UX начинает выделять свободные блоки из другой группы цилиндров. Это позволяет более тесно группировать в одну группу цилиндров файлы находящиеся в одной директории путем размазывания больших файлов по нескольким группам цилинров.

Модификация файлов в HP-UX

Каждій раз когда происходит запись в файл, данные сначала записываются в буферный кэш находящийся в памяти. Физический диск обновляется ассинхронно по отношению к кэшу. Изменение данных на диске принадлежащие к определенной inode происходит позже, за исключерием если файл біл откріт в синхронном режиме (параметр O_SYNC O_SYNCIO в системных вызовах open() и fcntl()). Если система останавливается без сброса буферов на диск то файловая система приходит в сосотояние с нарушеной целостностью. В єтом случае необходимо ее восстановление утилитой fsck. Команда syncможет быть использована для принудительного сброса буферов на диск в любой момент времени. Системній демон syncerвыполняет периодический сброс буферов на диск. Приведем список изменений происходящих в фаловой системе при выполнении некоторых основных операций над ней:

Главный суперблок сбрасывается на диск при выполнениии команды

umountили команды syncпри условии что файловая

система была модифицирована

Inodes в зависимости от параметра ядра fs_async информация

Обновляется либо синхронно либо ассинхронно по

Отношению к буферному кєшу

Блоки данных In-core блоки (директории, файлы, пайпы, симлинки,

FIFO) записываются на диск после модификации. Блоки данных файлов буферизируются. Физически запись на диск происходит когда выполняется команда sync или системный вызов fsync() или непосредственно после модификации если на файл при открытии установлен флаг O_SYNC.

Информация о группе эта информация сбрасывается на диск после цилиндров выполнения sync (fsync).

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

Менджер логических дисков LVM

Перед появлением HP-UX 10.* управление дисками в сриях HP 800 и HP 700 осуществлялось различным образом. В серии 800 была возможность разбивки диска на жестко определенные партиции, а также управление через LVM. В серии 700 таких возможностей не было, и единственное что можно было использовать – так это использование целого диска для создания файловой системы. С появлением HP-UX 10.* ситуация радикально изменилась, LVM стал доступен на обеих сериях и является рекомендуемым инструментом для работы с файловыми системами. Он представляет собой псевдодрайвер ядра системы эмулирующий логические диски.

Что такое Logical Volumes и в каких случаях их следует использовать ?

Logical Volumes (LV) это набор дисковых участков с одного или более дисков организованных в таком виде, что операционная система видит их как один логический диск. Как и физические дискиони могут быть использованы для поддержки файловых систем, raw областей данных, swap или dump областей. Использование LV оправдано в случаях больших файловых систем которые не умещаются на одном диске и (или) нуждаются в последующем расширении а также в случаях когда необходимо организовать резервирование (зеркалирование) данных или когда к файловой системе предъявляются жесткие требования по производительности.


Physical Volumes

(диски)


Volume Groups

(пул дисков)


Для использования LVM диски должны быть инициализированны как physical volumes. Physical volumes идентифицируются именами ссответствующих файлов-устройств дисков /dev/dsk/cntndn и/dev/rdsk/cntndn. Затем из одного или нескольких дисков собирается volume group. Один физический диск может принадлежать только к одной volume group. Максимальное число volume group которое может быть в системе определяется параметром maxvgs. Одна volume group может содержать не более 255 физических дисков. Дисковое пространство из volume group распределяется между одной или несколькими logical volumes. Дисковое пространство из logical volumes может быть использовано для создания файловой системы, под swap или dump области. LVM разбивает каждый диск на набор адресуемых блоков называемых physical extents. Их размер определяется во время создания volume group и одинаков для всех дисков входящих в volumes group. Размер physical extents варьируется от 1 до 256 Мб, по умолчанию он равен 4Мб. Базовым блоком для адресации logical volumes является logical extent, он напрямую отображается в physical extents. В HP-UX команды показывающие эти отображения имеют названия pvdisplay и lvdisplay: