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

Иллюстрации

Показать все

Изобретение относится к области систем хранения данных, в частности к области многопротокольных устройств хранения данных. Многопротокольное устройство хранения данных, обеспечивающее доступ к информации, хранящейся на накопителях, по файловым и блочным протоколам доступа для систем с топологией накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN) содержит операционную систему устройств хранения данных, поддерживающую файловую систему, которая взаимодействует с модулями виртуализации, посредством чего виртуализируется пространство хранения данных, предоставляемое накопителями, причем пространство хранения данных предназначено для хранения информации способом, общим для запросов по файловым и блочным протоколам доступа. Файловая система осуществляет управления томами и их использование для блочного доступа к информации, хранящейся в устройствах. Система виртуализации позволяет логически организовать информацию в файловой системе в виде таких объектов хранения, как именованные файлы, каталоги и виртуальные диски, что позволяет реализовать интегрированный подход к хранению, общий для NAS и SAN, путем обеспечения файлового доступа к файлам и каталогам и одновременно блочного доступа к виртуальным дискам. 4 н. и 21 з.п. ф-лы, 4 ил.

Реферат

Область техники

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

Уровень техники

Система хранения данных представляет собой компьютер с функционирующей на нем службой хранения информации, в основе которой лежит организация информации на перезаписываемых постоянных запоминающих устройствах, например блоках памяти, лентах или дисках. Система хранения данных, как правило, устанавливается в среде сети хранения данных (storage area network, SAN) или среде накопителя, подключенного к сети (network attached storage, NAS). Система хранения данных, используемая в среде NAS, может быть реализована в виде файлового сервера, имеющего операционную систему, которая, в свою очередь, поддерживает файловую систему, посредством которой осуществляется логическая организация информации в виде иерархической структуры каталогов и файлов (например, на дисках). Каждый "дисковый" файл может представлять собой набор структур данных, например блоков на диске, сконфигурированных для целей хранения информации, например собственно данных файла. В свою очередь, каталог может представлять собой файл специального формата, в котором хранится информация о других файлах и каталогах.

Далее, файловый сервер (filer) может быть сконфигурирован для работы по модели предоставления информации "клиент-сервер", что позволяет многим клиентским системам (клиентам) получать доступ к совместно используемым ресурсам, например файлам, хранящимся в файловой системе. Совместное использование файлов - характерная черта системы NAS, поскольку эта возможность обуславливается семантическим уровнем доступа к файлам и файловым системам, присущим таким системам. Средства хранения информации в системе NAS, как правило, устанавливаются в компьютерной сети, включающей в себя множество территориально распределенных взаимосвязанных каналов связи, таких как Ethernet, которые позволяют удаленным клиентам обращаться к информации (файлам) на файловом сервере. Как правило, клиенты взаимодействуют с файловой системой путем обмена дискретными кадрами или пакетами данных по предварительно определенным протоколам, например TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол Интернета).

В клиент-серверной модели клиент может включать в себя приложение, функционирующее на компьютере и "соединяющееся" с файловым сервером по компьютерной сети, например по каналу связи типа "точка-точка", совместно используемой локальной сети, глобальной сети или виртуальной частной сети, развернутой на основе сети общего пользования, например Интернета. В системах NAS, как правило, используются файловые протоколы доступа; это означает, что каждый клиент может запросить услуги файлового сервера путем посылки по сети сообщений для файлового сервера с использованием протокола файловой системы (в форме пакетов), при этом сообщения идентифицируют один или более файлов, к которым запрашивается доступ, без учета конкретного их местоположения, например блоков, в которых данные хранятся на диске. Поддержка множества протоколов файловых систем, таких как протоколы CIFS (Common Internet File System, общий протокол доступа к Интернет-файлам), NFS (Network File System, сетевая файловая система) и DAFS (Direct Access File System, файловая система с прямым доступом), позволяет расширить функции файлового сервера для работы с сетевыми клиентами.

SAN представляет собой высокоскоростную сеть, поддерживающую установление прямых соединений между системой хранения информации и ее накопителями. SAN, таким образом, может рассматриваться как расширение шины системы памяти, и, по сути, операционная система устройства хранения данных реализует доступ к хранящейся информации с использованием блочных протоколов доступа по "расширенной шине". В этом случае расширенная шина, как правило, реализуется на основе среды передачи Fibre Channel (FC) или Ethernet, адаптированных для работы с блочными протоколами доступа; пример такой адаптации - инкапсуляция протокола SCSI (Small Computer System Interface, интерфейс малых компьютерных систем) для передачи по FC или TCP/IP/Ethernet.

