Существует три основных способа организации систем хранения данных (СХД) в корпоративных ИТ-системах и в системах облачных провайдеров:
- Блочные системы (Block Storage).
- Файловые системы (File Storage).
- Объектные системы (Object Storage).
Блочные системы называются так потому, что хранимые в них данные разбиваются на блоки одинакового размера. Блок данных – это не файл, не законченный объект, а просто некие данные в куске фиксированного размера (по-английски – chunk). Файл данных может быть размещен в конечном числе блоков, и если последний из этих блоков остается незаполненным, то он все равно будет иметь тот же фиксированный размер, что и заполненные блоки. Сервер получает доступ к этим блокам через сеть хранения данных SAN (storage attached network).
Блочная СХД может быть использована любой операционной системой как дисковый том этой системы. Каждому серверу может быть предоставлен практически неограниченный размер диска. Пользователь видит этот диск в интерфейсе операционной системы сервера. ОС сервера может подключаться к блокам данных через высокоскоростные интерфейсы FC (Fiber Channel) или iSCSI. Поэтому основное достоинство блочных систем – высокое быстродействие.
Операционная система сервера может быть как физической (хост), так и виртуальной (виртуальная машина). Следует отметить, что физическим серверам нужны дополнительные контроллеры для того, чтобы получать доступ к исходным блокам.
Размер блоков определяется производителем оборудования. Однако архитектор, разрабатывающий дизайн корпоративной ИТ-системы, может определять размер блока данных в зависимости от требований конфигурации и сценария применения. Размер блока может зависеть и от типа физических дисков в системах хранения (жесткие диски HDD или флеш-накопители SSD), а также от типа самих данных клиентов. Правильный выбор размера диска во многих случаях помогает оптимизировать параметры работы корпоративной ИТ-системы в целом.
Операционная система сервера присваивает каждому блоку данных простой идентификатор расположения (location ID), по которому его можно быстро найти в SAN, именно поэтому блочная СХД имеет высокое быстродействие.
Заметим, что, например, в объектных системах хранения в качестве такого идентификатора используются метаданные (тип файла, название файла, дата и пр). Понятно, что при таком механизме время поиска объекта в системе увеличивается, хотя объектные системы хранения имеют много преимуществ для других ситуаций.
Когда нужны блочные системы
Обычно блочные системы хранения выбирают, когда при проектировании ИТ-системы критичными являются такие параметры, как скорость ввода-вывода данных IOPS (input output operations per second), а также задержка (latency) доступа к данным через SAN. Например, это могут быть серверы баз данных или бизнес-критичных приложений, требующих высокого быстродействия и высокой надежности.
В таких базах данных, как Oracle или SAP Hana, используются именно блочные системы. Виртуальные машины VMware также по умолчанию используют блочное хранение, поскольку при этом можно построить быстродействующую и многофункциональную виртуальную инфраструктуру. Блочное хранение может быть также использовано практически во всех архитектурах ЦОД, будь то единичный сервер или же высоконадежные кластерные серверные решения.
Блочные системы хранения в настоящий момент являются безусловным лидером по доле в корпоративном хранении данных как в малых предприятиях, так и в ИТ-системах крупных корпораций.
Наиболее употребительные области применения блочных СХД:
- Бизнес-приложения и СУБД (сервер баз данных SQL), корпоративные системы CRM/ERP, такие как серверы , SAP, Navision и другие.
- Хранение данных компаний интернет-коммерции, различных госорганов и пр.
- Различные системы виртуализации: рабочих мест, сетевых функций, контейнерные технологии и пр.
- Хранение «сырых» данных, получаемых от систем «Интернета вещей» (IoT).
Система блоков
Используется полиспаст в случаях, если необходимо прилагая минимальные усилия поднять или переместить тяжелый груз, обеспечить натяжение и т.п. Простейший полиспаст состоит всего из одного блока и каната, при этом позволяет в два раза снизить тяговое усилие, необходимое для подъема груза.
Рисунок 1. Каждый подвижный блок в полиспасте даёт двукратный выигрыш в силе или скорости
Обычно в грузоподъемных механизмах применяют силовые полиспасты, позволяющие уменьшить натяжение каната, момент от веса груза на барабане и передаточное число механизма (тали, лебедки). Скоростные полиспасты, позволяющие получить выигрыш в скорости перемещения груза при малых скоростях приводного элемента, применяются значительно реже. Они используются в гидравлических или пневматических подъемниках, погрузчиках, механизмах выдвижения телескопических стрел кранов.
Основной характеристикой полиспаста является кратность. Это отношение числа ветвей гибкого органа, на котором подвешен груз, к числу ветвей наматываемых на барабан (для силовых полиспастов), либо отношение скорости ведущего конца гибкого органа к ведомому (для скоростных полиспастов). Условно говоря, кратность это теоретически рассчитанный коэффициент выигрыша в силе или скорости при использовании полиспаста. Изменение кратности полиспаста происходит путем введения или удаления из системы дополнительных блоков, при этом конец каната при четной кратности крепится на неподвижном элементе конструкции, а при нечетной кратности — на крюковой обойме.
Рисунок 2. Крепление каната при чётной и нечётной кратности полиспаста
Выигрыш в силе при применении полиспаста с $n$ подвижных и $n$ неподвижных блоков определяется по формуле: $P=2Fn$, где $Р$ — вес груза, $F$ — сила, прилагаемая на входе полиспаста, $n$ — число подвижных блоков.
В зависимости от количества ветвей каната, закрепленных на барабане грузоподъемного механизма, можно выделить одинарные (простые) и сдвоенные полиспасты. В одинарных полиспастах, при наматывании или сматывании гибкого элемента вследствие его перемещения вдоль оси барабана, создается нежелательное изменение нагрузки на опоры барабана. Также в случае отсутствия в системе свободных блоков (канат с блока крюковой подвески непосредственно переходит на барабан) происходит перемещение груза не только в вертикальной, но и в горизонтальной плоскости.
Рисунок 3. Одинарные и сдвоенные полиспасты
Для обеспечения строго вертикального подъема груза применяют сдвоенные полиспасты, (состоящие из двух одинарных), в этом случае на барабане закрепляются оба конца каната. Для обеспечения нормального положения крюковой подвески при неравномерной вытяжке гибкого элемента обоих полиспастов применяют балансир или уравнительные блоки.
Рисунок 4. Способы обеспечения вертикальности подъёма груза
Скоростные полиспасты отличаются от силовых тем, что в них рабочая сила, обычно развиваемая гидравлическим или пневматическим цилиндром, прикладывается к подвижной обойме, а груз подвешивается к свободному концу каната или цепи. Выигрыш в скорости при использовании такого полиспаста получается в результате увеличения высоты подъёма груза.
При использовании полиспастов следует учитывать, что используемые в системе элементы не являются абсолютно гибкими телами, а имеют определенную жесткость, поэтому набегающая ветвь не сразу ложится в ручей блока, а сбегающая ветвь не сразу выпрямляется. Это наиболее заметно при использовании стальных канатов.
Вопрос: почему у подъемных строительных кранов крюк, который переносит груз, закреплен не на конце троса, а на обойме подвижного блока?
Ответ: для обеспечения вертикальности подъёма груза.
Блочное хранение в облаке
Блочное хранение данных – очень популярная услуга облачных провайдеров. Она дает возможность использовать такое полезное качество, как эластичность. То есть пользователю нет необходимости закупать оборудование для СХД с «запасом на будущее». Он может заказать у провайдера емкость хранения в соответствии с текущими потребностями и потом быстро «дозаказать» ее при необходимости. В большинстве случаев этот процесс может занять несколько минут. При этом данные будут хорошо защищены высокой доступностью услуги облачного хранения и технологией репликации в облаке. Кроме того, шифрование, которое обеспечивает облачный провайдер, не позволит другим серверам, использующим ту же облачную СХД, получить доступ к чужим данных. Таким образом, когда нужно быстро и недорого расширить имеющееся блочное хранилище, использование услуги блочной СХД в облаке может быть оптимальным вариантом.
Если говорить не о публичном, а о частном облаке ИТ-системы или дата-центра (центров) крупной организации, то и здесь можно использовать сходные механизмы блочного хранения. При этом вместо разных заказчиков, данные которых нужно разделять в облаке, будут выступать подразделения (отделы, сервисы, филиалы) этой организации. И здесь использование блочного хранения чаще всего будет предпочтительным вариантом, поскольку эта технология обеспечивает высокую скорость бизнес-процессов организации, а также достаточную гибкость перераспределения ресурсов в масштабах организации.
Золотое правило механики
Простые механизмы выигрыша в работе не дают. Во сколько мы получаем выигрыш в силе, во столько же раз проигрываем в расстоянии. Так как работа равна скалярному произведению сила на перемещение, следовательно, она не изменится при использовании подвижного (как и неподвижного) блоков.
В виде формулы «золотое правило№ можно записать так:
где — путь, который проходит точка приложения силы — путь проходимый точкой приложения силы .
Золотое правило является самой простой формулировкой закона сохранения энергии. Это правило распространяется на случаи, равномерного или почти равномерного движения механизмов. Расстояния поступательного движения концов веревок связаны с радиусами блоков ( и ) как:
Получим, что для выполнения «золотого правила» для двойного блока необходимо, чтобы:
Если силы и уравновешены, то блок покоится или движется равномерно.
Примеры использования блочной модели
Создадим простую страницу с блочным элементом:
Example Site for CSS Box Model
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Это просто HTML-документ с текстом внутри контейнера div. В браузере он выглядит так:
Для блока мы определили цвета фона, чтобы вы могли видеть, как он растягивается по экрану. Это позволит лучше понять то, что будет происходить дальше. Вот соответствующий CSS:
.example-element { background-color: deepskyblue; }
Давайте внесём несколько изменений.
Изменяем ширину
Первое, что мы сделаем, — определим ширину. Как было упомянуто ранее, сейчас её значение равно 100%. Чтобы изменить его, нам нужно взаимодействовать со свойством width.
Для него можно установить разные значения. Мы можем использовать фиксированную ширину вроде пикселей или пропорциональное значение вроде процентов. Последний вариант особенно важен для штук вроде адаптивного дизайна. Однако для простоты обойдёмся пикселями.
Добавляем новое свойство в стили:
.example-element { background-color: deepskyblue; width: 300px; }
После перезагрузки страницы вы должны увидеть следующее:
Вы сразу заметите, как теперь ограничено растягивание div вправо. Также, как видите, его высота автоматически изменяется, чтобы уместить внутренний текст. Давайте ещё увеличим её.
Увеличиваем высоту элемента через CSS
Хотя содержимое вполне себе умещается в пределах прямоугольника, порой есть веские причины ещё увеличить высоту. Например, что, если мы захотим, чтобы элемент был квадратом? Это вполне достижимо с помощью следующего свойства в нашем списке — height.
С высотой мы можем делать всё то же самое, что и с шириной: устанавливать фиксированное или пропорциональное значение. Добавляем в стили:
.example-element { background-color: deepskyblue; height: 300px; width: 300px; }
В итоге страница выглядит так:
Как видите, элемент принял нужную нам форму, так как мы установили одинаковые значения для высоты и ширины.
Знакомимся с границами
Теперь изменим границы. Как упоминалось, границы уже есть, просто мы их не видим. Изменим это с помощью свойства border.
Важно знать, что это свойство принимает три значения: width, style и color. Width отвечает за толщину границы (обычно в пикселях), style может принимать значения solid, dahsed, dotted и т.д., а в color можно прописать цвет как словом вроде «red», так и hex-значением цвета.
В принципе, достаточно просто определить толщину границ. Тем не менее, в большинстве случаев результат будет лучше при определении всех трёх значений. Меняем CSS:
.example-element { background-color: deepskyblue; border: 15px solid blue; height: 300px; width: 300px; }
И получаем результат:
Выглядит здорово, не так ли