Virtuozzo-tutorial

Virtuozzo-tutorial Хостинг

Каковы реальные преимущества распределенного хранилища? +5

Виртуализация, Хранение данных, Хранилища данных, Блог компании Virtuozzo

Virtuozzo-tutorial

Существует много технологий, которые позволяют сохранить важную информацию в случае выхода носителей из строя, а также ускорить доступ к важным данным. Но наше гиперконвергентное хранилище Virtuozzo Storage по ряду параметров опережает программно-определяемые решения с открытым исходным кодом, а также готовые системы SAN или NAS. И сегодня мы говорим об архитектуре системы и ее преимуществах.

Для начала стоит сказать о том, что же такое Virtuozzo Storage (в среде разработчиков — VZ Storage). Решение представляет собой распределенное хранилище, использующее ту же самую инфраструктуру, на которой работают ваши виртуальные машины и контейнеры (так называемую, гиперконвергентную инфраструктуру — hyper-converged). Изначально продукт развивался вместе с виртуализацией Virtuozzo. Однако, если вам не нужна полноценная система виртуализации, теперь проект доступен и в виде отдельного распределенного хранилища, которое может работать с любыми клиентами.

Если говорить в общем, то VZ Storage использует диски в тех же самых серверах, которые обслуживают систему виртуализации. Таким образом, у вас пропадает необходимость закупать отдельное оборудование, например, дорогостоящий контроллер SAN/NAS, чтобы создать сетевую среду хранения. Одна из отличительных особенностей VZ Storage заключается в выборе способа хранения данных (схему избыточности) для разных категорий данных. Временные логи, например, можно вообще не резервировать, а для важных данных предусмотрены различные технологии защиты – репликация (полное дублирование) или самовосстанавливающиеся коды (Erasure Coding).

Железо

Так как VZ Storage является гиперконвергентной системой хранения, она может быть развернута с использованием любых серверов стандартной архитектуры x86. Впрочем, чтобы работа системы была эффективной, в каждом сервере должно быть установлено как минимум три жестких диска не менее 100 Гб емкостью каждый, двухъядерный процессор (одно ядро отдаем хранилищу), и 2Гб оперативной памяти. В более мощных конфигурациях мы рекомендуем ставить одно процессорное ядро и 4ГБ памяти на каждые 8 жестких дисков. То есть, используя на узле, например, 15 дисков для создания хранилища, для поддержки работы кластера хранения вам потребуется всего 2 ядра и 8ГБ RAM.

Поскольку мы говорим о распределенном хранилище, серверы должны быть объединены в сеть. Теоретически можно использовать ту же самую сеть передачи данных, на которой работает кластер виртуализации, но намного эффективнее иметь второй сетевой адаптер с пропускной способностью не менее 1Гб/c, ведь скорость чтения и записи данных будет напрямую зависеть от характеристик сети. Кроме этого отдельная сеть будет полезна и с точки зрения безопасности.

Архитектура

Распределенная архитектура VZ Storage подразумевает, что мы устанавливаем разные компоненты системы на физические или виртуальные серверы: панель управления с графическим интерфейсом, сервер хранения данных (Chunk Server – CS), сервер метаданных (MetaData Server – MDS), монтирование хранилища для чтения/записи данных (Client). Один узел может запускать несколько компонент в любом сочетании. То есть, один сервер, например, может одновременно хранить и данные, и метаданные, и запускать виртуальные машины, и предоставлять панель управления кластером.

Virtuozzo-tutorial

Все данные в кластере разбиваются на блоки фиксированного размера («chunks» — чанки). Для каждого «чанка» создается несколько реплик (его копий), причем размещаются они на различных машинах (чтобы обеспечить отказоустойчивость в случае выхода из строя целой машины). При установке кластера вы задаете параметр нормального и минимального количества реплик. Если какая-то машина выходит из строя или перестает работать диск, силами кластера все утраченные реплики будут воспроизведены на оставшихся – вплоть до параметра нормального количества (обычно 3). В это время система по-прежнему позволяет писать и часть данных без задержек. Но, если же из-за сбоя количество копий упало ниже минимального значения (обычно 2), то есть произошел одновременных отказ двух компонент, кластер позволяет только читать данные, а для записи клиентам придётся подождать пока не будет восстановлено хотя бы минимальное количество копий. Система восстанавливает такие чанки, с которыми идёт работа, с наивысшим приоритетом.

Количество CS и MDS на каждом сервере определяется количеством физических дисков. VZ Storage привязывает один компонент к одному накопителю, создавая тем самым четкое разделение ресурсов и реплик между разным физическим оборудованием.

В чем плюсы?

