Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb96664

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
1.08 Mб
Скачать

ко путей ввода-вывода [4]–[7]. Согласно информации из аналитического отчета американской компании Gartner в первую тройку производителей интеллектуальных СХД входят компании Dell EMC, Hitachi и Hewlett Packard

Enterprise [8].

Huawei Technologies Co. Ltd. является одним из лидеров по производству СХД и реализует в них фирменную технологию виртуализации дисков – RAID 2.0+ [8], [9]. Технология разработана с целью преодоления недостатков традиционного RAID. Пространство каждого диска в СХД разбивается на блоки данных небольшого размера. Группы RAID создаются на основе блоков таким образом, чтобы данные равномерно распределялись по всем дискам в пуле хранения. Использование блоков данных повышает эффективность управления ресурсами [10]. Некоторые особенности реализации техно-

логии RAID 2.0+ в СХД Huawei OceanStor приведены ниже.

1.СХД поддерживают Solid State Drive (SSD), Serial Atached SCSI (SAS) и Near Line Solid State Drive (NL-SAS) диски, из которых комплекту-

ются дисковые домены. В дисковом домене диски одного типа объединяются

вдисковые группы по определенным правилам.

2.Пространство каждого диска в дисковой группе делится на кусочки фиксированного размера – чанки. СХД в случайном порядке производит отбор чанков с разных дисков и составляет из них чанковые группы на основе определенного RAID-алгоритма.

3.Каждая чанковая группа делится на логические пространства хранения фиксированного размера, которые называются экстентами. Экстенты являются основными блоками, из которых формируются толстые Logical Unit Number (LUN). Экстенты могут делиться на грейны, которые имеют меньший размер. Тонкие LUN формируются из грейнов.

Каждый чанк занимает 64 Мб физического пространства, выделенного из дискового пространства в пуле хранения. Размер экстента колеблется от 512 Кб до 64 Мб, по умолчанию – 4 Мб. Размер грейна – 64 Кб.

Дисковый домен, пул хранения, уровень хранения и LUN – это логические объекты, присутствующие в технологии RAID 2.0+. Дисковый домен представляет собой объединение нескольких дисков (или всех дисков СХД). Пул хранения – это контейнер для хранения ресурсов. Под уровнем хранения понимается набор носителей информации, обеспечивающий одинаковый уровень производительности в пуле хранения. LUN представляет собой блок

11

хранения, который можно напрямую сопоставить с хостом с целью чтения и записи данных [10].

2.2. Задание

Сконфигурировать СХД согласно номеру варианта, представленному в табл. 2.1–2.4. Студентам с номерами вариантов с 1 по 6 выполнить конфигурирование СХД с блочным доступом к данным, студентам с номерами вариантов с 7 по 12 – конфигурирование СХД с файловым доступом к данным. В табл. 2.1 представлена информация для создания дисковых доменов и пулов хранения. Она является общей для всех вариантов.

 

 

 

 

 

 

Таблица 2.1

 

 

 

 

 

 

 

 

 

Дисковый домен

Пул хранения

 

 

 

 

 

 

 

№ варианта

Количество дисков

Политика

 

 

в уровне хранения

 

 

 

горячего

Политика RAID

Емкость, Тб

 

 

 

 

 

SSD

SAS

NL-SAS

резерва

 

 

 

 

 

 

 

 

 

 

 

 

 

1, 7

16

Высокая

RAID 10

1,5

 

 

 

 

 

 

 

2, 8

64

Низкая

RAID 6 (4D+2P)

30

 

 

 

 

 

 

 

3, 9

24

Высокая

RAID 5 (4D+1P)

5

 

 

 

 

 

 

 

4, 10

4

16

Низкая

RAID

0,5+5

50 ((4D+1P)×2)

 

 

 

 

 

 

 

 

 

 

 

 

 

5, 11

8

32

Высокая

RAID 3 (4D+1P)

1+20

 

 

 

 

 

 

 

6, 12

16

48

Низкая

RAID 1 (2D)

3+20

 

 

 

 

 

 

 

