Рейтинг
0.00

Дата-центры OVH

34 читателя, 1208 топиков

Индустриализация тестов хранилища с помощью Hosted Private Cloud от OVHcloud



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

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

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

Стремясь повысить прозрачность, мы решили провести наши тесты с точки зрения конечного пользователя. Это означает, что вся оркестровка, которую мы описываем в этом сообщении в блоге, может быть выполнена любым из наших клиентов Hosted Private Cloud.

Инструменты и оркестровка
FIO, vdbench, I / O Meter, (dd!) — это лишь некоторые из широко используемых и проверенных инструментов для тестирования хранилища. Они дают вам обзор сырой производительности для данного типа хранилища. Но что, если вы хотите сравнить всю инфраструктуру от начала до конца? Это может включать 1, 10, 100, 1000 виртуальных машин или более, с несколькими настройками диска / рейда, несколькими размерами дисков, несколькими размерами блоков. Все с различными общими рабочими нагрузками, состоящими из определенного процента операций чтения / записи, последовательных или случайных и выполняемых таким количеством потоков. Вам также необходимо использовать рабочие нагрузки, соответствующие вашим рабочим нагрузкам. На самом деле комбинации бесконечны.

Учитывая все это, для нашей первой итерации мы начали использовать HCIbench для автоматизации наших тестов.

Тест гиперконвергентной инфраструктуры