Мы немного познакомились со структурой и требованиями VZ Storage, и теперь возникает вопрос, зачем все это нужно? Какие плюсы дает система? Самое главное преимущество VZ Storage – это надежность. Используя то же самое оборудование (возможно, добавив в него сетевые контроллеры и диски), вы получаете высокоэффективную легко-масштабируемую систему с отлаженным механизмом работы с данными, метаданными. VZ Storage позволяет обеспечить постоянное и надежное хранение данных, включая диски ВМ и данные контейнерных приложений для Docker, Kubernetes или Rancher.

Второй плюс – это низкая стоимость владения (TCO). Кроме того, что для работы решения не нужно приобретать отдельное дорогостоящее «железо» и вы можете выбирать опции резервирования для различных данных, в VZ Storage имеется возможность использования erasure coding (кодов избыточности, таких как Reed-Solomon). Это позволяет снизить требования к общей емкости, сохраняя возможность восстановления данных в случае сбоя. Метод подходит для хранения больших объемов данных, когда высочайшая скорость доступа – это далеко не самое главное.

Читайте также:  Тестирование веб-сайтов: повышение производительности и оптимизация результатов

Какие именно плюсы дает erasure coding (EC)? Erasure codding позволяет значительно сократить расход использования дискового пространства. Достигается это счёт специальной обработки данных.

Virtuozzo-tutorial

На примере инсталляции системы с конфигурацией 5 + 2 и включенным EC, мы можем гарантировать дополнительную нагрузку на емкость лишь в 40%, создавая только 2Гб резервных данных на каждые 5Гб данных приложений).

В этом случае для защищенного хранения 100 Тб данных вам потребуется всего 140 Тб емкости. Такой подход помогает оптимизировать бюджет или обеспечить хранение больших объемов данных в тех случаях, когда в кластер уже физически нельзя установить больше дисков, в стойку – больше серверов, в серверную – больше стоек. При этом мы сохраняем высокую доступность данных – даже при выходе из строя двух элементов системы хранения, оставшиеся узлы системы позволят восстановить все данные вплоть до бита, не останавливая работу приложения. В таблице приведены значения резервной емкости, и, как вы можете видеть, результаты использования erasure coding оказываются действительно впечатляющими, когда в кластере используется много машин. Например, в конфигурации 17+3 с erasure coding резервная емкость составляет всего 18%

Virtuozzo-tutorial

Другое дело – производительность. Конечно, erasure coding повышает нагрузку на ЦП, но совершенно незначительно. За счёт SSE инструкций на современных процессорах одно ядро может обрабатывать до ~2GB/s данных.

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

Virtuozzo is a software company that develops virtualization and cloud management software for cloud computing providers, managed services providers and internet hosting service providers. The company’s software enables service providers to offer Infrastructure as a service, Container-as-a-Service, Platform as a service, Kubernetes-as-a-Service, WordPress-as-a-Service and other solutions.

In December 2015, Virtuozzo was spun out from Parallels to become a standalone company. In May 2016, Virtuozzo announced its intention to join the Open Container Initiative.

  • Virtuozzo Hybrid Infrastructure is an OpenStack-based cloud management platform that enables service providers to sell public cloud, private cloud, hybrid cloud, Kubernetes-as-a-Service, Storage as a Service, Backup-as-a-Service, Disaster Recovery-as-a-Service and Desktop-as-a-Service.
  • Virtuozzo Application Platform enables service providers to sell Platform as a Service with integrated DevOps tools
  • Virtuozzo Application Platform for WordPress enables service providers to sell Platform as a Service for WordPress-based websites
  • Virtuozzo Cloud Platform for VMware is a self-service cloud management, provisioning and billing portal for VMware vCenter environments
  • Virtuozzo CDN Platform enables service providers to create their own Content Delivery Network services
  • OpenVZ is an operating-system-level virtualization technology for Linux
  • VzLinux is a Linux distribution that is based on the source code of Red Hat Enterprise Linux (RHEL)
  • CRIU is a software tool that is used to freeze and restore running Linux applications
  • P.Haul — Python-based mechanism on top of CRIU, intended for live migration of containers and memory-touching processes inside.

Virtuozzo is a contributor to other open-source projects, including the Linux kernel, libvirt, KVM, Docker, QEMU, LXC, runc/libcontainer and Libct.

  • Torode, Christina (2003-06-09). «SWsoft Acquires Two Hosting Software Vendors». CRN. Retrieved .
  • «Product of the Day: Virtuozzo». Linux Journal. 2002-02-05. Retrieved .
  • Kusnetzky, Dan (2007-12-12). «SWsoft Renames Itself «Parallels»». ZDNET. Retrieved .
  • Kovar, Joseph F. (2021-07-20). «Virtuozzo Acquires OnApp, Targets Full IaaS, PaaS For Cloud Solution Providers». CRN. Retrieved .
  • «Virtuozzo Has Acquired Onapp, Enabling More Comprehensive Intuitive Cloud Infrastructure Solutions For Service Providers». Retrieved .
  • «OnApp became part of Virtuozzo in August 2021». Retrieved .
  • «Virtuozzo Acquires Jelastic Business to Offer First Full-Stack Cloud Management Solution for Service Providers». Retrieved .
  • «Jelastic PaaS is Acquired by Virtuozzo». Retrieved .

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 1 декабря 2015 года; проверки требуют 6 правок.

