Список работ

УДК 004.054

Бартеньев О. В., Клюев С. В.

Особенности тестирования наборов данных в операционной системе z/OS

Содержание

Аннотация

Даются понятия “набора данных” операционной системы (ОС) z/OS и “файла” для UNIX-подобных ОС. Рассматриваются структура и особенности внутренней организации одного из библиотечных наборов данных ОС z/OS - PDSE (Partitioned Data Set Extended). Определяются наиболее важные задачи тестирования PDSE набора данных. Описываются существующие средства, применяемые для верификации наборов данных, такие, как команды и встроенные утилиты ОС z/OS. Производится их анализ и указываются проблемы, препятствующие процессу автоматизации тестирования. Описываются реализованные тестовые сценарии и их функциональное назначение, а также анализируются текущие подходы к решению поставленных задач и обсуждается идея создания средств автоматизации тестирования.

Ключевые слова: операционные системы, наборы данных, тестирование, автоматизация, верификация.

Введение

ОС z/OS, разработанная компанией IBM, предназначается для поддержки архитектуры z/Architecture, которая используется в мейнфреймах на платформе zSeries. Ввиду того, что эволюция данной ОС берёт свои истоки от платформы S/360, выпущенной IBM в 60-х годах прошлого века, структура ОС и заложенные в ней принципы отличаются от распространённых в настоящее время UNIX-подобных ОС, что ставит задачи по разработке средств автоматизации тестирования, учитывающих особенности данной ОС.
В UNIX-подобных ОС организация данных (их формат) осуществляется приложением. Для таких ОС минимальной единицей информации, является бит, в то время как в z/OS формат данных определяется ОС уже при создании, а минимальной единицей информации, оперируемой ОС, является запись, представляющая собой набор связанных данных, к которым в дальнейшем приложение получает доступ. Ввиду указанных особенностей файлы в z/OS именуются наборами данных, а их внутренняя структура - организацией набора данных.

Организация PDSE-наборов данных

Современные мейнфреймы в процессе размещения данных используют дисковые приводы IBM 3380 и 3390. В настоящее время структура данных приводов эмулируется из дисковых массивов RAID уровня 5 при помощи устройств IBM 2150 Enterprise StorageServer® (рис. 1). Более подробно процесс эмуляции описан в [1].

Дисковые массивы RAID уровня 5

Рис. 1. Эмуляция устройств 3390

Таким образом, z/OS при размещении наборов данных взаимодействует с томами типа 3390/3380, структура которых представлена на рис. 2.

Том типа 3390/3380

Рис. 2. Структура тома набора данных

В каждом цилиндре содержится 15 треков. Размер каждого трека составляет 47 476 Байт для тома 3380 и 56 664 для 3390 [2]. Размещение наборов данных во внешней памяти происходит в соответствии со структурой томов.
В ОС z/OS выделяют следующие типы организации наборов данных:

Одним из библиотечных наборов является набор данных PDSE, широко используемый при обработке данных в z/OS и имеющий сложную организацию, которая требует дополнительных затрат в процессе тестирования.
При создании PDSE-набора данных область внешней памяти разбивается на равные блоки по 4 КБ, именуемые страницами, в которых содержатся блоки оглавления и разделов (данных). Для вновь созданного PDSE-набора его физическая структура в памяти представлена на рис. 3 [3].

Треки PDSE-набора

Рис. 3. Физическая структура вновь созданного PDSE-набора

PDSE-наборы могут динамически расширяться при добавлении и удалении разделов с данными. В них поддерживается механизм повторного использования пространства после удаления или перемещения разделов. Структура PDSE-наборов с данными показана на рис. 4 [3].

Треки PDSE-наборов с данными

Рис. 4. Структура PDSE-наборов с данными

Для обеспечения динамического расширения оглавление набора данных, а также изменения параметров разделов блоки оглавления распределяются разрывным образом вместе с блоками данных.
Оглавление имеет индексную организацию, состоящую из Attribute directory (AD) и Name directory (ND) страниц, которые обеспечивают взаимосвязь со страницами разделов.
AD-страницы имеют иерархическую структуру, реализованную по принципу В-дерева, и содержат информацию об атрибутах разделов (время создания, время последнего изменения, информацию о размере и т. д.), а также о самом наборе данных.
Разделы PDSE отслеживаются посредством идентификатора FSN (files sequence number). Указатель на страницу, содержащую данные раздела, хранится в FPM-карте фрагментов (fragment parcel map).
ND-страницы так же организованы по принципу В-дерева и связывают индивидуальные имена разделов с их FSN-идентификаторами.
Внутренняя структура элементов оглавления представлена на рис. 5 [3].

FSN-идентификаторы и FPM-карты фрагментов

Рис. 5. Внутренняя структура элементов оглавления

Наиболее часто используемые страницы оглавления кэшируются в виртуальную память для ускорения доступа к данным.

Задачи тестирования наборов данных

Важными задачами тестирования являются проверка целостности и доступности данных. Можно выделить следующие ключевые моменты задач тестирования:

  1. Проверка целостности структуры набора данных; данная задача в основном возложена на внутренние утилиты ОС z/OS.
  2. Тестирование поведения набора данных в условиях совместной обработки его несколькими системами, объединёнными в кластер.
  3. Оценка производительности, связанная с проверкой скорости выполнения таких операций, как добавление, удаление и поиск раздела в наборе данных.
  4. Проверка совместимости версий; данная проверка напрямую связана с регрессионным тестированием, которое необходимо ввиду постоянной модификации и обновления элементов ОС, поддерживающих структуру и принципы работы наборов данных.
  5. Тестирование работы в «нештатных» условиях, например, эмуляция нехватки памяти, пространства для создания набора данных, задание некорректных параметров и пр.

В случае необходимости обработки большого объёма задач, таких, как бизнес-транзакции и запросы к базам данных, несколько систем z/OS объединяют в кластер, что позволяет увеличить производительность и осуществлять параллельный доступ для чтения и записи к общим данным. Организация кластера осуществляется с помощью определённых программных и аппаратных ресурсов, для архитектуры zSeries кластер организуется по технологии Parallel Sysplex [4]. В такой ситуации набор данных PDSE позволяет производить доступ к разным разделам данных совместно с несколькими системами.
Одним из ключевых моментов в приведенном случае является проверка соответствия индексных структур AD- и ND-страниц, расположенных в виртуальной и во внешней памяти (рис. 6).

Проверка соответствия индексных структур AD- и ND-страниц

Рис. 6. Индексные структуры в виртуальной и внешней памяти

В таких условиях немаловажной является проверка «состязательных» ситуаций с целью подтверждения корректности работы алгоритма по предоставлению доступа к данным.
Описанные выше задачи предполагают формирование разнородных конфигураций ОС. На данный момент применяется технология виртуальных машин.
На рис. 7 приведена употребляемая в настоящее время структура среды тестирования, использующая ОС z/VM [5] в качестве средства виртуализации.

Использование ОС z/VM в качестве средства виртуализации

Рис. 7. Структура среды тестирования

Основные задачи по запуску тестов выполняются программой планировщиком, которая реализует алгоритм распределения и загрузки виртуальных машин. Библиотека тестов содержит экземпляры тестов, созданные в процессе эволюции системы в течение более двадцати лет [6].
Неуклонный рост числа регрессионных тестов, связанный с постоянной эволюцией ОС и ограниченностью ресурсов виртуальной среды, приводит к необходимости решения проблем с отбором подмножества тестов для выборочного тестирования отдельных функций и компонент ОС, запуском этих подмножеств и автоматизированным анализом результатов тестирования.

Команды и утилиты ОС z/OS для PDSE

ОС z/OS предоставляет ряд утилит и сервисов, используемых при тестировании PDSE наборов данных:

Описанные выше средства предоставляют широкие возможности по определению проблемы, но в большинстве случаев требуют ручного ввода и анализа полученных отчётов для последующей диагностики неисправности, что в случае исполнения группы автоматизированных тестов весьма трудоемко.

Существующие тесты PDSE и порядок их употребления

Разработка тестов ведется с использование HLASM-ассемблера высокого уровня (High-level Assembler) [8], интерпретируемого языка программирования REXX (REstructured eXtended eXecutor), язык управления заданиями JCL (Job Control Language) [9], а также другие проприетарные средства.
Проверка работоспособности PDSE предполагает проведение следующих тестов:

В виртуальной среде точное определение характеристик производительности PDSE наборов данных, таких, как загруженность центрального процессора и интенсивность операций ввода-вывода не даёт ввиду ограниченности ресурсов однозначных результатов. Тем не менее, критериями проверки служат показатели подсистем System Management Facility и Resource Measurement Facility.
Большинство приведенных сценариев реализовано; они применяются в соответствии с регламентом тестирования организации.
В то же время, в процессе эксплуатации ОС обнаруживаются ошибки, в том числе и в PDSE, к примеру [12], что говорит о неполном решении задачи тестирования. Кроме того, актуальным является решение задач автоматизации тестирования (см., например, [13], где рассматривается процесс разработки фреймворка, служащего для автоматизации регрессионного тестирования для z/OS).

Заключение

Рассмотрены особенности структуры библиотечного PDSE-набора данных z/OS. Сформулированы основные задачи тестирования и проведён анализ текущих решений, а также внутренних средств z/OS, используемых для решения задач тестирования. Подчеркнуты необходимость разработки дополнительных тестов, проверяющих корректность работы тех частей системы, которые были подвержены изменениям, а также определение тестов в регрессионной базе, подлежащих модификации в связи с изменением тестируемых параметров, и создание новых тестов, увеличивающих тестовое покрытие на основе анализа существующих тестов. Также указано на актуальность разработки средств автоматизации тестирования, которые позволят обеспечить снижение трудоёмкости и повысят эффективность тестирования за счет подбора надлежащих тестов и автоматического анализа их результатов.

Литература

  1. IBM, IBM Enterprise Storage Server, SG24-5465-01. С. 70.
  2. 3390 disk information, URL: http://www.lascon.co.uk/hwd-3390-disks.php. (дата обращения: 05.02.14).
  3. IBM, Partitioned Data Set Extended Usage Guide, SG24-6106-01.
  4. IBM, z/OS Parallel Sysplex Configuration Overview, SG24-6485-00.
  5. IBM, z/VM V6.3 General Information, GC24-6193-05.
  6. S. Loveland, G. Miller, R. Prewitt, M. Shannon. IBM Systems Journ., 2002, vol:41, no 1.
  7. RMF, URL: http://www-03.ibm.com/systems/z/os/zos/features/rmf/.(дата обращения: 05.02.14).
  8. IBM, High Level Assembler for z/OS & z/VM & z/VSE. General Information, GC26-4943-06.
  9. IBM, z/OS MVS JCL Reference, SA22-7597-12.
  10. IBM, DFSMS Macro Instructions for Data Sets. SC26-7408-00.
  11. IBM, DFSMSdss Storage Administration Reference, SC26-4929-04.
  12. APAR information, URL: http://www-01.ibm.com/support/docview.wss?uid=isg1OA40404. (дата обращения: 05.02.14)
  13. Иконников В.В., Лебедев А. А., Естественные и технические науки, № 1-2011.

Список работ

Рейтинг@Mail.ru