Материал: Сетевое хранилище данных

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сетевое хранилище данных

Академия федеральной службы безопасности Российской Федерации

Институт Криптографии, связи и информатики

Факультет Информационной безопасности

Кафедра "Вычислительные системы специального назначения"









Курсовая работа

Сетевое хранилище данных











Москва 2010

Оглавление

Список сокращений

Введение

Глава 1. Выбор дистрибутива ОС и набора программных средств для работы в составе системы NAS StarNAS

1.1 Обзор форматов физического хранения информации

.1.1 Избыточный массив независимых дисков (RAID)

.1.2 Журналируемая файловая система (JFS)

.1.3 Зеттабайтовая файловая система (ZFS)

.2 Протоколы обмена данными с сетевым хранилищем

1.2.1 File Transfer Protocol (FTP)

.2.2 Trivial File Transfer Protocol (TFTP)

.2.3 Network File System (NFS)

.2.4 Server Message Block (SMB/CIFS)

1.3 Обзор дистрибутивов ОС для функционирования в составе сетевых хранилищ данных

.3.1 Дистрибутив FreeNAS

.3.2 Дистрибутив OpenFiler

.3.3 Дистрибутив OpenMediaVault

Выводы по главе 1

Глава 2. Установка и настройка дистрибутива операционной системы OpenFiler

2.1 Установка дистрибутива и выбор необходимых компонентов

.2 Создание массива дисков уровня RAID 6

.3 Создание раздела файловой системы JFS на дисковом массиве

.4 Настройка необходимых сетевых сервисов и протоколов

.4.1 Настройка протокола SMB

.4.2 Настройка протокола FTP

Выводы по главе 2

Заключение

Литература

Список сокращений

Сокращение

Полное название

SMB

Server Message Block

CIFS

Common Internet File System (Общая межсетевая файловая система)

RAID

Redundant Array of Inexpensive/Independent Disks (Избыточный массив недорогих/независимых дисков)

JFS

Journaled File System (Журналируемая фаqловая система)

ZFS

Zettabyte File System (Зеттабайтовая файловая система)

CDDL

Common Development and Distribution License

FTP

File Transfer Protocol (Протокол передачи файлов)

FXP

File eXchange Protocol (Протокол обмена файлами)

GNU GPL

Универсальная общедоступная лицензия GNU

NTP

Network Time Protocol (Сетевой протокол синхронизации времени)

SSH

Secure SHell (Безопасная консоль)

NBT

NetBIOS over TCP/IP

WINS

Cервер для хранения имен NetBIOS и разрешения их в IP-адреса


Введение

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

Целью курсовой работы является разработка дистрибутива операционной системы на основе имеющихся специализированных дистрибутивов ОС Linux для функционирования в составе сетевого хранилища StarNAS. В сетевом хранилище предполагается использовать файловую систему JFS на избыточном дисковом массиве RAID 6, должен присутствовать Web-интерфейс для настройки хранилища. В рамках курсовой работы было проведено сравнение различных специализированных дистрибутивов на базе ОС Linux, в результате которого будет выбран один из них. Был разработан специализированный дистрибутив на основе выбранного, а также проведена проверка производительности полученной системы. В результате был получен специализированный дистрибутив операционной системы на базе ОС Linux. Созданная операционная система обеспечивает полнофункциональную работу сетевого хранилища данных.

В первой главе пояснительной записки рассмотрены имеющиеся на рынке специализированные дистрибутивы для работы в составе сетевых хранилищ данных. Также рассмотрены протоколы обмена данными и форматы физического хранения данных. Вторая глава пояснительной записки посвящена описанию процесса установки и настройки дистрибутива.

Глава 1. Выбор дистрибутива ОС и набора программных средств для работы в составе системы NAS StarNAS

1.1 Обзор форматов физического хранения информации

RAID (Redundant Array of Inexpensive/Independent Disks) - избыточный массив недорогих/независимых жёстких дисков. Представляет из себя массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации. Реализация контроллера может быть как аппаратная, так и программная.

