Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
зачёт Сёмкин.docx
Скачиваний:
5
Добавлен:
19.12.2018
Размер:
196.86 Кб
Скачать

18. Репликация данных. Согласование реплик. Варианты внесения изменений в репликационные данные.

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

Проблемы:

- доступность;

- коммутационные задержки;

- согласованность.

Варианты реплицирования:

1) слабая согласованность – изменения, вносимые в одну из реплик, становятся видны всем клиентам;

2) строгая согласованность – изменения становятся видны только после их распространения на всей реплике. На время согласования доступ к реплике закрыт. Обычно вводятся узлы горячего дублирования.

Существует несколько способов согласования реплик:

1) Чтение любой – запись во все (Read-Any –Write All). Недостаток: в момент записи некоторые серверы не работоспособны.

2) Запись в доступные (Available-Copies). Недостаток: возможность появления несогласованных копий

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

Кворум чтения определяется почти так же, а точнее наоборот. Наличие этого кворума гарантирует, что как минимум одна из реплик содержит последнюю версию. Тогда кворум чтения можно обозначить как (строго больше). Это для систем небольшого масштаба.

В крупномасштабных системах реплики организованы иерархически. Есть верхний уровень – серверов (количество не определено, может быть просто один сервер), и реплики этого уровня всегда строго согласованы. Потом идут следующие уровни иерархии, на которые распространяется согласованность верхних уровней, и чем ниже уровень, тем хуже согласованность. Если процессы хотят всегда иметь строгую согласованность, то они должны обращаться к серверам верхнего уровня, но тогда будут временные задержки.

19. Кластерная обработка. Методы кластеризации.

Кластерная (сетевая) архитектура. Кластер – некоторая альтернатива симметричной мультипроцессорной централизованной системы - это множество узлов (компьютеров), выполняющих одну задачу. С точки зрения пользователя, кластер – это некоторый единый ресурс, и обращение к нему тоже происходит как к единому ресурсу. ОС кластера должна поддерживать такую кластерную конфигурацию, thank u Captain Obvious!

Свойства кластеров:

- все компьютеры, сходящие в состав кластера, могут работать самостоятельно, работать отдельно от кластера;

- абсолютная масштабируемость, можно создавать кластер любого размера;. Кстати, по цене кластер может оказаться дешевле мультипроцессорной системы, при равной производительности;

- инкрементальная масштабируемость, можно добавлять узлы;

- высокая доступность. Так как каждый узел представляет собой отдельный компьютер, то его сбой и выход из строя не приводит к отказу в обслуживании – происходит перераспределение нагрузки;

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

Взаимодействие узлов осуществляется при помощи высокоскоростных линий связи. Есть две альтернативы этим высокоскоростным линиям связи:

1) локальная вычислительная сеть, используемая как узлами кластера, так и не входящими в него узлами;

2) специально выделенные для кластера линии связи. Но они тоже не замкнутые системы, некоторые узлы кластера взаимодействуют с объектами вне кластера.

Конфигурация кластеров включает в себя архитектуру технических средств и программного обеспечения.

Архитектура технических средств:

1) отдельные серверы – взаимодействие через высокоскоростные линии связи. обеспечивается высокая доступность за счёт увеличения накладных расходов на технические средства. Может быть снижение производительности из-за увеличенного трафика (обмена сообщениями между серверами);

2) серверы без совместного использования дисков – просто общие диски, которые разбиваются на тома. Каждый том использует один сервер. Если сервер выходит из строя, то его том может быть отдан (перераспределён) другому серверу;

3) серверы с совместным использованием дисков – а тут каждый том может использоваться не только одним сервером.

Обработка отказов кластеров:

- высокодоступные кластеры – высокая вероятность того, что ресурсы будут доступны;

- отказоустойчивые кластеры – гарантия постоянной доступности всех ресурсов. Достигается за счёт избыточных совместно используемых дисков (RAID-массивы) и механизмов восстановления транзакций (как выполненных, так и невыполненных).

Функции программного обеспечения кластеров:

- обеспечение единой точки входа в кластер. Извне кластер виден как некоторая единая система;

- единая иерархия файлов;

- единая точка управления;

- единая система управления кластерами (система сама определяет узел для задачи);

- единый UI (для любых клиентов всё выглядит одинаково);

- единое пространство ввода/вывода (любой узел может получить к любому внешнему устройству, не зная его физического местонахождения);

- миграция процессов (перенос (не копирование) процессов между узлами).

Кластеры существенно превосходят мультипроцессорные системы (SMP) с точки зрения инкрементальной и абсолютной масштабируемости, а также доступности.

Windows Server 2003 поддерживает два типа кластеров:

1) SC – кластер-сервер. Предназначены для приложений, которые называются приложениями с состояниями (которые обрабатывают большие объёмы данных и часто изменяются. Например, SQL-сервер, почтовый сервер, файл-сервер, серверы печати).

Все узлы подключены к общему хранилищу данных через шину SCSI. Кластер-сервер имеет своё имя и IP;

2) NLB – кластеры сбалансированной нагрузки сети (кластеры балансировки). Поддерживают приложения без состояния (которые работают с небольшими наборами данных, которые редко меняются или вообще не меняются. Например, веб-сервер, FTP).

Узлы NLB-кластера не подключены к общему хранилищу. И вообще, они проще.

Масштабирование кластеров:

1) вертикальное – для повышения производительности узлов путём изменения аппаратной конфигурации (оперативки докинули, процессор разогнали). Требует балансировки нагрузки;

2) горизонтальное – добавление сервера. Максимальное число серверов ограничено возможностями ОС.

Предел масштабируемости кластеров - ограничение поддержки ОС.

  1. Распределение приложений между узлами одного и того же кластера.

  2. Создание для каждого приложения отдельного кластера - высокая доступность и надёжность.

 

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