Открыть сервис

Cluster Shared Volumes

Cluster Shared Volumes (CSV) — это технология отказоустойчивого кластера, разработанная компанией Microsoft, которая позволяет нескольким узлам кластера одновременно иметь доступ к одному и тому же логическому тому (LUN) на общем хранилище (SAN) с файловой системой NTFS. CSV обеспечивает единую точку монтирования для всех узлов, что критически важно для таких приложений, как Hyper-V и SQL Server, где требуется высокая доступность и возможность «живой» миграции виртуальных машин без простоев.

История и развитие

Технология CSV была впервые представлена в Windows Server 2008 R2 (2009 год) как часть компонента Failover Clustering. Изначально она предназначалась исключительно для рабочих нагрузок Hyper-V, позволяя нескольким узлам кластера одновременно читать и записывать данные на один том NTFS. Основной проблемой, которую решал CSV, была необходимость координации доступа к диску — в классических кластерных дисках (кластерные диски с общим доступом, SCSI-3 Persistent Reservations) доступ к тому в каждый момент времени мог иметь только один узел (владелец ресурса). CSV же ввёл механизм, при котором каждый узел может напрямую обращаться к тому через сеть хранения данных (SAN), а координацию операций записи берёт на себя специальный «координатор» (coordinator node).

В Windows Server 2012 (2012 год) CSV получили значительные улучшения: была увеличена производительность при операциях записи, добавлена поддержка ReFS (Resilient File System), улучшена интеграция с SMB (Server Message Block) для доступа к томам по сети, а также введена возможность использования CSV с любыми приложениями, а не только с Hyper-V. В Windows Server 2012 R2 (2013 год) были оптимизированы алгоритмы кэширования и снижена нагрузка на координатор.

В Windows Server 2016 (2016 год) CSV стали полностью совместимы с Storage Spaces Direct (S2D) — технологией программно-определяемого хранилища, что позволило строить отказоустойчивые кластеры без традиционной SAN. В этой версии также появилась поддержка CSV Cache (кэширование на узлах) и улучшенная обработка сбоев координатора.

В Windows Server 2019 и 2022 годов технология продолжила развиваться, получив улучшения в области производительности (например, поддержка RDMA для CSV) и интеграции с новыми версиями Hyper-V и файловых систем.

Архитектура и принцип работы

Основные компоненты

CSV функционирует в рамках отказоустойчивого кластера Windows Server. Ключевые элементы архитектуры:

  • Общее хранилище (SAN или S2D) — физический или виртуальный диск (LUN), доступный всем узлам кластера.
  • CSVFS (Cluster Shared Volume File System) — надстройка над NTFS или ReFS, которая обеспечивает единую точку монтирования и координацию доступа.
  • Координатор (Coordinator Node) — один из узлов кластера, который управляет метаданными тома (например, списком открытых файлов, блокировками). Все операции записи проходят через координатор, хотя чтение может выполняться напрямую с диска.
  • CSV Redirected Access — механизм, при котором узел, не являющийся координатором, может выполнять операции записи, перенаправляя их координатору через сеть (обычно по протоколу SMB).

Процесс работы

  1. Монтирование: Том CSV монтируется на всех узлах кластера в единую папку (например, C:\ClusterStorage\Volume1). Каждый узел видит этот том как локальный диск, но фактически он является общим.
  2. Координация: Узел, который первым смонтировал том, становится его координатором. При сбое координатора роль автоматически переходит к другому узлу.
  3. Доступ к данным:
  • Чтение: Любой узел может читать данные напрямую с диска через SAN (прямой доступ, Direct I/O).
  • Запись: Если узел не является координатором, он отправляет запрос на запись координатору через сеть (CSV Redirected Access). Координатор выполняет запись на диск и уведомляет остальные узлы об изменении метаданных.
  1. Блокировки: CSV использует распределённые блокировки (Distributed Lock Manager, DLM) для предотвращения конфликтов при одновременном доступе к одним и тем же данным.

CSV Cache

Начиная с Windows Server 2016, в CSV появилась возможность кэширования данных на узлах (CSV Cache). Это позволяет ускорить чтение, так как данные могут быть закэшированы в оперативной памяти узла. Кэш синхронизируется между узлами через координатора.

Классификация и виды