Аббревиатура RAID изначально расшифровывалась как "Redundant Array of Inexpensive Disks" ("избыточный массив недорогих дисков"), так как они были гораздо дешевле RAM. Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году. Со временем RAID стали расшифровывать как "Redundant Array of Independent Disks" ("избыточный массив независимых дисков"), потому как для массивов приходилось использовать и дорогое оборудование.

Известны следующие спецификации RAID-массивов:

RAID 0 является неотказоустойчивым дисковым массивом;

RAID 1 является зеркальным дисковым массивом;

RAID 2 является массивом, использующим код Хемминга;

RAID 3, 4, 5 являются массивами использующими чётность для защиты данных от одиночных неисправностей.

RAID 6 является массивом использующим чётность для защиты данных от двойных неисправностей;

RAID 10 является отказоустойчивым массивом с дублированием и параллельной обработкой;

RAID 30 является отказоустойчивым массивом с параллельной передачей данных и повышенной производительностью.

Перечислим особенности уровня RAID 5:

. Уровень RAID 5 в отличие от уровней RAID от 2-го до 4-го имеет возможность производить параллельные операции записи, так как для хранения информации о четности используется не отдельный контрольный диск, а блоки данных и контрольные суммы циклически записываются на все диски массива. Иными словами - нет асимметричности конфигурации дисков.

. Уровень RAID 5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объем дискового массива RAID 5 рассчитывается по формуле

(n-1)*hddsize,

где n - число дисков в массиве, а hddsize - размер одного диска.

При записи информации на том RAID 5 тратятся дополнительные ресурсы, так как требуются дополнительные вычисления, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких накопителей массива обрабатываются параллельно.

. При выходе из строя одного из дисков, уровень надежности снижается до надежности RAID 0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя хотя бы на ещё одного диска, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Минимальное количество используемых дисков равно трём.

В сетевом хранилище данных предполагается использовать дисковый массив спецификации RAID 6, так как он обеспечивает работоспособность после одновременного выхода из строя двух дисков (защита от кратного отказа). В остальном массив уровня RAID 6 проявляет себя так же как и RAID 5.

В системе NAS StarNAS, имеется 45 дисковых накопителей. Если диски будут сгруппированы по 15 штук и организованы в RAID массивы, то из каждых 15-ти дисков два диска будут задействованы под обеспечение целостности данных (всего 6 дисков из 45). Это в полной мере обеспечит защиту данных от угрозы потери. Благодаря использованию дискового массивов уровня RAID 6, данные не попадают под угрозу при отказе одного из дисков массива. Целостность данных будет нарушена только в случае поломки 3-х дисков в пределах одного из массивов. Если же требуется обеспечить максимальную защиту данных, возможно объединение в дисковые массивы по 5 дисковых накопителей. Таким образом под контрольные суммы будут задействованы 40% всех дисков - 18 дисков из 45. И потеря данных может произойти только в случае отключения 3-х дисков из одной группы (из пяти дисков).

1.1.2 Журналируемая файловая система (JFS)

JFS (Journaled File System) - это 64-битная журналируемая файловая система созданная компанией IBM, доступная под лицензией GNU GPL. Первоначально JFS была разработана корпорацией IBM для собственной операционной системы AIX (JFS1). JFS второго поколения (JFS2) была разработана IBM для ОС Warp Server for e-Business. Позже она была перенесена в IBM AIX и Linux. Целью разработчиков было обеспечить высокую производительность, надёжность и масштабируемость для многопроцессорных компьютеров. На момент выхода в свет JFS была самой производительной из существовавших файловых систем. На текущий момент сохраняет за собой одно из лидирующих мест по этому показателю. Исходный код JFS был открыт IBM в 1999 и включен в исходный код ядра Linux начиная с 2002 года. Для управления JFS был выпущен набор утилит названных JFSutils.

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

1.1.3 Зеттабайтовая файловая система (ZFS)