Схема развертывания (топология) SAN позволяет устранить жесткую связь пространства хранения данных и системы хранения, например сервера приложений, и реализовать определенный уровень совместного использования пространства хранения данных на уровне сервера приложений. Существуют, однако, среды, в которых SAN функционирует на базе выделенного для нее сервера. В некоторых вариантах топологии SAN информация организуется в форме баз данных, в то время как в других вариантах применяется организация на основе файлов. Если информация организуется на основе файлов, то в этом случае клиент, запрашивающий информацию, обрабатывает отображения файлов и задает семантику файлов, в то время как его запросы (и ответы сервера) обращаются к информации в соответствии с принципами адресации блоков на диске с использованием, например, номеров логических устройств (logical unit number, lun).

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

Пример такой системы предыдущего уровня техники - платформа системы Symmetrix®, поставляемая ЕМС® Corporation. Распределенные отдельные диски системы хранения SAN (система Symmetrix) ассоциированы с дополнительным устройством NAS (например, устройством Celerra), которое, в свою очередь, предоставляет доступ к этим дискам для клиентов NAS по определенным протоколам, например протоколам NFS и CIFS. Системный администратор определяет количество дисков и местоположение "секций" (экстентов) этих дисков, которые объединяются и образуют "определяемые пользователем тома", а также способ использования этих томов. Термин "том", традиционно используемый в среде SAN, означает объект, в котором хранится информация и который создается путем определения физических дисков и экстентов в пределах этих дисков посредством операций, объединяющих эти экстенты/диски в определяемый пользователем объект хранения - том. Следует отметить, что диски SAN и диски NAS, содержащие пользовательские тома, в пределах системной платформы являются физически отдельными.

Как правило, системный администратор реализует свои решения через сложный пользовательский интерфейс, ориентированный на тех пользователей, которые хорошо осведомлены об основных физических характеристиках системы. Таким образом, пользовательский интерфейс предназначается, прежде всего, для работы и управления структурами физических дисков, с которыми системный администратор должен производить определенные операции с целью представления платформы SAN для клиента. Например, пользовательский интерфейс может предложить администратору определить физические диски наряду с размерами экстентов для этих дисков, необходимых для создания пользовательского тома. Кроме того, интерфейс запрашивает у администратора физическое расположение этих экстентов и дисков, а также способ их "склеивания" (организации) и представления (экспорта) для клиента SAN в виде пользовательского тома, соответствующего диску или lun. После того как физические диски и их экстенты для создания тома будут выбраны, этот том будет находиться только на этих дисках и в этих экстентах. Системный администратор должен также определить способ обеспечения надежности, например уровень защиты RAID (Redundant Array of Independent (Inexpensive) Disks, избыточный массив независимых (или недорогих) дисков) и/или "зеркальное копирование", для этого созданного тома. В этом случае группы RAID являются следующим по высоте уровнем по отношению к указанным выбранным дискам/экстентам.

Резюме: подход, применяемый в системах предыдущего уровня техники, предъявляет следующее требование: при создании пользовательского тома, представляемого для клиента SAN в виде одного lun, системный администратор должен явно и тщательно сконфигурировать физическое размещение дисков и их организацию. Все операции администрирования, связанные с этим подходом предыдущего уровня техники, основываются на работе непосредственно с физическими дисками. Если системному администратору требуется увеличить размер пользовательского тома, производится добавление дисков и повторное выполнение вычислений для RAID с целью добавления избыточной информации, связанной с теми данными, которые хранятся на дисках, составляющих том. Очевидно, что этот подход является сложным и дорогостоящим. Настоящее изобретение направлено на реализацию простого и эффективного интегрированного решения для сред хранения SAN и NAS.

Раскрытие изобретения

