Файловая система. Это модуль операционной системы, задачей которого является помощь пользователям в хранении и извлечении данных. Файловая система отслеживает свободное место и данные в энергонезависимой памяти с помощью индексов. Эти индексы пригодятся, когда данные должны быть сохранены или извлечены. Файловая система операционной системы Windows называется NTFS (файловая система новой технологии). Файловая система Ubuntu — ext4 (по умолчанию).

Кластерная файловая система. Обычная файловая система предназначена для случая, когда один компьютер пытается получить доступ к хранилищу. Файловая система будет направлять пользователей к данным или свободной памяти. Но что, если хранилище совместно используется несколькими серверами или компьютерами.

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

Раздел. Это (логический) раздел жесткого диска. Разделы позволяют нам хранить разные файловые системы (следовательно, операционные системы) на одном жестком диске. (Предположим, что на изображении ниже показан жесткий диск размером 100 гигабайт или ГБ)

Том:данные не могут быть сохранены на необработанном разделе. Необработанного раздела недостаточно для хранения данных. Раздел форматируется, и файловая система монтируется поверх раздела, и он становится объемным. Данные обычно хранятся в томах (как показано ниже). На приведенном ниже рисунке показаны два тома жесткого диска.

Диспетчер томов. В приложениях корпоративного уровня иногда тома с «разных жестких дисков» объединяются вместе, чтобы создать том большего размера для обеспечения масштабируемости. Эту задачу выполняет менеджер томов. Задача или работа менеджера томов заключается в создании виртуальных/логических томов. Эти тома позже будут использоваться файловой системой для хранения данных. Короче говоря, диспетчер томов предоставляет пространство (том) файловой системе для хранения данных. (Диспетчер томов также используется для распределения емкости хранилища). Диспетчеры томов могут объединять разделы жестких дисков, хранилищ или LUNS для создания виртуальных разделов, называемых томами.

Кластерный менеджер томов.Обычный менеджер томов идеально подходит для случая использования: разнородные хранилища подключаются к «одному узлу» или компьютеру, и из него должен быть извлечен том. Но что, если к общему хранилищу (дискам, LUN, облаку) подключено несколько узлов или компьютеров, и объем должен быть отрисован.

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

Хранилище на уровне файлов. Это иерархическое хранилище, используемое в повседневной жизни. Данные хранятся в папках и последующих подпапках (например, в Windows и Ubuntu). Каждый файл может быть расположен по пути «/home/Abhijeet/hello_world.py». Следовательно, навигация по файловому хранилищу выполняется быстро. Идеально подходит для сетевых хранилищ (NAS). Все файлы хранятся в одной среде или операционной системе.

Хранение на уровне блоков. Данные, которые необходимо сохранить, разбиваются на фрагменты или блоки. Эти фрагменты или блоки могут храниться в разных средах (операционных системах). Кусок идет в Windows, другой в Ubuntu и так далее. Идеально подходит для сети хранения данных (SAN). Каждый блок живет сам по себе и может быть разделен, чтобы к нему можно было получить доступ в другой операционной системе, что дает пользователю полную свободу настройки своих данных.

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

RAID 0: предположим, у вас есть два жестких диска (диск 1 и диск 2). Тогда ваши данные будут храниться фрагментами. Некоторые фрагменты помещаются на диск 1, а некоторые фрагменты — на диск 2. Или, если упростить, половина всех ваших данных хранится на одном жестком диске, а другая половина — на другом жестком диске. Это может быть ускорение операций записи и чтения в хранилище. Это подвергает данные риску. Даже если один из дисков потерян, все данные будут повреждены и потеряны.

RAID 1: данные хранятся (зеркально) на обоих дисках. Даже если один из дисков выйдет из строя, резервная копия всегда будет готова. При объединении работы RAID 1 и RAID 0 возникает RAID 10.

Виртуализация и контейнеризация

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

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

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

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