При создании дискового домена настройку политики горячего резерва произвести для каждого уровня хранения в соответствии с выбранным типом диска. Если дисковый домен включает в себя несколько уровней хранения, то для них значение в поле «Политика горячего резерва» должно быть одинаковым. В столбце «Политика RAID» в скобках задана типовая конфигурация уровня RAID. Емкость пула хранения в трех ячейках последнего столбца таблицы представлена со знаком плюс. Значение перед знаком применяется для уровня хранения с первым используемым типом диска, значение после знака – для уровня хранения со вторым типом диска.

В табл. 2.2 представлена информация для создания LUN и групп LUN.

12

В последнем столбце таблицы показаны номера групп LUN, в которые входят соответствующие LUN. Например, в варианте 3 необходимо создать две группы LUN, содержащие 2 и 4 LUN соответственно.

 

 

 

 

Таблица 2.2

 

 

 

 

 

 

 

 

LUN

Номер

№ варианта

 

 

Первоначально выделенная

Тип

Емкость, Гб

группы LUN

 

емкость, Гб

 

 

 

 

1

Толстый

200

 

Толстый

700

1

 

 

Тонкий

500

100

 

 

Толстый

300

 

2

Тонкий

300

150

1

 

Тонкий

550

250

 

 

Толстый

100

1

 

Толстый

100

 

 

3

Толстый

200

 

Толстый

200

2

 

 

Тонкий

400

150

 

 

 

Тонкий

350

100

 

 

Толстый

800

1

 

Толстый

200

2

4

Толстый

250

 

 

Тонкий

400

220

3

 

Тонкий

300

150

 

 

 

Толстый

600

1

5

Тонкий

170

50

 

Тонкий

200

110

2

 

 

Тонкий

350

200

 

 

 

Тонкий

220

80

1

6

Тонкий

700

350

2

 

Тонкий

1000

500

3

В табл. 2.3 представлена информация для создания хостов, групп хостов, групп портов и соответствий между группой LUN и группой хостов через группу портов.

 

 

 

 

 

 

Таблица 2.3

 

 

 

 

 

 

 

Количество

Группа хостов

Номера

Группа портов

 

Количество

Количество

 

варианта

хостов

Номер

соответствий

Тип порта

хостов

портов

 

 

 

 

 

 

 

 

 

 

 

 

1

2

1

2

1

2

Fibre

Channel

 

 

 

 

 

 

2

3

1

3

1

3

Ethernet

 

 

1

2

1

3

4

2

2

2

1

Fibre

 

 

Channel

 

 

 

 

 

 

13

Окончание табл. 2.3

 

 

Группа хостов

Номера

Группа портов

 

Количество

 

 

Количе-

 

№ варианта

 

Количество

соответ-

 

хостов

Номер

ство

Тип порта

 

хостов

ствий

 

 

 

портов

 

 

 

 

 

 

 

 

 

1

1

1

4

4

2

1

2

3

Fibre

Channel

 

 

 

 

 

 

 

 

3

2

3

2

Ethernet

5

2

1

1

1

2

1

2

2

Ethernet

 

 

 

 

1

1

1

6

3

2

1

2

1

Fibre

Channel

 

 

 

 

 

 

 

 

3

1

3

2

Ethernet

Втретьем столбце таблицы показаны номера групп хостов, в каждую из которых входит соответствующее число хостов. Группы портов создаются на этапе настройки соответствия. В пятом столбце представлены номера соответствий, в которые входят группы LUN, хостов и портов. Если в ячейке столбца «Количество портов» стоит прочерк, значит группа портов не создается. В остальных случаях создается одна группа портов.

Втабл. 2.4 представлена информация для создания файловых систем

ирасшаренных ресурсов. Тип ресурса может быть Common Internet File System (CIFS), Network File System (NFS) и File Transfer Protocol (FTP).

 

 

 

 

 

 

 

Таблица 2.4

 

 

 

 

 

 

 

 

 

 

Файловая система

 

Расшаренный ресурс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Количе-

Имя

 

 

 

 

 

 

ство

 

 

 

 

 

 

клиента

 

 

варианта

 

 

Размер

 

клиен-

 

Уровень

Номер

Емкость, Гб

Тип

или

 

 

блока, Кб

тов или

 

доступа

 

 

 

 

пользо-

 

 

 

 

 

 

пользо-

 

 

 

 

 

 

 

вателя

 

 

 

 

 

 

 

вателей

 

 

 

 

 

 

 

 

 

 

7

1

100

16

NFS

1

Host

 

Чтение-

