Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Новые средства ОС FreeBSD 5


Всеволод Стахов

Ни для кого не секрет, что OС FreeBSD является весьма популярной на productive-серверах. Причиной тому служит высокая степень защищенности «системы по умолчанию» (т.е. система изначально больше ориентирована на безопасность, чем на удобство для пользователя), очень высокая производительность, чрезвычайно удобная система портов и обновления системы (cvsup). Как и все *nix, FreeBSD изначально ориентирована на использование в сети, поэтому она содержит качественный стек протоколов TCP/IP, очень мощный пакетный фильтр ipfw и неплохую поддержку множества сетевых технологий и протоколов. Не так давно появившаяся 5 ветка (на момент написания этой статьи последней была  версия 5.1, вышедшая 9.06.2003) FreeBSD явилась результатом почти трехлетнего труда разработчиков и, несомненно, отвечает требованиям времени.

В 5 версии ОС FreeBSD появилось достаточно много нововведений по сравнению с 4 веткой системы. Из них стоит выделить такие, как поддержка ACPI, экспериментальная поддержка MAC (Mandatory Access Controls), новая версия файловой системы UFS – UFS2. В этой статье рассказывается о новых средствах, появившихся или получивших более качественную поддержку в 5 ветке FreeBSD. Начнем с особенностей файловой системы – UFS2.

Учтите, что по умолчанию FreeBSD 5.0 создает разделы с файловой системой UFS1, для создания UFS2-раздела можно специально указать типы sysinstall или воспользоваться командой newfs следующим образом:

# newfs -U -O2 /dev/ad0s3d

где опция -U означает включение режима soft-updates (будет пояснено далее), а -O – выбор версии UFS.

Какие же это средства и каково их применение? Итак, среди наиболее важных нововведений можно выделить следующие:

n  преодоление «терабайтного барьера»;

n  ограничения на размер одного раздела в 1 терабайт, что достигнуто использованием 256-байтных inode, позволяющих иметь 64-битный указатель смещения (если вы никогда ранее не работали с FreeBSD, то учтите, что раздел MS-DOS и раздел FreeBSD означают совершенно разные вещи: раздел MS-DOS в терминологии BSD именуется «слайсом» и управляется программой fdisk, но на слайсе может быть несколько разделов, которые управляются программой disklabel);

n  поддержка технологии soft-updates и snapshots (проект FFS – fast file system);

n  поддержка списков доступа (acls) (проект TrustedBSD: www.trustebsd.org).

Что же означают последние два пункта? Начну по порядку. Итак, что прежде всего требуется от файловой системы? Надежность и скорость. Эти два критерия являются основополагающими, но, к сожалению, более надежная система часто является более медленной. Надежность файловых систем всегда была и будет объектом пристального внимания разработчиков. Представим себе традиционную файловую систему, например, fat или ext2. Наиболее слабым местом любой ФС являются операции записи, т.к. они изменяют содержимое нескольких областей диска. При записи файлов происходит 2 процесса записи: запись данных и запись метаданных (информации об имени файла, его смещении, режиме доступа и т. д.), при этом метаданные хранятся в начале диска.  При традиционной схеме данные и метаданные записываются синхронно. То есть метаданные записываются уже «по факту» записи основных данных. Такая схема использовалась традиционно в ufs, т.к. является достаточно безопасной. Недостатком такой системы является очень медленное обновление метаданных, что может вызвать большие потери данных при непредвиденных ситуациях. В таком случае запускается fsck, и эта программа проверяет блоки, помеченные как «занятые», на правильность (т.е. всем занятым блокам должны соответствовать корректные метаданные, иначе такие блоки нужно отметить как «свободные»). Следующим шагом развития ФС явилась асинхронная запись (режим работы ext2 по умолчанию или ufs, монтированной с опцией async).  При этом метаданные записываются сразу же после записи основных данных, что дает очень существенный выигрыш в скорости по сравнению с предыдущей системой, но при этом страдает надежность. Если же в процессе записи неожиданно произошел сбой (например, отключение питания), то часто метаданные бывают неверны или указывают на несуществующие данные. Для устранения неполадок в файловой системе запускается программа fsck, назначение которой в исследовании всех метаданных на валидность и проверке всех занятых блоков.  Естественно, при такой схеме возможна весьма существенная потеря данных и, кроме этого, fsck выполняется довольно долго, т.к. необходимо проверить все метаданные и все занятые блоки. Файловые системы следующего типа (можно даже сказать поколения) используют так называемый журналируемый режим (ext3, ntfs, reiserfs), который подразумевает следующее: метаданные записываются синхронно с основными данными, но на специальную небольшую область диска – журнал, находящийся в быстродоступном месте. После записи данных метаданные переносятся в положенное место. При возникновении неполадок fsck проверяет валидность метаданных, находящихся в журнале и осуществляет перенос валидных inode в нужное место, а также удаляет неправильные метаданные. Эта схема намного более надежна, чем первая, т.к. нет риска порчи большого количества метаданных. Кроме этого, fsck выполняется очень быстро, т.к. осуществляется проверка лишь малой части диска.  Главный недостаток журналируемых ФС – более низкая производительность, т.к.  метаданные должны записываться дважды. Это особенно заметно на серверах, которые интенсивно оперируют с данными (почтовые серевра, сервера баз данных).  Для устранения этого недостатка был разработан новый тип записи метаданных, который и применяется во FreeBSD 5.x. При такой схеме, называемой soft-updates, метаданные пишутся в синхронном режиме, но не на диск, а в оперативную память. Логично сказать, что операции с памятью на несколько порядков быстрее операций с диском. После записи данных метаданные в памяти записываются на диск (т.е. записываются лишь однажды) в определенном порядке (в отдельных случаях это дает прирост производительности на 70% (!)). Порядок записи метаданных определяется специальным алгоритмом, который определяет приоритет каждого блока метаданных в памяти. При возникновении сбоя система просто откатывается примерно на полминуты назад и продолжает работу в нормальном режиме (нет даже необходимости в запуске fsck, поэтому система может спокойно монтироваться, даже не будучи корректно отмонтированной). Единственная проблема в наличии блоков, которые помечены как «занятые», но которым не соответствуют метаданные. Для устранения таких блоков, являющихся по сути дела мусором, применяется фоновая проверка (bgfsck), которая запускается и работает, не мешая нормальной работе системы, освобождает неправильно помеченные блоки. В таком случае в результате сбоя происходит потеря метаданных, находящихся в памяти, что не очень существенно, т.к. преимуществ у такой схемы все равно больше. Главным образом это, конечно, высокая производительность. Система soft-updates представляет собой компромисс между оптимальной производительностью (практически как у асинхронных систем) и оптимальной надежностью (практически как у синхронных систем). По моему мнению, систему с soft-updates идеально применять на серверах, испытывающих большую нагрузку. Есть еще одна из реализаций технологии soft-updates, когда метаданные записываются в энергонезависимую память, что дает еще больший выигрыш в надежности (фактически надежность журналируемых ФС и скорость soft-updates). Главным минусом, безусловно, является недостаточная поддержка энергонезависимой памяти и необходимость разработки специальных алгоритмов восстановления.


ОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100