Задачей настоящего изобретения является создание многопротокольного устройства хранения данных, поддерживающего файловые и блочные протоколы доступа и реализующего на их основе доступ к информации, хранящейся на накопителях, общим для систем с топологией накопителя, подключенного к сети (network attached storage, NAS), и систем с топологией сети хранения данных (storage area network, SAN) способом. Операционная система устройства хранения данных поддерживает файловую систему, которая взаимодействует с современными модулями виртуализации и реализует систему виртуализации, которая, в свою очередь, "виртуализирует" пространство хранения данных, предоставляемое устройствами. Следует отметить, что файловая система поддерживает возможности управления томами, что обеспечивает возможность их использования для целей блочного доступа к информации, хранящейся на устройствах. Система виртуализации позволяет логически организовать данные в файловой системе в такие объекты хранения, как именованные файлы, каталоги и виртуальные диски (vdisk), что позволяет реализовать интегрированный подход к хранению, общий для NAS и SAN, путем обеспечения файлового доступа к файлам и каталогам и одновременно блочного доступа к виртуальным дискам.

В варианте осуществления изобретения модули виртуализации представляют собой, например, сочетание модуля виртуальных дисков и целевого модуля с интерфейсом SCSI. Модуль виртуального диска реализует тракт передачи данных из целевого модуля SCSI с блочным доступом в блоки, обслуживаемые файловой системой. Кроме того, модуль виртуальных дисков взаимодействует с файловой системой, посредством чего реализуется доступ по административным интерфейсам, например удобному пользовательскому интерфейсу (user interface, UI), в ответ на команды, посылаемые системным администратором в многопротокольное устройство хранения данных. Далее, модуль виртуального диска осуществляет управление системами с топологией SAN, для чего он, помимо прочего, поддерживает полный набор команд управления виртуальными дисками, посылаемых системным администратором через UI. Эти команды управления виртуальными дисками преобразуются в низкоуровневые операции файловой системы, которые взаимодействуют с файловой системой и целевым модулем SCSI, посредством чего реализуются виртуальные диски.

Целевой модуль SCSI, в свою очередь, инициирует эмуляцию диска или устройства с логическим номером (lun) путем выполнения процедуры отображения, которая преобразует основанное на логических блоках обращение к lun, указанным в запросах доступа, в обращение к виртуальным дискам, основанное на виртуальных блоках; эта же процедура преобразует виртуальные диски в логические номера для ответов на запросы. Таким образом, целевой модуль SCSI реализует уровень трансляции системы виртуализации между пространством блоков (lun) SAN и пространством файловой системы, в котором номера логических устройств (lun) представляются как виртуальные диски. Многопротокольное устройство хранения данных использует "надстройку" виртуализации SAN над файловой системой (что в корне отличается от подходов, используемых в системах предыдущего уровня техники) и таким образом реализует самостоятельную единую платформу хранения, в общем случае поддерживающую все протоколы доступа к хранимой информации.

Одно из преимуществ интегрированного многопротокольного устройства хранения данных состоит в том, что это устройство обеспечивает управление доступом и при соответствующем обеспечении - совместное использование файлов и виртуальных дисков для всех протоколов при сохранении целостности данных. Далее, многопротокольное устройство хранения данных предоставляет возможности встроенной/интегрированной виртуализации, которые устраняют необходимость участия пользователя в распределении ресурсов хранения при создании объектов хранения NAS и SAN. Эти возможности включают в себя виртуальное пространство хранения данных, которое поддерживает совместное существование объектов SAN и NAS по отношению к управлению общим пространством хранения данных со стороны файловой системы. Кроме того, многопротокольное устройство хранения данных обеспечивает одновременную поддержку протоколов блочного доступа к одному и тому же виртуальному диску, а также гетерогенную среду SAN с поддержкой кластеризации.

Перечень фигур чертежей

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

На чертежах:

на фиг.1 представлена структурная схема многопротокольного устройства хранения данных, сконфигурированного для работы в средах сети хранения данных (SAN) и накопителя, подключенного к сети (NAS) в соответствии с настоящим изобретением;

на фиг.2 представлена структурная схема операционной системы многопротокольного устройства хранения данных, которая может быть преимущественно использована при осуществлении настоящего изобретения;

на фиг.3 представлена структурная схема системы виртуализации, которая реализуется на основе файловой системы, взаимодействующей с модулями виртуализации в соответствии с настоящим изобретением; и

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

Осуществление изобретения

Настоящее изобретение направлено на создание многопротокольного устройства хранения данных, которое поддерживает доступ к информации, хранящейся на накопителях, интегрированным способом, общим для файловых и блочных протоколов доступа. В этом контексте интегрированное многопротокольное устройство представляет собой компьютер, имеющий такие свойства, как простота управления службой хранения информации и легкость конфигурирования устройства хранения данных, в том числе многократно используемого пространства хранения данных, для пользователей (системных администраторов) и клиентов систем с топологией накопителя, подключенного к сети (network attached storage, NAS) и систем с топологией сети хранения данных (storage area network, SAN). Устройство хранения данных может предоставлять услуги NAS посредством файловой системы, одновременно реализуя услуги SAN с помощью средств виртуализации, в том числе эмуляции номеров логических устройств (lun).

На фиг.1 изображена структурная схема многопротокольного устройства 100 хранения данных, сконфигурированного для реализации службы хранения данных, в основе которой лежит организация информации, хранящейся на накопителях, например, дисках 130. Вариант реализации многопротокольного устройства 100 хранения данных представляет собой систему хранения информации, которая включает в себя процессор 122, память 124, множество сетевых адаптеров 125 и 126 и адаптер 128 накопителей; все эти компоненты связаны системной шиной 123.

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

В то время как для клиентов сетевой среды на основе NAS используется файловое представление, для клиентов сетевой среды на основе SAN используется представление пространства хранения данных на основе блоков или дисков. Для этого многопротокольное устройство 100 хранения данных представляет (экспортирует) диски для клиентов SAN посредством создания логических номеров устройств (lun) или объектов виртуальных дисков (vdisk). Объект vdisk (в дальнейшем "vdisk") представляет собой файл специального типа, который создается системой виртуализации и преобразуется в эмулируемый диск, в виде которого он представляется клиентам SAN. Далее многопротокольное устройство 100 хранения данных предоставляет доступ к этим эмулируемым дискам для клиентов SAN посредством управляемого экспорта, который описан далее в настоящем документе.

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

Сетевой адаптер 125 соединяет многопротокольное устройство хранения данных с множеством клиентов (160а, b) по каналам связи типа "точка-точка", глобальным сетям, виртуальным частным сетям, развернутым на основе сети общего пользования (Интернета) или совместно используемой локальной сети, в дальнейшем используемой в качестве примера и называемой сетью 165 Ethernet. Поэтому сетевой адаптер 125 может включать в себя сетевую интерфейсную плату (network interface card, NIC), содержащую все механические, электрические и сигнальные схемы, необходимые для соединения устройства с сетевым коммутатором, например обычным коммутатором 170 Ethernet. В этой сетевой среде на основе NAS клиенты конфигурируются для обращения к информации, хранящейся в многопротокольном устройстве 100 хранения данных, как к файлам. Клиенты 160 взаимодействуют с многопротокольным устройством 100 хранения данных по сети 165 путем обмена дискретными фреймами или пакетами данных по предварительно определенным протоколам, например TCP/IP.

Клиенты 160 могут быть универсальными компьютерами, сконфигурированными для выполнения приложений, на основе разнообразных операционных систем, в том числе операционных систем UNIX® и Microsoft® Windows При запросе информации (в форме файлов и каталогов) по сети на основе NAS системы клиентов, как правило, используют протоколы доступа на основе файлов. Поэтому каждый клиент 160 может запрашивать услуги многопротокольного устройства 100 хранения данных путем посылки устройству сообщений по файловому протоколу доступа (в форме пакетов) по сети 165. Например, клиент 160а, использующий операционную систему Windows, может связаться с многопротокольным устройством 100 хранения данных с применением протокола CIFS по TCP/IP. С другой стороны, клиент 160b, использующий операционную систему UNIX, может связаться с многопротокольным устройством 100 хранения данных с применением как протокола NFS по TCP/IP, так и протокола DAFS по каналу передачи виртуального интерфейса (virtual interface, VI) в соответствии с протоколом передачи удаленного DMA (Remote DMA, RDMA) по TCP/IP. Специалисту в данной области техники ясно, что к многопротокольному устройству хранения данных могут подключаться и другие клиенты, использующие другие типы операционных систем, посредством других файловых протоколов доступа.