100

 

запись

 

 

 

 

 

 

 

8

1

500

32

CIFS

2

User 1

 

Полный

User 2

 

доступ

 

 

 

 

 

 

 

9

1

100

8

FTP

1

User 1

 

Создать

2

300

32

 

каталог

 

 

 

 

 

10

1

250

4

NFS

1

Host

 

Только

 

чтение

 

 

 

 

 

 

 

 

11

1

150

16

CIFS

2

User 3

 

Только

2

400

64

User 4

 

чтение

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

Окончание табл. 2.4

 

 

 

 

 

 

 

 

 

 

 

Файловая система

 

Расшаренный ресурс

 

 

 

 

 

 

Количе-

Имя

 

 

 

 

 

 

 

ство

 

 

 

 

 

 

клиента

 

 

 

 

Размер

 

клиен-

 

Уровень

варианта

Номер

Емкость, Гб

Тип

или

 

блока, Кб

тов или

 

доступа

 

 

 

 

пользо-

 

 

 

 

 

 

пользо-

 

 

 

 

 

 

 

вателя

 

 

 

 

 

 

 

вателей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создать

12

1

300

64

FTP

1

User 3

 

каталог,

 

загрузка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файла

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

2.3.Порядок выполнения работы

2.3.1.Установка и запуск OceanStor DeviceManager

Скачать эмулятор СХД OceanStor DeviceManager по ссылке http://support.huawei.com/enterprise/en/storage/oceanstor-devicemanager-pid-212 21778/software/ для Windows 7 (32/64) и выполнить его установку.

На рабочем столе выбрать Пуск=>Все программы=>DeviceManagerDemo forV=>start demo. Откроется окно запуска службы, которое при успешном старте программы автоматически закроется через некоторое время. Открыть браузер и ввести в адресную строку https://127.0.0.1:8088 или https://localhost:8088/. Если доступ к эмулятору необходимо получить через браузер другого хоста, то в адресной строке необходимо ввести https://Host IP address:8088 [10]. В браузере откроется страница с информацией об ошибке сертификата. Нажать на «Продолжить». Отобразится страница с формой авторизации. Нажать на Log In. Откроется стартовая страница эмулятора. Эмулятор OceanStor DeviceManager демонстрирует работу с СХД среднего раз-

мера HUAWEI OceanStor 5600 V3.

2.3.2. Конфигурирование системы хранения данных

Зайти в пункт Provisioning панели навигации. Настройку необходимо осуществить с использованием диаграммы операций, представленной на рис. 2.2, путем продвижения по ней слева направо.

15

Для создания дискового домена нажать на Create Disk Domain. В поле Name ввести имя дискового домена. В поле Description указать его назначение и свойства. Выбрать диски, входящие в дисковый домен, и уровень хранения в соответствии с типом диска. Указать число дисков и политику горячего резерва для каждого уровня хранения. Дважды нажать на OK.

Рис. 2.2. Диаграмма операций

Для создания пула хранения нажать на Create Storage Pool. Заполнить поля Name и Description. В поле Usage выбрать тип пула хранения – Block Storage Service или File Storage Service. В поле Disk Domain выбрать диско-

вый домен, в который пул будет добавлен. В Storage Medium выбрать уровни хранения, необходимые для пула хранения, и указать их параметры – политику RAID и емкость. Нажать на OK и затем на Close.

Нижний путь в диаграмме операций предназначен для конфигурирования СХД с блочным доступом к данным.

Для создания LUN нажать на Create LUN. Установить параметры LUN: Name, Description, SmartThin, Capacity, Use all the free capacity of the owning storage pool, Quantity, Owning Storage Pool. Нажать на OK и затем на Close.

Для создания хоста нажать на Create Host. Установить параметры хоста: Name, Description, OS, IP Address, Device Location. Нажать на Next. В Available Initiators выбрать Initiator Type в зависимости от потребностей. В Available Initiators выбрать одного или нескольких инициаторов. Нажать на кнопку со стрелкой, направленной вниз, для добавления инициаторов в Selected initiators. Нажать на OK и затем на Close.

Для создания соответствия нажать на Create Mapping View (предварительно создать группу LUN, группу хостов и, при необходимости, группу портов). Заполнить поля Name и Description. Выбрать Host Group и нажать на кнопку с тремя точками. Отобразится диалоговое окно Select Host Group. Из списка выбрать группу хостов, которую необходимо добавить в соответствие. Нажать на OK. Аналогичные действия выполнить для LUN Group

