Новости Статьи VMware Veeam StarWind Microsoft ИТ-ГРАД Citrix Symantec 5nine События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Виртуализация vSphere, Hyper-V, XenServer и Red Hat

Более 4380 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat

VM Guru / News / Организация блокчейн на VMware vSphere: от теории к практике.

Организация блокчейн на VMware vSphere: от теории к практике.

11/01/2018

Гостевой пост нашего партнера - сервис-провайдера ИТ-ГРАД, предоставляющего услуги аренды виртуальных машин.

Blockchain — это принципиально новая технология, которая в последнее время приковывает к себе все больше внимания. Специалисты из таких отраслей, как финансы, экономика, медицина, логистика, IoT, активно работают над исследовательскими и экспериментальными проектами с использованием блокчейн, поскольку эта технология заточена не только на криптовалюты.

Blockchain на vSphere или BoV — это инструмент для развертывания Hyperledger Fabric v1.0 на платформе vSphere, или, другими словами, проект VMware, который помогает администраторам развернуть блокчейн-платформу для разработчиков на базе гипервизора ESXi. Используя всего несколько команд, можно с легкостью запустить кластер на vSphere, а блокчейн-разработчикам сосредоточиться на реализации бизнес-логики.

Отметим, что Hyperledger Fabric — это не компания, не криптовалюта, а проект с открытым исходным кодом, организованный сообществом Linux Foundation, который был создан для продвижения блокчейн-технологии. Это нечто, похожее на хаб для открытой разработки отраслевых блокчейнов. Hyperledger Fabric дает широкие возможности, позволяя разработчикам сконцентрироваться на запуске блокчейн-проекта с собственной бизнес-логикой.

Взгляд изнутри

Суть утилиты Blockchain on vSphere заключается в возможности развернуть несколько узлов кластера Hyperledger Fabric, так называемых Pods, причем максимально просто. При этом в Blockchain-сервисе используются три учетные записи:

  • Cloud Admin,
  • Blockchain Admin,
  • Blockchain Developer.

Каждая из них имеет соответствующие полномочия на разных уровнях системы: Cloud Admin может мониторить и работать с инфраструктурой на базе vSphere, Blockchain Admin — управлять платформой blockchain (Hyperledger Fabric), а разработчик Blockchain фокусируется на разработке приложений с использованием платформы blockchain.

Градация полномочий на разных уровнях системы

Hyperledger Fabric — это распределенная система, реализованная с использованием контейнеров. Она может быть развернута на платформе, которая поддерживает контейнерный стандарт OCI. При этом для управления контейнерами Fabric используется система Kubernetes. В основе рассматриваемого примера для Fabric v1.0 лежит следующая архитектура:

  • Используются пространства имен для поддержки различных организаций Fabric.
  • Используется настраиваемое количество одноранговых узлов в организации.
  • Организуется изоляция через Persistent Volume.

Архитектура решения

Инструкция по развертыванию

Для реализации блокчейн-проекта с использованием Hyperledger Fabric необходимо выполнить ряд предварительных требований, включающих наличие:

  • vCenter 6.0+ как минимум с одним хостом ESXi;
  • сервера NFS для хранения конфигурационных файлов кластера Fabric;
  • интернет-подключения, которое потребуется в ходе установки;
  • хоста Linux с Docker 1.11+ установленным для запуска команд;
  • 5, установленный на хост Linux (с модулем PyYAML).

После того как выполнена загрузка пакета BoV, можно приступать к установке Fabric 1.0 на vSphere. Начнем с vCenter, где потребуется выполнить следующие шаги:

  • Создать пул ресурсов для Kubernetes, например kub-pool.
  • Выбрать хранилище данных, используемое Kubernetes, например datastore1.
  • Выбрать сеть для узлов Kubernetes, причем в сети должен быть развернут сервис DHCP, обеспечивающий динамическую IP-адресацию с возможностью выхода в Интернет.

Развертывание Kubernetes

Выполним развертывание Kubernetes, используя проект с открытым исходным кодом Kubernetes Anywhere (https://github.com/kubernetes/kubernetes-anywhere). Для этого:

  • Загружаем OVA-шаблон и импортируем в vCenter. Таким образом получаем шаблон виртуальной машины с именем KubernetesAnywhereTemplatePhotonOS. Более подробную информацию об импорте OVA можно получить по ссылке: https://github.com/kubernetes/kubernetesanywhere/blob/master/phase1/vsphere/README.md

Шаблон ВМ

  • На Linux-хосте запускаем развертывание контейнера Kubernetes Anywhere:

  • После задаем параметры согласно подсказкам. Ниже указаны возможные варианты:

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

Как видно на рисунке, сервисы находятся в запущенном состоянии. Далее копируем содержимое файла phase1 / vsphere /.tmp / kubeconfig.json на Linux-машину, сохраняя содержимое в каталоге ~ /.kube / config. При отсутствии каталога на Linux-машине его необходимо создать:

Выходим из контейнера и возвращаемся к хосту Linux, запустив на нем следующую команду:

Команда снова выведет информацию о кластере. Далее настраиваем DNS, используемый Docker-ом на всех рабочих узлах Kubernetes. Дело в том, что Fabric создает контейнер Docker для запуска цепочки кода, который находится вне зоны контроля Kubernetes. Поэтому демону Docker необходимо использовать корректную DNS-информацию в сети Kubernetes. В связи с этим вносим изменения на узлах Kubernetes. В нашем примере это узлы node1, node2, node3 и node4.

Первым делом редактируем файл /etc/default/docker:

Обратите внимание, что используемые здесь IP-адреса рассматриваются в качестве примера, в случае продакшен-конфигурации их необходимо заменить на действительные. Если дополнительно используется Proxy-сервер, информацию о нем следует отразить в файле /etc/default/docker:

Чтобы внесенные изменения вступили в силу, перезапустите службу Docker:

Следующий шаг — развертывание блокчейн-платформы (Fabric)

Здесь потребуется настроить службу NFS, экспортировать общий каталог (в нашем примере — /opt/share) и проверить настройки на NFS-сервере с тестовым IP-адресом 10.112.122.9. Для этого выполняются следующие шаги:

Обратите внимание, что клиент NFS должен иметь доступ для чтения/записи к каталогу /opt/share. Если же используется анонимный доступ, в таком случае не требуется владелец и в свойствах группы папок следует использовать элемент nogroup. В противном случае можно столкнуться с ошибкой в разрешениях. Поэтому стоит запустить следующую команду на узле NFS:

Далее монтируем каталог к Linux-хосту:

Загружаем файл пакета BoV BaaS.tar, извлекаем файлы и меняем текущий каталог на ./baas. После чего запускаем команду для загрузки инструментов, требуемых Fabric. При этом cryptogen и configtxgen должны быть сохранены в каталоге./bin.

Затем в каталоге setupCluster/templates/ обновляем два файла шаблонов, внося изменения в параметры NFS-сервера.

Примечательно, что файл setupCluster/cluster-config.yaml содержит определение топологии службы blockchain, которую необходимо изменить. Ниже приведен возможный вариант:


Файл setupCluster/cluster-config.yaml

Теперь необходимо изменить каталог на baas/setupCluster и запустить скрипт generateAll.sh, чтобы создать все файлы конфигурации Fabric и файлы определения файлов Kubernetes для службы blockchain.

Изменяем каталог на baas/setupCluster/transform и запускаем команду для развертывания Fabric как контейнер на Kubernetes:

Проверяем созданную блокчейн-группу:

Аналогичную проверку можно выполнить через пользовательский интерфейс панели Kubernetes:

Пользовательский интерфейс панели Kubernetes

Дальше выполняем проверку окружения путем запуска примерной цепочки кода и меняем working path на baas/setupCluster/:

Создаем mychannel, используя configtxgen:

Создаем транзакцию конфигурации для обновления peer0.org1 как якорный одноранговый канал mychannel, аналогичное выполняем и для peer0.org2.

Копируем каталог ./channel-artifacts в /opt/share/:

Загружаем пример сетевого кода из проекта Hyperledger Fabric, затем копируем каталог chaincode_example02 в /opt/share/channel-aritfacts/. В приведенных ниже командах сначала создается канал, затем соединяется с peer0 Org1. Далее устанавливается и создается код цепи с двумя парами ключ/значение: a = 100 и b = 200. После чего peer0 Org2 добавляется к каналу и устанавливается «цепочный» код. Затем создается транзакция для передачи значения 10 от a до b. Запрашивается значение a, которое должно отображаться как 90. Команда для Org1:

Как показано на рисунке, cli org1 был назван cli-1569835662–01c5z. Запускаем команду cli org1:

И в cli pod создаем канал с именем mychannel:

После создания канала возвращается файл mychannel.block из orderer. Он будет использоваться для присоединения к каналу. На рисунке ниже показан вывод команды создания канала:

Теперь копируем mychannel.block в общую папку NFS, чтобы другой cli мог ее использовать:

В результате должны получить следующее:

Обновляем peer0 Org1 в качестве якорной точки mychannel:

Устанавливаем chaincode mycc на peer0:

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

Создаем chaincode mycc:

Итак, контейнер цепи создан. Однако он не управляется Kubenetes из-за дизайна Fabric. В приведенной выше команде используется pee0.org1 (который назначается узлу 3) для создания цепи. Контейнер цепного кода можно найти, запустив «docker ps» в узле 3, как показано на рисунке:

Запрашиваем chaincode:

Проверяем состояние chaincode, где значение «a» должно быть равно 100 в качестве определенного экземпляра:

Аналогичное используем в Org2:

Как показано на рисунке, cli org2 был назван cli-2586364563-vclmr. Вводим команду cli org2 для командной строки Fabric:

В cli pod org2 Peer0 org2 соединяет канал:

Обновляем Peer0 org2 как привязку:

Устанавливаем chaincode:

Запрашиваем chaincode:

Так как экземпляр chaincode mycc был создан, эта команда возвращает значение «a», равное 100:

Вызываем цепочный код для обновления регистратора канала. Это создает транзакцию для передачи значения 10 от a до b:

При этом Query Result снова должен быть равен 90:

Заключение

В этой статье мы познакомили вас с утилитой Blockchain on vSphere, позволяющей администраторам разворачивать блокчейн-платформу на базе гипервизора ESXi. А также в деталях рассмотрели процесс развертывания Hyperledger Fabric с помощью BoV. Следите за новыми материалами первого блога о корпоративном IaaS, в них мы продолжим знакомить вас с актуальными и востребованными решениями из мира блокчейн и облачных технологий.

Ссылка на статью в блоге ИТ-ГРАД.

Реклама





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

18/01/2018:  Вебинар VMware vCloud Extender – новейший инструмент построения гибридных облаков для vSphere 6.5
06/03/2018:  ИТ-стратегия 2018
24/05/2018:  IT&SECURITY FORUM (Казань)

Быстрый переход:
VMware IT-Grad Security Code Offtopic Veeam Cisco StarWind vGate Microsoft Cloud SDRS Parallels IaaS Citrix 5nine HP VeeamON VMFS RVTools PowerCLI VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo Nutanix vRealize VirtualBox Symantec Gartner Softline EMC Login VSI Xen Enterprise Teradici Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter VMachines Webinar View VKernel Events Hardware Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs Sun VMC Xtravirt Novell vSphere IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V vSAN Horizon vCloud Agent Backup Tools vCSA Networking esxtop VVols HA Book Photon VMworld vROPs Labs Fusion Cloud Computing SSD Client DRS OpenStack Comparison Workstation Blast SRM App Volumes Performance Manager Nested AWS Log Insight XenDesktop VSA vNetwork SSO LSFS Workspace Host Client VMDK VTL Update iSCSI SDDC NSX Virtual Appliance Whitepaper PowerShell Appliance VUM V2V Cache Support Обучение Web Client Mobile Automation Replication Desktop Fault Tolerance DR Vanguard SaaS Connector Event Free Datacenter SQL VSAN Lifecycle Sponsorship Finance FT Converter XenApp Snapshots VCP Auto Deploy SMB RDM Mirage XenClient MP Video Operations SC VMM Certification VDP Partners PCoIP RHEV vMA Award Network USB Licensing Logs Server Demo Visio Intel vCHS Calculator Бесплатно vExpert Beta SAN Exchange MAP ONE DaaS Monitoring VPLEX UCS SDK Poster VSPP Receiver vMotion VDI-in-a-Box Deduplication Forum Reporter vShield ACE Go nworks iPad XCP Data Recovery Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V VirtualCenter NFS ThinPrint Director Migration Diagram Bug Troubleshooting Air API CLI Plugin DPM Memory Upgrade SIOC Flex Mac Open Source SSH VAAI Chargeback Heartbeat Android MSCS Ports SVMotion Storage DRS Bugs Composer
Интересные плакаты:

Постер VMware vSphere PowerCLI 6.3:

Постер VMware ESXi 5.1:

Постер VMware Hands-on Labs 2015:

Постер VMware Platform Services Controller 6.0:

Постер VMware vCloud Networking:

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Постер VMware vCenter Server Appliance:

Порты и соединения VMware vSphere 6:

Порты и соединения VMware Horizon 7:

Порты и соединения VMware NSX:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

Постер Veeam Backup & Replication v8 for VMware:

Постер Microsoft Windows Server 2012 Hyper-V R2:

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Сравнение Oracle VirtualBox и VMware Workstation.

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Проектирование инфраструктуры виртуализации VMware vSphere 4.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные программы для VMware ESX / ESXi в среде Virtual Infrastructure / vSphere (часть 2).

Отличия VMware ESXi 4 free (бесплатного), ESXi 4 и ESX 4 в составе VMware vSphere.

Новые возможности VMware vSphere 5.0 - официально.

Все ресурсы о виртуализации:
Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Купить:

VMware vSphere 6.5


Veeam Backup 9.5


Полезные ресурсы:


Видео компании VMware

Видео про Citrix Xen

Видео о виртуализации Microsoft

Утилиты для виртуальных машин Microsoft.

Книги на английском языке

Блоги на английском языке

Блоги на русском языке

Агрегация статей в твиттере VMC:


Copyright VM Guru 2006 - 2018, Александр Самойленко. Правила перепечатки материалов.