HCibench (https://flings.vmware.com/hcibench) — это бесплатный инструмент автоматизации тестирования с открытым исходным кодом. Он определяет себя как «Гиперконвергентный контрольный показатель инфраструктуры». По сути, это оболочка автоматизации вокруг популярных и проверенных инструментов тестирования производительности с открытым исходным кодом: Vdbench и Fio, упрощающая автоматизацию тестирования в кластере HCI. HCIBench стремится упростить и ускорить тестирование производительности POC-клиентов согласованным и контролируемым образом. Инструмент полностью автоматизирует сквозной процесс развертывания тестовых виртуальных машин, координации прогонов рабочей нагрузки, агрегирования результатов тестирования, анализа производительности и сбора необходимых данных для устранения неполадок.


HCIbench так же прост в установке, как и развертывание OVA (Open Virtual Appliance) в вашей инфраструктуре VMware:


Как только HCIbench настроен, просто укажите в браузере https: // IP: 8483, и вы готовы начать тесты:



После ввода учетных данных vCenter и некоторой дополнительной информации (центр обработки данных, кластер, сеть, хранилище данных и т. Д.) Вы сможете настроить параметры гостевых виртуальных машин:
  • Количество виртуальных машин для развертывания
  • Количество дисков для каждой виртуальной машины
  • Размер диска
  • Инструмент тестирования (FIO или vdbench)
  • Файл параметров ввода / вывода (подробности см. Ниже)
  • продолжительность
  • И более …
Затем HCIbench возьмет на себя все операции по развертыванию / переработке ВМ и выполнит ваш тест. Результаты доступны в различных формах, от интерфейсов Grafana до файлов Excel или просто текстовых файлов для дальнейшего внешнего анализа…


Файлы параметров рабочей нагрузки, моделирование операций ввода-вывода
Файлы параметров рабочей нагрузки (здесь используется vdbench) лежат в основе всех операций тестирования. Они описывают модель ввода-вывода, которую вы хотите запустить для данной конечной точки хранения. Доступны процент чтения / записи, случайный / последовательный, размер блока, потоки и многие другие параметры.

Мы выбрали 3 различных подхода для оценки наших платформ хранения: общие рабочие нагрузки, прикладные рабочие нагрузки и производственные рабочие нагрузки.

«Общие» рабочие нагрузки
Под «общими» рабочими нагрузками мы понимаем все рабочие нагрузки, которые выглядят как «ТОЛЬКО СЛУЧАЙНЫЕ ЧИТАНИЯ» или «ТОЛЬКО ПОСЛЕДОВАТЕЛЬНЫЕ ПИСЬМА». Они позволяют нам проверить, как тип хранилища реагирует на линейные случаи и как он работает с «экстремальными» случаями.


Пример «универсального» файла параметров рабочей нагрузки vdbench
root@photon-HCIBench [ /opt/automation/vdbench-param-files ]# cat 
GENERIC-ONLY-READS-RANDOM-16K-vdb-1vmdk-80ws-16k-100rdpct-100randompct-4threads
*SD:    Storage Definition
*WD:    Workload Definition
*RD:    Run Definitionsd=sd1,
        lun=/dev/sda,openflags=o_direct,
        hitarea=0,range=(0,80),
        threads=4,
        wd=wd1,
        sd=sd1,
        rd=run1,
        xfersize=16k,
        rdpct=100,
        seekpct=100,
        iorate=max,
        elapsed=120,
        interval=1

«Прикладные» рабочие нагрузки
Под «прикладными» рабочими нагрузками мы понимаем рабочие нагрузки, которые соответствуют распространенным производственным сценариям использования, таким как «DATABASE WORKLOAD», «VDI WORKLOAD», «BACKUP WORKLOAD» и т. Д. С помощью этих тестов мы можем эмулировать типичную рабочую нагрузку и проверять области, где данный тип хранилища первенствует.


Пример файла параметров рабочей нагрузки vdbench «Приложение»
root@photon-HCIBench [ /opt/automation/vdbench-param-files ]# cat 
OLTP-SQL-Oracle-Exchange-vdb-1vmdk-80ws-16k-100random-70rdpct-4threads
*SD:    Storage Definition
*WD:    Workload Definition
*RD:    Run Definitionsd=sd1,
        lun=/dev/sda,
        openflags=o_direct,
        hitarea=0,range=(0,80),
        threads=4wd=wd1,
        sd=(sd1),
        xfersize=16k,
        rdpct=70,
        seekpct=100,
        rd=run1,
        wd=wd1,
        iorate=max,
        elapsed=120,
        interval=1


«Производственные» нагрузки.
Наконец, еще один подход, над которым мы работаем, — это возможность «записывать» производственную рабочую нагрузку и «воспроизводить» ее на другой конечной точке хранилища, чтобы оценить, как целевое хранилище работает с вашей рабочей нагрузкой без необходимости запуска на ней реального производства. Хитрость заключается в том, чтобы использовать комбинацию из 3 инструментов blktrace, btrecord и btreplay для отслеживания и отслеживания вызовов ввода-вывода низкого уровня и возможности воспроизведения этих трассировок на другой платформе хранения.

В следующем сообщении мы поделимся этой возможностью с вами, следите за обновлениями!

Индустриализация HCIbench выполняется с помощью планировщика Rundeck

Как мы видели, с помощью нескольких щелчков мыши мы можем определить и запустить эталонный сценарий для конкретной рабочей нагрузки. Развертывание и утилизация зондирующих виртуальных машин полностью автоматизированы. Что, если затем мы хотим выполнить несколько сценариев? Например, как часть полной проверки новой платформы хранения? В этот момент мы начали использовать Rundeck (http://www.rundeck.com), бесплатный и открытый планировщик автоматизации Runbook, перед HCIbench. Идея состоит в том, чтобы иметь возможность создавать полные коллекции сценариев тестирования.



Первым шагом было понять, как HCIbench работает под капотом, чтобы мы могли управлять им с помощью планировщика Rundeck. HCIbench предназначен для использования через веб-интерфейс, но вся механика, стоящая за ним, выполняется с помощью чистых и отдельных скриптов, таких как start / stop / kill. Все настройки бенчмарка хранятся в чистом плоском файле конфигурации, который было легко преобразовать в шаблон…

Шаблонный файл конфигурации HCIbench
root@photon-HCIBench [ /opt/automation/conf ]# cat template.yaml
vc: '<VCENTER_HOSTIP>'
vc_username: '<USERNAME>'
vc_password: '<PASSWORD>'
datacenter_name: '<DATACENTER>'
cluster_name: '<CLUSTER>'
number_vm: '<NUMBERVM>'
testing_duration: '<DURATION>'
datastore_name:- '<DATASTORE>'
output_path: '<OUTPUT_PATH>'
...


Bench “root job”

Задание rundeck состоит из последовательности шагов, которые будут выполняться в определенном списке узлов. В нашем контексте узлами являются виртуальные машины, работающие под управлением HCIbench.

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

Параметры (параметры) этого задания — это все элементы из шаблона конфигурации HCIbench (см. Выше).




Рабочий процесс для этой работы выглядит следующим образом:
  • Разбор вариантов работы
  • SSH подключиться к HCIbench VM
  • Заполните шаблон конфигурации с соответствующими параметрами работы
  • Запустить HCIbench


Верстак
Во-вторых, у нас есть «рабочие места». Через API rundeck мы создали задания для каждой рабочей нагрузки, чтобы иметь возможность запускать стенды индивидуально или по группам, как требуется. Каждое из этих «рабочих заданий» называется «корневым заданием», описанным выше, с соответствующими параметрами.


«Супер» рабочие места
Наконец, у нас есть «Супер рабочие места». Это наборы заданий, их рабочие процессы представляют собой серию вызовов рабочих мест. Мы используем механизм опций каскадирования для передачи опций через задания. В приведенном ниже примере мы тестируем кластер vSAN через полную панель моделей ввода / вывода.


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


Результаты и варианты использования
VSAN
Интеграция vSAN в наш продукт Hosted Private Cloud была типичным эталонным проектом, в котором нам нужно было не только проверить, как работает вся платформа в каждой области, но и уточнить дизайн самой платформы. С одной стороны, мы оценили аппаратные конструкции с несколькими ссылками на диски, а с другой стороны мы улучшили дизайн программного обеспечения, оценивая различные группы дисков vSAN и конфигурации кэша.


Влияние нового ядра на массивы хранения
Другой интересный случай использования — это когда мы оцениваем влияние нового ядра на наши массивы хранения на основе OmniOS (http://www.omniosce.org). OmniOS — это бесплатная операционная система с открытым исходным кодом, основанная на OpenSolaris, которая объединяет некоторые замечательные технологии, такие как поддержка зон ZFS, DTrace, Crossbow, SMF, Bhyve, KVM и Linux. Этот случай показывает не только немного лучшую производительность, но и значительное улучшение обработки ввода-вывода.

Действительно, среди множества различных тестов новое ядро (r151022) демонстрирует гораздо более стабильные и линейные операции ввода-вывода. Этот стенд также подтверждает несколько исправлений ZFS / NFS, которые были включены в это ядро и которые устраняют проблемы с задержкой во время моментального снимка отправки / получения ZFS.


Индустриализация наших тестов позволила нам контролировать производительность нашего хранилища. Прежде всего, поскольку мы создали их с учетом потребностей наших пользователей, мы согласны с тем, что получат наши клиенты. Кроме того, эталонные тесты дают нам представление об устранении проблем хранилища, которые очень специфичны и / или видны только на виртуальных машинах. Мы планируем расширить это, чтобы мы могли проверить, как работает сторона вычислений (CPU / RAM /…). Наконец, мы сейчас сосредоточены на функции рабочей нагрузки записи / воспроизведения, позволяющей нашим пользователям прогнозировать, как их рабочая нагрузка будет работать на платформах «XYZ», без необходимости фактически запускать на них свою производственную среду. Мы подробно расскажем об этом в следующем сообщении, следите за обновлениями.

OVHcloud Object Storage clusters support S3 API



Что такое хранилище объектов?
Знаете ли вы, что большой объем данных в Интернете хранится в хранилище объектов?

Хранилище объектов — это статическое решение для хранения данных, которое позволяет просто расширять хранилище, не добавляя больше оборудования. Преимущества этого по-прежнему неправильно понимаемого облачного сервиса разнообразны и включают высокую устойчивость и доступность. Однако, если бы мне пришлось выбрать один, я бы сказал, что хранилище объектов делает следующее сообщение об ошибке устаревшим: «На устройстве не осталось места».

Прежде чем обсуждать преимущества, давайте точно определим, что это за объект. Объект — это просто файл: единица данных, к которой можно получить доступ через путь или сетевой адрес, обычно адрес https. Объект хранится вместе со всеми соответствующими расширенными метаданными, которые необходимы при применении подпрограмм. Например, если метаданные содержат информацию об истечении срока действия, подпрограмма, связанная с этими метаданными, удалит данные после истечения срока годности. Другая процедура — это подпись MD5, которая генерируется автоматически после загрузки, что помогает подтвердить правильность данных кластера.

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


Стандартный и Обратимый
OVHcloud продвигает облако SMART (стандартное, мультилокальное, доступное, обратимое и прозрачное). Чтобы было ясно, это не просто желательное утверждение, а ценности, которые OVHcloud стремится реализовать. Например, мы усердно работаем над созданием решений, которые никогда не привязывают наших клиентов к технологиям или жестким контрактам.

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

Имея это в виду, тот факт, что AWS демократизировал свое собственное решение S3, очень ценен, поскольку теперь он является рыночным стандартом, который можно легко использовать в качестве услуги. OVHcloud, в свою очередь, смог предоставить S3 API для своего решения для хранения объектов.

API S3
Интерфейс прикладного программирования Amazon S3 (S3 API) — это наиболее распространенный способ хранения, управления и извлечения данных хранилищами объектов. S3 API — это интерфейсный интерфейс поверх OpenStack Swift. Чтобы использовать S3 API в OVHcloud, вам необходимо получить учетные данные S3 из Keystone (1), который является модулем аутентификации в OpenStack. Это предоставит вам идентификатор ключа доступа и секретный ключ, который вы можете использовать в своем инструменте S3 (2). Получив эти учетные данные, вы сможете общаться с OVHcloud, используя «язык» S3, и использовать наши решения для хранения объектов. S3 API проверит ваши учетные данные (4) и переведет ваши звонки в Swift API (5), чтобы выполнить ваши запросы (6).


Вариант использования: API S3 на работе
Давайте рассмотрим типичный пример: использование S3 API для хранения мультимедийных и статических файлов для веб-сайта WordPress в OVHcloud Object Storage.

Мы будем использовать плагин WordPress под названием Media Cloud, который хранит мультимедиа (изображения, видео) в облачных сервисах. Как только он будет установлен, нам понадобятся учетные данные S3 для настройки плагина, сгенерированного с помощью OpenStack CLI.
$ openstack ec2 credentials create
+------------+-----------------------------------------------------------+
| Field:     | Value                                                     |       
+------------+-----------------------------------------------------------+
| access     | 5a4d8b8d88104123a862c527ede5a3d3                          |
| links      | {u'self': u'https://auth.cloud.ovh.net/...                |
| project_id | 20e124b71be141299e111ec26b1892fa                          |
| secret     | 925d5fcfcd9f436d8ffcb20548cc53a2                          |
| trust_id   | None                                                      |
| user_id    | d74d05ff121b44bea9216495e7f0df61                          |
+------------+-----------------------------------------------------------+


Теперь мы можем настроить плагин, выбрав в мастере запись «S3-совместимый» и предоставив учетные данные при появлении запроса. Убедитесь, что указали правильную конечную точку: storage.gra.cloud.ovh.net



Наконец, просто загрузите изображения в раздел «Медиа» и дважды проверьте, что они размещены в OVHcloud Object Storage.


Из всех доступных вариантов хранилище объектов представляет собой простое, чрезвычайно надежное, высокодоступное и бесконечно масштабируемое решение для хранения данных. Кроме того, OVHcloud установил стандарт, гарантируя, что его предложение Object Storage совместимо с де-факто сервисом Amazon S3.

Ваша служба изменится с 13 февраля



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

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

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

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

3. Расширенные часы работы
В случае прерывания обслуживания, наша команда будет доступна с понедельника по пятницу, с 08:00-18:00.
Консультанты Больше технической поддержки доступны, когда вы нуждаетесь в них больше всего.

Нужен более высокий уровень поддержки для вашего бизнеса?
С 13 февраля 2020 года, вы можете подписаться на новое решение премиума, который заменит текущий VIP решения. Вот разбивка различных вспомогательных услуг, которые мы предлагаем:


www.ovhcloud.com/en-ie/support-levels/

Это был напряженный год для нас



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

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

В 2019 подходит к концу, мы хотели бы поделиться с вами некоторые из новшеств, которые отмечены 2019 Вы уже использовали их для создания новых проектов…


Некоторые новые диапазоны Bare Metal появились
Предложив пропускную способность двойной общественности к нашим специалистам клиентам сервера в начале года, наше предложение эволюционировало с полным обновлением нашего ассортимента. Теперь они сливаются простоту, производительность и универсальность, чтобы удовлетворить ваши самые требовательные потребности бизнеса!
www.ovh.ie/news/press/cpl1129.ovhs-new-bare-metal-product-ranges-combine-simplicity-high-performance-and-versatility


Упрощенная Public Cloud Вселенная + полная экосистема
Наша миссия с нашей новой общественным Облаком Вселенной, доступная с маи, должны была сделать ваши облачные ресурсы по требованию, и с упрощенным пользовательским опытом.
www.ovh.ie/public-cloud/


Аранжировка контейнерных приложений
С Managed Kubernetes службы, «облако родной» подход для приложений только на расстоянии одного клика. С марта мы предложили услугу, мы управляем во всей ее полноте и являются весьма доступно.
www.ovh.ie/public-cloud/kubernetes


Последнее: Enterprise Cloud Базы данных
Этот совершенно новый полностью управляется и контролируется выделенный обеспечивает сервис постоянной высокой доступности для большинства критических нагрузок. От ежедневных резервных копий на обновление программного обеспечения, вы не имеете ничего беспокоиться, мы позаботимся обо всем.
www.ovh.ie/enterprise-cloud-databases/


Программа партнера, на основе наших облачных решений
С сентября мы отбора и поддержки интеграторам, реселлерам, аутсорсеров, а также веб — агентств. Если не вам нравится идея, то ждать не больше: Узнайте о и присоединиться к нашей партнерской программе
partner.ovhcloud.com/en-ie/

Они говорят, что это лучше всего
В течение года наши клиенты из всех слоев общества, говорят нам, с опорной схемой, как им удалось добиться успеха их проект…
www.ovh.ie/case-studies/

Public Cloud, Keystone API upgrading from v2 to v3



Для того, чтобы предложить Вам самые последние возможности нашего решения Public Cloud, нам нужно будет обновлять API, используемый для заказа ключевой компонент OpenStack: Keystone.

Напомним, что Keystone является аутентификация и авторизация API, который управляет инфраструктурой Public Cloud.

Когда обновление происходит?
С 01 октября 2019 года, все файлы Open-RC будет генерироваться с версией 3.0 API Keystone для панели управления OVHcloud, OpenStack Horizon, и API.

24 марта 2020 года, мы будем отключить версии 2.0, оставив только версии 3.0 включены.

Если вы по — прежнему генерировать вызовы через Keystone 2.0 API, мы рекомендуем обновить свои развертывания сценариев при первой возможности. Мы также рекомендуем проверять, что ваши сторонние приложения используют Keystone версии 3.0.

Пожалуйста, нажмите на следующую ссылку, чтобы просмотреть список вызовов, которые больше не будут быть поддержаны Keystone 2,0: auth.cloud.ovh.net/v2.0/

Они будут заменены: auth.cloud.ovh.net/v3/

Для получения дополнительной информации о версии 3.0, пожалуйста, прочитайте документацию здесь и рекомендация здесь.
docs.openstack.org/api-ref/identity/v3/index.html
docs.openstack.org/keystone/pike/contributor/http-api.html

Как наши экземпляры Public Cloud получают выгоду от архитектуры NVMe

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



В OVHcloud мы любим прагматичные решения. В этом духе несколько месяцев назад мы начали предлагать графические процессоры в нашем публичном облаке, то есть предоставлять виртуальные машины с графическими процессорами. Но виртуализация GPU в настоящее время не может обеспечить требуемый уровень производительности, поэтому мы решили связать GPU напрямую с виртуальными машинами, избегая уровня виртуализации. KVM — гипервизор нашего Public Cloud — использует libvirt, которая имеет функцию PCI passthrough, которая оказалась именно тем, что нам нужно для этой цели.


Чтобы обеспечить наилучшую производительность хранилища, мы работали с рядом наших клиентов на PoC, который использовал ту же функцию PCI Passthrough, чтобы включить самое быстрое устройство хранения в наши экземпляры Public Cloud: карты NVMe с 1,8 ТБ места.

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


Вы говорите быстро, но как быстро?
Давайте рассмотрим некоторые конкретные примеры и потратим время, чтобы оценить потрясающую скорость этих новых экземпляров! Мы будем использовать самую большую модель экземпляра и запустим стенд ввода-вывода на RAID 0. Таким образом, мы увидим, каковы ограничения, когда мы нацелены на самое быстрое решение для хранения данных на простом экземпляре Public Cloud.

Сначала создайте экземпляр i1-180, используя CLI OpenStack.
$ openstack server create --flavor i1-180 --image "Ubuntu 19.04" \
  --net Ext-Net --key-name mykey db01

Проверьте устройства NVMe на экземпляре.
$ lsblk | grep nvme
nvme2n1 259:0    0  1.8T  0 disk
nvme1n1 259:1    0  1.8T  0 disk
nvme0n1 259:2    0  1.8T  0 disk
nvme3n1 259:3    0  1.8T  0 disk

У нас есть четыре устройства NVMe, поэтому давайте создадим RAID 0 с ними.
$ mdadm --create /dev/md1 --level 0 --raid-devices 4 \
  /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started

Теперь мы отформатируем рейдовое устройство.
$ mkfs.xfs /dev/md1
meta-data=/dev/md1               isize=512    agcount=32, agsize=58601344 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=1875243008, imaxpct=5
         =                       sunit=128    swidth=512 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

После монтирования файловой системы в / mnt мы готовы запустить тест.

Читать тест
Мы начнем с теста чтения, используя блоки 4k, и, поскольку у нас 32 vCores для этой модели, мы будем использовать 32 задания. Пойдем!
$ fio --bs=4k --direct=1 --rw=randread --randrepeat=0 \
  --ioengine=libaio --iodepth=32 --runtime=120 --group_reporting \
  --time_based --filesize=64m --numjobs=32 --name=/mnt/test
/mnt/test: (g=0): rw=randread, bs=® 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=32
[...]
fio-3.12
Starting 32 processes
Jobs: 32 (f=32): [r(32)][100.0%][r=9238MiB/s][r=2365k IOPS][eta 00m:00s]
/mnt/test: (groupid=0, jobs=32): err= 0: pid=3207: Fri Nov 29 16:00:13 2019
  read: IOPS=2374k, BW=9275MiB/s (9725MB/s)(1087GiB/120002msec)
    slat (usec): min=2, max=16031, avg= 7.39, stdev= 4.90
    clat (usec): min=27, max=16923, avg=419.32, stdev=123.28
     lat (usec): min=31, max=16929, avg=427.64, stdev=124.04
    clat percentiles (usec):
     |  1.00th=[  184],  5.00th=[  233], 10.00th=[  269], 20.00th=[  326],
     | 30.00th=[  363], 40.00th=[  388], 50.00th=[  412], 60.00th=[  437],
     | 70.00th=[  465], 80.00th=[  506], 90.00th=[  570], 95.00th=[  635],
     | 99.00th=[  775], 99.50th=[  832], 99.90th=[  971], 99.95th=[ 1037],
     | 99.99th=[ 1205]
   bw (  KiB/s): min=144568, max=397648, per=3.12%, avg=296776.28, stdev=46580.32, samples=7660
   iops        : min=36142, max=99412, avg=74194.06, stdev=11645.08, samples=7660
  lat (usec)   : 50=0.01%, 100=0.02%, 250=7.41%, 500=71.69%, 750=19.59%
  lat (usec)   : 1000=1.22%
  lat (msec)   : 2=0.07%, 4=0.01%, 10=0.01%, 20=0.01%
  cpu          : usr=37.12%, sys=62.66%, ctx=207950, majf=0, minf=1300
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued rwts: total=284924843,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=32
 
Run status group 0 (all jobs):
   READ: bw=9275MiB/s (9725MB/s), 9275MiB/s-9275MiB/s (9725MB/s-9725MB/s), io=1087GiB (1167GB), run=120002-120002msec
 
Disk stats (read/write):
    md1: ios=284595182/7, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=71231210/1, aggrmerge=0/0, aggrticks=14348879/0, aggrin_queue=120, aggrutil=99.95%
  nvme0n1: ios=71231303/2, merge=0/0, ticks=14260383/0, in_queue=144, util=99.95%
  nvme3n1: ios=71231349/0, merge=0/0, ticks=14361428/0, in_queue=76, util=99.89%
  nvme2n1: ios=71231095/0, merge=0/0, ticks=14504766/0, in_queue=152, util=99.95%
  nvme1n1: ios=71231096/4, merge=0/1, ticks=14268942/0, in_queue=108, util=99.93%

2,370 тыс. Операций ввода-вывода в секунду Это потрясающие фигуры, не так ли?

Написать тест
Готов к тесту записи?
$ fio --bs=4k --direct=1 --rw=randwrite --randrepeat=0 --ioengine=libaio --iodepth=32 --runtime=120 --group_reporting --time_based --filesize=64m --numjobs=32 --name=/mnt/test
/mnt/test: (g=0): rw=randwrite, bs=® 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=32
[...]
fio-3.12
Starting 32 processes
Jobs: 32 (f=32): [w(32)][100.0%][w=6702MiB/s][w=1716k IOPS][eta 00m:00s]
/mnt/test: (groupid=0, jobs=32): err= 0: pid=3135: Fri Nov 29 15:55:10 2019
  write: IOPS=1710k, BW=6680MiB/s (7004MB/s)(783GiB/120003msec); 0 zone resets
    slat (usec): min=2, max=14920, avg= 6.88, stdev= 6.20
    clat (nsec): min=1152, max=18920k, avg=587644.99, stdev=735945.00
     lat (usec): min=14, max=18955, avg=595.46, stdev=736.00
    clat percentiles (usec):
     |  1.00th=[   21],  5.00th=[   33], 10.00th=[   46], 20.00th=[   74],
     | 30.00th=[  113], 40.00th=[  172], 50.00th=[  255], 60.00th=[  375],
     | 70.00th=[  644], 80.00th=[ 1139], 90.00th=[ 1663], 95.00th=[ 1991],
     | 99.00th=[ 3490], 99.50th=[ 3949], 99.90th=[ 4686], 99.95th=[ 5276],
     | 99.99th=[ 6521]
   bw (  KiB/s): min=97248, max=252248, per=3.12%, avg=213714.71, stdev=32395.61, samples=7680
   iops        : min=24312, max=63062, avg=53428.65, stdev=8098.90, samples=7680
  lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.86%, 50=11.08%
  lat (usec)   : 100=15.35%, 250=22.16%, 500=16.34%, 750=6.69%, 1000=5.03%
  lat (msec)   : 2=17.66%, 4=4.38%, 10=0.44%, 20=0.01%
  cpu          : usr=20.40%, sys=41.05%, ctx=113183267, majf=0, minf=463
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,205207842,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=32
 
Run status group 0 (all jobs):
  WRITE: bw=6680MiB/s (7004MB/s), 6680MiB/s-6680MiB/s (7004MB/s-7004MB/s), io=783GiB (841GB), run=120003-120003msec
 
Disk stats (read/write):
    md1: ios=0/204947351, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/51301962, aggrmerge=0/0, aggrticks=0/27227774, aggrin_queue=822252, aggrutil=100.00%
  nvme0n1: ios=0/51302106, merge=0/0, ticks=0/29636384, in_queue=865064, util=100.00%
  nvme3n1: ios=0/51301711, merge=0/0, ticks=0/25214532, in_queue=932708, util=100.00%
  nvme2n1: ios=0/51301636, merge=0/0, ticks=0/34347884, in_queue=1089896, util=100.00%
  nvme1n1: ios=0/51302396, merge=0/0, ticks=0/19712296, in_queue=401340, util=100.00%


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

Конечно, мы представляем оптимальный сценарий для этого примера. RAID 0 изначально опасен, поэтому любой сбой на одном из устройств NVMe может повредить ваши данные. Это означает, что вы обязательно должны создавать резервные копии для ваших важных данных, но это само по себе открывает много новых возможностей. Так что мы на 100% уверены, что ваши базы данных полюбят эти экземпляры! Вы можете найти более подробную информацию о них на нашем веб-сайте Public Cloud.
www.ovh.ie/public-cloud/iops/

Водяное охлаждение: от инноваций до разрушения - Часть II

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

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

Чтобы упростить процесс и снизить затраты, мы заменили металлическую крышку на пластик АБС.


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


Как и в предыдущих итерациях, мы также производили водные блоки в меньших форм-факторах. Например, здесь у вас есть водоблок GPU:


3D печать водяных блоков
Использование пластиковых крышек для водяных блоков также открыло двери для нового процесса прототипирования, включая 3D-печать. Мы начали экспериментировать с водными блоками из АБС-пластика с 3D-печатью, тестируя различные типы крышек.

Варианты обложек с 3D-печатью:


CFD симуляции
Впервые в истории OVHcloud мы использовали расширенное моделирование CFD (Computational Fluid Dynamics). Это позволило нам оптимизировать термогидравлику пластин с медным основанием и еще больше улучшить производительность водяного блока.


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


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


К 2017 году мы смогли использовать водоблоки с оптимальной мощностью 200 Вт и температурой воды 30C, и все они были полностью спроектированы и изготовлены внутри компании OVHcloud.

После пластиковых крышек АБС пришло время испытать другие пластмассы, включая полиамиды.

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


Водоблок с белой полиамидной пластиковой крышкой для стандартных процессоров


Водоблок для процессоров высокой плотности с черной полиамидной пластиковой крышкой:


Эксперименты с полиамидным пластиком также позволили нам быстро разработать и протестировать различные прототипы для расширенной поддержки ЦП и снижения затрат.


2018-2019
В OVHcloud у нас есть полный контроль от R & D до развертывания центра обработки данных. Мы можем непрерывно вводить новшества в короткие циклы, что значительно сокращает время между прототипированием и крупномасштабным развертыванием.

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


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


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


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



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

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


Мы стремимся к созданию водяных блоков мощностью 400 Вт с температурой воды 30C и полностью резервированной системой водоснабжения.

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

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