"Целевой" адаптер 126 сети хранения данных также соединяет многопротокольное устройство 100 хранения данных с клиентами 160, которые могут быть далее сконфигурированы для обращения к хранящейся информации, как к блокам или дискам. Для этой сетевой среды SAN устройство хранения в данном варианте осуществления соединяется с сетью 185 Fibre Channel (FC). FC - это сетевой стандарт, описывающий набор протоколов и сред, который наиболее часто используется в средах SAN. Целевой сетевой адаптер 126 может включать в себя шинный хост-адаптер FC (host bus adapter HBA), имеющий все механические, электрические и сигнальные схемы, необходимые для соединения многопротокольного устройства 100 хранения данных с сетевым коммутатором, например обычным коммутатором 180 FC. В дополнение к поддержке доступа FC, FC HBA может разгрузить операции по поддержке волоконно-оптической сети для устройства хранения данных.

Для доступа к информации (в форме блоков, дисков или виртуальных дисков) по сети SAN клиенты 160, как правило, используют блочные протоколы доступа, например протокол SCSI. SCSI представляет собой интерфейс ввода-вывода (I/O), предназначенный для подключения периферии и имеющий стандартный, не зависящий от устройств протокол, который позволяет подключать к многопротокольному устройству 100 хранения данных различные периферийные устройства, такие как диски 130. В терминологии SCSI клиенты 160, функционирующие в среде SAN, являются инициаторами, т.е. они инициируют запросы и команды для обращения к данным. Следовательно, многопротокольное устройство хранения данных представляет собой целевое устройство, сконфигурированное для ответа на запросы, поступающие от инициаторов, в соответствии с протоколом запросов/ответов. Инициаторы и целевые устройства, являющиеся оконечными точками, имеют определенные адреса, которые в соответствии с протоколом FC включают в себя глобальные имена (worldwide name, WWN). WWN - это уникальный идентификатор, например имя узла или имя порта, представляющее собой 8-байтовое число.

Многопротокольное устройство 100 хранения данных поддерживает различные протоколы, основанные на SCSI и используемые в среде SAN, в том числе SCSI с инкапсуляцией в TCP (iSCSI) и SCSI с инкапсуляцией в FC (FCP). Инициаторы (далее клиенты 160) могут таким образом запрашивать услуги у целевого устройства (далее многопротокольное устройство 100 хранения данных) путем посылки сообщений iSCSI и FCP по сети (165, 185) для получения доступа к информации, хранящейся на дисках. Специалистам в данной области техники ясно, что клиенты могут также запрашивать услуги многопротокольного устройства 100 хранения данных с применением других протоколов блочного доступа. Поддержка многопротокольным устройством 100 хранения данных множества протоколов блочного доступа обеспечивает единое и связное решение для доступа к виртуальным дискам/lun в гетерогенной среде SAN.

Адаптер 128 накопителей взаимодействует с операционной системой 200 устройства хранения данных, функционирующей на многопротокольном устройстве 100 хранения данных, и обеспечивает доступ к информации, запрашиваемой клиентами. Информация может храниться на дисках 130 или других аналогичных носителях, способных хранить информацию. Адаптер накопителей содержит схему интерфейса ввода-вывода, которая соединяется с дисками через инфраструктуру взаимного соединения для ввода-вывода, такую как обычная топология высокоэффективных каналов последовательной передачи FC. Адаптер накопителей извлекает данные, затем они, при необходимости, обрабатываются процессором 122 (или самим адаптером 128), после чего эти данные посылаются по системной шине 123 в сетевые адаптеры (125, 126), где они распределяются по пакетам или сообщениям и передаются клиентам.

Хранение информации в многопротокольном устройстве 100 хранения данных предпочтительно реализуется в форме одного или более томов памяти (например, тома 1-2 150), которые представляют собой кластер физических дисков 130 внешней памяти, определяющий общую логическую структуру дискового пространства. Диски в пределах одного тома, как правило, организуются в одну или более групп RAID. Использование RAID повышает надежность/целостность хранения данных путем записи "дорожек" данных с "чередованием" на определенное количество физических дисков в группе RAID и соответствующего сохранения избыточной информации о чередовании данных. Избыточность информации позволяет восстанавливать потерянные данные в случае отказа накопителя. Специалисту в данной области техники ясно, что в соответствии с настоящим изобретением могут применяться и другие технологии избыточности, например "зеркальное копирование".

Более конкретно, каждый том 150 создается на основе массива физических дисков 130, которые организованы в группы 140, 142, и 144 RAID. Физические диски каждой группы RAID включают в себя диски, сконфигурированные для хранения чередуемых данных (D), и диски, сконфигурированные для хранения данных четности (Р) для этих данных, в соответствии с вариантом конфигурации RAID уровня 4. Следует отметить, что приводимые в настоящем документе принципы допускают также применение конфигураций с RAID другого уровня (например, RAID 5). В варианте осуществления может использоваться, по меньшей мере, один диск четности и один диск собственно данных. С другой стороны, типичный вариант осуществления может содержать три диска данных и один диск четности в одной группе RAID и, по меньшей мере, одну группу RAID в одном томе.

Для облегчения доступа к дискам 130 операционная система 200 устройства хранения данных поддерживает файловую систему с произвольной записью, построенную на основе системы виртуализации, которая "виртуализирует" пространство хранения данных, образуемое дисками 130. Посредством этой файловой системы информация логически организуется в иерархическую структуру объектов, более конкретно - именованных каталогов и файлов (далее "каталоги" и "файлы") на дисках. Каждый "дисковый" файл может представлять собой набор блоков на диске, сконфигурированный для хранения информации, например данных, а каталог может представлять собой файл специального формата, в котором хранятся имена других файлов и каталогов и ссылки на них. Система виртуализации позволяет осуществить на основе файловой системы дальнейшую логическую организацию информации в иерархическую структуру именованных виртуальных дисков, располагающихся на физических дисках, реализуя таким образом, обеспечивает интегрированный подход к хранению, общий для NAS и SAN; при этом обеспечивается файловый доступ (NAS) к именованным файлам и каталогам и, одновременно, блочный доступ (SAN) к виртуальным дискам в пределах одной платформы хранения данных с файловым доступом. Файловая система упрощает управление базовыми физическими накопителями в системах с топологией SAN.

Как указано выше, виртуальный диск представляет собой специальный тип файла в томе, который представляет собой обычный файл с добавлением определенных средств управления экспортом и ограничений на операции с ним, посредством которых обеспечивается эмуляция диска. В отличие от файла, который может быть создан клиентом с помощью, например, протокола NFS или CIFS, виртуальный диск в многопротокольном устройстве хранения данных создается с помощью, например, пользовательского интерфейса (UI) в форме файла (объекта) специального типа. В примере виртуальный диск представляет собой многокомпонентный объект, включающий в себя специальный файловый объект inode, который содержит данные и, по меньшей мере, один связанный с ним потоковый объект inode, который содержит атрибуты данных, в том числе данные защиты. Специальный файловый объект inode служит главным контейнером для хранения данных, таких как данные прикладных программ, соответствующих эмулируемому диску. В потоковом объекте inode хранятся атрибуты, посредством которых номера lun и данные экспорта сохраняются, например, при операциях перезагрузки; кроме того, эти атрибуты позволяют управлять виртуальным диском как отдельным дисковым объектом, с точки зрения клиентов SAN. Вариант виртуального диска и связанных с ним объектов inode, который может быть с преимуществом использован при осуществлении настоящего изобретения, описан в американской заявке №112056-0069 "Storage Virtualization by Layering Vdisks on a File System" (Виртуализация хранения данных путем создания "надстройки" виртуальных дисков над файловой системой), причем указанная заявка тем самым включается в настоящий документ в качестве ссылки, как если бы она была полностью сформулирована непосредственно в настоящем документе.

В варианте осуществления предпочтительно используется операционная система хранения NetApp® ONTAP, поставляемая компанией Network Appliance, Inc, Саннивейл, Калифорния, которая поддерживает файловую систему WAFL (Write Anywhere File Layout, метод расположения файлов с произвольной записью). С другой стороны, очевидно, что можно использовать любую соответствующую операционную систему хранения, в том числе операционную систему с непосредственной записью файлов, при условии ее усовершенствования для использования в соответствии с описываемыми принципами по изобретению. По существу, используемый термин "WAFL" следует понимать в широком смысле как относящийся к любой операционной системе устройства хранения данных, адаптируемой к принципам настоящего изобретения каким-либо другим способом.