CSV не имеют жёсткой классификации по типам, но их можно различать по сценариям использования:

  • CSV для Hyper-V — наиболее распространённый сценарий. Виртуальные машины (ВМ) хранятся на CSV-томе, и каждый узел кластера может запускать ВМ, имея прямой доступ к её дискам. Это позволяет выполнять «живую» миграцию (Live Migration) ВМ между узлами без перемещения данных.
  • CSV для SQL Server — используется для размещения баз данных SQL Server в отказоустойчивом кластере. Позволяет нескольким экземплярам SQL Server одновременно читать данные, хотя запись обычно ведётся только одним экземпляром.
  • CSV для файловых серверов (Scale-Out File Server, SOFS) — технология, при которой CSV используется для создания высокодоступных файловых хранилищ, доступных по протоколу SMB. Это популярное решение для хранения профилей пользователей, домашних папок и общих ресурсов в корпоративных сетях.
  • CSV в Storage Spaces Direct (S2D) — CSV являются основой для S2D, где каждый узел кластера является частью распределённого хранилища. В этом случае CSV-тома создаются поверх виртуальных дисков S2D.

Характеристики и ограничения

Преимущества

  • Высокая доступность: При сбое одного узла другой узел может немедленно взять на себя управление ВМ или приложением, так как данные уже доступны.
  • «Живая» миграция: Возможность перемещения ВМ между узлами без остановки их работы.
  • Упрощённое управление: Администратор видит единую структуру томов на всех узлах кластера.
  • Масштабируемость: Поддерживается до 64 узлов в одном кластере (в зависимости от версии Windows Server).
  • Производительность: Прямой доступ к чтению и кэширование снижают задержки.

Недостатки и ограничения

  • Зависимость от координатора: Все операции записи проходят через один узел, что может стать узким местом при высокой нагрузке на запись.
  • Сетевые задержки: Перенаправление записей через сеть (CSV Redirected Access) увеличивает задержки по сравнению с прямым доступом.
  • Сложность настройки: Требуется правильно настроенная сеть хранения данных (SAN) или S2D, а также отказоустойчивый кластер.
  • Несовместимость с некоторыми приложениями: Не все приложения корректно работают с CSV, особенно те, которые требуют эксклюзивного доступа к диску.
  • Ограничения на размер тома: Максимальный размер CSV-тома ограничен возможностями файловой системы (NTFS — до 256 ТБ, ReFS — до 35 ПБ).

Применение

CSV широко используются в корпоративных ИТ-инфраструктурах, где требуется высокая доступность и отказоустойчивость:

  • Виртуализация серверов (Hyper-V): Основное применение — размещение виртуальных машин на общем хранилище, что позволяет реализовать отказоустойчивость и «живую» миграцию.
  • Базы данных (SQL Server, Exchange): Обеспечение отказоустойчивости критических баз данных.
  • Файловые серверы (Scale-Out File Server): Создание высокодоступных файловых хранилищ для пользовательских данных.
  • Резервное копирование: Использование CSV для хранения резервных копий виртуальных машин (например, с помощью System Center Data Protection Manager).
  • Среда разработки и тестирования: Быстрое развёртывание и миграция тестовых сред.

Интересные факты

  • CSV не являются файловой системой в чистом виде — это надстройка (фильтр) над NTFS или ReFS, которая добавляет кластерную координацию.
  • В Windows Server 2012 R2 была добавлена возможность использования CSV с любыми приложениями, но Microsoft рекомендует использовать её только с теми, которые сертифицированы для работы с CSV (например, Hyper-V, SQL Server, Exchange).
  • Технология CSV является ключевым компонентом Microsoft Azure Stack HCI — гибридного облачного решения для развёртывания локальных кластеров.
  • В некоторых конфигурациях CSV могут использовать протокол SMB Direct (RDMA) для ускорения перенаправленных операций записи.

Источники

  • Microsoft Docs: «Failover Clustering Overview» (Windows Server)
  • Microsoft Docs: «Cluster Shared Volumes (CSV)»
  • Microsoft Docs: «Storage Spaces Direct Overview»
  • Windows Server 2012 R2: Inside CSV (TechNet Blog)
  • Windows Server 2016: CSV Cache Improvements (Microsoft Tech Community)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →