RU2302034C9 - Многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа - Google Patents
Многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа Download PDFInfo
- Publication number
- RU2302034C9 RU2302034C9 RU2005103588/09A RU2005103588A RU2302034C9 RU 2302034 C9 RU2302034 C9 RU 2302034C9 RU 2005103588/09 A RU2005103588/09 A RU 2005103588/09A RU 2005103588 A RU2005103588 A RU 2005103588A RU 2302034 C9 RU2302034 C9 RU 2302034C9
- Authority
- RU
- Russia
- Prior art keywords
- data storage
- storage device
- protocol
- file
- access
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Изобретение относится к области систем хранения данных, в частности к области многопротокольных устройств хранения данных. Многопротокольное устройство хранения данных, обеспечивающее доступ к информации, хранящейся на накопителях, по файловым и блочным протоколам доступа для систем с топологией накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN) содержит операционную систему устройств хранения данных, поддерживающую файловую систему, которая взаимодействует с модулями виртуализации, посредством чего виртуализируется пространство хранения данных, предоставляемое накопителями, причем пространство хранения данных предназначено для хранения информации способом, общим для запросов по файловым и блочным протоколам доступа. Файловая система осуществляет управления томами и их использование для блочного доступа к информации, хранящейся в устройствах. Система виртуализации позволяет логически организовать информацию в файловой системе в виде таких объектов хранения, как именованные файлы, каталоги и виртуальные диски, что позволяет реализовать интегрированный подход к хранению, общий для NAS и SAN, путем обеспечения файлового доступа к файлам и каталогам и одновременно блочного доступа к виртуальным дискам. 4 н. и 21 з.п. ф-лы, 4 ил.
Description
Область техники
Настоящее изобретение относится к области систем хранения данных и, в частности, к области многопротокольных устройств хранения данных, поддерживающих файловые и блочные протоколы доступа.
Уровень техники
Система хранения данных представляет собой компьютер с функционирующей на нем службой хранения информации, в основе которой лежит организация информации на перезаписываемых постоянных запоминающих устройствах, например блоках памяти, лентах или дисках. Система хранения данных, как правило, устанавливается в среде сети хранения данных (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 путем выполнения процедуры отображения, которая преобразует обращение на основе логических блоков к логическим устройствам, указанным в запросах доступа, в обращение к файлам специального типа vdisk на основе виртуальных блоков и преобразование vdisk в lun для ответов на запросы. В данном примере целевой модуль SCSI располагается между драйверами FC и iSCSI (228 и 230) и файловой системой 320 и реализует уровень трансляции системы виртуализации между пространством блоков (lun) среды SAN и пространством файловой системы, в котором lun представляются как виртуальные диски. Многопротокольное устройство 100 хранения данных использует "надстройку" виртуализации SAN над файловой системой 230 (что в корне отличается от подходов, используемых в системах предыдущего уровня техники) и таким образом реализует самостоятельную единую платформу хранения, в общем случае поддерживающую все протоколы доступа к хранимой информации.
В соответствии с изобретением файловая система обеспечивает возможности ее использования посредством файлового доступа к информации, хранящейся на накопителях, например дисках. Кроме того, файловая система поддерживает возможности управления томами при использовании блочного доступа к хранящейся информации. Таким образом, в дополнение к обеспечению семантики файловой системы (такой, как подразделение хранимых данных на отдельные объекты и именование этих объектов хранения) файловая система 320 реализует функции, обычно связанные с менеджером томов. Как описано в настоящем документе, эти функции включают в себя (i) агрегирование дисков, (ii) агрегирование полосы пропускания для дисков и (iii) обеспечение надежности, например зеркальное копирование и/или контроль четности (RAID), и таким образом представляют один или более объектов хранения, "надстроенных" над файловой системой. Особенностью многопротокольного устройства хранения данных является простота использования в сочетании с описанными возможностями управления томами, особенно в случае использования в системах с топологией SAN.
В данном примере файловая система 320 представляет собой файловую систему WAFL, имеющую блочное представление формата хранения данных на диске с использованием блоков размером, например, 4 килобайта (Кб) и использованием объектов inode для описания файлов. В файловой системе WAFL используются файлы с метаданными, описывающими структуру файловой системы; эти файлы метаданных включают в себя, помимо прочего, файлы объектов inode. Для поиска объектов inode на диске используется дескриптор файла, т.е. идентификатор, который содержит номер объекта inode. Описание структуры файловой системы, включая файл объекта inode, приводится в Американском патенте №5819292 "Method for Maintaining Consistent States of a File System and for creating User-accessible Read-Only Copies of a File system" ("Способ поддержания непротиворечивых состояний файловой системы и создания доступных пользователю копий файловой системы, предназначенных только для чтения"), принадлежащем Дэвиду Хитзу и др., опубликованном 6 октября 1998 года, причем указанный патент, тем самым, включается в настоящий документ в качестве ссылки, как если бы он был полностью сформулирован непосредственно в настоящем документе.
Вообще говоря, все объекты inode файловой системы организуются в файл объектов inode. Блок информации о файловой системе (file system, FS) определяет размещение информации в файловой системе и включает в себя объект inode того файла, который содержит все остальные объекты inode файловой системы. Каждый том имеет собственный блок информации об FS, который предпочтительно сохраняется в постоянном местоположении в пределах, например, группы RAID файловой системы. Объект inode корневого блока информации об FS может содержать ссылку (указывать) непосредственно на блоки файла объекта inode или указывать на косвенные блоки файла объекта inode, которые, в свою очередь, указывают на непосредственные блоки файла объекта inode. Внутри каждого непосредственного блока файла объекта inode содержатся объекты inode, каждый из которых может ссылаться на косвенные блоки, которые, в свою очередь, указывают на блоки данных файла или виртуального диска.
Согласно характерной особенности изобретения файловая система осуществляет операции доступа к виртуальным дискам 322, а также к файлам 324 и каталогам (dir 326), которые существуют совместно по отношению к управлению общим пространством объектов хранения данных, например томов 150 и/или объектов 328 qtree. Объект 328 qtree - это специальный каталог, который имеет свойства логического подтома в пределах пространства имен физического тома. Каждый объект хранения в файловой системе (файл, каталог или виртуальный диск) в данном примере связан с одним объектом qtree и, таким образом, квоты, параметры защиты и другие параметры могут назначаться для объектов qtree. Виртуальные диски и файлы/каталоги могут быть "надстроены" над объектами 328 qtree, которые, в свою очередь, являются "надстройками" над томами 150 в соответствии с представлением уровня 320 "виртуализации" файловой системы.
Следует отметить, что объекты хранения vdisk в файловой системе 320 ассоциируются с системами многопротокольного устройства хранения данных, имеющих топологию SAN, а такие объекты хранения, как файлы и каталоги, ассоциируются с системами многопротокольного устройства хранения данных, имеющими топологию NAS. В общем случае доступ к файлам и каталогам по протоколам блочного доступа FC или SCSI невозможен; с другой стороны, файл может быть преобразован в объект vdisk, после чего становится возможным доступ к нему как по протоколу SAN, так и по протоколу NAS. В протоколах SAN (FC и SCSI) объекты vdisk доступны как логические устройства, а в протоколах NAS (NFS и CIFS) - как файлы.
Согласно другой особенности изобретения система 300 виртуализации создает виртуальное пространство хранения данных, которое позволяет объектам SAN и объектам NAS совместно сосуществовать по отношению к управлению общим пространством памяти со стороны файловой системы 320. Для этого система 300 виртуализации использует характерные особенности файловой системы, в том числе свойственную ей способность объединять диски и представлять их в виде единой области (пула) хранения. Например, система 300 виртуализации расширяет возможности управления томами, имеющиеся у файловой системы 320, а именно организует набор дисков 130 в один или более томов 150, образующих пул общего пространства хранения данных. После этого пул общего пространства хранения данных открывается для доступа из систем с топологией SAN и NAS посредством создания виртуальных дисков 322 и файлов 324 соответственно. В дополнение к совместному использованию одного общего пространства хранения данных виртуальные диски и файлы совместно используют один пул доступного пространства хранении данных для расширения при масштабировании систем с топологией SAN и/или NAS. В отличие от систем предыдущего уровня техники в общем пространстве хранения данных многопротокольного устройства хранения данных не существует какого-либо физического разделения дисков.
Многопротокольное устройство хранения данных существенно упрощает управление общим пространством хранения данных, поскольку оно позволяет пользователю управлять объектами хранения как NAS, так и SAN при использовании единого пула ресурсов хранения данных. В частности, управление свободным пространством блоков производится из глобального свободного пула на уровне малых блоков как для систем с топологией SAN, так и для систем с топологией NAS. Если бы управление этими объектами хранения выполнялось дискретно, то пользователю приходилось бы иметь в постоянной готовности определенное количество "запасных" дисков для каждого типа объекта для гарантии оперативной реакции на какое-либо изменение, например смену целей бизнеса. Накладные расходы на такой "дискретный" подход оказываются значительно выше, чем в том случае, если управление этими объектами можно выполнять из единого пула ресурсов с единственной группой запасных дисков, предназначенных для расширения в ситуациях, когда этого требует бизнес. Те блоки, которые освобождаются при отдельных операциях с виртуальными дисками, немедленно становятся доступными для использования объектами NAS (и наоборот). При этом детали структуры управления являются прозрачными для администратора. В этом состоит преимущество интегрированного многопротокольного устройства хранения данных по показателю "общей стоимости владения".
Далее, система 300 виртуализации обеспечивает гарантии надежности объектов хранения SAN и NAS, совместно существующих в глобальном пространстве хранения данных многопротокольного устройства 100 хранения данных. В частности, гарантии надежности в случае отказа дисков обеспечиваются такими методиками, как применение RAID или зеркального копирования, которые базируются на файловой системе 320 многопротокольного устройства 100 хранения данных и встроены в нее изначально в отличие от обычных систем SAN, где они реализуются на уровне физических блоков. Это упрощает администрирование и позволяет администратору реализовывать глобальные решения относительно базового избыточного физического носителя, которые применяются к виртуальным дискам и объектам NAS в файловой системе единым образом.
Как указано выше, файловая система 320 организует информацию в такие объекты, как файлы, каталоги и виртуальные диски в пределах томов 150 дисков 130. Основой каждого тома 150 является набор групп 140-144 RAID, которые обеспечивают защиту и надежность от отказов одного или нескольких дисков в пределах тома. Защита информации, обслуживаемой многопротокольным устройством хранения данных, реализуется в данном примере в соответствии с конфигурацией RAID 4. Этот уровень защиты может быть расширен, например к нему может быть добавлено синхронное зеркальное копирование на платформе устройства. Виртуальный диск 322, созданный на основе тома, имеющего защиту на базе RAID уровня 4, "наследует" эту дополнительную защиту на базе синхронного зеркального копирования, если том 150 определен как находящийся под этой защитой. В этом случае защита с синхронным зеркальным копированием является функцией не виртуального диска, а функцией основного тома и средств гарантии надежности файловой системы 320. Эта особенность "наследования" многопротокольного устройства хранения данных упрощает управление виртуальными дисками, поскольку системному администратору не приходится иметь дело с проблемами надежности.
Кроме того, система 300 виртуализации агрегирует пропускную способность дисков 130 и при этом пользователю не требуется знание физической структуры этих дисков. Файловая система 320 сконфигурирована для записи (сохранения) данных на дисках в виде длинных непрерывных дорожек на этих дисках в соответствии с операциями ввода-вывода (I/O) при сохранении, которые объединяют пропускную способность всех дисков тома для сохраняемых данных. Когда информация сохраняется или считывается с виртуальных дисков, операции ввода-вывода не направляются на диски, определяемые пользователем. Напротив, эти операции прозрачны для пользователя, так как файловая система распределяет эти данные с "чередованием" по всем дискам тома надежным способом в соответствии с политикой размещения с произвольной записью. В результате виртуализации блочной памяти пропускная способность при выполнении операций ввода-вывода с виртуальными дисками может возрастать вплоть до максимальной пропускной способности базовых физических дисков файловой системы независимо от размера виртуального диска (в отличие от обычных физических реализаций lun в обычных продуктах с блочным доступом).
Наконец, система виртуализации повышает эффективность политик файловой системы по размещению, управлению и размещению блоков для обеспечения корректного функционирования виртуальных дисков в многопротокольном устройстве хранения данных. Политики размещения блоков виртуальных дисков являются функцией базовой файловой системы виртуализации и, следовательно, отсутствует какое-либо жесткое физическое соответствие блоков файловой системы и адресов логических блоков SCSI, которое могло бы повлиять на модификацию. Если требуется модификация функционирования схемы доступа к данным, виртуальные диски могут быть прозрачно реорганизованы в соответствии с этой модификацией.
С точки зрения систем с топологиями SAN и NAS, политики распределения блоков не зависят от физических свойств дисков (например, конфигураций, объемов, цилиндров и размера секторов). Файловая система 320 обеспечивает управление файлами 324 и каталогами 326 на основе файлов и в соответствии с изобретением виртуальными дисками 322 в томах 150. При добавлении диска в массив, подключенный к многопротокольному устройству хранения, этот диск внедряется в имеющийся том и увеличивает общий объем тома, после чего это пространство может использоваться для любых целей, например увеличения количества виртуальных дисков или же файлов.
Управление интегрированным многопротокольным устройством 100 хранения данных упрощается путем применения UI 350 и набора команд управления виртуальными дисками, доступных системному администратору. В данном примере UI 350 включает в себя как интерфейс 352 командной строки (command line interface, CLI), так и графический пользовательский интерфейс 354 (graphical user interface, GUI), используемые для выполнения команд набора управления виртуальными дисками, которые позволяют, помимо прочего, создавать виртуальные диски, увеличивать и уменьшать их размеры и/или удалять их. Пространство хранения данных, освободившееся после удаления виртуального диска, может быть повторно использовано, например, для записи файла NAS в соответствии с функцией виртуального пространства хранения данных многопротокольного устройства 100 хранения данных. Виртуальный диск может быть увеличен ("расширен") или уменьшен ("сжат") по желанию пользователя при сохранении как блочного доступа, так и многопротокольного доступа NAS к собственно данным, которые хранятся на нем.
UI 350 упрощает управление многопротокольным устройством хранения данных SAN/NAS, поскольку он, например, устраняет необходимость в явном конфигурировании и указании дисков, используемых при создании виртуального диска, системным администратором. Например, в данном случае для создания виртуального диска системный администратор должен просто подать команду создания виртуального диска ("lun create") посредством, например, интерфейса 352 командной строки или графического пользовательского интерфейса 354. Команда vdisk определяет создание виртуального диска (lun) наряду с желаемым размером виртуального диска и дескриптором пути (именем пути) к этому виртуальному диску. После этого файловая система 320 совместно с модулем 330 виртуальных дисков "виртуализирует" пространство хранения данных, предоставляемое основными дисками, и создает виртуальный диск в соответствии с командой создания. Более конкретно, модуль 330 виртуальных дисков обрабатывает команду vdisk для "вызова" элементарных ("низкоуровневых") операций в файловой системе 320, которая осуществляет высокоуровневые операции с виртуальными дисками (или lun). Например, команда "lun create" транслируется в набор элементарных операций файловой системы, которые выполняют создание виртуального диска с соответствующими характеристиками и размером, расположенного в соответствующем месте. Эти элементарные операции файловой системы включают в себя операции создания файлового объекта inode (create_file), создания потокового объекта inode (create_stream) и сохранения информации в потоковом объекте inode (stream_write).
Результатом выполнения команды "lun create" является создание виртуального диска 322 указанного размера, для которого активируется защита RAID без необходимости явной активизации этой защиты. Сохранение информации на дисках многопротокольного устройства 100 хранения данных производится без использования определенного типа; на дисках сохраняются только "простые" биты. Файловая система организует эти биты в виртуальные диски и группы RAID по всем дискам в пределах тома. Таким образом, нет необходимости явно конфигурировать создаваемый виртуальный диск 322, поскольку система 300 виртуализации создает виртуальный диск способом, прозрачным для пользователя. Созданный виртуальный диск наследует высокоэффективные характеристики, такие как надежность и пропускная способность хранения, присущие базовому тому, созданному файловой системой.
Интерфейс 352 командной строки и/или графический пользовательский интерфейс 354 также взаимодействует с модулем 330 виртуальных дисков, посредством чего выполняется ввод атрибутов и постоянных привязок карты lun, которые определяют соответствие созданных виртуальных дисков и их номеров. Затем эти привязки карты lun используются для представления виртуальных дисков для клиентов в виде определенных идентификаторов SCSI (ID). В частности, созданный виртуальный диск может представляться с применением технологии отображения lun для предоставления клиенту SAN возможности "просмотра" диска, т.е. доступа к нему. Виртуальные диски (или lun) в среде SAN в общем случае требуют строгого контроля доступа; совместное использование логических устройств lun в среде SAN, как правило, имеет место только в определенных условиях, таких как кластеризованные файловые системы, кластеризованные операционные системы и конфигурации с множеством трактов. Системный администратор многопротокольного устройства хранения данных определяет то, какие виртуальные диски (или lun) могут экспортироваться клиенту SAN. После того как виртуальный диск будет представлен как lun, клиент получает возможность обращаться к виртуальному диску по сети SAN с использованием протокола блочного доступа, например FCP или iSCSI.
Клиенты SAN, как правило, идентифицируют диски и обращаются к ним по логическим номерам (lun). С другой стороны, "легкость управления", присущая многопротокольному устройству 100 хранения данных, состоит в том, что системные администраторы могут управлять виртуальными дисками и их адресацией по логическим именам. Для этого модуль 330 виртуальных дисков в многопротокольном устройстве 100 хранения данных выполняет сопоставление логических имен виртуальным дискам. Например, при создании виртуального диска системный администратор задает "правильный размер" виртуального диска и присваивает ему имя, которое в общем случае соответствует его назначению (например, /vol/vol0/database - для хранения базы данных). Интерфейс администрирования обеспечивает управление lun/виртуальными дисками (а также файлами), представляемыми для клиентов из устройства хранения на основе имен, и обеспечивает таким образом унифицированную и единую схему именования для хранения на основе блоков (а также на основе файлов).
Многопротокольное устройство 100 хранения данных управляет представлением виртуальных дисков как логических имен с использованием групп инициаторов (igroups). igroup - это логический именованный объект, который назначается одному или более адресам, связанным с одним или более инициаторами (в зависимости от того, сконфигурирована ли кластеризованная среда). Команда "igroup create" фактически "привязывает" (ассоциирует) эти адреса, которые могут включать в себя адреса WWN или идентификаторы iSCSI, к логическому имени или igroup. Затем выполняется команда "lun map", которая экспортирует один или более виртуальных дисков в igroup, т.е. делает виртуальный диск (диски) "видимым(и)" для igroup. В этом смысле команда "lun create" эквивалентна экспорту NFS или предоставлению совместного доступа CIFS. Таким образом, адреса WWN или идентификаторы iSCSI идентифицируют клиентов, которые получают возможность доступа к виртуальным дискам, определенным командой lun map. После этого логическое имя используется во всех операциях, являющихся внутренними для операционной системы хранения. Это представление логического именования распространяется на весь набор команд работы с виртуальными дисками, включая любое взаимодействие между пользователем и многопротокольным устройством хранения данных. В частности, соглашение об именах igroup используется для всех последующих операций экспорта и построения списков lun, экспортируемых для различных клиентов SAN.
На фиг.4 приведена блок-схема, иллюстрирующая последовательность шагов операции обращения к информации, хранящейся в многопротокольном устройстве хранения данных, по сети SAN. В данном случае клиент работает с многопротокольным устройством 100 хранения данных с использованием блочного протокола доступа по сети, к которой подключено устройство. Для клиента 160а, использующего операционную систему Windows, в данном примере применяется протокол блочного доступа FCP в сети 185. С другой стороны, для клиента 160b, использующего операционную систему UNIX, в данном примере применяется протокол блочного доступа iSCSI в сети 165. Последовательность начинается с шага 400, далее идет шаг 402, на котором клиент генерирует запрос обращения к информации, находящейся в многопротокольном устройстве 100 хранения данных, после чего на шаге 404 запрос посылается по сети (185, 165) как обычный запрос блочного доступа FCP или iSCSI.
На шаге 406 запрос принимается сетевым адаптером (126, 125) многопротокольного устройства 100 хранения данных, где он обрабатывается интегрированным стеком сетевых протоколов и на шаге 408 передается в систему 300 виртуализации. Более конкретно, если запрос является запросом FCP, он обрабатывается драйвером 230 FC как, например, запрос обращения к данным (т.е. запрос чтения-записи) блоком 4 Кб. Если запрос является запросом по протоколу iSCSI, он принимается на уровне доступа к среде передачи (Intel Gigabit Ethernet) и передается в систему виртуализации через уровни сетевых протоколов TCP/IP.
В качестве адресатов в операциях подачи команд и управления (в том числе адресации информации), связанных с протоколом SCSI, как правило, выступают диски или lun; в то же время файловая система 320 не распознает номера lun. Поэтому целевой модуль 310 SCSI системы виртуализации инициирует эмуляцию lun для ответа на команды SCSI, содержащиеся в запросе (шаг 410). Для этого целевой модуль SCSI имеет ряд прикладных программных интерфейсов 360 (application programming interfaces, API), которые основаны на протоколе SCSI и таким образом реализуют интерфейс, совместимый как с драйверами iSCSI, так и с драйверами FCP (228 и 230). Кроме того, целевой модуль 310 SCSI выполняет процедуру отображения и преобразования, которая, по существу, транслирует номера lun в виртуальные диски. На шаге 412 целевой модуль 310 SCSI преобразует информацию адресации запроса, например данные маршрутизации FC, в информацию, соответствующую внутренней структуре файловой системы.
Файловая система 320 в данном примере представляет собой систему на основе сообщений; в данном случае целевой модуль 310 SCSI помещает запрос SCSI в сообщение, представляющее операцию, направленную файловой системе. Сообщение, сгенерированное целевым модулем SCSI, может, например, содержать тип операции (например, чтение, запись) наряду с именем пути (например, дескриптором пути) и именем файла (например, именем специального файла) объекта vdisk, представленного в файловой системе. Целевой модуль 310 SCSI передает сообщение на уровень файловой системы 320 в виде, например, вызова 365 функции и операция выполняется на этом уровне.
В ответ на получение сообщения файловая система 320 преобразует имя пути в информацию структуры inode для получения дескриптора файла, соответствующего виртуальному диску 322. Имея дескриптор файла, операционная система 200 устройства хранения данных может преобразовать этот дескриптор в дисковый блок и таким образом извлечь блок (inode) с диска. Вообще говоря, дескриптор файла - это внутреннее представление структуры данных, т.е. представление структуры данных inode, используемое в пределах файловой системы. Дескриптор файла, как правило, состоит из множества компонентов, включая идентификатор файла (номер inode), идентификатор "снимка", идентификатор поколения и флаг. Файловая система использует дескриптор файла для извлечения специального файла объекта inode и, по меньшей мере, одного соответствующего потокового объекта inode, содержащих виртуальный диск, в пределах структуры файловой системы, расположенной на дисках 130.
На шаге 414 файловая система генерирует операции загрузки (считывания) требуемых данных с диска 130, если они не находятся "в ядре", т.е. в памяти 124. Если информация отсутствует в памяти, файловая система 320 производит поиск по индексу в файле inode по номеру inode для обращения к соответствующей записи и извлечения номера блока логического тома (volume block number, VBN). Затем файловая система передает логический VBN на уровень 240 дисковой памяти (RAID), где этот логический номер преобразуется в номер дискового блока, который посылается соответствующему драйверу (например, SCSI) уровня 250 драйвера дисков. Драйвер дисков обращается к дисковому блоку с требуемым номером на диске 130 и загружает требуемый блок/блоки данных в память 124. На шаге 416 затребованные данные обрабатываются системой 300 виртуализации. К примеру, данные могут быть обработаны в соответствии с операцией чтения или записи, относящейся к виртуальному диску, или в соответствии с командой запроса для виртуального диска.
Целевой модуль 310 SCSI системы 300 виртуализации эмулирует поддержку обычного протокола SCSI путем предоставления значимой информации "моделирования" о требуемом виртуальном диске. Эти данные вычисляются целевым модулем SCSI или же постоянно хранятся, например, в потоке признаков inode виртуального диска. На шаге 418 целевой модуль 310 SCSI загружает требуемую информацию в блочной форме (после преобразования из файловой информации, предоставленной файловой системой 320) в сообщение блочного доступа протокола (SCSI). Например, целевой модуль 310 SCSI может загрузить информацию, такую как размер виртуального диска, в сообщение протокола SCSI в ответ на запрос команды запроса SCSI. По завершении обработки запроса многопротокольное устройство хранения данных (и операционная система устройства хранения данных) возвращает ответ (например, в виде "полного" ответного сообщения SCSI) клиенту по сети (шаг 420). На шаге 422 последовательность заканчивается.
Следует отметить, что вышеописанный программный "путь" через уровни операционной системы хранения, необходимый для обращения к области хранения данных по запросу клиента, полученному многопротокольным устройством хранения данных, может также быть реализован аппаратно. Поэтому в дополнительном варианте осуществления изобретения путь данных запроса доступа к хранению через уровни операционной системы (включая систему 300 виртуализации) может быть построен в форме логической схемы, реализованной на основе программируемой вентильной матрицы (field progerammable gate array, FPGA) или специализированной интегральной схемы (application specific integrated circuit, ASIC). Этот вариант аппаратной реализации позволяет увеличить эффективность службы хранения данных, реализуемой многопротокольным устройством 100 хранения данных, при ответе на запрос файлового или блочного доступа, посылаемый клиентом 160. Кроме того, в другом дополнительном варианте осуществления изобретения элементарные процессоры сети и адаптеров 125-128 могут быть сконфигурированы для освобождения процессора 122 от некоторых или всех операций обработки пакетов и доступа к области хранения данных соответственно и таким образом могут увеличить эффективность службы хранения данных, реализуемой многопротокольным устройством 100 хранения данных. Следует особо отметить, что описываемые здесь различные процессы, архитектуры и процедуры могут быть реализованы в аппаратных средствах, встроенном программном обеспечении или обычном программном обеспечении.
Одно из преимуществ интегрированного многопротокольного устройства хранения данных состоит в том, что оно обеспечивает управление доступом и при соответствующем обеспечении - совместное использование файлов и виртуальных дисков для всех протоколов при сохранении целостности данных. Далее, устройство хранения предоставляет возможности встроенной/интегрированной виртуализации, которые устраняют потребность в участии пользователя в распределении ресурсов хранения при создании объектов хранения NAS и SAN. Эти возможности включают в себя виртуальное пространство хранения данных, которое позволяет объектам SAN и объектам NAS совместно существовать по отношению к управлению глобальным пространством хранения данных в пределах устройства. Кроме того, интегрированное устройство хранения данных обеспечивает одновременную поддержку протоколов блочного доступа к одному и тому же виртуальному диску, а также гетерогенную среду SAN с поддержкой кластеризации. В результате многопротокольное устройство хранения реализует самостоятельную единую платформу хранения, в общем случае поддерживающую все протоколы доступа к хранимой информации.
Вышеприведенное описание относилось к конкретным вариантам осуществления настоящего изобретения. В то же время, очевидно, что к описанным вариантам осуществления могут быть применены другие вариации и модификации, предполагающие достижение некоторых или всех их преимуществ. Например, явно предполагается, что принципы настоящего изобретения могут быть реализованы программным способом, включая читаемые компьютером носители информации, содержащие исполняемые компьютером программные инструкции, аппаратным способом во встроенном программном обеспечении или комбинацией этих способов. Поэтому указанное описание следует рассматривать лишь в качестве примера, не вносящего каких-либо ограничений в область изобретения. Таким образом, цель прилагаемой формулы изобретения состоит в охвате всех подобных вариаций и модификаций в соответствии с истинными принципами и областью изобретения.
Claims (25)
1. Многопротокольное устройство хранения данных, обеспечивающее доступ к информации, хранящейся на накопителях, по файловым и блочным протоколам доступа для систем с топологией накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN), включающее в себя следующий компонент: операционная система устройства хранения данных, поддерживающая файловую систему, которая взаимодействует с модулями виртуализации, посредством чего виртуализируется пространство хранения данных, предоставляемое накопителями, причем пространство хранения данных предназначено для хранения информации способом, общим для запросов по файловым и блочным протоколам доступа.
2. Многопротокольное устройство хранения данных по п.1, отличающееся тем, что файловая система логически организует информацию в файлы, каталоги и виртуальные диски и таким образом обеспечивает интегрированный подход к хранению, общий для NAS и SAN, путем обеспечения файлового доступа к файлам и каталогам и, одновременно, блочного доступа к виртуальным дискам.
3. Многопротокольное устройство хранения данных по п.1, отличающееся тем, что модули виртуализации включают в себя модуль виртуальных дисков и целевой модуль SCSI.
4. Многопротокольное устройство хранения данных по п.3, отличающееся тем, что модуль виртуальных дисков реализуется в виде дополнения к файловой системе, причем указанный модуль предоставляет доступ посредством административных интерфейсов в ответ на команды, посылаемые системным администратором в многопротокольное устройство хранения данных.
5. Многопротокольное устройство хранения данных по п.4, отличающееся тем, что административные интерфейсы включают в себя пользовательский интерфейс.
6. Многопротокольное устройство хранения данных по п.5, отличающееся тем, что модуль виртуальных дисков обслуживает системы с топологией SAN посредством выполнения набора команд работы с виртуальными дисками, посылаемых через пользовательский интерфейс.
7. Многопротокольное устройство хранения данных по п.6, отличающееся тем, что команды работы с виртуальными дисками преобразуются в элементарные операции файловой системы, которые взаимодействуют с файловой системой и целевым модулем SCSI, посредством чего реализуются виртуальные диски.
8. Многопротокольное устройство хранения данных по п.7, отличающееся тем, что целевой модуль SCSI инициирует эмуляцию диска или устройства с логическим номером путем выполнения процедуры отображения, осуществляющей преобразование логического номера устройства в виртуальный диск.
9. Многопротокольное устройство хранения данных по п.8, отличающееся тем, что целевой модуль SCSI реализует уровень трансляции между пространством блоков SAN и пространством файловой системы.
10. Многопротокольное устройство хранения данных по п.1, отличающееся тем, что виртуальное пространство хранения данных поддерживает совместное существование объектов хранения SAN и NAS по отношению к управлению общим пространством хранения данных со стороны файловой системы.
11. Многопротокольное устройство хранения данных по п.10, отличающееся тем, что файловая система взаимодействует с модулями виртуализации, посредством чего реализуется система виртуализации, которая обеспечивает гарантии надежности объектов хранения SAN и NAS, совместно существующих в виртуальном пространстве хранения данных.
12. Многопротокольное устройство хранения данных по п.1, отличающееся тем, что файловая система обеспечивает возможности управления томами, причем эти возможности используются для предоставления блочного доступа к информации, хранящейся на накопителях.
13. Многопротокольное устройство хранения данных по п.12, отличающееся тем, что накопители представляют собой диски.
14. Многопротокольное устройство хранения данных по п.1, отличающееся тем, что файловая система поддерживает семантику файловой системы, например, именование объектов хранения, и функции, относящиеся к менеджеру томов.
15. Многопротокольное устройство хранения данных по п.14, отличающееся тем, что функции, относящиеся к менеджеру томов, включают в себя, по меньшей мере, одну из следующих функций: агрегация накопителей; агрегация пропускной способности накопителей; средства гарантии надежности, например, зеркальное копирование или использование избыточного массива независимых дисков (RAID).
16. Операционная система многопротокольного устройства хранения данных, сконфигурированная для реализации службы хранения, осуществляющей организацию информации, хранящейся на накопителях, подключенных к многопротокольному устройству хранения данных посредством адаптера накопителей, причем указанная операционная система хранения данных включает в себя следующие компоненты: интегрированный стек сетевых протоколов, реализующий тракты передачи данных для поддержки доступа клиентов к информации, хранящейся в многопротокольном устройстве хранения данных, с использованием блочных и файловых протоколов доступа; файловая система, взаимодействующая с модулями виртуализации, посредством чего осуществляется виртуализация пространства хранения данных, предоставляемого накопителями.
17. Операционная система хранения данных по п.16, отличающаяся тем, что файловая система логически организует информацию в файлы, каталоги и виртуальные диски, посредством чего реализуется интегрированный подход к хранению для систем с топологией накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN) с использованием файловых и блочных протоколов доступа.
18. Операционная система хранения данных по п.17, отличающаяся тем, что блочные протоколы доступа включают в себя протоколы на основе SCSI, такие, как инкапсуляция SCSI в протокол TCP (iSCSI) и инкапсуляция SCSI в протокол Fibre Channel.
19. Операционная система хранения данных по п.18, отличающаяся тем, что интегрированный стек сетевых протоколов включает в себя следующие компоненты: уровни сетевых протоколов; уровень протокола файловой системы, взаимодействующий с уровнями сетевых протоколов и обеспечивающий доступ к файлам и каталогам, организованным файловой системой, по файловому протоколу доступа; драйвер iSCSI, представляющий собой дополнение к уровням сетевых протоколов и обеспечивающий доступ к виртуальным дискам, организованным файловой системой, по блочному протоколу доступа.
20. Операционная система хранения данных по п.19, отличающаяся тем, что интегрированный стек сетевых протоколов дополнительно включает в себя виртуальный интерфейсный уровень, который реализует возможности прямой транспортировки для файлового протокола доступа на уровне протокола файловой системы.
21. Операционная система хранения данных по п.20, отличающаяся тем, что интегрированный стек сетевых протоколов дополнительно включает в себя драйвер Fibre Channel, используемый для приема и посылки запросов блочного доступа к виртуальным дискам, организованным файловой системой.
22. Операционная система хранения данных по п.21, отличающаяся тем, что драйверы Fibre Channel и iSCSI обеспечивают управление доступом к виртуальным дискам, специфичное для Fibre Channel и iSCSI, а также управление представлением виртуальных дисков для iSCSI и протокола Fibre Channel при обращении к виртуальным дискам, расположенным в многопротокольном устройстве хранения данных.
23. Способ обеспечения доступа к информации, хранящейся на накопителях, по файловым и блочным протоколам доступа для систем с топологий накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN), включающий в себя следующие шаги: предоставляют единое пространство хранения данных для размещения хранимой информации; осуществляют предоставление услуг NAS с использованием сетевого адаптера, соединяющего многопротокольное устройство хранения данных с первой сетью, и возможностей файловой системы, позволяющих многопротокольному устройству хранения данных отвечать на файловые запросы, посылаемые клиентом NAS, для обращения к хранящейся информации как к файлам; осуществляют предоставление услуг SAN с использованием целевого сетевого адаптера, соединяющего многопротокольное устройство хранения данных со второй сетью, и возможностей управления томами, позволяющих многопротокольному устройству хранения данных отвечать на блочные запросы, посылаемые клиентом SAN, для обращения к хранящейся информации как к виртуальным дискам.
24. Способ по п.23, отличающийся тем, что дополнительно включает в себя следующие шаги: обеспечивают управления файлами и виртуальными дисками, расположенными в многопротокольном устройстве хранения данных, на основе имен, посредством чего реализуется единая схема именования для блочного и файлового хранения данных; реализуют иерархическую структуру именованных файлов и виртуальных дисков, расположенных на накопителях.
25. Способ обеспечения доступа к объектам хранения, расположенным на накопителях многопротокольного устройства хранения данных, по файловым и блочным протоколам, для систем с топологией накопителя, подключенного к сети (NAS), и систем с топологией сети хранения данных (SAN), отличающийся тем, что включает в себя следующие шаги: осуществляют организацию накопителей в один или более томов, образующих общее пространство хранения данных; предоставляют возможность совместного существования объектов хранения SAN и NAS в общем пространстве хранения данных; осуществляют прием файловых и блочных запросов на доступ к объектам хранения SAN и NAS в механизме многопротокольного устройства хранения данных; отвечают на файловые и блочные запросы путем извлечения объектов хранения SAN и NAS и их предоставления в ответ на запрос.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/215,917 US7873700B2 (en) | 2002-08-09 | 2002-08-09 | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US10/215,917 | 2002-08-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2005103588A RU2005103588A (ru) | 2005-10-10 |
RU2302034C2 RU2302034C2 (ru) | 2007-06-27 |
RU2302034C9 true RU2302034C9 (ru) | 2007-09-27 |
Family
ID=31494968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2005103588/09A RU2302034C9 (ru) | 2002-08-09 | 2003-07-28 | Многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа |
Country Status (10)
Country | Link |
---|---|
US (1) | US7873700B2 (ru) |
EP (1) | EP1543399A4 (ru) |
JP (1) | JP4440098B2 (ru) |
CN (1) | CN100357916C (ru) |
AU (1) | AU2003254238B2 (ru) |
CA (1) | CA2495180C (ru) |
HK (1) | HK1082976A1 (ru) |
IL (1) | IL166786A (ru) |
RU (1) | RU2302034C9 (ru) |
WO (1) | WO2004015521A2 (ru) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2525743C2 (ru) * | 2007-12-31 | 2014-08-20 | Мастеркард Интернешнл Инкорпорейтед | Системы и способы для передачи файлов данных, независимо от платформы |
RU2646312C1 (ru) * | 2016-11-14 | 2018-03-02 | Общество с ограниченной ответственностью "ИБС Экспертиза" | Интегрированный программно-аппаратный комплекс |
RU178459U1 (ru) * | 2017-09-08 | 2018-04-04 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU182176U1 (ru) * | 2018-04-18 | 2018-08-06 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU184681U1 (ru) * | 2018-04-18 | 2018-11-02 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU194502U1 (ru) * | 2019-06-26 | 2019-12-12 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
Families Citing this family (344)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424529B2 (en) * | 1999-12-10 | 2008-09-09 | International Business Machines Corporation | System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers |
US6868417B2 (en) * | 2000-12-18 | 2005-03-15 | Spinnaker Networks, Inc. | Mechanism for handling file level and block level remote file accesses using the same server |
US7640484B2 (en) | 2001-12-28 | 2009-12-29 | Netapp, Inc. | Triple parity technique for enabling efficient recovery from triple failures in a storage array |
US7613984B2 (en) * | 2001-12-28 | 2009-11-03 | Netapp, Inc. | System and method for symmetric triple parity for failing storage devices |
US8402346B2 (en) * | 2001-12-28 | 2013-03-19 | Netapp, Inc. | N-way parity technique for enabling recovery from up to N storage device failures |
US7313557B1 (en) | 2002-03-15 | 2007-12-25 | Network Appliance, Inc. | Multi-protocol lock manager |
US7010553B2 (en) | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US6993539B2 (en) | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US7873700B2 (en) | 2002-08-09 | 2011-01-18 | Netapp, Inc. | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US7711539B1 (en) * | 2002-08-12 | 2010-05-04 | Netapp, Inc. | System and method for emulating SCSI reservations using network file access protocols |
US8010707B2 (en) * | 2002-08-30 | 2011-08-30 | Broadcom Corporation | System and method for network interfacing |
US7340486B1 (en) * | 2002-10-10 | 2008-03-04 | Network Appliance, Inc. | System and method for file system snapshot of a virtual logical disk |
US7171452B1 (en) | 2002-10-31 | 2007-01-30 | Network Appliance, Inc. | System and method for monitoring cluster partner boot status over a cluster interconnect |
US7069307B1 (en) | 2002-12-20 | 2006-06-27 | Network Appliance, Inc. | System and method for inband management of a virtual disk |
JP4567293B2 (ja) * | 2003-01-21 | 2010-10-20 | 株式会社日立製作所 | ファイルサーバ |
US7809693B2 (en) * | 2003-02-10 | 2010-10-05 | Netapp, Inc. | System and method for restoring data on demand for instant volume restoration |
US7769722B1 (en) | 2006-12-08 | 2010-08-03 | Emc Corporation | Replication and restoration of multiple data storage object types in a data network |
US7360072B1 (en) * | 2003-03-28 | 2008-04-15 | Cisco Technology, Inc. | iSCSI system OS boot configuration modification |
US7383378B1 (en) * | 2003-04-11 | 2008-06-03 | Network Appliance, Inc. | System and method for supporting file and block access to storage object on a storage appliance |
US7457982B2 (en) | 2003-04-11 | 2008-11-25 | Network Appliance, Inc. | Writable virtual disk of read-only snapshot file objects |
US7293152B1 (en) * | 2003-04-23 | 2007-11-06 | Network Appliance, Inc. | Consistent logical naming of initiator groups |
US7181439B1 (en) * | 2003-04-25 | 2007-02-20 | Network Appliance, Inc. | System and method for transparently accessing a virtual disk using a file-based protocol |
US7330862B1 (en) | 2003-04-25 | 2008-02-12 | Network Appliance, Inc. | Zero copy write datapath |
US7716323B2 (en) * | 2003-07-18 | 2010-05-11 | Netapp, Inc. | System and method for reliable peer communication in a clustered storage system |
US7239989B2 (en) * | 2003-07-18 | 2007-07-03 | Oracle International Corporation | Within-distance query pruning in an R-tree index |
US7593996B2 (en) * | 2003-07-18 | 2009-09-22 | Netapp, Inc. | System and method for establishing a peer connection using reliable RDMA primitives |
US7055014B1 (en) * | 2003-08-11 | 2006-05-30 | Network Applicance, Inc. | User interface system for a multi-protocol storage appliance |
US7953819B2 (en) * | 2003-08-22 | 2011-05-31 | Emc Corporation | Multi-protocol sharable virtual storage objects |
US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7698289B2 (en) * | 2003-12-02 | 2010-04-13 | Netapp, Inc. | Storage system architecture for striping data container content across volumes of a cluster |
US7921110B1 (en) | 2003-12-23 | 2011-04-05 | Netapp, Inc. | System and method for comparing data sets |
US7478101B1 (en) | 2003-12-23 | 2009-01-13 | Networks Appliance, Inc. | System-independent data format in a mirrored storage system environment and method for using the same |
US7340639B1 (en) | 2004-01-08 | 2008-03-04 | Network Appliance, Inc. | System and method for proxying data access commands in a clustered storage system |
JP4477365B2 (ja) * | 2004-01-29 | 2010-06-09 | 株式会社日立製作所 | 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法 |
US7293195B1 (en) | 2004-01-29 | 2007-11-06 | Network Appliance, Inc. | System and method for coordinated bringup of a storage appliance in a cluster configuration |
US7949792B2 (en) | 2004-02-27 | 2011-05-24 | Cisco Technology, Inc. | Encoding a TCP offload engine within FCP |
US7966293B1 (en) | 2004-03-09 | 2011-06-21 | Netapp, Inc. | System and method for indexing a backup using persistent consistency point images |
US20050210028A1 (en) * | 2004-03-18 | 2005-09-22 | Shoji Kodama | Data write protection in a storage area network and network attached storage mixed environment |
US8230085B2 (en) * | 2004-04-12 | 2012-07-24 | Netapp, Inc. | System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance |
US8621029B1 (en) * | 2004-04-28 | 2013-12-31 | Netapp, Inc. | System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations |
US7328144B1 (en) | 2004-04-28 | 2008-02-05 | Network Appliance, Inc. | System and method for simulating a software protocol stack using an emulated protocol over an emulated network |
US7409494B2 (en) | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Extension of write anywhere file system layout |
US7430571B2 (en) * | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
US7409511B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Cloning technique for efficiently creating a copy of a volume in a storage system |
US8996455B2 (en) * | 2004-04-30 | 2015-03-31 | Netapp, Inc. | System and method for configuring a storage network utilizing a multi-protocol storage appliance |
JP2005321913A (ja) * | 2004-05-07 | 2005-11-17 | Hitachi Ltd | ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法 |
US7761284B2 (en) * | 2004-08-30 | 2010-07-20 | Overland Storage, Inc. | Tape emulating disk based storage system and method with automatically resized emulated tape capacity |
US7260678B1 (en) | 2004-10-13 | 2007-08-21 | Network Appliance, Inc. | System and method for determining disk ownership model |
US7730277B1 (en) | 2004-10-25 | 2010-06-01 | Netapp, Inc. | System and method for using pvbn placeholders in a flexible volume of a storage system |
US7769975B2 (en) * | 2004-11-15 | 2010-08-03 | International Business Machines Corporation | Method for configuring volumes in a storage system |
US7523286B2 (en) * | 2004-11-19 | 2009-04-21 | Network Appliance, Inc. | System and method for real-time balancing of user workload across multiple storage systems with shared back end storage |
US7844444B1 (en) * | 2004-11-23 | 2010-11-30 | Sanblaze Technology, Inc. | Fibre channel disk emulator system and method |
US7506111B1 (en) * | 2004-12-20 | 2009-03-17 | Network Appliance, Inc. | System and method for determining a number of overwitten blocks between data containers |
US7409495B1 (en) * | 2004-12-22 | 2008-08-05 | Symantec Operating Corporation | Method and apparatus for providing a temporal storage appliance with block virtualization in storage networks |
FR2880444B1 (fr) * | 2005-01-06 | 2007-03-09 | Gemplus Sa | Dispositif de stockage de donnees |
US8019842B1 (en) | 2005-01-27 | 2011-09-13 | Netapp, Inc. | System and method for distributing enclosure services data to coordinate shared storage |
US8180855B2 (en) | 2005-01-27 | 2012-05-15 | Netapp, Inc. | Coordinated shared storage architecture |
US7574464B2 (en) * | 2005-02-14 | 2009-08-11 | Netapp, Inc. | System and method for enabling a storage system to support multiple volume formats simultaneously |
US8122191B2 (en) | 2005-02-17 | 2012-02-21 | Overland Storage, Inc. | Data protection systems with multiple site replication |
US20060195425A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Composable query building API and query language |
US7747836B2 (en) * | 2005-03-08 | 2010-06-29 | Netapp, Inc. | Integrated storage virtualization and switch system |
US7757056B1 (en) | 2005-03-16 | 2010-07-13 | Netapp, Inc. | System and method for efficiently calculating storage required to split a clone volume |
JP4574408B2 (ja) * | 2005-03-24 | 2010-11-04 | 株式会社日立製作所 | 記憶装置システムの制御技術 |
WO2006116183A1 (en) * | 2005-04-25 | 2006-11-02 | Network Appliance, Inc. | Architecture for supporting sparse volumes |
EP1875394B1 (en) * | 2005-04-25 | 2011-06-08 | Network Appliance, Inc. | System and method for caching network file systems |
US7698501B1 (en) | 2005-04-29 | 2010-04-13 | Netapp, Inc. | System and method for utilizing sparse data containers in a striped volume set |
US7743210B1 (en) | 2005-04-29 | 2010-06-22 | Netapp, Inc. | System and method for implementing atomic cross-stripe write operations in a striped volume set |
US7617370B2 (en) * | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
US7962689B1 (en) | 2005-04-29 | 2011-06-14 | Netapp, Inc. | System and method for performing transactional processing in a striped volume set |
US7698334B2 (en) * | 2005-04-29 | 2010-04-13 | Netapp, Inc. | System and method for multi-tiered meta-data caching and distribution in a clustered computer environment |
US7904649B2 (en) | 2005-04-29 | 2011-03-08 | Netapp, Inc. | System and method for restriping data across a plurality of volumes |
US8073899B2 (en) * | 2005-04-29 | 2011-12-06 | Netapp, Inc. | System and method for proxying data access commands in a storage system cluster |
US20060253658A1 (en) * | 2005-05-04 | 2006-11-09 | International Business Machines Corporation | Provisioning or de-provisioning shared or reusable storage volumes |
US20060271579A1 (en) * | 2005-05-10 | 2006-11-30 | Arun Batish | Storage usage analysis |
US20060265358A1 (en) * | 2005-05-17 | 2006-11-23 | Junichi Hara | Method and apparatus for providing information to search engines |
US7739318B2 (en) * | 2005-06-20 | 2010-06-15 | Netapp, Inc. | System and method for maintaining mappings from data containers to their parent directories |
US7653682B2 (en) * | 2005-07-22 | 2010-01-26 | Netapp, Inc. | Client failure fencing mechanism for fencing network file system data in a host-cluster environment |
US20070022314A1 (en) * | 2005-07-22 | 2007-01-25 | Pranoop Erasani | Architecture and method for configuring a simplified cluster over a network with fencing and quorum |
US7516285B1 (en) | 2005-07-22 | 2009-04-07 | Network Appliance, Inc. | Server side API for fencing cluster hosts via export access rights |
US8484213B2 (en) * | 2005-08-31 | 2013-07-09 | International Business Machines Corporation | Heterogenous high availability cluster manager |
US7650366B1 (en) | 2005-09-09 | 2010-01-19 | Netapp, Inc. | System and method for generating a crash consistent persistent consistency point image set |
US9990133B2 (en) * | 2005-09-12 | 2018-06-05 | Oracle America, Inc. | Storage library client interface system and method |
US7707193B2 (en) * | 2005-09-22 | 2010-04-27 | Netapp, Inc. | System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem |
US20070088917A1 (en) * | 2005-10-14 | 2007-04-19 | Ranaweera Samantha L | System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems |
US7467276B1 (en) | 2005-10-25 | 2008-12-16 | Network Appliance, Inc. | System and method for automatic root volume creation |
EP1949214B1 (en) | 2005-10-28 | 2012-12-19 | Network Appliance, Inc. | System and method for optimizing multi-pathing support in a distributed storage system environment |
US8549252B2 (en) * | 2005-12-13 | 2013-10-01 | Emc Corporation | File based volumes and file systems |
US7693864B1 (en) | 2006-01-03 | 2010-04-06 | Netapp, Inc. | System and method for quickly determining changed metadata using persistent consistency point image differencing |
US7734603B1 (en) | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US8560503B1 (en) | 2006-01-26 | 2013-10-15 | Netapp, Inc. | Content addressable storage system |
CN100423491C (zh) | 2006-03-08 | 2008-10-01 | 杭州华三通信技术有限公司 | 虚拟化网络存储系统及其网络存储设备 |
US8285817B1 (en) | 2006-03-20 | 2012-10-09 | Netapp, Inc. | Migration engine for use in a logical namespace of a storage system environment |
US7734951B1 (en) | 2006-03-20 | 2010-06-08 | Netapp, Inc. | System and method for data protection management in a logical namespace of a storage system environment |
US7590660B1 (en) | 2006-03-21 | 2009-09-15 | Network Appliance, Inc. | Method and system for efficient database cloning |
US7926049B1 (en) | 2006-03-23 | 2011-04-12 | Netapp, Inc. | System and method for determining differences between software configurations |
US7565519B1 (en) | 2006-03-23 | 2009-07-21 | Netapp, Inc. | System and method for automatically upgrading/reverting configurations across a plurality of product release lines |
US8260831B2 (en) * | 2006-03-31 | 2012-09-04 | Netapp, Inc. | System and method for implementing a flexible storage manager with threshold control |
US8090908B1 (en) | 2006-04-26 | 2012-01-03 | Netapp, Inc. | Single nodename cluster system for fibre channel |
US7464238B1 (en) | 2006-04-28 | 2008-12-09 | Network Appliance, Inc. | System and method for verifying the consistency of mirrored data sets |
US8165221B2 (en) | 2006-04-28 | 2012-04-24 | Netapp, Inc. | System and method for sampling based elimination of duplicate data |
US7769723B2 (en) * | 2006-04-28 | 2010-08-03 | Netapp, Inc. | System and method for providing continuous data protection |
US9026495B1 (en) | 2006-05-26 | 2015-05-05 | Netapp, Inc. | System and method for creating and accessing a host-accessible storage entity |
US20070288535A1 (en) * | 2006-06-13 | 2007-12-13 | Hitachi, Ltd. | Long-term data archiving system and method |
US8185751B2 (en) * | 2006-06-27 | 2012-05-22 | Emc Corporation | Achieving strong cryptographic correlation between higher level semantic units and lower level components in a secure data storage system |
US7921077B2 (en) * | 2006-06-29 | 2011-04-05 | Netapp, Inc. | System and method for managing data deduplication of storage systems utilizing persistent consistency point images |
US8412682B2 (en) * | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US8010509B1 (en) | 2006-06-30 | 2011-08-30 | Netapp, Inc. | System and method for verifying and correcting the consistency of mirrored data sets |
US7747584B1 (en) | 2006-08-22 | 2010-06-29 | Netapp, Inc. | System and method for enabling de-duplication in a storage system architecture |
US7526619B1 (en) * | 2006-09-05 | 2009-04-28 | Nvidia Corporation | Method for providing emulated flexible magnetic storage medium using network storage services |
US7971234B1 (en) | 2006-09-15 | 2011-06-28 | Netapp, Inc. | Method and apparatus for offline cryptographic key establishment |
US8245050B1 (en) | 2006-09-29 | 2012-08-14 | Netapp, Inc. | System and method for initial key establishment using a split knowledge protocol |
US7739546B1 (en) | 2006-10-20 | 2010-06-15 | Netapp, Inc. | System and method for storing and retrieving file system log information in a clustered computer system |
US8996487B1 (en) | 2006-10-31 | 2015-03-31 | Netapp, Inc. | System and method for improving the relevance of search results using data container access patterns |
US7720889B1 (en) | 2006-10-31 | 2010-05-18 | Netapp, Inc. | System and method for nearly in-band search indexing |
US7933921B2 (en) | 2006-11-29 | 2011-04-26 | Netapp, Inc. | Referent-controlled location resolution of resources in a federated distributed system |
US7613947B1 (en) | 2006-11-30 | 2009-11-03 | Netapp, Inc. | System and method for storage takeover |
US7711683B1 (en) * | 2006-11-30 | 2010-05-04 | Netapp, Inc. | Method and system for maintaining disk location via homeness |
US7546302B1 (en) * | 2006-11-30 | 2009-06-09 | Netapp, Inc. | Method and system for improved resource giveback |
US8706833B1 (en) | 2006-12-08 | 2014-04-22 | Emc Corporation | Data storage server having common replication architecture for multiple storage object types |
US8489811B1 (en) | 2006-12-29 | 2013-07-16 | Netapp, Inc. | System and method for addressing data containers using data set identifiers |
US8301673B2 (en) * | 2006-12-29 | 2012-10-30 | Netapp, Inc. | System and method for performing distributed consistency verification of a clustered file system |
US20080177907A1 (en) * | 2007-01-23 | 2008-07-24 | Paul Boerger | Method and system of a peripheral port of a server system |
US7853750B2 (en) * | 2007-01-30 | 2010-12-14 | Netapp, Inc. | Method and an apparatus to store data patterns |
US7865663B1 (en) * | 2007-02-16 | 2011-01-04 | Vmware, Inc. | SCSI protocol emulation for virtual storage device stored on NAS device |
US8868495B2 (en) * | 2007-02-21 | 2014-10-21 | Netapp, Inc. | System and method for indexing user data on storage systems |
US7870356B1 (en) | 2007-02-22 | 2011-01-11 | Emc Corporation | Creation of snapshot copies using a sparse file for keeping a record of changed blocks |
US8312046B1 (en) | 2007-02-28 | 2012-11-13 | Netapp, Inc. | System and method for enabling a data container to appear in a plurality of locations in a super-namespace |
US8024518B1 (en) | 2007-03-02 | 2011-09-20 | Netapp, Inc. | Optimizing reads for verification of a mirrored file system |
US8219821B2 (en) | 2007-03-27 | 2012-07-10 | Netapp, Inc. | System and method for signature based data container recognition |
US7653612B1 (en) | 2007-03-28 | 2010-01-26 | Emc Corporation | Data protection services offload using shallow files |
US8312214B1 (en) | 2007-03-28 | 2012-11-13 | Netapp, Inc. | System and method for pausing disk drives in an aggregate |
US7734947B1 (en) | 2007-04-17 | 2010-06-08 | Netapp, Inc. | System and method for virtual interface failover within a cluster |
US9134921B1 (en) | 2007-04-23 | 2015-09-15 | Netapp, Inc. | Uniquely naming storage devices in a global storage environment |
US8611542B1 (en) | 2007-04-26 | 2013-12-17 | Netapp, Inc. | Peer to peer key synchronization |
US20080270480A1 (en) * | 2007-04-26 | 2008-10-30 | Hanes David H | Method and system of deleting files from a remote server |
US7827350B1 (en) | 2007-04-27 | 2010-11-02 | Netapp, Inc. | Method and system for promoting a snapshot in a distributed file system |
US7882304B2 (en) * | 2007-04-27 | 2011-02-01 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
US7840837B2 (en) * | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US8824686B1 (en) | 2007-04-27 | 2014-09-02 | Netapp, Inc. | Cluster key synchronization |
US8219749B2 (en) * | 2007-04-27 | 2012-07-10 | Netapp, Inc. | System and method for efficient updates of sequential block storage |
US8005993B2 (en) * | 2007-04-30 | 2011-08-23 | Hewlett-Packard Development Company, L.P. | System and method of a storage expansion unit for a network attached storage device |
US7958385B1 (en) | 2007-04-30 | 2011-06-07 | Netapp, Inc. | System and method for verification and enforcement of virtual interface failover within a cluster |
US9110920B1 (en) | 2007-05-03 | 2015-08-18 | Emc Corporation | CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames |
US7836331B1 (en) | 2007-05-15 | 2010-11-16 | Netapp, Inc. | System and method for protecting the contents of memory during error conditions |
US8762345B2 (en) | 2007-05-31 | 2014-06-24 | Netapp, Inc. | System and method for accelerating anchor point detection |
US7797489B1 (en) | 2007-06-01 | 2010-09-14 | Netapp, Inc. | System and method for providing space availability notification in a distributed striped volume set |
US8037524B1 (en) | 2007-06-19 | 2011-10-11 | Netapp, Inc. | System and method for differentiated cross-licensing for services across heterogeneous systems using transient keys |
US7801993B2 (en) * | 2007-07-19 | 2010-09-21 | Hitachi, Ltd. | Method and apparatus for storage-service-provider-aware storage system |
US8209365B2 (en) * | 2007-07-23 | 2012-06-26 | Hewlett-Packard Development Company, L.P. | Technique for virtualizing storage using stateless servers |
US8301791B2 (en) * | 2007-07-26 | 2012-10-30 | Netapp, Inc. | System and method for non-disruptive check of a mirror |
MX2010001850A (es) * | 2007-08-16 | 2010-07-05 | Fisher Controls Int | Escaneo y administracion de red en un administrador de tipo de equipo de equipo tipo. |
US20090055556A1 (en) * | 2007-08-20 | 2009-02-26 | Ntt Docomo, Inc. | External storage medium adapter |
EP2028603B1 (en) * | 2007-08-20 | 2011-07-13 | NTT DoCoMo, Inc. | External storage medium adapter |
US8346952B2 (en) * | 2007-08-21 | 2013-01-01 | Netapp, Inc. | De-centralization of group administration authority within a network storage architecture |
US8196182B2 (en) | 2007-08-24 | 2012-06-05 | Netapp, Inc. | Distributed management of crypto module white lists |
US8793226B1 (en) | 2007-08-28 | 2014-07-29 | Netapp, Inc. | System and method for estimating duplicate data |
US9774445B1 (en) | 2007-09-04 | 2017-09-26 | Netapp, Inc. | Host based rekeying |
US7756832B1 (en) | 2007-09-21 | 2010-07-13 | Netapp, Inc. | Apparatus and method for providing upgrade compatibility |
US8903772B1 (en) | 2007-10-25 | 2014-12-02 | Emc Corporation | Direct or indirect mapping policy for data blocks of a file in a file system |
US7983423B1 (en) | 2007-10-29 | 2011-07-19 | Netapp, Inc. | Re-keying based on pre-generated keys |
US7996636B1 (en) | 2007-11-06 | 2011-08-09 | Netapp, Inc. | Uniquely identifying block context signatures in a storage volume hierarchy |
US7904690B2 (en) * | 2007-12-14 | 2011-03-08 | Netapp, Inc. | Policy based storage appliance virtualization |
US7984259B1 (en) | 2007-12-17 | 2011-07-19 | Netapp, Inc. | Reducing load imbalance in a storage system |
US7890504B2 (en) * | 2007-12-19 | 2011-02-15 | Netapp, Inc. | Using the LUN type for storage allocation |
US7904466B1 (en) | 2007-12-21 | 2011-03-08 | Netapp, Inc. | Presenting differences in a file system |
US9507784B2 (en) | 2007-12-21 | 2016-11-29 | Netapp, Inc. | Selective extraction of information from a mirrored image file |
US8380674B1 (en) | 2008-01-09 | 2013-02-19 | Netapp, Inc. | System and method for migrating lun data between data containers |
US7996607B1 (en) | 2008-01-28 | 2011-08-09 | Netapp, Inc. | Distributing lookup operations in a striped storage system |
US8793117B1 (en) * | 2008-04-16 | 2014-07-29 | Scalable Network Technologies, Inc. | System and method for virtualization of networking system software via emulation |
US8725986B1 (en) | 2008-04-18 | 2014-05-13 | Netapp, Inc. | System and method for volume block number to disk block number mapping |
CN101566927B (zh) * | 2008-04-23 | 2010-10-27 | 杭州华三通信技术有限公司 | 存储系统和存储控制器以及数据缓存方法 |
US8219564B1 (en) | 2008-04-29 | 2012-07-10 | Netapp, Inc. | Two-dimensional indexes for quick multiple attribute search in a catalog system |
US8200638B1 (en) | 2008-04-30 | 2012-06-12 | Netapp, Inc. | Individual file restore from block-level incremental backups by using client-server backup protocol |
US8046333B1 (en) | 2008-04-30 | 2011-10-25 | Netapp, Inc. | Incremental dump with a metadata container walk using inode-to-parent mapping information |
WO2009140979A1 (en) * | 2008-05-21 | 2009-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Resource pooling in a blade cluster switching center server |
US8745336B2 (en) * | 2008-05-29 | 2014-06-03 | Vmware, Inc. | Offloading storage operations to storage hardware |
US8250043B2 (en) * | 2008-08-19 | 2012-08-21 | Netapp, Inc. | System and method for compression of partially ordered data sets |
US8285687B2 (en) | 2008-08-27 | 2012-10-09 | Netapp, Inc. | System and method for file system level compression using compression group descriptors |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US8073674B2 (en) * | 2008-09-23 | 2011-12-06 | Oracle America, Inc. | SCSI device emulation in user space facilitating storage virtualization |
US8327186B2 (en) * | 2009-03-10 | 2012-12-04 | Netapp, Inc. | Takeover of a failed node of a cluster storage system on a per aggregate basis |
US8688798B1 (en) | 2009-04-03 | 2014-04-01 | Netapp, Inc. | System and method for a shared write address protocol over a remote direct memory access connection |
US8266136B1 (en) | 2009-04-13 | 2012-09-11 | Netapp, Inc. | Mechanism for performing fast directory lookup in a server system |
US8069366B1 (en) * | 2009-04-29 | 2011-11-29 | Netapp, Inc. | Global write-log device for managing write logs of nodes of a cluster storage system |
US8117388B2 (en) * | 2009-04-30 | 2012-02-14 | Netapp, Inc. | Data distribution through capacity leveling in a striped file system |
GB2470895A (en) * | 2009-06-08 | 2010-12-15 | Mark Klarzynski | Virtualisation of block level storage by compartmentalising data into virtual block files to establish a virtual block file system |
US8463989B2 (en) * | 2009-06-16 | 2013-06-11 | Hitachi, Ltd. | Storage device and method utilizing both block I/O and file I/O access |
US8504529B1 (en) | 2009-06-19 | 2013-08-06 | Netapp, Inc. | System and method for restoring data to a storage device based on a backup image |
US8510806B2 (en) * | 2009-10-22 | 2013-08-13 | Sap Ag | System and method of controlling access to information in a virtual computing environment |
WO2011056612A2 (en) * | 2009-10-26 | 2011-05-12 | Klapman Matthew H | Concurrent access to a memory pool shared between a block access device and a graph access device |
US20110121108A1 (en) * | 2009-11-24 | 2011-05-26 | Stephan Rodewald | Plasma polymerization nozzle |
US9015333B2 (en) | 2009-12-18 | 2015-04-21 | Cisco Technology, Inc. | Apparatus and methods for handling network file operations over a fibre channel network |
US8281105B2 (en) * | 2010-01-20 | 2012-10-02 | Hitachi, Ltd. | I/O conversion method and apparatus for storage system |
JP5244831B2 (ja) * | 2010-01-25 | 2013-07-24 | 株式会社日立製作所 | 計算機システム及びストレージ統合管理方法 |
US8086638B1 (en) | 2010-03-31 | 2011-12-27 | Emc Corporation | File handle banking to provide non-disruptive migration of files |
WO2011145148A1 (en) * | 2010-05-20 | 2011-11-24 | Hitachi Software Engineering Co., Ltd. | Computer system and storage capacity extension method |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
CN101986651B (zh) * | 2010-08-26 | 2013-01-30 | 上海网众信息技术有限公司 | 远程存储的方法及其系统及客户端 |
CN101938523A (zh) * | 2010-09-16 | 2011-01-05 | 华中科技大学 | 一种iSCSI与FCP协议融合方法及其在容灾中的应用 |
WO2012045021A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system |
WO2012085968A1 (en) | 2010-12-22 | 2012-06-28 | Hitachi, Ltd. | Storage apparatus and storage management method |
CN102223409B (zh) * | 2011-06-13 | 2013-08-21 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储资源应用系统及方法 |
US9461881B2 (en) | 2011-09-30 | 2016-10-04 | Commvault Systems, Inc. | Migration of existing computing systems to cloud computing sites or virtual machines |
US9116633B2 (en) * | 2011-09-30 | 2015-08-25 | Commvault Systems, Inc. | Information management of virtual machines having mapped storage devices |
US8959389B2 (en) | 2011-11-23 | 2015-02-17 | International Business Machines Corporation | Use of a virtual drive as a hot spare for a raid group |
WO2013138587A1 (en) | 2012-03-14 | 2013-09-19 | Convergent .Io Technologies Inc. | Systems, methods and devices for management of virtual memory systems |
US9639297B2 (en) | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US8924443B2 (en) * | 2012-10-05 | 2014-12-30 | Gary Robin Maze | Document management systems and methods |
US20140181038A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Systems and methods to categorize unprotected virtual machines |
US9223597B2 (en) | 2012-12-21 | 2015-12-29 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
CN103067488A (zh) * | 2012-12-25 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 一种统一存储的实现方法 |
US9378035B2 (en) | 2012-12-28 | 2016-06-28 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US9020977B1 (en) * | 2012-12-31 | 2015-04-28 | Emc Corporation | Managing multiprotocol directories |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
US9015123B1 (en) | 2013-01-16 | 2015-04-21 | Netapp, Inc. | Methods and systems for identifying changed data in an expandable storage volume |
CN104956310B (zh) * | 2013-01-28 | 2019-03-05 | 株式会社日立制作所 | 存储系统和用于分配资源的方法 |
US10447524B1 (en) | 2013-03-14 | 2019-10-15 | EMC IP Holding Company LLC | Unified datapath processing with virtualized storage processors |
US9286007B1 (en) | 2013-03-14 | 2016-03-15 | Emc Corporation | Unified datapath architecture |
US9424117B1 (en) * | 2013-03-15 | 2016-08-23 | Emc Corporation | Virtual storage processor failover |
US9507787B1 (en) | 2013-03-15 | 2016-11-29 | EMC IP Holding Company LLC | Providing mobility to virtual storage processors |
US9122697B1 (en) * | 2013-03-29 | 2015-09-01 | Emc Corporation | Unified data services for block and file objects |
US9280555B1 (en) | 2013-03-29 | 2016-03-08 | Emc Corporation | Unified data protection for block and file objects |
CN103257941B (zh) * | 2013-04-17 | 2015-09-23 | 浪潮(北京)电子信息产业有限公司 | 多协议存储控制器和系统 |
US9535630B1 (en) * | 2013-06-27 | 2017-01-03 | EMC IP Holding Company LLC | Leveraging array operations at virtualized storage processor level |
US9400792B1 (en) | 2013-06-27 | 2016-07-26 | Emc Corporation | File system inline fine grained tiering |
US9430492B1 (en) | 2013-06-28 | 2016-08-30 | Emc Corporation | Efficient scavenging of data and metadata file system blocks |
US9355121B1 (en) | 2013-06-28 | 2016-05-31 | Emc Corporation | Segregating data and metadata in a file system |
US20150074536A1 (en) | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
US9378219B1 (en) | 2013-09-30 | 2016-06-28 | Emc Corporation | Metro-cluster based on synchronous replication of virtualized storage processors |
US9330155B1 (en) * | 2013-09-30 | 2016-05-03 | Emc Corporation | Unified management of sync and async replication for block and file objects |
US9305009B1 (en) | 2013-09-30 | 2016-04-05 | Emc Corporation | Synchronous replication of virtualized storage processors |
US9378261B1 (en) | 2013-09-30 | 2016-06-28 | Emc Corporation | Unified synchronous replication for block and file objects |
CN103617130A (zh) * | 2013-11-15 | 2014-03-05 | 浪潮(北京)电子信息产业有限公司 | 一种支持多种协议的存储虚拟化系统 |
US20160259568A1 (en) * | 2013-11-26 | 2016-09-08 | Knut S. Grimsrud | Method and apparatus for storing data |
CN103607465A (zh) * | 2013-11-27 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种融合链路存储系统 |
US9880777B1 (en) | 2013-12-23 | 2018-01-30 | EMC IP Holding Company LLC | Embedded synchronous replication for block and file objects |
CN103685566A (zh) * | 2013-12-25 | 2014-03-26 | 天津火星科技有限公司 | 一种面向移动终端的云存储实现方法 |
US10915468B2 (en) * | 2013-12-26 | 2021-02-09 | Intel Corporation | Sharing memory and I/O services between nodes |
US9069783B1 (en) | 2013-12-31 | 2015-06-30 | Emc Corporation | Active-active scale-out for unified data path architecture |
US9842026B2 (en) | 2013-12-31 | 2017-12-12 | Netapp, Inc. | Snapshot-protected consistency checking file systems |
US9430480B1 (en) | 2013-12-31 | 2016-08-30 | Emc Corporation | Active-active metro-cluster scale-out for unified data path architecture |
US9811427B2 (en) | 2014-04-02 | 2017-11-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
JP2015225603A (ja) * | 2014-05-29 | 2015-12-14 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム |
US9690803B1 (en) | 2014-06-30 | 2017-06-27 | EMC IP Holding Company LLC | Auxiliary files in a container file system |
US9916312B1 (en) | 2014-06-30 | 2018-03-13 | EMC IP Holding Company LLC | Coordination of file system creation to ensure more deterministic performance characteristics |
US10853311B1 (en) * | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US9880928B1 (en) | 2014-09-26 | 2018-01-30 | EMC IP Holding Company LLC | Storing compressed and uncompressed data in blocks having different allocation unit sizes |
US11755559B1 (en) | 2014-10-09 | 2023-09-12 | Splunk Inc. | Automatic entity control in a machine data driven service monitoring system |
US9130860B1 (en) | 2014-10-09 | 2015-09-08 | Splunk, Inc. | Monitoring service-level performance using key performance indicators derived from machine data |
US10209956B2 (en) | 2014-10-09 | 2019-02-19 | Splunk Inc. | Automatic event group actions |
US10505825B1 (en) | 2014-10-09 | 2019-12-10 | Splunk Inc. | Automatic creation of related event groups for IT service monitoring |
US9146962B1 (en) | 2014-10-09 | 2015-09-29 | Splunk, Inc. | Identifying events using informational fields |
US11501238B2 (en) | 2014-10-09 | 2022-11-15 | Splunk Inc. | Per-entity breakdown of key performance indicators |
US9210056B1 (en) | 2014-10-09 | 2015-12-08 | Splunk Inc. | Service monitoring interface |
US10305758B1 (en) | 2014-10-09 | 2019-05-28 | Splunk Inc. | Service monitoring interface reflecting by-service mode |
US10193775B2 (en) | 2014-10-09 | 2019-01-29 | Splunk Inc. | Automatic event group action interface |
US9760240B2 (en) | 2014-10-09 | 2017-09-12 | Splunk Inc. | Graphical user interface for static and adaptive thresholds |
US11296955B1 (en) | 2014-10-09 | 2022-04-05 | Splunk Inc. | Aggregate key performance indicator spanning multiple services and based on a priority value |
US9146954B1 (en) | 2014-10-09 | 2015-09-29 | Splunk, Inc. | Creating entity definition from a search result set |
US10474680B2 (en) | 2014-10-09 | 2019-11-12 | Splunk Inc. | Automatic entity definitions |
US11275775B2 (en) | 2014-10-09 | 2022-03-15 | Splunk Inc. | Performing search queries for key performance indicators using an optimized common information model |
US9130832B1 (en) | 2014-10-09 | 2015-09-08 | Splunk, Inc. | Creating entity definition from a file |
US11087263B2 (en) | 2014-10-09 | 2021-08-10 | Splunk Inc. | System monitoring with key performance indicators from shared base search of machine data |
US11671312B2 (en) | 2014-10-09 | 2023-06-06 | Splunk Inc. | Service detail monitoring console |
US9158811B1 (en) | 2014-10-09 | 2015-10-13 | Splunk, Inc. | Incident review interface |
US10417225B2 (en) | 2015-09-18 | 2019-09-17 | Splunk Inc. | Entity detail monitoring console |
US11200130B2 (en) | 2015-09-18 | 2021-12-14 | Splunk Inc. | Automatic entity control in a machine data driven service monitoring system |
US10592093B2 (en) | 2014-10-09 | 2020-03-17 | Splunk Inc. | Anomaly detection |
US9864797B2 (en) | 2014-10-09 | 2018-01-09 | Splunk Inc. | Defining a new search based on displayed graph lanes |
US10536353B2 (en) | 2014-10-09 | 2020-01-14 | Splunk Inc. | Control interface for dynamic substitution of service monitoring dashboard source data |
US10235638B2 (en) | 2014-10-09 | 2019-03-19 | Splunk Inc. | Adaptive key performance indicator thresholds |
US10417108B2 (en) | 2015-09-18 | 2019-09-17 | Splunk Inc. | Portable control modules in a machine data driven service monitoring system |
US9491059B2 (en) | 2014-10-09 | 2016-11-08 | Splunk Inc. | Topology navigator for IT services |
US11455590B2 (en) | 2014-10-09 | 2022-09-27 | Splunk Inc. | Service monitoring adaptation for maintenance downtime |
US10447555B2 (en) | 2014-10-09 | 2019-10-15 | Splunk Inc. | Aggregate key performance indicator spanning multiple services |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US20160217175A1 (en) | 2015-01-23 | 2016-07-28 | Netapp, Inc. | Techniques for asynchronous snapshot invalidation |
US10198155B2 (en) | 2015-01-31 | 2019-02-05 | Splunk Inc. | Interface for automated service discovery in I.T. environments |
US9967351B2 (en) | 2015-01-31 | 2018-05-08 | Splunk Inc. | Automated service discovery in I.T. environments |
US10037251B1 (en) | 2015-03-31 | 2018-07-31 | EMC IP Holding Company LLC | File system rollback to previous point in time |
US9563514B2 (en) | 2015-06-19 | 2017-02-07 | Commvault Systems, Inc. | Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs |
US10084873B2 (en) | 2015-06-19 | 2018-09-25 | Commvault Systems, Inc. | Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs |
US10705909B2 (en) * | 2015-06-25 | 2020-07-07 | International Business Machines Corporation | File level defined de-clustered redundant array of independent storage devices solution |
US10942815B2 (en) * | 2015-07-09 | 2021-03-09 | Hitachi, Ltd. | Storage control system managing file-level and block-level storage services, and methods for controlling such storage control system |
US11983138B2 (en) | 2015-07-26 | 2024-05-14 | Samsung Electronics Co., Ltd. | Self-configuring SSD multi-protocol support in host-less environment |
US10523766B2 (en) * | 2015-08-27 | 2019-12-31 | Infinidat Ltd | Resolving path state conflicts in internet small computer system interfaces |
CN106997274B (zh) * | 2016-01-25 | 2021-04-30 | 中兴通讯股份有限公司 | 一种实现存储空间管理的架构及方法 |
US10592350B2 (en) | 2016-03-09 | 2020-03-17 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine restore to cloud operations |
US11461258B2 (en) | 2016-09-14 | 2022-10-04 | Samsung Electronics Co., Ltd. | Self-configuring baseboard management controller (BMC) |
US10210123B2 (en) | 2016-07-26 | 2019-02-19 | Samsung Electronics Co., Ltd. | System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices |
US10346041B2 (en) | 2016-09-14 | 2019-07-09 | Samsung Electronics Co., Ltd. | Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host |
US10942960B2 (en) | 2016-09-26 | 2021-03-09 | Splunk Inc. | Automatic triage model execution in machine data driven monitoring automation apparatus with visualization |
US10942946B2 (en) | 2016-09-26 | 2021-03-09 | Splunk, Inc. | Automatic triage model execution in machine data driven monitoring automation apparatus |
US10853320B1 (en) | 2016-09-30 | 2020-12-01 | EMC IP Holding Company LLC | Scavenging directories for free space |
US10747630B2 (en) | 2016-09-30 | 2020-08-18 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node |
US10162528B2 (en) | 2016-10-25 | 2018-12-25 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US10628196B2 (en) * | 2016-11-12 | 2020-04-21 | Vmware, Inc. | Distributed iSCSI target for distributed hyper-converged storage |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10949308B2 (en) | 2017-03-15 | 2021-03-16 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US10896100B2 (en) | 2017-03-24 | 2021-01-19 | Commvault Systems, Inc. | Buffered virtual machine replication |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US10853195B2 (en) | 2017-03-31 | 2020-12-01 | Commvault Systems, Inc. | Granular restoration of virtual machine application data |
US10789017B1 (en) | 2017-07-31 | 2020-09-29 | EMC IP Holding Company LLC | File system provisioning and management with reduced storage communication |
US10983964B1 (en) | 2017-07-31 | 2021-04-20 | EMC IP Holding Company LLC | Managing file system tailored for cluster deployment |
US10831718B1 (en) | 2017-07-31 | 2020-11-10 | EMC IP Holding Company LLC | Managing data using network attached storage (NAS) cluster |
US10289325B1 (en) | 2017-07-31 | 2019-05-14 | EMC IP Holding Company LLC | Managing multiple tenants in NAS (network attached storage) clusters |
US11042512B1 (en) | 2017-08-02 | 2021-06-22 | EMC IP Holding Company LLC | Enabling granular snapshots and provisioning in NAS (network attached storage) clusters |
US11093518B1 (en) | 2017-09-23 | 2021-08-17 | Splunk Inc. | Information technology networked entity monitoring with dynamic metric and threshold selection |
US11106442B1 (en) | 2017-09-23 | 2021-08-31 | Splunk Inc. | Information technology networked entity monitoring with metric selection prior to deployment |
US11159397B2 (en) | 2017-09-25 | 2021-10-26 | Splunk Inc. | Lower-tier application deployment for higher-tier system data monitoring |
CN107656704A (zh) * | 2017-09-28 | 2018-02-02 | 郑州云海信息技术有限公司 | 多协议数据共享存储方法、装置、设备及计算机存储介质 |
US11042448B2 (en) | 2018-01-31 | 2021-06-22 | EMC IP Holding Company LLC | Archiving NAS servers to the cloud |
US10740192B2 (en) | 2018-01-31 | 2020-08-11 | EMC IP Holding Company LLC | Restoring NAS servers from the cloud |
US10848545B2 (en) | 2018-01-31 | 2020-11-24 | EMC IP Holding Company LLC | Managing cloud storage of block-based and file-based data |
US10764180B1 (en) * | 2018-02-20 | 2020-09-01 | Toshiba Memory Corporation | System and method for storing data using software defined networks |
US10877928B2 (en) | 2018-03-07 | 2020-12-29 | Commvault Systems, Inc. | Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations |
CN110879760B (zh) * | 2018-09-05 | 2022-09-02 | 北京鲸鲨软件科技有限公司 | 一种统一存储系统及方法、电子设备 |
US11172052B2 (en) | 2018-09-13 | 2021-11-09 | International Business Machines Corporation | Merging storage protocols |
CN109117099A (zh) * | 2018-10-23 | 2019-01-01 | 西安莫贝克半导体科技有限公司 | 一种san结构存储柜管理系统及数据操作方法 |
EP3857859B1 (en) | 2018-11-16 | 2023-07-19 | VMWare, Inc. | Active-active architecture for distributed iscsi target in hyper-converged storage |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US10970257B2 (en) | 2019-01-31 | 2021-04-06 | EMC IP Holding Company LLC | Replicating file systems via cloud storage |
CN113841136B (zh) * | 2019-05-17 | 2024-10-01 | 日立数据管理有限公司 | 用于管理基于对象的文件系统的装置、系统和方法 |
US11281541B2 (en) | 2020-01-15 | 2022-03-22 | EMC IP Holding Company LLC | Dynamic snapshot backup in multi-cloud environment |
US11507409B2 (en) | 2020-01-22 | 2022-11-22 | Vmware, Inc. | Object-based load balancing approaches in distributed storage system |
US11500667B2 (en) | 2020-01-22 | 2022-11-15 | Vmware, Inc. | Object-based approaches to support internet small computer system interface (ISCSI) services in distributed storage system |
US11467753B2 (en) | 2020-02-14 | 2022-10-11 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
CN111399771B (zh) * | 2020-02-28 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种mcs存储系统的协议配置方法、装置及设备 |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
US11748143B2 (en) | 2020-05-15 | 2023-09-05 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
US11023134B1 (en) * | 2020-05-22 | 2021-06-01 | EMC IP Holding Company LLC | Addition of data services to an operating system running a native multi-path input-output architecture |
CN112379826A (zh) * | 2020-10-22 | 2021-02-19 | 中科热备(北京)云计算技术有限公司 | 一种存储整合技术的应用方法 |
US11656951B2 (en) | 2020-10-28 | 2023-05-23 | Commvault Systems, Inc. | Data loss vulnerability detection |
US11676072B1 (en) | 2021-01-29 | 2023-06-13 | Splunk Inc. | Interface for incorporating user feedback into training of clustering model |
US20220413765A1 (en) * | 2021-06-28 | 2022-12-29 | Netapp Inc. | Key value store with distributed shared access by clients |
US11947501B2 (en) * | 2021-10-21 | 2024-04-02 | Dell Products L.P. | Two-hierarchy file system |
CN116126812B (zh) * | 2023-02-27 | 2024-02-23 | 开元数智工程咨询集团有限公司 | 一种工程行业文件存储与集成的方法与系统 |
Family Cites Families (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4156907A (en) | 1977-03-02 | 1979-05-29 | Burroughs Corporation | Data communications subsystem |
US4399503A (en) | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
US4598357A (en) | 1980-11-14 | 1986-07-01 | Sperry Corporation | Cache/disk subsystem with file number for recovery of cached data |
US4837675A (en) | 1981-10-05 | 1989-06-06 | Digital Equipment Corporation | Secondary storage facility empolying serial communications between drive and controller |
US4570217A (en) | 1982-03-29 | 1986-02-11 | Allen Bruce S | Man machine interface |
JPS60142418A (ja) | 1983-12-28 | 1985-07-27 | Hitachi Ltd | 入出力エラ−回復方式 |
US4896259A (en) | 1984-09-07 | 1990-01-23 | International Business Machines Corporation | Apparatus for storing modifying data prior to selectively storing data to be modified into a register |
JPS61141056A (ja) | 1984-12-14 | 1986-06-28 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 揮発性メモリの間欠エラ−検出方法 |
US5202979A (en) | 1985-05-08 | 1993-04-13 | Thinking Machines Corporation | Storage system using multiple independently mechanically-driven storage units |
US4805090A (en) | 1985-09-27 | 1989-02-14 | Unisys Corporation | Peripheral-controller for multiple disk drive modules having different protocols and operating conditions |
US4916608A (en) | 1986-05-30 | 1990-04-10 | International Business Machines Corporation | Provision of virtual storage resources to an operating system control program |
US4761785B1 (en) | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
USRE34100E (en) | 1987-01-12 | 1992-10-13 | Seagate Technology, Inc. | Data error correction system |
US4843541A (en) | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5129088A (en) | 1987-11-30 | 1992-07-07 | International Business Machines Corporation | Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device |
US4899342A (en) | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
US4864497A (en) | 1988-04-13 | 1989-09-05 | Digital Equipment Corporation | Method of integrating software application programs using an attributive data model database |
US4993030A (en) | 1988-04-22 | 1991-02-12 | Amdahl Corporation | File system for a plurality of storage classes |
US4989206A (en) | 1988-06-28 | 1991-01-29 | Storage Technology Corporation | Disk drive memory |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
EP0490980B1 (en) | 1989-09-08 | 1999-05-06 | Auspex Systems, Inc. | Multiple facility operating system architecture |
US5124987A (en) | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
US5155835A (en) | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
US5278979A (en) | 1990-12-20 | 1994-01-11 | International Business Machines Corp. | Version management system using pointers shared by a plurality of versions for indicating active lines of a version |
US5426747A (en) | 1991-03-22 | 1995-06-20 | Object Design, Inc. | Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system |
US5511177A (en) | 1991-11-21 | 1996-04-23 | Hitachi, Ltd. | File data multiplexing method and data processing system |
US5581724A (en) | 1992-10-19 | 1996-12-03 | Storage Technology Corporation | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem |
EP0681721B1 (en) | 1993-02-01 | 2005-03-23 | Sun Microsystems, Inc. | Archiving file system for data servers in a distributed network environment |
JP3751018B2 (ja) | 1993-06-03 | 2006-03-01 | ネットワーク・アプライアンス・インコーポレイテッド | ライトエニウエアファイルシステムレイアウト |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
EP0701716B1 (en) | 1993-06-03 | 2002-08-14 | Network Appliance, Inc. | Method and file system for allocating blocks of files to storage space in a RAID disk system |
US5566331A (en) * | 1994-01-24 | 1996-10-15 | University Corporation For Atmospheric Research | Mass storage system for file-systems |
DE19513308A1 (de) | 1994-10-04 | 1996-04-11 | Hewlett Packard Co | Dreidimensionales Dateisystem unter Verwendung einer virtuellen Knotenarchitektur |
US5907672A (en) | 1995-10-04 | 1999-05-25 | Stac, Inc. | System for backing up computer disk volumes with error remapping of flawed memory addresses |
US5859930A (en) * | 1995-12-06 | 1999-01-12 | Fpr Corporation | Fast pattern recognizer utilizing dispersive delay line |
US5996047A (en) | 1996-07-01 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for caching file control information corresponding to a second file block in a first file block |
US5828876A (en) | 1996-07-31 | 1998-10-27 | Ncr Corporation | File system for a clustered processing system |
US5944789A (en) * | 1996-08-14 | 1999-08-31 | Emc Corporation | Network file server maintaining local caches of file directory information in data mover computers |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US6178173B1 (en) * | 1996-12-30 | 2001-01-23 | Paradyne Corporation | System and method for communicating pre-connect information in a digital communication system |
US5897661A (en) | 1997-02-25 | 1999-04-27 | International Business Machines Corporation | Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information |
US5946685A (en) | 1997-06-27 | 1999-08-31 | Sun Microsystems, Inc. | Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism |
US5987477A (en) | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
US6807581B1 (en) | 2000-09-29 | 2004-10-19 | Alacritech, Inc. | Intelligent network storage interface system |
US5941972A (en) | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US5996024A (en) | 1998-01-14 | 1999-11-30 | Emc Corporation | Method and apparatus for a SCSI applications server which extracts SCSI commands and data from message and encapsulates SCSI responses to provide transparent operation |
US6185655B1 (en) | 1998-01-22 | 2001-02-06 | Bull, S.A. | Computer system with distributed data storing |
US6493811B1 (en) * | 1998-01-26 | 2002-12-10 | Computer Associated Think, Inc. | Intelligent controller accessed through addressable virtual space |
US6173374B1 (en) | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
US6173293B1 (en) | 1998-03-13 | 2001-01-09 | Digital Equipment Corporation | Scalable distributed file system |
US6697846B1 (en) | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6438642B1 (en) * | 1999-05-18 | 2002-08-20 | Kom Networks Inc. | File-based virtual storage file system, method and computer program product for automated file management on multiple file system storage devices |
US6457021B1 (en) | 1998-08-18 | 2002-09-24 | Microsoft Corporation | In-memory database system |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
IE20000203A1 (en) * | 1999-03-25 | 2001-02-21 | Converge Net Technologies Inc | Storage domain management system |
US6275898B1 (en) | 1999-05-13 | 2001-08-14 | Lsi Logic Corporation | Methods and structure for RAID level migration within a logical unit |
US20020049883A1 (en) | 1999-11-29 | 2002-04-25 | Eric Schneider | System and method for restoring a computer system after a failure |
US6526478B1 (en) | 2000-02-02 | 2003-02-25 | Lsi Logic Corporation | Raid LUN creation using proportional disk mapping |
US6834326B1 (en) | 2000-02-04 | 2004-12-21 | 3Com Corporation | RAID method and device with network protocol between controller and storage devices |
US20010044879A1 (en) * | 2000-02-18 | 2001-11-22 | Moulton Gregory Hagan | System and method for distributed management of data storage |
US6701449B1 (en) | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
US6745207B2 (en) * | 2000-06-02 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | System and method for managing virtual storage |
US6618798B1 (en) | 2000-07-11 | 2003-09-09 | International Business Machines Corporation | Method, system, program, and data structures for mapping logical units to a storage space comprises of at least one array of storage units |
US6636879B1 (en) | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US8949471B2 (en) * | 2000-11-02 | 2015-02-03 | Oracle America, Inc. | TCP/UDP acceleration |
US6671773B2 (en) | 2000-12-07 | 2003-12-30 | Spinnaker Networks, Llc | Method and system for responding to file system requests |
US6868417B2 (en) | 2000-12-18 | 2005-03-15 | Spinnaker Networks, Inc. | Mechanism for handling file level and block level remote file accesses using the same server |
US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
US7562110B2 (en) * | 2001-01-11 | 2009-07-14 | F5 Networks, Inc. | File switch and switched file system |
US6606690B2 (en) * | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US20040233910A1 (en) * | 2001-02-23 | 2004-11-25 | Wen-Shyen Chen | Storage area network using a data communication protocol |
US6779063B2 (en) * | 2001-04-09 | 2004-08-17 | Hitachi, Ltd. | Direct access storage system having plural interfaces which permit receipt of block and file I/O requests |
US20020161982A1 (en) * | 2001-04-30 | 2002-10-31 | Erik Riedel | System and method for implementing a storage area network system protocol |
JP4632574B2 (ja) * | 2001-05-25 | 2011-02-16 | 株式会社日立製作所 | 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法 |
CN1147793C (zh) * | 2001-05-30 | 2004-04-28 | 深圳市朗科科技有限公司 | 使用半导体存储设备的数据安全存取方法和系统 |
US7685261B1 (en) * | 2001-06-29 | 2010-03-23 | Symantec Operating Corporation | Extensible architecture for the centralized discovery and management of heterogeneous SAN components |
JP4156817B2 (ja) * | 2001-07-27 | 2008-09-24 | 株式会社日立製作所 | 記憶装置システム |
JP4217273B2 (ja) * | 2001-09-17 | 2009-01-28 | 株式会社日立製作所 | ストレージシステム |
US7127633B1 (en) * | 2001-11-15 | 2006-10-24 | Xiotech Corporation | System and method to failover storage area network targets from one interface to another |
US6978283B1 (en) | 2001-12-21 | 2005-12-20 | Network Appliance, Inc. | File system defragmentation technique via write allocation |
JP4146653B2 (ja) * | 2002-02-28 | 2008-09-10 | 株式会社日立製作所 | 記憶装置 |
US7039663B1 (en) | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
JP2003316713A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 記憶装置システム |
US6757778B1 (en) * | 2002-05-07 | 2004-06-29 | Veritas Operating Corporation | Storage management system |
US7194538B1 (en) * | 2002-06-04 | 2007-03-20 | Veritas Operating Corporation | Storage area network (SAN) management system for discovering SAN components using a SAN management server |
US7328260B1 (en) * | 2002-06-04 | 2008-02-05 | Symantec Operating Corporation | Mapping discovered devices to SAN-manageable objects using configurable rules |
US7844833B2 (en) * | 2002-06-24 | 2010-11-30 | Microsoft Corporation | Method and system for user protected media pool |
US7873700B2 (en) | 2002-08-09 | 2011-01-18 | Netapp, Inc. | Multi-protocol storage appliance that provides integrated support for file and block access protocols |
US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US7590807B2 (en) | 2003-11-03 | 2009-09-15 | Netapp, Inc. | System and method for record retention date in a write once read many storage system |
US7409494B2 (en) | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Extension of write anywhere file system layout |
US20070088702A1 (en) | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
-
2002
- 2002-08-09 US US10/215,917 patent/US7873700B2/en active Active
-
2003
- 2003-07-28 AU AU2003254238A patent/AU2003254238B2/en not_active Ceased
- 2003-07-28 CN CNB038238225A patent/CN100357916C/zh not_active Expired - Lifetime
- 2003-07-28 WO PCT/US2003/023597 patent/WO2004015521A2/en active Application Filing
- 2003-07-28 EP EP03784832A patent/EP1543399A4/en not_active Ceased
- 2003-07-28 JP JP2004527664A patent/JP4440098B2/ja not_active Expired - Lifetime
- 2003-07-28 RU RU2005103588/09A patent/RU2302034C9/ru not_active IP Right Cessation
- 2003-07-28 CA CA2495180A patent/CA2495180C/en not_active Expired - Fee Related
-
2005
- 2005-02-09 IL IL166786A patent/IL166786A/en not_active IP Right Cessation
-
2006
- 2006-03-06 HK HK06102881A patent/HK1082976A1/xx not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2525743C2 (ru) * | 2007-12-31 | 2014-08-20 | Мастеркард Интернешнл Инкорпорейтед | Системы и способы для передачи файлов данных, независимо от платформы |
RU2646312C1 (ru) * | 2016-11-14 | 2018-03-02 | Общество с ограниченной ответственностью "ИБС Экспертиза" | Интегрированный программно-аппаратный комплекс |
RU178459U1 (ru) * | 2017-09-08 | 2018-04-04 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU182176U1 (ru) * | 2018-04-18 | 2018-08-06 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU184681U1 (ru) * | 2018-04-18 | 2018-11-02 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
RU194502U1 (ru) * | 2019-06-26 | 2019-12-12 | Общество с ограниченной ответственностью "БУЛАТ" | Устройство хранения данных |
Also Published As
Publication number | Publication date |
---|---|
CN1688982A (zh) | 2005-10-26 |
WO2004015521A2 (en) | 2004-02-19 |
EP1543399A2 (en) | 2005-06-22 |
CA2495180C (en) | 2013-04-30 |
AU2003254238A1 (en) | 2004-02-25 |
US20040030668A1 (en) | 2004-02-12 |
RU2302034C2 (ru) | 2007-06-27 |
EP1543399A4 (en) | 2007-08-22 |
US7873700B2 (en) | 2011-01-18 |
HK1082976A1 (en) | 2006-06-23 |
CN100357916C (zh) | 2007-12-26 |
IL166786A (en) | 2010-12-30 |
WO2004015521A3 (en) | 2004-07-01 |
JP2005535961A (ja) | 2005-11-24 |
JP4440098B2 (ja) | 2010-03-24 |
AU2003254238B2 (en) | 2008-03-20 |
IL166786A0 (en) | 2006-01-15 |
RU2005103588A (ru) | 2005-10-10 |
CA2495180A1 (en) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2302034C9 (ru) | Многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа | |
US7849274B2 (en) | System and method for zero copy block protocol write operations | |
JP4758424B2 (ja) | 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法 | |
JP5054531B2 (ja) | 暫定的に設けられたデータコンテナから未使用空間を返還要求するシステム、及び方法 | |
US7904482B2 (en) | System and method for transparently accessing a virtual disk using a file-based protocol | |
EP1747657B1 (en) | System and method for configuring a storage network utilizing a multi-protocol storage appliance | |
US9275083B2 (en) | System and method for managing data policies on application objects | |
US8943295B1 (en) | System and method for mapping file block numbers to logical block addresses | |
US7979402B1 (en) | System and method for managing file data during consistency points | |
US7529836B1 (en) | Technique for throttling data access requests | |
US8429140B1 (en) | System and method for representing application objects in standardized form for policy management | |
US7779201B1 (en) | System and method for determining disk ownership model | |
US7523201B2 (en) | System and method for optimized lun masking | |
US7293152B1 (en) | Consistent logical naming of initiator groups | |
US7526558B1 (en) | System and method for supporting a plurality of levels of acceleration in a single protocol session | |
US7783611B1 (en) | System and method for managing file metadata during consistency points | |
US8015266B1 (en) | System and method for providing persistent node names |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TH4A | Reissue of patent specification | ||
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20150729 |