и Port Group. Нажать на OK и затем на Close.

16

2.3.3. Файловое хранение данных

Верхний путь в диаграмме операций предназначен для конфигурирования СХД с файловым хранением данных.

Для создания файловой системы нажать на Create File System. Устано-

вить параметры файловой системы: Name, Description, Thin, Capacity, Use all the free capacity of the owning storage pool, File System Block Size, Quantity, Owning Storage Pool. Нажать на OK и затем на Close.

Для создания логического порта нажать на Port в пункте Provisioning. Выбрать вкладку Logical Port и нажать на Create. Установить параметры ло-

гического порта: Name, IP Address Type, IPv4 Address, Subnet Mask, IPv4 Gateway, Primary Port, IP Address Floating, Failback Mode, Activate Now. Установить значения в полях: IPv4 Address – 192.168.100.11, Subnet Mask – 255.255.255.0, IPv4 Gateway – 192.168.100.1. Нажать на OK и затем на Close.

Для создания CIFS нажать на Share и выбрать CIFS. Установить пара-

метры CIFS: File System, Quota Tree, Share Name, Description, Oplock, Notify, CA. Нажать на Next. В Users/User Groups нажать на Add. В User/User Group выбрать тип пользователя или группы пользователей, а именно пользователя с локальной аутентификацией или группу пользователей с локальной аутентификацией. Нажать на Find, в всплывающем окне Add User (или Add User Group) выбрать пользователя или группу пользователей для добав-

ления. Нажать на OK. В Permission Level выбрать CIFS access permission

для добавленного пользователя или группы пользователей. Нажать на OK и затем на Next. Нажать на Finish.

Создание NFS и FTP предлагается рассмотреть самостоятельно.

2.4. Содержание отчета

Отчет должен содержать: титульный лист; указание цели работы; основные теоретические положения; вариант задания; краткое описание выполнения работы, сопровождаемое рисунками; полученные результаты; выводы.

2.5.Контрольные вопросы

1.Дать определение интеллектуальной СХД.

2.С какой целью создана технология RAID 2.0+?

3.Что представляет собой дисковый домен?

4.Какие размеры имеют чанк, экстент и грейн?

5.Как создать LUN в OceanStor DeviceManager?

17

3.РАЗРАБОТКА РАСПРЕДЕЛЕННОГО ПРИЛОЖЕНИЯ

СИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИИ УДАЛЕННОГО ВЫЗОВА

МЕТОДОВ

Цель работы: изучение теоретического материала о Remote Method Invocation (RMI) и архитектуре распределенного приложения RMI, формирование практических навыков разработки распределенного приложения RMI на языке программирования Java.

3.1.Общие сведения

Враспределенных средах часто необходимо осуществить вызов методов объектов с учетом условия, что данные объекты находятся на удаленных компьютерах. Изложенный принцип лежит в основе RMI, который обеспечивает платформо-независимый вызов методов [11], [12].

Приложение RMI, как правило, включает в себя две отдельные программы – сервер и клиент. Сервер создает несколько удаленных объектов, делает удаленные ссылки на них доступными и ожидает клиентов для того, чтобы

вызвать методы данных объектов. Клиент получает удаленную ссылку на один или несколько удаленных объектов на сервере, вызывает методы и затем использует полученные результаты. RMI обеспечивает работу механизма, с помощью которого сервер и клиент поддерживают связь и обмениваются информацией друг с другом. Такое приложение иногда называют распределенным объектным приложением [11]–[13].

Распределенное приложение RMI содержит интерфейсы и классы. Методы объявляются в интерфейсах, а реализуются в классах [13], [14].

Архитектура распределенного приложения RMI представлена на рис.3.1. Метод удаленного объекта не вызывается напрямую из объекта клиента. Для взаимодействия с интерфейсом сервера – скелетоном, – имеющим доступ к реализации метода удаленного объекта, клиент использует заглушку – локального представителя удаленного объекта. Обмен данными фактически выполняется через уровень удаленной ссылки (и транспортный уровень), который сериализует параметры во время вызова и десериализует полученные результаты при возвращении методом значения или объекта

