Где можно сделать кластер на компьютере

Обновлено: 07.07.2024

В этом разделе описывается, как создать отказоустойчивый кластер с помощью оснастки диспетчера отказоустойчивости кластеров или Windows PowerShell. В нем рассматривается типичное развертывание, при котором объекты-компьютеры для кластера и связанные с ним кластерные роли создаются в доменных службах Active Directory (AD DS). если вы развертываете дисковые пространства прямой кластер, см. раздел развертывание дисковые пространства direct. Сведения об использовании отказоустойчивого кластера в Azure Stack ХЦИ см. в статье создание Azure Stack хЦи.

Также можно развернуть кластер, отсоединенный Active Directory. Этот метод развертывания позволяет создать отказоустойчивый кластер без разрешений на создание объектов-компьютеров в AD DS или необходимости запрашивать эти объекты-компьютеры в AD DS. Он возможен только посредством Windows PowerShell и рекомендуется только в определенных сценариях. Дополнительные сведения см. в разделе о развертывании отсоединенного от Active Directory кластера.

Контрольный список: Создание отказоустойчивого кластера

Состояние Задача Справочник
Проверка предварительных требований Проверьте предварительные требования.
Установка средства отказоустойчивости кластеров на всех серверах, которые необходимо добавить как узлы кластера Установка средства отказоустойчивости кластеров
Запуск мастера проверки кластеров для проверки конфигурации Проверка конфигурации
Запуск мастера создания кластера для создания отказоустойчивого кластера Создание отказоустойчивого кластера.
Создание кластерных ролей для размещения рабочих нагрузок кластера Создание кластерных ролей

Проверка предварительных требований

Перед началом работы проверьте выполнение следующих необходимых условий.

  • Убедитесь в том, что все серверы, которые нужно добавить в качестве узлов кластера, работают под управлением одной и той же версии Windows Server.
  • Изучите требования к оборудованию, чтобы убедиться в том, что ваша конфигурация поддерживается. Подробнее см. в разделе Требования к оборудованию для отказоустойчивой кластеризации и варианты хранилища. если вы создаете прямой кластер дисковые пространства, см. раздел дисковые пространства direct, требования к оборудованию.
  • Чтобы добавить кластерное хранилище во время создания кластера, убедитесь, что все серверы имеют доступ к хранилищу. (Кластерное хранилище можно добавить и после создания кластера.)
  • Убедитесь в том, что все серверы, которые нужно добавить в качестве узлов кластера, присоединены к одному и тому же домену Active Directory.
  • (Необязательно.) Создайте подразделение и переместите в него учетные записи компьютеров для серверов, которые нужно добавить в качестве узлов кластера. Мы рекомендуем размещать отказоустойчивые кластеры в собственном подразделении в AD DS. Это позволит лучше контролировать параметры групповой политики и шаблона безопасности, применяемые к узлам кластера. Изоляция кластеров в собственном подразделении также помогает предотвратить случайное удаление объектов-компьютеров кластера.

Кроме того, проверьте выполнение указанных ниже требований к учетным записям.

  • Убедитесь в том, что учетная запись, которую вы хотите использовать для создания кластера, принадлежит пользователю домена с правами администратора на всех серверах, которые нужно добавить в качестве узлов кластера.
  • Убедитесь, что выполняется одно из следующих условий:
    • У пользователя, создающего кластер, есть разрешение на создание объектов-компьютеров для подразделения или контейнера, в котором размещаются серверы, которые войдут в кластер.
    • Если у пользователя нет разрешения на создание объектов-компьютеров, попросите администратора домена предварительно подготовить объект-компьютер кластера. Подробнее см. в разделе Подготовка кластерных объектов-компьютеров в доменных службах Active Directory.

    это требование не применяется, если требуется создать Active Directory отсоединенный кластер в Windows Server 2012 R2. Дополнительные сведения см. в разделе о развертывании отсоединенного от Active Directory кластера.

    Установка средства отказоустойчивости кластеров

    Средство отказоустойчивости кластеров необходимо установить на всех серверах, которые будут добавлены как узлы отказоустойчивого кластера.

    Установка средства отказоустойчивости кластеров

    Запустите диспетчер серверов.

    В меню Управление выберите команду Добавить роли и компоненты.

    На странице перед началом выполнения нажмите кнопку Далее.

    На странице Выбор типа установки выберите Установка на основе ролей или компонентов, а затем нажмите кнопку Далее.

    На странице Выбор целевого сервера выберите сервер, на котором требуется установить компонент, и нажмите кнопку Далее.

    На странице Выбор ролей сервера щелкните Далее.

    На странице Выбор компонентов установите флажок Отказоустойчивая кластеризация.

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

    На странице Подтверждение выбранных вариантов установки нажмите кнопку установить.
    После установки средства отказоустойчивости кластеров не нужно перезапускать сервер.

    После завершения установки нажмите кнопку Закрыть.

    Повторите эту процедуру на каждом сервере, который необходимо добавить как узел отказоустойчивого кластера.

    После установки средства отказоустойчивости кластеров рекомендуется применить последние обновления из Центра обновления Windows. кроме того, для отказоустойчивого кластера на основе Windows Server 2012 ознакомьтесь с рекомендуемыми исправлениями и обновлениями для отказоустойчивых кластеров на основе Windows Server 2012 служба поддержки Майкрософт статье и установите все применимые обновления.

    Проверка конфигурации

    Перед созданием отказоустойчивого кластера настоятельно рекомендуется проверить конфигурацию, чтобы убедиться в том, что оборудование и его настройки совместимы с отказоустойчивой кластеризацией. Корпорация Майкрософт поддерживает кластерное решение, только если конфигурация прошла все проверочные тесты и все оборудование сертифицировано для версии Windows Server, под управлением которой работают узлы кластера.

    Для выполнения всех тестов необходимы по крайней мере два узла. Если имеется только один узел, выполнение многих важных тестов хранилища невозможно.

    Выполнение тестов проверки кластера

    На компьютере, на котором установлены средства управления отказоустойчивыми кластерами из средств удаленного администрирования сервера, или на сервере, на котором установлено средство отказоустойчивости кластеров, запустите диспетчер отказоустойчивости кластеров. Чтобы сделать это на сервере, запустите диспетчер сервера, а затем в меню Сервис выберите Диспетчер отказоустойчивости кластеров.

    В области Диспетчер отказоустойчивости кластеров в разделе Управление выберите проверить конфигурацию.

    На странице Перед началом работы нажмите кнопку Далее.

    На странице Параметры тестирования выберите выполнить все тесты (рекомендуется), а затем нажмите кнопку Далее.

    На странице Подтверждение нажмите кнопку Далее.

    На странице "Проверка" показано состояние выполняющихся тестов.

    На странице Сводка выполните одно из указанных ниже действий.

    Если результаты показывают, что тесты успешно завершены и конфигурация подходит для кластеризации, и вы хотите создать кластер немедленно, убедитесь, что установлен флажок создать кластер, использующий проверенные узлы , и нажмите кнопку Готово. Затем перейдите к шагу 4 процедуры Создание отказоустойчивого кластера.

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

    Подробнее о проверочных тестах оборудования см. в разделе Проверка оборудования для отказоустойчивого кластера.

    Создание отказоустойчивого кластера.

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

    Запустите диспетчер серверов.

    В меню Сервис выберите Диспетчер отказоустойчивости кластеров.

    В области Диспетчер отказоустойчивости кластеров в разделе Управление выберите создать кластер.

    Откроется мастер создания кластеров.

    На странице Перед началом работы нажмите кнопку Далее.

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

    Если ранее вы пропустили проверку, появится страница Предупреждение проверки. Настоятельно рекомендуется выполнить проверку кластера. Корпорация Майкрософт поддерживает только те кластеры, которые прошли все проверочные тесты. Чтобы выполнить проверочные тесты, выберите Да, а затем нажмите кнопку Далее. Завершите работу мастера проверки конфигурации, как описано в разделе Проверка конфигурации.

    На странице Точка доступа для администрирования кластера выполните указанные ниже действия.

    В поле Имя кластера введите имя, которое необходимо использовать для администрирования кластера. Перед этим изучите приведенную ниже информацию.

    • В процессе создания кластера это имя регистрируется в качестве объекта-компьютера кластера (также известного как объект имени кластера или CNO) в доменных службах Active Directory. Если для кластера указано имя NetBIOS, объект CNO создается в том же расположении, в котором находятся объекты-компьютеры узлов кластера. Это может быть контейнер "Компьютеры" (по умолчанию) или подразделение.
    • Чтобы указать другое расположение для CNO, можно ввести различающееся имя подразделения в поле Имя кластера. Например: CN=ClusterName, OU=Clusters, DC=Contoso, DC=com.
    • Если администратор домена предварительно подготовил CNO в подразделении, отличном от того, в котором размещаются узлы кластера, укажите различающееся имя, предоставленное администратором домена.

    Если на сервере нет сетевого адаптера, настроенного на использование DHCP, для отказоустойчивого кластера необходимо настроить один или несколько статических IP-адресов. Установите флажок напротив каждой сети, которую необходимо использовать для управления кластером. Выберите поле адреса рядом с выбранной сетью, а затем введите IP-адрес, который нужно назначить кластеру. Этот IP-адрес (или адреса) будет связан с именем кластера в службе доменных имен (DNS).

    если вы используете Windows Server 2019, у вас есть возможность использовать имя распределенной сети для кластера. Имя распределенной сети использует IP-адреса рядовых серверов вместо использования выделенного IP-адреса для кластера. по умолчанию Windows использует имя распределенной сети, если обнаруживает, что вы создаете кластер в Azure (поэтому вам не нужно создавать внутренний балансировщик нагрузки для кластера) или обычный статический или IP-адрес, если вы работаете в локальной среде. Дополнительные сведения см. в разделе имя распределенной сети.

    1. По завершении нажмите кнопку Далее.

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

    • Хранилище следует настроить позднее.
    • Вы планируете создать кластерные дисковые пространства с помощью диспетчера отказоустойчивости кластеров или командлетов отказоустойчивой кластеризации Windows PowerShell, но еще не создали дисковые пространства в файловых службах и службах хранилища. Подробнее см. в разделе Развертывание кластерных дисковых пространств.

    Чтобы убедиться в том, что кластер создан, проверьте, указано ли его имя в разделе Диспетчер отказоустойчивости кластеров в дереве навигации. можно развернуть имя кластера, а затем выбрать элементы в разделе узлы, служба хранилища или сети , чтобы просмотреть связанные ресурсы.

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

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

    Создание кластерных ролей

    После создания отказоустойчивого кластера можно создать кластерные роли для размещения кластерных рабочих нагрузок.

    Для кластерных ролей, требующих точки доступа клиента, в доменных службах Active Directory создается виртуальный объект-компьютер (VCO). По умолчанию все объекты VCO для кластера создаются в том же контейнере или подразделении, что и объект CNO. Имейте в виду, что после создания кластера объект CNO можно переместить в любое подразделение.

    Вот как можно создать кластерную роль:

    Чтобы на каждом узле отказоустойчивого кластера установить роль или компонент, необходимый для кластерной роли, используйте диспетчер сервера или Windows PowerShell. Например, чтобы создать кластерный файловый сервер, установите роль файлового сервера на всех узлах кластера.

    В таблице ниже приведены кластерные роли, которые можно настроить в мастере высокой доступности, и соответствующие роли или компоненты сервера, которые необходимо установить.

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

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

    Чтобы проверить, создана ли кластерная роль, на панели Роли убедитесь в том, что роль имеет состояние Выполняется. На панели "Роли" также указан узел владельца. Чтобы протестировать отработку отказа, щелкните правой кнопкой мыши роль, выберите пункт переместить, а затем выберите пункт выбрать узел. В диалоговом окне Перемещение кластерной роли выберите нужный узел кластера и нажмите кнопку ОК. В столбце Узел владельца убедитесь в том, что узел владельца изменился.

    Создание отказоустойчивого кластера с помощью Windows PowerShell

    следующие командлеты Windows PowerShell выполняют те же функции, что и предыдущие процедуры в этом разделе. Введите каждый командлет в отдельной строке, даже если кажется, что из-за ограничения возможностей форматирования они переносятся по словам на другую строку.

    для создания Active Directory отсоединенного кластера в Windows Server 2012 R2 необходимо использовать Windows PowerShell. Информацию о синтаксисе см. в разделе Развертывание отсоединенного от Active Directory кластера.

    В приведенном ниже примере устанавливается средство отказоустойчивости кластеров.

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

    Командлет Test-Cluster выводит результаты в файл журнала в текущем рабочем каталоге. Например: C:\Users <username> \AppData\Local\Temp.

    В приведенном ниже примере создается отказоустойчивый кластер с именем MyCluster и узлами Server1 и Server2; ему присваивается статический IP-адрес 192.168.1.12, и в него добавляются все подходящие дисковые пространства.

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

    После создания отказоустойчивого кластера с отключенным AD создайте резервную копию сертификата с возможностью экспорта закрытого ключа. Откройте MMC = =>файл = =>добавить оснастку "Удалить" в = =>Certificates =>=>локальный компьютер = =>службы кластеров = =>Certificates = =>Клуссвк\персонал = =>выбор сертификата — щелкните правой кнопкой мыши = =>Export = =>далее = =>Да экспорт закрытого ключа = =>формат PfX = =>выбрать пароль или добавить группу = =>следующий = =>выберите путь, по которому нужно сохранить сертификат = =>далее = =>готово.

    image

    Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути это bruteforce перебор. Тоже самое происходит при подборе параметров ML моделей с помощью GridSearch .

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

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

    Для построения "домашнего кластера" прекрасно подойдет библиотека Dask (https://dask.org/). Она проста в установке и не требовательна к узлам, что серьезно понижает "уровень входа" в кластерные вычисления.

    Для настройки своего кластера нужно на всех компьютерах:

    • установить интерпретатор python
    • установить пакеты dask и прикладные пакеты вашего распределенного приложения
    • сконфигурировать запуск планировщика (scheduler) на одном из компьютеров и работников (worker) на всех доступных

    Версии python

    Поскольку Dask в своих операциях зависит от pickle, на клиенте, шедулере и рабочих узлах необходимо держать версии одинаковые или очень близкие версии python.
    Версии 3.6 и 3.7 вместе работают, хотя и выдается предупреждение о различии версий. Узлы с 3.8 вместе с предыдущими работать не будут из-за новой версии pickle.

    Если все ставится "с нуля", то, очевидно, лучше ставить везде одну версию.

    Пакеты Dask

    Dask и необходимые зависимости устанавливается как стандартные пакеты с помощью pip или conda

    В документации под dask, последний пакет bokeh упоминается как опциональный, но не говориться, что без него "по-тихому" не будет работать прекрасная функция dask dashboard.
    Без нее проводить мониторинг кластера и наблюдать как задачки разбегаются по узлам будет невозможно. А это очень поможет при оптимизации приложения для работы в распределенной среде.

    Для сборки необходим gcc, потому:

    • на MacOS должен быть установлен xcode
    • если собираете docker image для запуска docker-worker, то начать с "тонкого" имиджа, типа python:3.6-slim-buster может не получиться. Прийдется либо доставлять необходимые пакеты, либо взять полноразмерный исходный имидж python:3.6 .

    Запуск dask кластера

    Процесс-планировщик создается один на кластер. Запускать его можно на любой машине. Единственная очевидная рекомендация — машина должна быть максимально доступна.

    Процессы-работники запускаются на всех компьютерах, ресусами которых вы планируете пользоваться.

    • nprocs / nthreads — количество процессов, которые будут запущены, и количество потоков в каждом из них. Поскольку GIL присутствует и на стороне процессов-работников, запускать обработку на многих потоках имеет смысл только если распределенный процесс реализован на чем-то низкоуровневом, как numpy. В противном случае нужно масштабироваться за счет количества процессов.
    • memory-limit — объем памяти, доступный каждому процессу. Ограничивать доступную память процесам нужно очень аккуратно — при достижении предела по памяти процесс-работник перестартовывает, что может вызвать остановку процесса обработки. Я сначала ставил ограничение, но потом убрал.
    • death-timeout — время в секундах, в течении которого процессы-работники будут ждать, пока планировщик перезапустится. Это время нужно подбирать в соответствии с ожидаемым временем перезагрузки компьютера-планировщика. Как ни странно, похоже, этот параметр не всегда учитывается.
    • name — префикс имени процесса-работника, как он будет отображаться в отчетах планировщика. Это удобно, чтобы видеть "человеческие" имена сервисов-работников.
    • local-directory — директория, которая будет использоваться для создания временных файлов

    Запуск процессов-работников на Windows в виде сервиса

    Понятно, что запуск dask-worker со всему параметрами делается в виде пакетного файла. Также, чтобы кластер поднимался сам, dask-worker должен запускаться как только компьютер стартовал.

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

    Проверка Firewall

    Также необходимо проверить правила firewall: планировщик должен иметь возможность достучаться до процесса-работника.

    Неприятно, что если на узле, где запущен процесс-работник, блокируются входящие соединения — то об этом станет известно только при запуске приложения. В этом случае, если даже до одного узла не получится достучаться — весь клиентский процесс упадет. До этого будет казаться, что все в порядке, поскольку все узлы будут выглядеть как подключенные.

    По умолчанию каждый процесс-работник открывает случайный порт. При запуске можно указать прослушиваемый порт, однако в этом случае будет запустить только один процесс.

    Подключение к кластеру

    Подключение к распределенному кластеру происходит очень просто:

    Если не указать расположение планировщика — запустится "локальный" кластер в пределах одной машины, но это не то что нужно.

    Общие прикладные пакеты

    Важно иметь ввиду, что все пакеты, которые необходимы для работы распределенного приложения должны быть установлены и на рабочих узлах кластера. Это касается pandas, numpy, scikit-learn, tensorflow.
    Особо критично совпадение версий пакетов на всех узлах кластера для объектов, которые сериализуются.

    Что делать, если на узлах кластера отсутствует необходимый пакет? Можно воспользоваться стандартной функцией удаленного запуска функций — и запустить pip

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

    Пакеты и модули приложения

    Если в состав приложения входят разработанные пакеты или модули, и вы хотите, чтобы программный код из них выполнялся распределенно — то эти пакеты и модули также должны быть распространены на все узлы кластера перед запуском приложения.
    Это довольно серьезное неудобство, если вы все еще дорабатываете приложение и пытаетесь его структурировать, и попутно запуская его в распределенной среде Dask кластера.

    Есть задокументированный трюк с передачей пакетов и модулей на узлы кластера во время исполнения. Класс Client предлагает метод передачи файлов на узлы upload_file() . После передачи, файл размещается в пути поиска и может быть импортирован процессом работником.

    Файл-модуль можно передать непосредственно, а пакет прийдется предварительно запаковать в zip.

    Масштабирование joblib

    Я использую библиотеку joblib для удобного параллельного выполнения операций в рамках одного компьютера. Поскольку joblib позволяет подменить движок — модификация кода получается довольно простой:

    Версия с joblib

    Версия с joblib + dask

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


    Работают только два из доступных 16 работников, огромные промежутки между интервалами загрузки.


    Время на выполнение одного батча — 10-20 мс, а интервалы между работами может достигать 200мс.

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

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


    На картинке отмечены области, где процесс вычисления все еще неоптимален.


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

    Теперь время выполнения вычислений для пакета работы занимает 3.5-4 сек, а время на простой измеряется десятками милисекунд. Стало гораздо лучше: видно, что увеличение размера батча и количества пред-запланированных задач увеличили время, выделенное на выполнение, и не добавили много оверхеда.

    Если процедура, выполняемая на узле, требует помимо основного аргумента какие-либо вспомогательные блоки данных (которые, например, просматриваются в процессе обработки), их можно передать на все узлы параметром scatter . Это существенно снижает объем передаваемых данных по сети при кажом вызове и оставляет больше времени на расчеты.

    В итоге, после подбора параметров на таких простых задачах можно достичь почти линейного роста производительности от роста количества узлов.

    Масштабирование GridSearchCV

    Поскольку scikit-learn также использует joblib для реализации параллельной работы, масштабирование обучения моделей достигается ровно также — подменой движка на dask

    В результате выполнения:


    Каждый перебираемый вариант преобразуется в отдельную задачу для dask. Таким образом все варианты распределяется случайным образом по всем доступным процессам-работникам.
    При наличии достаточного количества работников в кластере — все работы начинают выполняться параллельно.

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


    Библиотека Dask — прекрасный инструмент для масштабирования для определенного класса задач. Даже если использовать только базовый dask.distributed и оставить в стороне специализированные расширения dask.dataframe, dask.array, dask.ml — можно существенно ускорить эксперименты. В некоторых случаях можно добиться почти линейного ускорения рассчетов.

    И все это — на базе того, что у вас уже есть дома, и используется для просмотра видео, прокрутки бесконечной новостной ленты или игр. Используйте эти ресурсы на полную!

    Любые данные, будь то бытовое планирование на месяц, техническая инструкция или план работы по проекту, должны быть понятными и систематизированными. Не всё можно представить в виде простого текстового описания, списка или рисунка. Поможет в визуализации блок-схема, называемая также флоучартом.

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

    Собрали 15 онлайн-сервисов для создания и редактирования блок-схем.

    Draw.io


    Самый популярный онлайн-сервис для создания блок-схем. Он бесплатный и обладает хорошим набором инструментов и функций, позволяющих создавать организационные диаграммы, блок-схемы (флоучарты), сетевые диаграммы, UML, принципиальные электросхемы. У сервиса есть 5 готовых шаблонов блок-схем. Понятный интерфейс, поддерживает виртуальные хранилища – Google Drive, OneDrive и DropBox, что даёт возможности нескольким пользователям совместно работать над проектом. Сохранить проект можно в форматах JPG, PNG, SVG, PDF, HTML, XML, можно импортировать файлы в VSDX, и сохранять в собственные форматы других сервисов – Lucidchart и Gliffy.

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

    Wireflow


    Этот сервис ориентирован, прежде всего, на веб-разработчиков и дизайнеров, он позволяет проектировать каркасы сайтов и пользовательские потоки. Wireflow прост в управлении, имеет обширную библиотеку элементов, несколько вариантов шаблонов блок-схем. К сожалению, сохранить готовый результат можно только в JPG, что доставляет некоторые неудобства. Но это приложение бесплатно, и со своими задачами оно справляется.

    Microsoft Visio


    Говоря о блок-схемах, нельзя не вспомнить про Visio. Этот продукт Microsoft создан специально для проработки блок-схем, организационных диаграмм, карт процессов. Кроме этого, с помощью него можно создавать планы зданий и помещений, схемы и инженерные проекты. Вы можете спросить, какое отношение он имеет к онлайн-сервисам. Сама по себе программа Visio – для ПК, но она предусматривает возможность совместной одновременной работы онлайн в Office 365. Блок-схемы в этой системе связаны с базовыми исходными данными таким образом, что обновляются при изменении этих самых данных.

    Lucidchart


    Для тех, кого по каким-то причинам не устраивает Visio, есть вариант, являющийся полноценной его заменой в области создания диаграмм и флоучартов. В приложении есть множество элементов, шаблоны для создания блок-схем и диаграмм (впрочем, можно обойтись без них и создать схему с нуля), в платной версии их ещё больше. Интерфейс приложения интуитивно понятен и прост, с ним разберётся даже начинающий пользователь. Для работы необходим только выход в интернет, есть возможность командной работы (хотя и с ограничениями для бесплатных аккаунтов). Сервис поддерживает импорт файлов Visio (VSDX), Amazon Web Service (AWS) и Omnigraffle, а сохраняет результаты в JPG,PNG, SVG, PDF и Visio. Кроме того, есть приятная возможность сохранять промежуточные версии на облачном сервере.

    Бесплатная версия Lucidchart функциональна, но если не хватает расширений – можно оплатить подписку. В их числе: больший объём виртуального хранилища, возможность создания неограниченного количества проектов, добавления ссылок на данные. Стоит платная версия от $5,95 до $20 в месяц.

    Cacoo


    Cacoo – похожий на Lucidchart сервис, но более специализированный под блок-схемы. Здесь нет лишнего, зато есть множество шаблонов, форм и стрелок на любой вкус. Приложение удобно в управлении, в нём очень хорошо реализованы возможности для командной работы – ведь именно для этого оно и задумывалось. Можно заниматься проектом в режиме реал-тайм, видеть, кто в данный момент работает. Есть чат для обсуждения.

    Сервис платный. Стоимость месяца работы в зависимости от тарифа варьируется от $4,95 до $18. Первые 14 дней можно пользоваться бесплатно.

    Google Docs

    Когда речь заходит о Google Docs, то, наверное, уместнее будет спросить, что же НЕ может этот сервис. Блок-схемы тоже не стали исключениями – их можно создавать в Гугл Документах при помощи функции Google Drawings. Набор функций тут стандартный, управление простое, разобраться с ним легко. Так как сервисы Гугла связаны с Google Диском, то возможность командной работы подразумевается сама собой. Просто создайте проект и отправьте ссылку на него другим участникам, открыв доступ для редактирования. Сохранить результат можно как файл рисунка или SVG, а также опубликовать в сети.

    Сервис бесплатный, однако есть ограничения – вам будет доступно всего 15 ГБ на Диске.

    Gliffy


    Нужно что-то попроще? Тогда Gliffy – это для вас. Приложение не может похвастаться огромным набором функций, но зато в нём есть много шаблонов, оно простое и быстрое. Работает в режиме офлайн. Командная работа поддерживается, вы можете обмениваться своими наработками с коллегами.

    Однопользовательская версия стоит $7,99, для команды – $4,99 за каждого пользователя.

    Textographo


    Необычный и уникальный сервис, где блок-схемы создаются при помощи текста. Вам не придётся перетаскивать блоки и стрелки, просто наберите текст, используя специальный синтаксис – ключевые слова, хештеги, маркировку. А программа сама построит графическую схему – флоучарт, диаграмму, карту разметки. Коллективная работа поддерживается, все данные сохраняются в облаке.

    Сервис платный. Версия Essentials стоит $8, а Premium – от $14 в месяц.

    OmniGraffle

    Этот инструмент предназначен специально для MacOS и iOS. Его возможности не ограничиваются простым созданием и редактированием флоучартов, ещё сервис может работать с векторной графикой (например, преобразовывать линии в кривые Безье). Есть возможность вводить команды и редактировать данные с клавиатуры. Продвинутые пользователи могут автоматизировать работу сервиса с помощью JavaScript.

    Тарифы сервиса бьют по карманцам – от $50 до $250. Первые 14 дней – бесплатно.

    SmartDraw


    Аналог Visio, подходящий как для онлайн-использования, так и для установки на компьютер под управлением Windows и MacOS. Как и в продукте от Microsoft, здесь можно создавать простые блок-схемы, диаграммы, сложные поэтажные планы зданий. Как и во всех программах подобного типа, есть шаблоны, и здесь их немало – несколько десятков. Сервис обладает мощным функционалом и при этом он прост в управлении.

    Стоимость использования сервиса – $15 в месяц.

    Creately

    Очень гибко настраиваемый сервис с сотнями шаблонов и тысячами примеров от самих пользователей. Диаграммы, графики, блок-схемы – здесь найдутся образцы для всего. Кроме прочего, многие элементы «умные» и сами подстраиваются под общий стиль блок-схемы или диаграммы, даже под цветовую гамму. Работать над проектом можно командой в реальном времени, есть возможность комментирования, просмотра истории изменений. Интеграция с Chrome и GSuite тоже является несомненным плюсом.

    Работать с Creately можно не только через браузер, есть приложения на ПК и смартфон. Стоимость лицензии – $5 в месяц или $75 бессрочно с каждого пользователя. Но это того стоит.

    Mindomo


    Сервис интегрирован с GSuite, Google Диском, Office 365, а также с системами управления обучением – Canvas, Blackboard, Schoology, Moodle.

    Canva

    Простой, понятный сервис для создания красивых блок-схем. Набор функций мало отличается от всех вышеперечисленных вариантов, однако Canva может похвастаться возможностью настройки внешнего вида. Фон страницы, шрифт и цвет текстов, добавление изображений – собственных или из огромной библиотеки. Есть даже встроенный фоторедактор. Разумеется, здесь есть и поддержка командной работы. Для работы с мобильных устройств есть приложения как для iOS, так и для Android. Сохранение проектов – в формат PDF.

    Сервис бесплатен, но есть премиум-элементы (фото и векторные изображения), они стоят $1 за штуку.

    Mindmeister


    Сервис для создания ментальных карт и диаграмм. У него неплохой функционал, хорошо реализованные возможности командной работы – поддержка мобильной версии, чат и комментирование. Можно добавлять ссылки, изображения и видео, вставлять созданные файлы в свой блог или сайт, просматривать историю изменений, создавать из проекта презентации и слайд-шоу, есть даже функция рисования. Сохранять можно в PNG, PDF, а также программу Word. Сервис интегрируется с приложениями Гугла.

    Имеется бесплатный тариф с 3 проектами карт, но есть и платные версии – от $36 за полгода, с более широкими возможностями.

    MindMup

    Бесплатный редактор схем и диаграмм со стандартным набором функций. У него есть возможность командной работы с настройками доступа, можно добавлять файлы и следить за историей. Но в приложении отсутствуют шаблоны, нет режима презентации и добавления эффектов. Кроме того, невозможно резервное копирование.

    В статье приводится краткий обзор создания отказоустойчивого кластера Microsoft Windows (WFC) в ОС Windows Server 2019 или 2016. В результате вы получите двухузловой кластер с одним общим диском и кластерный вычислительный ресурс (объект «компьютер» в Active Directory).


    Подготовка

    Не имеет значения, какие машины вы используете — физические или виртуальные, главное, чтобы технология подходила для создания кластеров Windows. Перед тем, как начать, проверьте соответствие необходимым требованиям:

    Две машины Windows 2019 с установленными последними обновлениями. У них должно быть по крайней мере два сетевых интерфейса: один для производственного трафика и один для кластерного трафика. В моем примере у машин три сетевых интерфейса (один дополнительный для трафика iSCSI). Я предпочитаю статические IP-адреса, но также можно использовать DHCP.


    Введите оба сервера в домен Microsoft Active Directory и убедитесь, что они видят общий ресурс хранения, доступный в Disk Management. Пока не переводите диск в режим «онлайн».

    Далее необходимо добавить функциональность Failover clustering (Server Manager > Аdd roles and features).


    Перезапустите сервер, если требуется. В качестве альтернативы можно использовать следующую команду PowerShell:

    Install-WindowsFeature -Name Failover-Clustering –IncludeManagementTools


    После успешной установки в меню Start, в Windows Administrative Tools появится Failover Cluster Manager .

    После установки Failover-Clustering можно перевести общий диск в режим «онлайн» и отформатировать его на одном из серверов. Не меняйте ничего на втором сервере. Там диск остается в режиме offline.

    Обновив Disk Management, вы увидите что-то типа такого:

    Server 1 Disk Management (disk status online)


    Server 2 Disk Management (disk status offline)


    Проверка готовности отказоустойчивого кластера

    Перед созданием кластера необходимо убедиться, что все настройки правильно сконфигурированы. Запустите Failover Cluster Manager из меню Start, прокрутите до раздела Management и кликните Validate Configuration.


    Выберите для валидации оба сервера.


    Выполните все тесты. Там же есть описание того, какие решения поддерживает Microsoft.


    После успешного прохождения всех нужных тестов, можно создать кластер, установив флажок Create the cluster now using the validated nodes (создать кластер с помощью валидированных узлов), или это можно сделать позже. Если во время тестирования возникали ошибки или предупреждения, можно просмотреть подробный отчет, кликнув на View Report.


    Создание отказоустойчивого кластера

    Если вы решите создать кластер, кликнув на Create Cluster в Failover Cluster Manager, потребуется снова выбрать узлы кластера. Если вы используете флажок Create the cluster now using the validated nodes в мастере валидации кластера, выбирать узлы не понадобится. Следующим шагом будет создание точки доступа для администрирования кластера — Access Point for Administering the Cluster. Это будет виртуальный объект, с которым позже будут коммуницировать клиенты. Это объект «компьютер» в Active Directory.

    В мастере нужно будет задать имя кластера — Cluster Name и сетевую конфигурацию.


    На последнем шаге подтвердите выбранные настройки и подождите создания кластера.


    По умолчанию мастер автоматически добавит общий диск к кластеру. Если вы его еще не сконфигурировали, будет возможность сделать это позже.

    В результате вы увидите новый объект «компьютер» Active Directory под названием WFC2019.



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

    New-Cluster -Name WFC2019 -Node SRV2019-WFC1 , SRV2019-WFC2 -StaticAddress 172.21.237.32


    Результат можно будет увидеть в Failover Cluster Manager, в разделах Nodes и Storage > Disks.



    Иллюстрация показывает, что в данный момент диск используется в качестве кворума. Поскольку мы хотим использовать этот диск для данных, нам необходимо сконфигурировать кворум вручную. Из контекстного меню кластера выберите More Actions > Configure Cluster Quorum Settings (конфигурирование настроек кворума).


    Мы хотим выбрать диск-свидетель вручную.


    В данный момент кластер использует диск, ранее сконфигурированный как диск-свидетель. Альтернативно можно использовать в качестве свидетеля общую папку или учетную запись хранилища Azure. В этом примере мы используем в качестве свидетеля общую папку. На веб-сайте Microsoft представлены пошаговые инструкции по использованию свидетеля в облаке. Я всегда рекомендую конфигурировать свидетель кворума для правильной работы. Так что, последняя опция для производственной среды не актуальна.


    Просто укажите путь и завершите мастер установки.


    После этого общий диск можно использовать для работы с данными.


    Поздравляю, вы сконфигурировали отказоустойчивый кластер Microsoft с одним общим диском.


    Следующие шаги и резервное копирование

    Одним из следующих шагов будет добавление роли для кластера, но это выходит за рамки данной статьи. Когда кластер будет содержать данные, пора будет подумать о его резервном копировании. Veeam Agent for Microsoft Windows может применяться для резервного копирования отказоустойчивых кластеров Windows с общими дисками. Мы также рекомендуем осуществлять резервное копирование «всей системы» кластера. При этом выполняется резервное копирование операционных систем узлов кластера. Это поможет ускорить восстановление отказавшего узла кластера, так как вам не придется искать драйверы и прочее при восстановлении.

    Руководство по созданию отказоустойчивых кластеров для Windows Server 2019

    Читайте также: