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

Свободное место на диске определяется через битовую карту ассоциированную с каждой группой цилиндров. Битовая карта содержит один бит для каждого фрагмента. Для определения свободен ли блок, система проверяет смежные фрагменты. Пример куска битовой карты для файловой системы использующей 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 стал доступен на обеих сериях и является рекомендуемым инструментом для работы с файловыми системами. Он представляет собой псевдодрайвер ядра системы эмулирующий логические диски.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: