LINUX практикум. Учебное пособие СанктПетербург 2016
Скачать 0.55 Mb.
|
mrtg необходимо описать способ представления данных в файле mrtg.cfg (рисунок 8) после запуска команды будет сгенерирован html-файл, содержащий данные для отображения веб- браузером. WriteExpires: Yes Refresh: 300 28 WithPeak[^]: wym Suppress[^]: y Target[eth0]: `/opt/lab/parse.sh eth0` WorkDir: /opt/lab/html/mrtg Options[eth0]: growright Title[eth0]: eth0 Traffic PageTop[eth0]:eth0 Traffic MaxBytes[eth0]:99999999 kilo[eth0]: 1024 YLegend[eth0]: bytes per Second ShortLegend[eth0]: bytes per Second LegendO[eth0]: eth0 In Traffic : LegendI[eth0]: eth0 Out Traffic : Рисунок 8 - Пример конфигурационного файла для программы mrtg Для работы необходимо указать либо community и сервер SNMP для получения данных, либо внешнюю программу. Статистику сетевого взаимодействия можно получить при помощи тривиального скрипта, показанного на рисунке 9, который возвращает текущий счетчик байт, переданных через заданный сетевой интерфейс. #!/bin/bash grep "$1" /proc/net/dev | awk -F ":" '{print $2}' | awk '{print $1 " \n" $9 ;}' Рисунок 9 - Скрипт для получения статистики с сетевого интерфейса Для периодического обновления графика можно задействовать демон cron, указав строку для запуска программы mrtg, рисунок 10. 0-59/5 * * * * env LANG=C /usr/bin/mrtg /opt/lab/mrtg.cfg Рисунок 10 - Запись в конфигурации программы cron для периодического обновления данных Пример результата изображен на рисунке 11. Рисунок 11 - Пример полученного программой mrtg графика Усовершенствованным инструментом визуализации сетевого взаимодействия является rrdtool. Набор утилит предназначен для сбора, хранения и визуализации данных, но с акцентом на их изменяемость во времени. Для учета этой особенности используется кольцевая база данных RRD, размер которой не меняется с момента создания, а данные при их поступлении агрегируются на основе временного промежутка. 29 Для реализации простейшего сценария мониторинга сетевого трафика нужно выполнить последовательность действий. Сначала создать кольцевую базу данных при помощи утилиты rrdtool create, рисунок 12. rrdtool create eth0.rrd --step 300 DS:input:COUNTER:600:U:U DS:output:COUNTER:600:U:U RRA:AVERAGE:0.5:1:576 RRA:MAX:0.5:1:576 RRA:AVERAGE:0.5:6:672 RRA:MAX:0.5:6:672 RRA:AVERAGE:0.5:24:732 RRA:MAX:0.5:24:732 RRA:AVERAGE:0.5:144:1460 RRA:MAX:0.5:144:1460 Рисунок 12 - Пример команды создания кольцевой базы данных rrd После этого созданную базу необходимо периодически обновлять соответствующими счетчиками командой rrdtool update (рисунок 13), удобнее всего это реализовать с задействованием демона запуска периодических заданий cron. #!/bin/bash INPUT=`/sbin/ifconfig $1 |grep bytes|cut -d":" -f2|cut -d" " -f1` OUTPUT=`/sbin/ifconfig $1 |grep bytes|cut -d":" -f3|cut -d" " -f1` rrdtool update /var/tmp/rrdtool/eth0.rrd -t "input:output" N:$INPUT:$OUTPUT Рисунок 13 - Пример команды обновления кольцевой базы данных rrd В завершении можно воспользоваться командой rrdtool graph (рисунок 14), которая сгенерирует график на основе имеющейся в базе информации. rrdtool graph net.png -v bytes/sec --slope-mode --imgformat PNG DEF:input=eth0.rrd:input:AVERAGE DEF:output=eth0.rrd:output:AVERAGE CDEF:output_neg=output,-1,* AREA:input#32CD32:"In " "GPRINT:input:MAX: Max\\: %6.1lf %s" "GPRINT:input:AVERAGE:Average\\: %6.1lf %S" "GPRINT:input:LAST:Current\\: %6.1lf %S\\n" HRULE:0#000000 AREA:output_neg#0033CC:"Out" "GPRINT:output:MAX: Max\\: %6.1lf %S" "GPRINT:output:AVERAGE:Average\\: %6.1lf %S" "GPRINT:output:LAST:Current\\: %6.1lf %S\\n" Рисунок 14 - Пример команды генерации графика на основе базы данных rrd В результате получается график вида - рисунок 15 Рисунок 15 - График, сформированный командой rrdtool c параметром graph 30 Порядок выполнения работы 1. Написать скрипт для сбора статистики с интерфейса. Обеспечить его постоянной загрузкой активностью: скачивание файла, открытие веб-страниц и т.п. 2. Обеспечить сбор данных для формирования графика активности с использованием утилиты mrtg. 3. Сформировать график сетевой активности. 4. Создать кольцевую БД rrd и обеспечить ее постоянное обновление данными сетевой активности. 5. Сгенерировать график сетевой активности за заданный промежуток времени (на одном графике должен быть и входящий и исходящий трафик). 6. Проверить работоспособность при обращении к некоторым общедоступным веб-ресурсам при помощи утилит трассировки маршрута. Наложить путь на географическую карту. В качестве веб-ресурса можно использовать сайты google.com, kernel.org, ubuntu.com Требования к оформлению отчета и защите Отчет должен содержать описание всех команд и скриншоты полученных графических представлений. При защите отчета, исполнитель должен быть готов ответить на вопросы по ходу выполнения лабораторной работы. 31 Лабораторная работа №7. Файловые системы операционных систем. Цель работы: Получение навыков управления различными файловыми системами в среде операционной системы GNU Linux. Теоретические сведения Файловая система является элементом для организации хранения данных, необходимых для функционирования ОС, а также данных прикладных программ и пользователей. Структурированное хранение данных жизненно важно для эффективного поиска, получения и сохранение информации на энергонезависимых носителях информации. Файловая система включает в себя структуры для организации хранения данных, а также программное обеспечения для организации доступа к ним. Обычно все данные хранятся в логически разделенных порциях – файлах, которые по сути являются меткой, которая присваивается порции пользователем либо процессом. Директории являются специальными файлами, которые точно также объединяют назначением меткой совокупность файлов, это и является именем директории. Лучше всего, когда метка имеет какое-то смысловое значения для возможности быстрого поиска пользователем интересующей его информации. Организация файлов и директорий выполняется в виде иерархической структуры, началом которой является корневая директория /, от которой берут начало все остальные директории. В операционных системах Windows корневая директория также существует, но является скрытой и от нее непосредственно берут начало логические диски. Работа с иерархией позволяет расширять логическую структуру файловой системы подсоединением других файловых систем в точках монтирования, не изменяя текущую организацию файловой системы. Процесс работы с данными в файловой системе организуется при помощи системных вызовов, которые передаются в ядро для выполнения и взаимодействуют непосредственно со структурами файловой системы для нахождения необходимых блоков данных, а затем производят операции на устройстве хранения. Для прикладных процессов взаимодействие складывается из высокоуровневых операций: открытие файла, позиционирования в файле, чтения данных из файла, запись в файл, закрытие файла, создание директории, удаление директории и т.п. Операционная система Linux поддерживает широкий спектр файловых систем. Каждая из них обладает своими преимуществами и недостатками, которые определяют их использование в каждом конкретном случае. Способ управления файловыми системами одинаков вне зависимости от ее типа. Для поддержки файловой системы ОС должна содержать программный код для работы с ней. 32 К числу поддерживаемых файловых систем в операционных системах GNU Linux относятся: Ext2 Ext3 Ext4 Xfs Btrfs Zfs Reiserfs Fat32 Ext2 – файловая система впервые представленная в 1992 году, основными особенностями является использование индексных дескрипторов для работы с файлами, включая хранение метаинформации и адресации блоков данных. Блоки объединены в группы блоков для обеспечения близости хранения связанных данных. Ext3 – файловая система, устранившая основной недостаток ext2, – отсутствие возможности восстановления после сбоев. Ext3 дополнена возможностью ведения журналов операций, которые могут быть задействованы при сбое, что значительно повысило надежность хранения данных. Также многие лимиты хранения структур файловой системы были расширены по сравнению с ext2. Ext4 – следующая версия файловой системы ext3. Основные улучшения направлены на повышение производительности работы. Такие как введение экстентов - последовательных записанных блоков данных для эффективного управления большими файлами, в этом случае нет необходимости хранения адресной информации для каждого блока, только начало экстента и его длину в блоках. К другими улучшениям относятся еще большее увеличение лимитов для структур файловой системы, например, максимальный размер файла составляет 16 Тб, снятие ограничения на количество подкаталогов (в ext3 32000). Отложенное распределение блоков позволяет повысить производительность путем последовательной записи большого числа кэшированных данных, уменьшая тем самым фрагментацию данных. XFS – журналируемая файловая система, разработанная специально для ОС IRIX, позднее была опубликована под лицензией GNU GPL, вследствие чего получила распространение в среди Linux дистрибутивов. Изначально XFS проектировалась для использования в дисках большого размера поэтому используется 64 битная адресация. Принципы работы сходны с уже описанной ext4, к основным из которых относится использование индексных дескрипторов, учет пространства экстентами, широкое использование бинарных деревьев для хранения структур файловой системы. В качестве основного недостатка эксперты выделяют слишком активное использование кеширования, что может приводить к 33 потерям большого числа активных, но не законченных операций при сбоях электропитания. Btrfs – файловая система разрабатываемая компанией Oracle. Принцип работы заключается в активном использовании Б-деревьев и механизма копирования при записи. Обладает рядом преимуществ по сравнению с уже рассмотренными файловыми системами. Среди них выделяется поддержка на уровне файловой системы программной реализации RAID, создание моментальных снимков, возможности по клонированию, сжатие данных. Zfs – файловая система первоначально разработанная и используемая в операционной системе Solaris. Является проектом с открытым исходным кодом. К основным особенностям можно отнести совмещенность файловой системы и менеджера томов. Является 128 битной файловой системой, что дает возможность значительно расширить лимиты внутренних структур, таких как: размер файловой системы, количество файлов, размер одного файла, размер атрибута и т.п. При работе используются пулы хранения, которые позволяют объединять несколько физических устройств в один том и уже на его основе создавать файловую систему. Zfs поддерживает свой собственных вариант построения отказоустойчивого хранилища на основе технологии RAIDZ с возможностью горячего резерва и двойной, а в последних версиях тройной, четности. Имеется возможность выделения отдельных физических устройств для выполнения кеширования, что актуально в настоящее время в связи с широким развитием твердотельных накопителей. Широкое распространение в ZFS имеет технология создания моментальных снимков и клонов файловой системы. Благодаря использованию модели транзакций на основе копирования при записи, снимки и клоны создаются практически мгновенно и ими удобно пользоваться для целей резервного копирования и управления файловыми системами. Сквозной контроль целостности данных позволяет определять корректность данных каждый раз при их считывании. Использование механизма дедупликации позволяет на уровне файловой системы определять дублирующиеся данные и хранить только один их экземпляр, сохраняя тем самым дисковое пространство. ReiserFS Была первой журналируемой файловой система, поддержка которой включена в ядро ОС Linux. Основными особенностями является возможность изменения размера файловой системе без необходимости ее размонтирования. Обладает склонностью к фрагментации, при этом существует способы дефрагментации, но они крайне неэффективны. В данный момент считается устаревшей файловой системой даже при условии разработки новой версии, имеющей название Reiser4. В тоже время имеет достаточно высокую производительность операций над файлами малого размера. 34 Fat32 Файловая система, имеющая широкое распространение в среде Windows. Является дальнейшим развитием файловой системы Fat, которую усовершенствовали для увеличения размера тома путем смены разрядности адресации блоков данных (в терминах Fat - кластеров) с 16 до 32. При этом все остальные принципы работы остались неизменными для обратной совместимости. Раздел при форматировании его под файловую систему fat32 разделяется на две области: системную и пространство для хранения данных. Системная область содержит структуры, необходимые для управления размещением данных файлов и каталогов. Также здесь содержится корневой каталог и загрузочный сектор для загрузки ОС. Кластера файла содержатся в пространстве для хранения данных. Информация о занятых файлом кластерах содержится в таблице размещения файлов (File Allocation Table - FAT) благодаря этой структуре файловая система и получила свое название. Каждому кластеру пространства данных соответствует запись в FAT. Для адресации всего набора кластеров файла используется цепочка, в которой в записи соответствующей занятому кластеру содержится адрес следующего кластера файла, в случае свободного кластера содержится нулевое значение. Таблица FAT содержится в двух экземплярах вследствие особого значения для работы файловой системы, ввиду интенсивного использования она также загружается в оперативную память и хранится там максимально долго. Основным недостатком является достаточно медленная работы с файлами из-за выделения первого свободного кластера, что приводит к созданию сложных цепочек кластеров и фрагментации. Также отмечается низкая отказоустойчивость, так как журнала файловая система не ведет. NTFS Современная файловая система, распространенная в среде Windows. Спецификация файловой системы является закрытой, что затруднило создание программного кода для доступа для других ОС. Тем не менее методом обратной разработки специалистами написаны драйвера для доступа из других операционных систем. Пришла на смену файловой системе Fat32. Имеет следующие улучшения: хранение метаданных, журналирование, списки контроля доступа, квотирование. Основной структурой для хранения информации о файлах является MFT (Master File Table). Под хранение этой таблице выделяется целая область для предотвращения ее фрагментирования в процессе работы файловой системы. Каждая запись MFT имеет фиксированный размер и включает в себя информацию в виде имени файла, размера, набора атрибутов, а также положения на диске отдельных фрагментов. Если для хранения информации о файле недостаточно одной записи MFT, то может задействоваться несколько записей, которые могут располагаться непоследовательно. Атрибуты могут быть резидентными, то есть храниться целиков в записи MFT, либо нерезидентными хранящимися за 35 пределами области MFT. Для адресации кластеров возможно использование 64 разрядных идентификаторов, но в текущих версиях используются только 32. Порядок выполнения работы 1. Создать в виртуальной машине неразмеченный диск, который затем использовать для создания различных файловых систем. 2. Создать раздел и на нем файловую систему ext2. 3. Создать раздел и на нем файловую систему ext3. 4. Создать раздел и на нем файловую систему ext4. 5. Создать раздел и на нем файловую систему xfs. 6. Создать раздел и на нем файловую систему btrfs. 7. Создать раздел и на нем файловую систему zfs. 8. Создать раздел и на нем файловую систему reisers. 9. Создать раздел и на нем файловую систему fat32. 10. Создать раздел и на нем файловую систему ntfs 11. Активировать опцию журналирования для файловых систем, которые ее поддерживают. 12. Настроить ОС, чтобы все файловые системы монтировались при старте системы. 13. Создать раздел swap и активировать его в системе. 14. Создать файловую систему типа swap в файле и активировать в системе. 15. Протестировать все разделы для операций чтения маленьких файлов (размер 16Кб), цикл тестирования не менее 100 раз. 16. Протестировать все файловые системы для операций записи больших файлов (500Мб). 17. Протестировать операции записи для маленьких файлов. 18. Протестировать операции записи для больших файлов. 19. Создать структуру каталогов с не менее чем 1000 подкаталогов в каждой файловой системе, замерить время создания. 20. Замерить время поиска по созданной структуре для каждой файловой системы. 21. Представить результаты каждого эксперимента по замеру производительности операции в файловой системе в графическом виде. Требования к оформлению отчета и защите Отчет должен содержать все выполненные команды по заданию и вывод при их исполнении. При защите отчета, исполнитель должен быть готов ответить на вопросы, касающиеся выполненных действий с файловыми системами. 36 Лабораторная работа №8. Менеджер томов в GNU Linux и программный RAID. Цель работы: Получение навыков использования менеджера томов для управления устройствами ввода-вывода и дисковым пространством. Знакомство с программным RAID в среде Linux. Теоретические сведения В операционной системе Linux для эффективного управления хранением данных имеется инструмент под названием LVM (Logical Volume Manager). Данное программное обеспечение позволяет управлять томами, созданными поверх физических устройств ввода-вывода. Такие тома воспринимаются в системе как обычные блочные устройства с возможностью создания файловых систем и т.п. LVM позволяет добавлять гибкость в использование физических устройств ввода-вывода: изменять размер логического тома, зеркалировать тома, создавать моментальные снимки. Моментальные снимки мощный инструмент для выполнения функций резервного копирования на уровне устройств, а не на уровне файловой системы. На нижнем уровне структуры LVM находится физический том pv (Physical volume), который представляет собой либо отдельное физическое устройство хранения, например, накопитель на жестких магнитных дисках, либо устройство аппаратного RAID контроллера. Чуть выше по иерархии находится группа томов vg (Volume Group), которая включает в себя один или несколько физических томов. Таким образом группа томов представляет собой логическую единицу, которая объединяет несколько физических накопителей. При этом в группу томов можно добавить в последствии новые физические тома, тем самым расширяя пространство группы томов. На базе группы томов создаются логические тома lv (Logical Group), являющиеся эквивалентом разделов в системе без использования LVM. На базе логических томов уже непосредственно создаются файловые системы. Для работы с физическими томами применяются утилиты: |