В настоящем документе термин "операционная система устройства хранения данных" в общем случае относится к компьютерному исполнимому коду, который функционирует на компьютере, управляющем доступом к данным, и способному, в случае многопротокольного устройства хранения данных, реализовывать семантику доступа к данным; примером такого кода является операционная система устройства хранения данных ONTAP, которая реализована в виде микроядра. Операционная система устройства хранения данных может также представлять собой прикладную программу, работающую в универсальной операционной системе, такой как UNIX® или Windows NT®, или универсальную операционную систему с конфигурируемыми функциональными возможностями, которые конфигурируются для поддержки приложений хранения, как описано в настоящем документе.

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

На фиг.2 приведена структурная схема операционной системы 200 устройства хранения данных, которая может быть преимущественно использована при осуществлении настоящего изобретения. Операционная система 200 устройства хранения данных состоит из ряда программных уровней, организованных таким образом, что они формируют интегрированный стек сетевых протоколов или, более широко, многопротокольный механизм, который обеспечивает пути данных для доступа клиентов к информации, хранящейся в многопротокольном устройстве хранения данных, посредством файловых и блочных протоколов доступа. Стек протоколов включает в себя уровень 210 доступа к среде для сетевых драйверов (например, драйверов Gigabit Ethernet), который связывается с протоколами сетевого уровня, например уровня 212 IP и поддерживаемыми ими механизмами передачи, уровнем 214 TCP и уровнем 216 протокола UDP (User Datagram Protocol, протокол пользовательских датаграмм). Уровень протокола файловой системы обеспечивает доступ к файлу по множеству протоколов и с этой целью включает в себя поддержку протокола 218 DAFS, протокола 220 NFS, протокола 222 CIFS и протокола 224 HTTP (hypertext transfer protocol, протокол передачи гипертекста). Уровень 226 VI реализует архитектуру VI для реализации возможностей передачи с прямым доступом (direct access transport, DAT), например RDMA, что необходимо в соответствии с протоколом 218 DAFS.

Уровень 228 драйвера iSCSI обеспечивает доступ по блочному протоколу на базе уровней протоколов сетей TCP/IP, в то время как уровень 230 драйвера FC взаимодействует с FC HBA 126 и выполняет прием и передачу запросов и ответов блочного доступа, принимаемых интегрированным устройством хранения данных и поступающих от него. Драйверы FC и iSCSI обеспечивают специфичное для FC и iSCSI управление доступом к lun (или виртуальным дискам) и таким образом управляют экспортом виртуальных дисков для iSCSI или FCP либо одновременно для iSCSI и FCP при обращении к одному и тому же виртуальному диску в многопротокольном устройстве хранения данных. Кроме того, операционная система устройства хранения данных включает в себя уровень 240 дисковой памяти, который реализует протокол дисковой памяти, такой как протокол RAID, и уровень 250 драйвера дисков, который реализует протокол доступа к дискам, такой как протокол SCSI.

Соединение программных дисковых уровней с уровнями интегрированного стека сетевых протоколов составляет согласно настоящему изобретению систему 300 виртуализации. На фиг.3 приведена структурная схема системы 300 виртуализации, которая реализуется на основе сочетания файловой системы 320 и модулей виртуализации, в данном примере представляющие собой модуль 330 виртуальных дисков и целевой модуль 310 SCSI. Следует отметить, что модуль 330 виртуальных дисков, файловая система 320 и целевой модуль 310 SCSI могут быть реализованы программно, аппаратно, во встроенном программном обеспечении или комбинацией этих способов. Модуль 330 виртуальных дисков является "надстройкой" над файловой системой 320 (и взаимодействует с ней) и обеспечивает тракт передачи данных от блочного целевого модуля SCSI в блоки, управляемые файловой системой. Модуль виртуальных дисков также предоставляет доступ через административные интерфейсы, например удобный пользовательский интерфейс (UI), в ответ на команды, посылаемые системным администратором в многопротокольное устройство 100 хранения данных. По существу, модуль 330 виртуальных дисков управляет системами с топологией SAN, для чего он, помимо прочего, поддерживает полный набор команд управления виртуальными дисками (или lun), посылаемых системным администратором через UI. Эти команды управления виртуальными дисками преобразуются в элементарные ("низкоуровневые") операции файловой системы, которые взаимодействуют с файловой системой 320 и целевым модулем 310 SCSI, посредством чего реализуются виртуальные диски.

Целевой модуль 310 SCSI, в свою очередь, инициирует эмуляцию диска или lun путем выполнения процедуры отображения, которая преобразует обращение на основе логических б