ZFS (Zettabyte File System) - файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических дисков (томов) и физических носителей, инновационную структуру данных на дисках, легковесные файловые системы (lightweight filesystems), а также простое управление томами хранения данных. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License).

Основное преимущество ZFS - это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных. Это позволяет динамически выделять или освобождать дисковое пространство на одном или более носителях для логической файловой системы. Кроме того, имеет место переменный размер блока, что лучшим образом влияет на производительность, параллельность выполнения операций чтения-записи, а также 256-разрядный механизм использования контрольных сумм, сводящий к минимуму вероятность разрушения данных.

1.2 Протоколы обмена данными с сетевым хранилищем

.2.1 File Transfer Protocol (FTP)

Протокол FTP, появившийся в 1971 году, предназначен для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами (см. FXP). В отличие от большинства других протоколов, команды и данные передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд. В случае, если передача файла была прервана по каким-либо причинам, протокол предусматривает средства для докачки файла, что бывает очень удобно при передаче больших файлов. Важно знать, что протокол FTP не шифруется, при аутентификации передаёт имя пользователя и пароль открытым текстом. Чтобы предотвратить перехват ключевой пары, необходимо использовать протокол шифрования данных SSL, который поддерживается многими современными FTP-серверами и клиентами.

1.2.2 Trivial File Transfer Protocol (TFTP)

TFTP является простейшим протоколом передачи файлов с функциональностью протокола FTP. Первая версия протокола TFTP появилась в 1980 году. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP. Основное назначение TFTP - обеспечение простоты реализации клиента. В этой связи он используется для загрузки бездисковых рабочих станций, загрузки обновлений и конфигураций в "умные" сетевые устройства, записи статистики с мини-АТС (CDR) и аппаратных маршрутизаторов/фаерволов.

1.2.3 Network File System (NFS)

NFS является протоколом сетевого доступа к файловым системам. Был разработан компанией Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур. Позволяет монтировать удалённые файловые системы через сеть. NFS абстрагирован от типов файловых систем как сервера, так и клиента. Существует множество реализаций NFS-серверов и клиентов для различных операционных систем.предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера. В отличии от FTP протокол NFS осуществляет доступ только к тем частям файла, к которым обратился процесс. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с NFS файлом, без каких либо модификаций самой программы.

1.2.4 Server Message Block (SMB/CIFS)

SMB представляет из себя протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также межпроцессорного взаимодействия. Первая версия протокола была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах. Дополненная версия протокола появилась в 1996 году и стала называться CIFS (Common Internet File System). Названия SMB и CIFS стали практически синонимами. Вторая версия (SMB 2.0) была создана компанией Microsoft и появилась в Windows Vista.

Существует также свободная реализация протокола SMB для UNIX-подобных операционных систем - Samba. Разработчикам Samba пришлось провести обратную разработку протокола, поскольку Microsoft до 2008 года не публиковала документации к протоколу.

Протокол SMB основан на технологии клиент-сервер, который предоставляет клиентским приложениям простой способ для чтения и записи файлов, а также запроса служб у серверных программ. Клиенты соединяются с сервером, используя протоколы TCP/IP (а точнее NetBIOS через TCP/IP), NetBEUI, IPX/SPX. После того, как соединение установлено, клиенты могут посылать команды серверу (команды называются SMBs).

1.3 Обзор дистрибутивов ОС для функционирования в составе сетевых хранилищ данных

.3.1 Дистрибутив FreeNAS

FreeNAS - свободная операционная система для сетевого хранилища данных. Текущая версия 0.7 основана на FreeBSD 7.2. Управление системой и её настройка полностью осуществляются посредством веб-интерфейса. Для установки дистрибутива системы требуется 128 Мб дискового пространства и 256Мб оперативной памяти. Поддерживаются архитектуры i386 и amd64. Система FreeNAS поддерживает следующие сетевые протоколы:

- SMB/CIFS (Samba);