[11].RMI включает в себя несколько этапов [11], [14]:

1.Создание удаленного объекта на сервере. Для того чтобы объект являлся удаленным, необходимо выполнить его экспорт. Процесс экспорта

подразумевает создание заглушки – удаленной ссылки на удаленный объект, –

18

с информацией о местоположении объекта и методах, вызов которых возможен удаленно. Сам процесс происходит внутри сервера.

2.Сервер регистрирует заглушку c уникальным именем в реестре RMI. Сервер и реестр должны быть запущены на одной машине по соображениям безопасности.

3.Клиент отправляет запрос на поиск заглушки удаленного объекта

вреестре RMI по уникальному имени. Реестр предоставляет заглушку клиенту.

4.Клиент вызывает метод удаленного объекта, используя заглушку. Заглушка является локальным представителем удаленного объекта и у клиента создается впечатление, что он вызывает метод объекта напрямую.

5.Заглушка связывается со скелетоном и пересылает ему вызов и все необходимые параметры. До пересылки выполняется сериализация параметров – маршаллинг.

6.Скелетон выполняет десериализацию параметров – демаршаллинг – и вызывает метод объекта.

7.Возвращаемое значение передается скелетону, который сериализует его и отправляет заглушке.

8.Заглушка выполняет десериализацию возвращаемого значения и отправляет его клиенту.

 

Клиент

 

 

 

Сервер

 

Вызов

 

 

 

 

 

 

 

 

Реестр RMI

 

 

метода

 

 

 

 

 

 

 

 

 

 

 

 

Реализация

 

 

 

 

 

 

 

 

 

 

 

метода

 

Заглушка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Скелетон

 

Уровень уда-

 

 

 

 

 

 

 

 

 

 

 

 

ленной ссылки

 

Уровень уда-

 

 

 

Сеть

Транспортный

ленной ссылки

 

 

уровень

 

Транспортный

 

 

 

 

 

 

уровень

Рис. 3.1. Архитектура распределенного приложения RMI

Скелетон существовал только в первых версиях Java и был полностью удален в J2SE 1.2. Взаимодействие происходит напрямую через уровень удаленной ссылки. Тем не менее базовые принципы работы RMI остаются прежними [13].

19

Уровень удаленной ссылки скрывает описание протокола связи между заглушкой и скелетоном. Данный уровень использует транспортную службу

[например, Transmission Control Protocol (TCP)], которая предоставляется транспортным уровнем для осуществления передачи данных [13].

3.2. Задание

Разработать распределенное приложение с использованием технологии RMI согласно номеру варианта, представленному в таблице.

Операции с числами

 

Операция

 

 

 

 

 

Арифметическая или

Операция

Булевская

варианта

со строками

побитовая операция

сравнения

операция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конкатенация

1

Сложение

 

Равно

 

Отрицание

 

 

двух слов

 

 

 

 

 

 

2

Вычитание

Не равно

И

Количество

символов в строке

 

 

 

 

 

 

3

Деление

Больше

ИЛИ

Последний символ

в строке

 

 

 

 

 

 

4

Деление с проверкой

Больше или

Исключающее

Извлечение под-

на деление на 0

 

равно

ИЛИ

строки из строки

 

 

 

 

 

 

 

 

 

5

Умножение

Меньше

Отрицание

Поиск символа

в строке

 

 

 

 

 

 

6

Остаток от деления

Меньше или

И

Разбиение строк

 

равно

 

 

 

 

 

 

 

 

 

 

 

Посимвольное

7

Побитовое И

 

Равно

 

ИЛИ

 

 

сравнение строк

 

 

 

 

 

 

8

Побитовое ИЛИ

Не равно

Исключающее

Конкатенация

ИЛИ

трех слов

 

 

 

 

 

9

Побитовое

Больше

Отрицание

Количество

исключающее ИЛИ

символов в строке

 

 

 

 

 

10

Сдвиг влево

Больше или

И

Последний символ

с учетом знака

 

равно

в строке

 

 

 

11

Сдвиг вправо

Меньше

ИЛИ

Извлечение под-

с учетом знака

строки из строки

 

 

 

 

 

12

Сдвиг вправо

Меньше или

Исключающее

Поиск символа

без учета знака

 

равно

ИЛИ

в строке

 

 

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

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]