Parallels Virtuozzo Containers — решение для виртуализации на уровне операционной системы, продукт компании Parallels, Inc. (ранее SWsoft). Данная реализация позволяет запускать на одном физическом сервере множество изолированных копий операционной системы, называемых Виртуальные Частные Серверы (Virtual Private Servers, VPS) или Контейнеры (Container, CT). Существуют версии Parallels Virtuozzo Containers для работы в средах Linux и Windows. Версия для Linux частично основана на открытых исходных кодах проекта OpenVZ.

Читайте также:  Как создать нового пользователя в MySL

ОписаниеПравить

  • Система была создана и ориентирована на простоту использования. В настоящее время в Parallels Virtuozzo Containers включены несколько GUI панелей, которые позволяют владельцам VPS и администраторам сервера делать множество операций. Интересна так называемая Parallels Power Panel (PPP), которая включена бесплатно и предоставляется клиентам, которые могут с её помощью делать множество действий, такие как: удалённая перезагрузка VPS (даже если сам vps не отвечает), переустановка OS (только в Linux), создание слепков системы (полный бэкап) и восстановление VPS из них, файл-менеджер VPS, полная статистика использования ресурсов, трафика, управление firewall, возможность мониторинга запущенных ресурсов, подключение к VPS по ssh (или удалённый рабочий стол для Windows) через java-апплет. Данная панель доступна на нескольких языках, в том числе русском.
  • Множество доступных OS для контейнеров: Fedora, RHEL, Centos, Debian, openSUSE, Ubuntu. FreeBSD и другие *BSD дистрибутивы не поддерживаются из-за разницы в архитектуре ядра Linux и FreeBSD.
  • Поддержка популярных модулей ядра для контейнеров, таких как quota, iptables, tun/tap.
  • Функция миграции VPS, позволяющая перенести контейнер на другой сервер без длительного отключения.

Другие технологии виртуализацииПравить

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

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

Виды виртуализацииПравить

  • Программная виртуализация
    Динамическая трансляция; при динамической (бинарной) трансляции проблемные команды гостевой операционной системы перехватываются гипервизором.Паравиртуализация: операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти.
    Встроенная виртуализация
  • Динамическая трансляция; при динамической (бинарной) трансляции проблемные команды гостевой операционной системы перехватываются гипервизором.
  • Паравиртуализация: операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти.
    Встроенная виртуализация
  • Встроенная виртуализация
  • Аппаратная виртуализация — виртуализация с поддержкой специальной процессорной архитектуры. В отличие от программной виртуализации, с помощью данной техники возможно использование изолированных гостевых систем, управляемых гипервизором напрямую.
  • Виртуализация на уровне операционной системы: работа нескольких экземпляров пространства пользователя в рамках одной ОС. Примерами могут быть Docker, LXC
  • Виртуализация приложений (также виртуализация рабочего окружения): работа отдельных приложений в среде, отделённой от основной ОС. Эта концепция тесно связана с портативными приложениями. Примерами могут быть: Citrix XenApp, .
  • Виртуализация сервисов: эмуляция поведения системных компонентов, необходимых для запуска приложения в целях отладки и тестирования (англ. Application Under Test). Вместо виртуализации компонентов целиком, эта технология виртуализует только необходимые части. Примеры: SoapUI, .
  • (англ. ) — объединением оперативной памяти из различных ресурсов в единый массив. Реализации: , .
  • Виртуальная память — изоляция адресного пространства приложения от всего адресного пространства. Применяется во всех современных ОС.
  • Виртуализация хранения данных, представление набора физических носителей в виде единого физического носителя.
    Блочная виртуализацияФайловая виртуализация
  • Блочная виртуализация
  • Файловая виртуализация
  • Распределённая файловая система — любая файловая система, которая позволяет получать доступ к файлам с нескольких устройств, с помощью компьютерной сети.
  • Виртуальная файловая система — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем.
  • Виртуализация устройств хранения данных: виртуализация жёсткого (логический диск) или оптического диска (например, DAEMON Tools).
  • Виртуализация сети — процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть.
    Внешняя, соединяющая множество сетей в одну виртуальную.Внутренняя, создающая виртуальную сеть между программными контейнерами внутри одной системы.
  • Внешняя, соединяющая множество сетей в одну виртуальную.
  • Внутренняя, создающая виртуальную сеть между программными контейнерами внутри одной системы.
  • Виртуальная частная сеть — обеспечение одного или нескольких сетевых соединений поверх другой сети.

Виртуализация операционных системПравить

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

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

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

Читайте также:  Система локального мониторинга

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

  • Совместное использование ресурсов несколькими гостевыми операционными системами (каталоги, принтеры и так далее).
  • Удобство интерфейса для окон приложений из разных систем (перекрывающиеся окна приложений, одинаковая минимизация окон, как в хост-системе).
  • При тонкой настройке на аппаратную платформу производительность мало отличается от оригинальной операционной системы. Быстрое переключение между системами (менее одной секунды).
  • Простая процедура обновления гостевой операционной системы.
  • Двухсторонняя виртуализация (приложения одной системы запускаются в другой и наоборот).
  • Упрощение разработки программных платформ виртуализации за счет предоставления аппаратных интерфейсов управления и поддержки виртуальных гостевых систем. Это уменьшает трудоемкость и время на разработку систем виртуализации.
  • Возможность увеличения быстродействия платформ виртуализации. Управление виртуальными гостевыми системами осуществляет напрямую небольшой промежуточный слой программного обеспечения, гипервизор, что дает увеличение быстродействия.
  • Улучшается защищённость, появляется возможность переключения между несколькими запущенными независимыми платформами виртуализации на аппаратном уровне. Каждая из виртуальных машин может работать независимо, в своем пространстве аппаратных ресурсов, полностью изолированно друг от друга. Это позволяет устранить потери быстродействия на поддержание хостовой платформы и увеличить защищенность.
  • Гостевая система становится не привязана к архитектуре хостовой платформы и к реализации платформы виртуализации. Технология аппаратной виртуализации делает возможным запуск 64-битных гостевых систем на 32-битных хостовых системах (с 32-битными средами виртуализации на хостах).
  • Intel VT (VT-x, Intel Virtualization Technology for x86)
  • AMD-V

Платформы, использующие аппаратную виртуализацию:

Области применения виртуализацииПравить

Виртуальная машина — это окружение, которое представляется для «гостевой» операционной системы, как аппаратное. Однако на самом деле это программное окружение, которое эмулируется программным обеспечением хостовой системы. Эта эмуляция должна быть достаточно надёжной, чтобы драйверы гостевой системы могли стабильно работать. При использовании паравиртуализации, виртуальная машина не эмулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальный API.

  • Тестовые лаборатории и обучение: тестированию в виртуальных машинах удобно подвергать приложения, влияющие на настройки операционных систем, например инсталляционные приложения. За счёт простоты в развёртывании виртуальных машин, они часто используются для обучения новым продуктам и технологиям.
  • Распространение предустановленного программного обеспечения: многие разработчики программных продуктов создают готовые образы виртуальных машин с предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе. Такие услуги предоставляют Vmware VMTN или Parallels PTN.

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

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

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

Например, к реализации разделения ресурсов можно отнести OpenSolaris Network Virtualization and Resource Control (Проект Crossbow), позволяющий создавать несколько виртуальных сетевых интерфейсов на основе одного физического.

Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное. Иногда сюда же относят сетевые файловые системы абстрагированные от хранилищ данных на которых они построены, например, Vmware VMFS, Solaris/OpenSolaris ZFS, NetApp WAFL.

  • изолированность исполнения приложений: отсутствие несовместимостей и конфликтов;
  • каждый раз в первозданном виде: не загромождается реестр, нет конфигурационных файлов — необходимо для сервера;
  • меньшие ресурсозатраты по сравнению с эмуляцией всей операционной системы.
  • dataWerks – innovative data virtualization solutions that offer a radically new approach to delivering real time business insights . www.datawerks.com. Дата обращения: 12 декабря 2017. Архивировано из оригинала 12 декабря 2017 года.
  • Наталия Елманова, Сергей Пахомов Виртуальные машины 2007. Архивная копия от 7 октября 2011 на Wayback Machine КомпьютерПресс 9’2007
  • . Дата обращения: 31 мая 2011. Архивировано 28 мая 2011 года.
  • Скриншоты BlueStacks (недоступная ссылка)
  • Новости Citrix (www.citrixnews.ru) — 30.09.2008. Дата обращения: 20 июня 2011. Архивировано из оригинала 2 февраля 2014 года.
  • Джон Сэвилл — Виртуальные приложения SoftGrid. — 25.12.07. Дата обращения: 13 июня 2010. Архивировано 19 сентября 2010 года.
Оцените статью
Хостинги