RU150421U1 - SYSTEM OF PLACING AND REMOVING FILES OF DIVIDED SERVERS - Google Patents
SYSTEM OF PLACING AND REMOVING FILES OF DIVIDED SERVERS Download PDFInfo
- Publication number
- RU150421U1 RU150421U1 RU2014115058/08U RU2014115058U RU150421U1 RU 150421 U1 RU150421 U1 RU 150421U1 RU 2014115058/08 U RU2014115058/08 U RU 2014115058/08U RU 2014115058 U RU2014115058 U RU 2014115058U RU 150421 U1 RU150421 U1 RU 150421U1
- Authority
- RU
- Russia
- Prior art keywords
- file
- files
- storage device
- dedicated servers
- dedicated
- Prior art date
Links
Images
Abstract
1. Система размещения и извлечения файлов выделенных серверов, содержащая:основной компьютер, обеспечивающий координированный доступ к ресурсам компьютера;хранилище данных, содержащее:- совокупность файлов выделенных серверов, выполненная с возможностью поддержки сервисом файловой системы;- совокупность файлов выделенных серверов, расположенных в индивидуальных областях памяти серверов;- кэш-память дискового запоминающего устройства, выполненная с возможностью хранения используемых в текущее время файлов выделенных серверов;- базу данных, хранящую данные внутренних системных имен файлов выделенных серверов;- блок управления и поддержки пользователя, сконфигурированный с возможностью сбора статистики обращений к файлам выделенных серверов,в которой:блок управления и поддержки пользователя выполнен с возможностью копирования файла из индивидуальных областей памяти в кэш-память дискового запоминающего устройства на основе статистики обращений к файлам и данных внутренних системных имен файлов;блок управления и поддержки пользователя выполнен предоставляющим выделенным серверам доступ к данным, хранящимся в кэш-памяти дискового запоминающего устройства, при этом данные внутренних системных имен выделенных серверов содержат атрибуты контрольной суммы файлов и длины файлов.2. Система по п. 1, в которой блок управления и поддержки пользователя выполнен обеспечивающим совместное использование файла выделенных серверов из кэш-памяти дискового запоминающего устройства в том случае, если внутренние данные файлов совпадают с используемыми файлами, хранящимися в базе данных.3. Система по п. 1, в котор�1. A system for hosting and extracting files of dedicated servers, comprising: a host computer providing coordinated access to computer resources; a data store containing: - a collection of files of dedicated servers configured to support the file system service; - a collection of files of dedicated servers located in individual areas of server memory; - cache memory of a disk storage device configured to store currently used files of dedicated servers; - database data that stores data of internal system names of files of dedicated servers; - a user control and support unit configured to collect statistics of accesses to files of dedicated servers, in which: a user control and support unit is configured to copy the file from individual memory areas to the cache memory a disk storage device based on statistics of file accesses and data of internal system file names; the control and user support unit is designed to provide Highlighted servers access to data stored in the disk cache memory, the internal data name system dedicated servers contain checksum and file attributes faylov.2 length. The system of claim 1, wherein the user control and support unit is configured to share a dedicated server file from a cache of a disk storage device if the internal file data matches the files used in the database. The system of claim 1, wherein
Description
Область техники, к которой относится полезная модельThe technical field to which the utility model relates.
Полезная модель относится к виртуальным частным серверам (от английского - Virtual Private Server, VPS). Более точно, полезная модель относится к кэшированию (т.е. процедуре размещения и извлечения из кэш-памяти) общих файлов виртуальных частных серверов.The utility model relates to virtual private servers (from English - Virtual Private Server, VPS). More specifically, the utility model relates to caching (i.e., the procedure for placing and retrieving from the cache) shared virtual private server files.
Уровень техникиState of the art
Значительная коммерческая важность серверных технологий обусловлена популярностью и успешностью сети Интернет. Обычно индивидуальное серверное приложение (т.е. компьютерная программа) выполняется на выделенном физическом (т.е. реально существующем) хост-компьютере, обслуживающем клиентские запросы. Однако предоставление отдельного физического хост-компьютера для каждого серверного приложения требует значительных финансовых затрат и неэффективно.The significant commercial importance of server technology is due to the popularity and success of the Internet. Typically, an individual server application (i.e., a computer program) runs on a dedicated physical (i.e., really existing) host computer serving client requests. However, providing a separate physical host computer for each server application is costly and inefficient.
Например, поставщики интернет-услуг часто предоставляют коммерческие сервисы хостинга, при этом каждому потребителю обычно предоставляется выделенный физический хост-компьютер, на котором выполняется серверное приложение. Однако нередко потребителю, приобретающему услуги хостинга, не требуется вычислительная мощность целого хост-компьютера, и потребитель не склонен оплачивать его использование. Как правило, индивидуальному потребителю нужна только часть ресурсов хост-компьютера: часть вычислительной мощности, часть пространства памяти его запоминающих устройств и т.п.For example, Internet service providers often provide commercial hosting services, and each consumer is usually provided with a dedicated physical host computer on which the server application runs. However, often the consumer who purchases hosting services does not need the processing power of the whole host computer, and the consumer is not inclined to pay for its use. As a rule, an individual consumer needs only part of the resources of the host computer: part of the processing power, part of the memory space of his storage devices, etc.
В связи с этим, на одном физическом компьютере желательно разместить множество серверных приложений. Для этого для каждого серверного приложения требуется приложение-контейнер - изолированный виртуальный частный сервер или выделенный сервер, имитирующий выполнение серверного приложения на выделенном физическом хост-компьютере. Такая организация вычислений не может быть реализована обычной серверной технологией, поскольку вместо выполнения отдельных дискретных процессов виртуальный частный сервер должен содержать множество как-бы не взаимодействующих друг с другом процессов. Каждый контейнерный процесс выполняет различные элементы функциональности, требуемой потребителю, и каждый процесс использует принадлежащие ему файлы, хранящиеся в изолированной частной зоне виртуального частного сервера (выделенного сервера или «контейнера»).In this regard, it is desirable to host multiple server applications on one physical computer. For this, for each server application, a container application is required - an isolated virtual private server or a dedicated server that simulates the execution of the server application on a dedicated physical host computer. Such an organization of calculations cannot be implemented by conventional server technology, because instead of executing separate discrete processes, a virtual private server must contain many processes that seem to not interact with each other. Each container process performs various elements of the functionality required by the consumer, and each process uses the files belonging to it, stored in the isolated private zone of the virtual private server (dedicated server or “container”).
Таким образом, другая проблема организации множества виртуальных частных серверов на едином физическом хост-компьютере состоит в предоставлении каждому виртуальному частному серверу отдельной файловой системы. Файловая система представляет собой организованную совокупность данных (в хранилище данных), хранящуюся на одном или более физических запоминающих устройствах, например, накопителях на жестких дисках или RAID-накопителях (от английского RAID - Redundant Array of Inexpensive Disks, избыточный массив недорогих дисков).Thus, another problem in organizing multiple virtual private servers on a single physical host computer is to provide each virtual private server with a separate file system. A file system is an organized collection of data (in a data warehouse) stored on one or more physical storage devices, for example, hard disk drives or RAID drives (from the English RAID - Redundant Array of Inexpensive Disks, an excess array of inexpensive disks).
Входящее в состав системы хранилище данных может содержать: совокупность файлов выделенных серверов, поддерживаемую сервисом файловой системы. При этом, файл выделенных серверов могут быть расположены в индивидуальных областях памяти серверов. Также хранилище данных может иметь в своем составе кэш-память дискового запоминающего устройства, выполненная с возможностью хранения используемых в текущее время файлов выделенных серверов. На хранилище данных расположена база данных, хранящая данные внутренних системных имен файлов выделенных серверов. Кроме того, система содержит блок управления и поддержки пользователя, сконфигурированный с возможностью сбора статистики обращений к файлам выделенных серверов.The data warehouse included in the system may contain: a collection of dedicated server files supported by the file system service. In this case, a file of dedicated servers can be located in individual areas of server memory. Also, the data warehouse may include a cache memory of a disk storage device, configured to store currently used files of dedicated servers. The data warehouse contains a database that stores data of internal system file names of dedicated servers. In addition, the system contains a control and user support unit configured to collect statistics on accesses to files of dedicated servers.
Как правило, данные хранятся в виде файлов, например, текстовых документов, таблиц с данными, исполнимых программ и т.п. Файлы хранятся во множестве ″элементов памяти″ запоминающего устройства, для обозначения которых часто используют термины ″дисковый блок″ или ″единица дисковой памяти″ (кластер).As a rule, data is stored in the form of files, for example, text documents, data tables, executable programs, etc. Files are stored in a variety of ″ memory elements ″ of the storage device, often referred to as the terms ″ disk block ″ or ″ unit of disk memory ″ (cluster).
Предоставление отдельного физического устройства для хранения файловой системы каждого виртуального частного сервера дорого и неэффективно. Поэтому каждому виртуальному частному серверу (выделенному серверу) выделяется приватная (т.е. индивидуальная) область памяти для хранения файлов, используемых данным виртуальным частным сервером. Однако если на физическом хост-компьютере реализовано множество идентичных друг другу виртуальных частных серверов, то в своей работе эти виртуальные частные серверы обладают и пользуются идентичными наборами файлов.Providing a separate physical device for storing the file system of each virtual private server is expensive and inefficient. Therefore, each virtual private server (dedicated server) is allocated a private (i.e., individual) memory area for storing files used by this virtual private server. However, if on a physical host computer there are many virtual private servers identical to each other, then in their work these virtual private servers possess and use identical sets of files.
Хотя организовать совместное использование файлов несколькими виртуальными частными серверами несложно, однако оснащение контейнеров эффективным методом совместного использования различных совпадающих файлов проблематично. Таким образом, требуется действенный и эффективный метод использования и обращения к общим файлам виртуальных частных серверов (контейнеров).Although sharing files with multiple virtual private servers is easy, equipping containers with an efficient method for sharing different matching files is problematic. Thus, an efficient and effective method of using and accessing shared files of virtual private servers (containers) is required.
Раскрытие полезной моделиUtility Model Disclosure
Настоящая полезная модель относится к кэшированию совместно используемых файлов виртуальных частных серверов (контейнеров), которое в значительной степени устраняет один или более недостатков существующего уровня техники.This utility model relates to caching of shared files of virtual private servers (containers), which largely eliminates one or more of the drawbacks of the prior art.
Согласно варианту осуществления, в составе системы имеется основной компьютер, обеспечивающий координированный доступ к ресурсам компьютера, на котором выполняется ядро операционной системы, содержащее в своем составе сервис файловой системы. Ядро операционной системы поддерживает множество виртуальных частных серверов. Пользователям сервиса виртуальных частных серверов доступно, по крайней мере, одно приложение. Каждый виртуальный частный сервер имеет свое собственное виртуальное пространство адресов (или собственный набор адресов), которое включает: адреса оперативного запоминающего устройства (ОЗУ); адреса IP (от английского Internet Protocol - протокол сети Интернет); адреса накопителя на жестких дисках; имена по протоколу SMB (от английского Server Message Block - совокупность серверных сообщений, сетевой протокол удаленного доступа к файлам, принтерам и другим сетевым ресурсам); имена по протоколу TCP (от английского Transmission Control Protocol - протокол управления передачей); имена каналов и т.д. Каждый виртуальный частный сервер имеет свои собственные объекты и файлы. С точки зрения ядра операционной системы каждый из упомянутых объектов и файлов каждого из виртуальных частных серверов имеет уникальный идентификатор.According to an embodiment, the system includes a main computer that provides coordinated access to the resources of the computer that runs the kernel of the operating system, which contains the file system service. The kernel of the operating system supports many virtual private servers. At least one application is available to users of the virtual private server service. Each virtual private server has its own virtual address space (or its own set of addresses), which includes: addresses of random access memory (RAM); IP addresses (from English Internet Protocol - Internet Protocol); hard drive addresses; names using the SMB protocol (from the English Server Message Block - a set of server messages, a network protocol for remote access to files, printers, and other network resources); names over TCP (from English Transmission Control Protocol - Transmission Control Protocol); channel names, etc. Each virtual private server has its own objects and files. From the point of view of the kernel of the operating system, each of the mentioned objects and files of each of the virtual private servers has a unique identifier.
Каждый из виртуальных частных серверов не может воздействовать на файлы или объекты другого виртуального частного сервера (контейнера), а также не может получить доступ к информации о процессах, выполняемых на другом виртуальном частном сервере. В состав ресурсов сервера входят: пространство виртуальной памяти, выделенное каждому пользователю; пространство памяти подкачки, выделенное в ядре операционной системы для поддержки виртуальных частных серверов; пространство памяти подкачки, используемое ядром операционной системы для поддержки процессов пользователя либо в форме совместного использования, либо в эксклюзивной форме (т.е. для поддержки процессов пользователя либо одного, либо множества виртуальных частных серверов); резидентная память, выделенная в ядре операционной системы; физическая память, используемая процессами пользователя; совместно используемые ресурсы центрального процессорного устройства (ЦПУ); секретные дескрипторы (или иные идентификаторы, относящиеся к разграничению прав доступа пользователей и виртуальных частных серверов); объекты и файлы, используемые ядром операционной системы; интерфейсы ввода-вывода и уровень их использования конкретными виртуальными частными серверами; файловое и (или) дисковое пространство памяти; ограничения, накладываемые на индивидуальные ресурсы пользователя.Each of the virtual private servers cannot affect the files or objects of another virtual private server (container), and also cannot access information about processes running on another virtual private server. The composition of server resources includes: virtual memory space allocated to each user; swap memory space allocated in the kernel of the operating system to support virtual private servers; swap memory space used by the kernel of the operating system to support user processes either in the form of sharing or in an exclusive form (i.e., to support user processes of either one or multiple virtual private servers); resident memory allocated in the kernel of the operating system; physical memory used by user processes; shared resources of the central processing unit (CPU); secret descriptors (or other identifiers related to the delimitation of access rights of users and virtual private servers); objects and files used by the kernel of the operating system; I / O interfaces and their level of use by specific virtual private servers; file and (or) disk space of memory; restrictions imposed on individual user resources.
Каждый виртуальный частный сервер содержит: совокупность процессов, причем каждый из них содержит, по крайней мере, один поток, обслуживающий соответствующих пользователей; совокупность объектов и файлов, ассоциированных с указанным множеством потоков. Согласно варианту осуществления, если виртуальный частный сервер использует файлы для операций чтения и записи, то для каждого из файлов основная управляющая операционная система с помощью хэш-функций вычисляет хэш-значения (контрольные суммы). Такие хэш-значения (контрольные суммы) используются как атрибуты (хэш-атрибуты) файла. Указанные значения хэш-атрибутов файлов (контрольные суммы) формируются при создании файлов (т.е. при выполнении операции закрытия файла). Хэш-атрибуты входят в состав расширенных атрибутов файлов, которые хранятся совместно с файлами.Each virtual private server contains: a set of processes, each of which contains at least one thread serving the corresponding users; a collection of objects and files associated with a specified set of threads. According to an embodiment, if the virtual private server uses files for read and write operations, then for each of the files, the main control operating system calculates hash values (checksums) using hash functions. Such hash values (checksums) are used as attributes (hash attributes) of the file. The specified values of the hash attributes of the files (checksums) are generated when the files are created (i.e., when the file close operation is performed). Hash attributes are part of the extended file attributes that are stored with the files.
Когда процесс виртуального частного сервера обращается к файлу, то выполняется проверка его хэш-атрибута (контрольной суммы) на соответствие записям базы данных. И если выявляется идентичный файл с совпадающими значениями контрольной суммы и длины файла в индексном дескрипторе (от английского inode, т.е. index node, - структура данных, хранящая служебную информацию о файлах файловой системы, в том числе, хранящая атрибуты файлов), то этот файл помещается в кэш-память дискового запоминающего устройства. Хэш-атрибут (контрольную сумму) проверяет специальная утилита ядра операционной системы. Если контрольные суммы файлов совпадают, то файл не копируется. Вместо этого для открытия файла, хранящегося в частной директории контейнера, используется ссылка-перенаправление. Файл в пространстве процесса виртуального частного сервера может быть переназначен (т.е. перенаправлен) на кэш-память дискового запоминающего устройства специальной утилитой ядра операционной системы. Затем вместо того, чтобы обращаться к приватному пространству виртуального частного сервера, процессы виртуального частного сервера обращаются к файлу в кэш-памяти дискового запоминающего устройства.When the virtual private server process accesses the file, it checks its hash attribute (checksum) against the database records. And if an identical file is detected with matching values of the checksum and file length in the index (from the English inode, i.e. index node, is a data structure that stores service information about files in the file system, including storing file attributes), this file is cached on the disk storage device. The hash attribute (checksum) is checked by a special utility of the operating system kernel. If the checksums of the files match, then the file is not copied. Instead, a redirect link is used to open the file stored in the container’s private directory. A file in the process space of a virtual private server can be reassigned (i.e. redirected) to the cache memory of a disk storage device using a special utility of the operating system kernel. Then, instead of accessing the private space of the virtual private server, the processes of the virtual private server access the file in the cache memory of the disk storage device.
Программное обеспечение сервера может представлять собой дополнение к любой из операционных систем: Microsoft Windows NT Server - Terminal Server Edition; Microsoft Windows 2000 Server - Terminal Server; Microsoft Windows Server 2003 - Terminal Services, или любому серверу, основанному на платформе Microsoft Windows. Операционная система содержит совокупность потоков, предназначенных для выполнения запросов пользователей. Виртуальные частные серверы представляются пользователю по существу как выделенные серверы и в общем случае предоставляют функциональность выделенного сервера или удаленного компьютера, включая все операции администрирования.Server software can be an addition to any of the operating systems: Microsoft Windows NT Server - Terminal Server Edition; Microsoft Windows 2000 Server - Terminal Server; Microsoft Windows Server 2003 - Terminal Services, or any server based on the Microsoft Windows platform. The operating system contains a set of threads designed to fulfill user requests. Virtual private servers are presented to the user essentially as dedicated servers and in general provide the functionality of a dedicated server or remote computer, including all administrative operations.
Дополнительные особенности и преимущества настоящей полезной модели будут разъяснены в следующем далее описании осуществления полезной модели. Частично они станут понятны из описания, либо они будут выявлены практикой использования полезной модели. Достоинства полезной модели будут реализованы и получены в структуре, подробно раскрытой в прилагаемом описании и формуле полезной модели, а также в прилагаемых чертежах.Additional features and advantages of the present utility model will be explained in the following description of the implementation of the utility model. Partially, they will become clear from the description, or they will be revealed by the practice of using the utility model. The advantages of the utility model will be realized and obtained in the structure disclosed in detail in the attached description and formula of the utility model, as well as in the accompanying drawings.
Следует учитывать, что и предшествующее общее описание, и последующее детальное описание приводятся в качестве примера и в целях разъяснения и предназначены для лучшего объяснения сущности заявленной полезной модели.It should be borne in mind that both the preceding general description and the following detailed description are given as an example and for purposes of explanation and are intended to better explain the essence of the claimed utility model.
Краткое описание чертежейBrief Description of the Drawings
На чертежах показано:The drawings show:
на фиг. 1 - схема кэш-памяти дискового запоминающего устройства согласно варианту осуществления;in FIG. 1 is a cache diagram of a disk storage device according to an embodiment;
на фиг. 2 - графическое представление процедуры формирования хэш-атрибута (контрольной суммы), являющегося атрибутом файла в контейнере, согласно варианту осуществления;in FIG. 2 is a graphical representation of a procedure for generating a hash attribute (checksum), which is an attribute of a file in a container, according to an embodiment;
на фиг. 3 - графическое представление процедуры формирования кэш-памяти файлов согласно варианту осуществления;in FIG. 3 is a graphical representation of a file cache generation procedure according to an embodiment;
на фиг. 4 - графическое представление способа кэширования компьютерных файлов согласно варианту осуществления;in FIG. 4 is a graphical representation of a method for caching computer files according to an embodiment;
на фиг. 5 - пример схемы хост-компьютерной системы, которая может использоваться в настоящей полезной модели.in FIG. 5 is an example of a host computer system diagram that can be used in the present utility model.
Осуществление полезной моделиUtility Model Implementation
Далее приводится подробное описание вариантов осуществления настоящей полезной модели, которые иллюстрируются прилагающимися чертежами.The following is a detailed description of embodiments of the present utility model, which are illustrated by the accompanying drawings.
Настоящая полезная модель направлена на систему, метод и компьютерный программный продукт для кэширования совместно используемых файлов виртуальных частных серверов (контейнеров). Виртуальный частный сервер (контейнер) представляет собой ограниченный набор (совокупность) процессов, системных ресурсов, пользователей, групп пользователей, объектов, структур данных. Каждый виртуальный частный сервер имеет уникальный идентификатор.This utility model is directed to a system, method and computer software product for caching shared files of virtual private servers (containers). A virtual private server (container) is a limited set (set) of processes, system resources, users, user groups, objects, data structures. Each virtual private server has a unique identifier.
Согласно варианту осуществления, виртуальный частный сервер предоставляет его пользователям услуги, которые по существу функционально эквивалентны предоставляемым выделенным сервером с удаленным доступом. По сути, с точки зрения администратора виртуальный частный сервер в настоящей полезной модели является тем же, что и выделенный компьютер, установленный в вычислительном центре.According to an embodiment, the virtual private server provides its users with services that are substantially functionally equivalent to those provided by the dedicated remote access server. In fact, from the point of view of the administrator, a virtual private server in this utility model is the same as a dedicated computer installed in a computer center.
По сути, с точки зрения пользователя виртуальный частный сервер функционирует так же, как и сервер с удаленным доступом, и предоставляет те же услуги, например, через выделенный IP-адрес. Следует учитывать, что некоторые процессы, выполняемые в составе ядра операционной системы, могут предоставлять услуги множеству виртуальных частных серверов.In fact, from the user's point of view, a virtual private server functions in the same way as a server with remote access, and provides the same services, for example, through a dedicated IP address. Keep in mind that some processes running as part of the kernel of the operating system can provide services to many virtual private servers.
В вычислительной системе с одной операционной системой каждый виртуальный частный сервер виртуализирует указанную операционную систему и использует службы операционной системы. Каждый виртуальный частный сервер содержит множество процессов, каждый из которых содержит, по крайней мере, один поток, обслуживающий соответствующих пользователей, а также множество объектов и файлов, ассоциированных с указанным потоком (множеством потоков). Процессы виртуального частного сервера используют некоторое число одних и тех же файлов. В заявке 11/972,556 на патент США, поданной одновременно с данной заявкой и включенной в данную заявку в виде ссылки, предлагается система для использования ссылок на совместно используемые файлы виртуальных частных серверов, расположенных в физическом запоминающем устройстве хост-компьютера.In a computer system with one operating system, each virtual private server virtualizes the specified operating system and uses the services of the operating system. Each virtual private server contains many processes, each of which contains at least one thread serving the corresponding users, as well as many objects and files associated with the specified stream (multiple threads). Virtual private server processes use a number of the same files. U.S. Patent Application 11 / 972,556, filed simultaneously with this application and incorporated by reference into this application, proposes a system for using links to shared files of virtual private servers located in the physical storage device of the host computer.
Когда процессу виртуального частного сервера требуется обратиться к файлу, то процесс находит ссылку на файл в приватной зоне виртуального частного сервера и обращается к файлу в физическом запоминающем устройстве. Однако такая процедура не всегда работоспособна после восстановления виртуального частного сервера из резервной копии. В таких случаях обычно некоторое число ссылок на файлы виртуального частного сервера не работают или указывают на неверное положение, в связи с чем запуск виртуального частного сервера оказывается невозможным.When the process of the virtual private server needs to access the file, the process finds a link to the file in the private zone of the virtual private server and accesses the file in the physical storage device. However, this procedure is not always operational after restoring a virtual private server from a backup. In such cases, usually a certain number of links to virtual private server files do not work or indicate an incorrect position, and therefore it is impossible to start the virtual private server.
Согласно варианту осуществления, когда процессы виртуального частного сервера выполняют операции чтения и записи в файлы, основная управляющая операционная система вычисляет хэш-значения (контрольные суммы) для каждого из файлов. Утилита ядра операционной системы перехватывает операции чтения и записи файлов и, при выявлении нерасшаренного файла (т.е. файла без общего доступа) выполняет требуемые действия. Следует учитывать, что при создании файлов может быть сформирована кэш-память файлов. Хэш-значения (контрольные суммы) используются в качестве атрибутов файлов. Значение хэш-атрибута (контрольной суммы) фала контейнера формируется при создании файла (т.е. при выполнении операции закрытия файла). Хэш-атрибуты хранятся в базе данных и упорядочены в соответствии со значениями атрибутов размера файла. Следует учитывать, что в базе данных могут также храниться неупорядоченные записи. Например, хэш-атрибуты могут быть объединены в группы.According to an embodiment, when the virtual private server processes read and write files, the main control operating system calculates hash values (checksums) for each of the files. The operating system kernel utility intercepts file read and write operations and, when an unshared file (that is, a file without shared access) is detected, performs the required actions. Keep in mind that when creating files, a file cache may be generated. Hash values (checksums) are used as file attributes. The value of the hash attribute (checksum) of the container file is generated when the file is created (i.e., when the file close operation is performed). Hash attributes are stored in the database and arranged according to file size attribute values. Please note that disordered records may also be stored in the database. For example, hash attributes can be grouped.
Первая группа битов хэш-атрибутов используется в качестве имени папки (группы) и соответствует упорядоченным или неупорядоченным хэш-атрибутам, хранящимся в этой папке. При поступлении нового хэш-значения оно направляется в соответствующую папку, это является разновидностью алгоритма упорядочивания. Например, файл с хэш-значением ″ABCD″ может храниться как файл ″ABCD″, или же как файл ″D″ в папке ″С″, входящей в папку ″В″, которая расположена в корневой папке ″А″ (которая, тем не менее, может являться папкой более низкого уровня для некоторой другой папки). Буквы ″A-D″ могут быть числами в шестнадцатеричном коде. Хэш-значение может также использоваться в качестве адреса запоминающего устройства, в котором хранятся соответствующие данные, например, в качестве пути к расшаренному файлу (т.е. файлу с общим доступом). Предложенный способ не обязательно требует дополнительного хранения какого-либо рода.The first group of hash attribute bits is used as the name of the folder (group) and corresponds to the ordered or unordered hash attributes stored in this folder. When a new hash value arrives, it is sent to the appropriate folder, this is a kind of ordering algorithm. For example, a file with a hash value of ″ ABCD ″ can be stored as a ″ ABCD ″ file, or as a ″ D ″ file in the ″ C ″ folder in the ″ B ″ folder located in the ″ A ″ root folder (which however, it may be a lower level folder for some other folder). The letters ″ A-D ″ can be numbers in hexadecimal code. The hash value can also be used as the address of the storage device in which the corresponding data is stored, for example, as the path to the shared file (i.e., a shared file). The proposed method does not necessarily require additional storage of any kind.
Когда процесс виртуального частного сервера (контейнера) обращается к файлу, то выполняется сопоставление хэш-атрибута (контрольной суммы) с содержимым базы данных. И если выявляется идентичный файл с совпадающими значениями в индексном дескрипторе (контрольная сумма и длина файла), то файл помещается в кэш-память дискового запоминающего устройства в ОЗУ, которая может располагаться на локальном сервере или на любом сервере кластера или в кластере сервиса облачных вычислений. Следует учитывать, что для виртуальных частных серверов предпочтительно не использовать запросы клиент-сервер. Предпочтительно использовать одиночный локальный вычислительный узел и (или) кластер вычислительных узлов. Указанные операции могут выполняться с применением блока управления и поддержки пользователя, например, выполненным в виде части компьютерной памяти, содержащей инструкции блока управления и поддержки пользователя, управляющие работой процессора. Блока управления и поддержки пользователя может выполняться в пространстве пользователя. Файлу в приватной или частной директории контейнера назначается ссылка переадресации на его копию в кэш-памяти дискового запоминающего устройства. Виртуальный частный сервер может обращаться к файлу из кэш-памяти дискового запоминающего устройства вместо файла из приватной зоны виртуального частного сервера.When the process of the virtual private server (container) accesses the file, the hash attribute (checksum) is compared with the contents of the database. And if an identical file is detected with matching values in the inode (checksum and file length), then the file is placed in the cache memory of the disk storage device in RAM, which can be located on the local server or on any server in the cluster or in the cloud computing service cluster. Note that for virtual private servers, it is preferable not to use client-server requests. It is preferable to use a single local computing node and / or a cluster of computing nodes. These operations can be performed using the control unit and user support, for example, made as part of a computer memory containing instructions of the control unit and user support that control the operation of the processor. The control and user support unit may be executed in user space. A file in the container’s private or private directory is assigned a redirect link to a copy of it in the cache memory of the disk storage device. The virtual private server can access the file from the cache of the disk storage device instead of the file from the private zone of the virtual private server.
Иными словами, ядро или отдельный сервис ядра операционной системы определяет доступ к диску, на котором хранится индексный дескриптор файлов. Если выявляются идентичные индексные дескрипторы, то значение индексного дескриптора (контрольная сумма и длина файла) передаются блоку управления и поддержки пользователя. Блок управления и поддержки пользователя представляет собой приложение пространства пользователя, которое проверяет все файлы в контейнере и собирает статистику обращений к файлам. Блок управления и поддержки пользователя может применяться на локальном сервере или на любом сервере кластера или на кластере сервиса облачных вычислений. Например, если блок управления и поддержки пользователя обнаруживает некоторое число файлов в приватной директории контейнера, к которым регулярно обращаются процессы контейнера, то блок управления и поддержки пользователя обрабатывает эти сведения и выполняет соответствующие действия.In other words, the kernel or a separate kernel service of the operating system determines access to the disk on which the file inode is stored. If identical inodes are detected, then the inode value (checksum and file length) are transferred to the control and user support unit. The control and user support unit is a user-space application that checks all files in the container and collects statistics of file accesses. The control and user support unit can be used on the local server or on any server in the cluster or on the cloud computing service cluster. For example, if the control and user support unit detects a certain number of files in the private directory of the container that the container processes access regularly, then the user control and support unit processes this information and performs the corresponding actions.
Ядро операционной системы проверяет, имеют ли файлы идентичные индексные дескрипторы в базе данных и, если таковые найдены, назначает ссылки-перенаправления на местоположение тех же самых файлов в кэш-памяти дискового запоминающего устройства. Блок управления и поддержки пользователя также освобождает кэш-память дискового запоминающего устройства от устаревших файлов, к которым в течение длительного времени не было обращений.The kernel of the operating system checks whether the files have identical inodes in the database and, if found, assigns redirect links to the location of the same files in the cache memory of the disk storage device. The control and user support unit also frees the cache memory of the disk storage device from obsolete files that have not been accessed for a long time.
Если файл открыт для записи, то хэш-атрибут (контрольная сумма) файла отбрасывается, и по завершении операции записи в файл формируется новое значение атрибута. Эти действия выполняются обновленной подсистемой ввода-вывода ядра операционной системы. Согласно варианту осуществления, хэш-атрибут (контрольная сумма) формируется при выполнении операции закрытия файла только для файлов, расположенных в директории с атрибутом ″checksum=auto″ (от английского - ″контрольная сумма=автоматически″). Например, директория ″/bin″ имеет атрибут ″checksum=auto″.If the file is open for writing, then the hash attribute (checksum) of the file is discarded, and when the write operation to the file is completed, a new attribute value is generated. These actions are performed by the updated I / O subsystem of the kernel of the operating system. According to an embodiment, a hash attribute (checksum) is generated when a file close operation is performed only for files located in a directory with the attribute ″ checksum = auto ″ (from English, ″ checksum = automatically ″). For example, the ″ / bin ″ directory has the ″ checksum = auto ″ attribute.
Если в указанной директории записан файл ″/bin/xxx″, то для этого файла вычисляется хэш-атрибут (контрольная сумма) ″XXX″ и записывается в атрибут файла ″checksum=XXX″. Следует учитывать, что, например, директория ″/home″ не имеет атрибута контрольной суммы, и файлы пользователя в этой директории не подвергаются хэшированию (хэш-атрибуты не вычисляются), поскольку вероятность совпадения файлов пользователя крайне мала по сравнению с вероятностью совпадения файлов контейнера.If the file ″ / bin / xxx ″ is written in the specified directory, then the hash attribute (checksum) ″ XXX ″ is calculated for this file and written to the file attribute ″ checksum = XXX ″. It should be noted that, for example, the ″ / home ″ directory does not have a checksum attribute, and the user files in this directory are not hashed (hash attributes are not calculated), since the probability of matching user files is extremely small compared to the probability of matching container files.
Согласно варианту осуществления, могут применяться известные алгоритмы хэширования, например, SHA20, Gold Fish, EСВ, SHA1, SHA2, SHA256, SHA512 и т.д. Если файл хранится на уровне блоков данных (кластеров), то значение хэш-атрибута может изменяться при изменении блоков данных, образующих файл. В таком случае значение хэш-атрибута пересчитывается с учетом соответствующего блока данных. Эти операции должны выполняться быстро, в связи с чем рекомендуется использовать простую (короткую) хэш-функцию. Альтернативный вариант заключается в расчете и хранении значений хэш-атрибутов для каждого блока данных.According to an embodiment, well-known hashing algorithms can be used, for example, SHA20, Gold Fish, ECB, SHA1, SHA2, SHA256, SHA512, etc. If the file is stored at the level of data blocks (clusters), then the value of the hash attribute may change when changing the blocks of data that make up the file. In this case, the value of the hash attribute is recalculated taking into account the corresponding data block. These operations should be performed quickly, and therefore it is recommended to use a simple (short) hash function. An alternative is to calculate and store hash attribute values for each data block.
Согласно варианту осуществления, число файлов (индексных дескрипторов) не ограничено, однако объем доступной для файлов памяти дискового запоминающего устройства заблаговременно ограничен. Файлы, к которым не обращались в течение продолжительного времени, удаляются из кэш-памяти и отбрасываются. Проверка обращений к файлам и их удаление могут выполняться другим блоком управления и поддержки пользователя, который сканирует виртуальное запоминающее устройство независимо от пользователей и удаляет файлы. Интервал времени, по истечении которого файл считается устаревшим, устанавливается системным администратором. Альтернативный вариант заключатся в архивации файлов в сжатой форме.According to an embodiment, the number of files (inodes) is not limited, however, the amount of disk memory available for files is limited in advance. Files that have not been accessed for a long time are deleted from the cache and discarded. Checking file accesses and deleting them can be performed by another user control and support unit, which scans the virtual storage device independently of users and deletes files. The time interval after which the file is considered obsolete is set by the system administrator. An alternative is to archive files in a compressed form.
Следует учитывать, что основное преимущество варианта осуществления полезной модели состоит не столько в экономии объема доступной памяти дискового запоминающего устройства, сколько в снижении числа обращений к устройствам данного типа. То есть, достоинствами являются большая производительность и быстродействие системы. Например, в случае, если 100 идентичных виртуальных серверов (контейнеров) случайным образом обращаются к 10 страницам, то общее число обращений по сравнению с обычной системой сокращается на (100-1)×10. Следует учитывать, что 990 случайных обращений к обычному традиционному накопителю на жестких дисках занимает приблизительно 10 с.It should be noted that the main advantage of the embodiment of the utility model is not so much in saving the amount of available memory of the disk storage device as in reducing the number of calls to devices of this type. That is, the advantages are the great performance and speed of the system. For example, if 100 identical virtual servers (containers) randomly access 10 pages, then the total number of hits is reduced by (100-1) × 10 compared to a conventional system. Keep in mind that 990 random accesses to a conventional traditional hard drive takes about 10 seconds.
Иными словами, вместо того, чтобы считывать один и тот же файл пять раз из пяти различных областей дисковой памяти, файл считывается один раз из кэш-памяти дискового запоминающего устройства. Ядро операционной системы обнаруживает наличие общего файла для заданных индексных дескрипторов (т.е. наборов метаданных файла, таких, как расширение файла, контрольная сумма, длина файла) и быстро находит файл. Блок управления и поддержки пользователя пространства пользователя находит общие для контейнеров файлы на основе статистики обращений к файлам. Блок управления и поддержки пользователя работает в пространстве пользователя, однако он не неподконтрольна пользователям виртуального частного сервера. Предлагаемые блоки управления и поддержки пользователя могут управляться вычислительным узлом администратора (виртуальным частным сервером с индексом ″0″), контролируемым системным администратором. В случае, если файл всего лишь переименовывается внутри контейнера без изменения хэш-атрибут а, то в работе системы принципиально ничего не меняется, и файл может быть прочитан с использованием прежнего значения хэш-атрибута. Если изменения в содержимом файла и метаданных затрагивают значение хэш-атрибута, то в пространстве памяти контейнера может быть создан новый экземпляр файла, после чего к файлу может быть открыт общий доступ в соответствии с изложенной выше процедурой.In other words, instead of reading the same file five times from five different areas of disk memory, the file is read once from the cache memory of the disk storage device. The kernel of the operating system detects the presence of a common file for given inodes (i.e. sets of file metadata, such as file extension, checksum, file length) and quickly finds the file. The control unit and user space user support finds files common to containers based on file access statistics. The control and user support unit operates in the user space, however, it is not under the control of the users of the virtual private server. The proposed control and user support units can be controlled by the administrator's computing node (virtual private server with the ″ 0 ″ index), controlled by the system administrator. If the file is only renamed inside the container without changing the hash attribute a, then nothing changes fundamentally in the system, and the file can be read using the old value of the hash attribute. If changes in the contents of the file and metadata affect the value of the hash attribute, a new instance of the file can be created in the container’s memory space, after which the file can be shared in accordance with the above procedure.
Согласно варианту осуществления, система периодически в автоматическом режиме сканирует контейнеры в поисках идентичных файлов, используя другой блок управления и поддержки пользователя. Файлы копируются в кэш-память и хранятся там в течение установленного времени, по истечении которого файлы удаляются из кэшпамяти или перемещаются на хранение в архив. Это повышает общую производительность системы и эффективность использования ОЗУ при условии, что система оперирует с большим объемом избыточных данных (т.е. с языковыми настройками, специфическими для географического местоположения данными, графическими примитивами и т.д.).According to an embodiment, the system periodically automatically scans containers in search of identical files using another control and user support unit. Files are copied to the cache memory and stored there for a set time, after which the files are deleted from the cache or transferred to the archive. This increases the overall system performance and RAM utilization, provided that the system operates with a large amount of redundant data (i.e., with language settings, geographic location-specific data, graphic primitives, etc.).
Следует учитывать что если файл изменяется, то измененный экземпляр файла остается в приватной директории контейнера. При размещении файлов в быстродействующей кэш-памяти дискового запоминающего устройства используется список процессов виртуального частного сервера (контейнера). Файл всегда хранится в приватной директории контейнера. Однако для быстрых операций открытия файлов может использоваться версия файла, предоставляемая механизмом ″PFcache″. Согласно варианту осуществления, файл виртуального частного сервера (контейнера) остается в приватной директории контейнера и после того, как он копируется в кэш-память дискового запоминающего устройства. В случае миграции контейнера или в случае, если требуется восстановление контейнера из резервной копии, когда указанный файл из кэшпамяти дискового запоминающего устройства недоступен, используется файл, хранящийся в приватной директории.Keep in mind that if the file changes, then the changed file instance remains in the container’s private directory. When placing files in the high-speed cache of a disk storage device, a list of processes of a virtual private server (container) is used. The file is always stored in the container’s private directory. However, for quick file open operations, the file version provided by the ″ PFcache ″ mechanism can be used. According to an embodiment, the virtual private server (container) file remains in the container’s private directory even after it is copied to the cache memory of the disk storage device. If the container is migrated, or if it is necessary to restore the container from the backup copy, when the specified file from the cache memory of the disk storage device is unavailable, the file stored in the private directory is used.
Когда процесс контейнера пытается обратиться к файлу из приватной директории контейнера, он получает перенаправление на файл, расположенный в кэш-памяти дискового запоминающего устройства. Однако если перенаправление не действует (например, в случае миграции контейнера на другой хост-сервер), то процесс обращается к файлу в приватной директории по пути, хранящемуся в дереве файловой системы (дереве индексных дескрипторов). Если доступ к файлу, указанному в перенаправлении, после нескольких попыток не предоставляется, то альтернативный вариант заключается в отбрасывании значения атрибута контрольной суммы. Затем по завершении внесения изменений в файл формируется новое значение атрибута контрольной суммы.When the container process tries to access the file from the container’s private directory, it receives a redirect to the file located in the cache memory of the disk storage device. However, if the redirection does not work (for example, if the container is migrated to another host server), then the process accesses the file in the private directory along the path stored in the file system tree (index tree). If access to the file specified in the redirection is not provided after several attempts, then an alternative is to discard the value of the checksum attribute. Then, upon completion of the changes to the file, a new value of the checksum attribute is generated.
Согласно варианту осуществления, всегда применяются файлы-шаблоны, если таковые имеются в распоряжении. Контрольные суммы кэш-памяти шаблонов рассчитываются заранее. Контрольная сумма рассчитывается каждый раз при модификации или создании нового файла. Каждый файл обладает индексным дескриптором, в состав которого входит атрибут, показывающий, была ли рассчитана контрольная сумма и хранится ли она вместе с файлом. Если контрольная сумма имеется, то процесс контейнера перенаправляется на файл с тем же индексным дескриптором в расшаренную кэш-память дискового запоминающего устройства. Согласно варианту осуществления, контрольные суммы запоминаются автоматически.According to an embodiment, template files, if any, are always used. Pattern cache checksums are calculated in advance. The checksum is calculated every time you modify or create a new file. Each file has an index, which includes an attribute indicating whether the checksum was calculated and whether it is stored with the file. If there is a checksum, then the container process is redirected to the file with the same index in the shared cache of the disk storage device. According to an embodiment, the checksums are stored automatically.
На фиг. 1 показана схема кэш-памяти дискового запоминающего устройства согласно варианту осуществления полезной модели. Создается файл, вычисляется значение хэш-атрибута (контрольной суммы), это значение помешается в один из вариантов кэш-памяти ПО "centos-6.tgz" шаблона файла (цифра 6 может обозначать номер версии файла, "tgz" - расширение файла, означающее, что это контейнер сжатых данных, а не виртуальный контейнер). Назначается атрибут контрольной суммы файла ("x-attr:csum=HEX16"). При создании контейнера указанный файл копируется вместе с предварительно рассчитанным значением "x-attr" (значением контрольной суммы) из кэш-памяти шаблонов в файл (виртуальное запоминающее устройство, образ диска) "ploop" (от английского "p"+"loop", в технологии виртуализации OpenVZ - файл, содержащий файловую систему контейнера) 120. Файл "ploop" 120 представляет собой совокупность виртуального блочного устройства и соответствующего драйвера, который получает данные из файла, а не от физического запоминающего устройства. Файл "ploop" 120 является результатом переноса технологии кольцевого запоминающего устройства (от английского - loop device, виртуальное запоминающее устройство, содержащее файловую систему) из операционной системы Linux, которое поддерживает: модульную архитектуру; различные форматы файлов (″плоский″, QCOW2 и др.); сетевое хранение и соответствующий протокол сетевой файловой системы NFS; создание моментальных копий содержимого запоминающего устройства и быструю инициализацию через стековые образы и трекер совмещенной записи для ускоренной миграции на лету (живой миграции). Файл ″ploop″ 120 является виртуальным блочным кольцевым дисковым устройством, которое в дополнение к возможностям устройства типа ″ploop″ обладает расширенным набором возможностей, в частности обеспечивает динамическое изменение объема, моментальное создание копий содержимого, резервное копирование и т.д. Основная идея состоит в размещении файловой системы контейнера в файле. При создании контейнера файл копируется в директорию 130 ″/bin/bash/″. Виртуальное запоминающее устройство ″ploop″ 120 проверяет файлы в приватной директории контейнера ″/vz/private/100/fs″. Затем, если файл имеет хэш-атрибут (контрольную сумму) ″x-attr: csum=HEX16″, то файл помещается в кэш-память локального шаблона 140 ″/opt/vzcached-file″ совместно с атрибутом контрольной суммы файла ″х-attr: csum=HEX16″. Затем файл сохраняется (150) локально по адресу ″/opt/cached-file″ со своим атрибутом ″x-attr: csum=НЕХ16″ для использования контейнером в случаях, когда сохраненный в кэш-памяти файл недоступен (т.е. утерян или усечен).In FIG. 1 shows a cache diagram of a disk storage device according to an embodiment of the utility model. A file is created, the value of the hash attribute (checksum) is calculated, this value will be placed in one of the options for the software cache "centos-6.tgz" file template (the number 6 can indicate the version number of the file, "tgz" is the file extension meaning that it is a container of compressed data, not a virtual container). The file checksum attribute is assigned ("x-attr: csum = HEX16"). When creating the container, the specified file is copied along with the pre-calculated value "x-attr" (checksum value) from the template cache to the file (virtual memory, disk image) "ploop" (from English "p" + "loop", in OpenVZ virtualization technology - a file containing the container file system) 120. The “ploop”
Файл из кэш-памяти 140 шаблонов ″/opt/vzcached-file″ перемещается в кэш-память 160 дискового запоминающего устройства ″/vz/pfcache/HEX1-2/HEX3-16″. Альтернативный вариант заключается в том, что файл из локального запоминающего устройства 130 контейнера ″/bin/bash/″ не помещается в кэш-память 140, однако помещается к кэш-память 160 дискового запоминающего устройства при необходимости (по запросу) или отложено. Отложенное кэширование означает, что блок управления и поддержки пользователя собирает статистику обращений к файлам контейнеров, а ядро операционной системы по прошествии некоторого времени помещает файлы в кэш-память на основе статистических данных, обработанных блоком управления и поддержки пользователя.The file from the cache of 140 templates ″ / opt / vzcached-file ″ is moved to the
Следует учитывать, что при инсталляции шаблона приложения исходный менеджер пакетов компании Red Hat ″RPM″ (менеджер пакетов или система управления пакетами) инсталлирует файлы и помощники ядра и вычисляет их контрольные суммы в отложенном режиме. Затем кэш-память 160 обрабатывает контрольные суммы файлов, модифицирует файлы и устанавливает атрибуты "xattrs" файлов. Кроме того, кэш-память 160 обнаруживает копии (клоны) файлов, имеющие то же самое значение индексного дескриптора. Клоны могут выявляться путем выполнения процедуры хэширования над файлом и последующего сравнения собственно содержимого файла. Поскольку вероятность совпадения начальных битов различных файлов с одинаковыми значениями хэш-атрибутов очень мала, то для вынесения решения об идентичности файлов могут сравниваться только предопределенные части файлов - размеры файлов. Следует учитывать, что значения хэш-атрибутов в данном случае будут идентичны.Keep in mind that when you install the application template, the original Red Hat ″ RPM ″ package manager (package manager or package management system) installs the kernel files and assistants and calculates their checksums in deferred mode. The
Фиг.2 поясняет процедуру формирования хэш-атрибута (контрольной суммы) файла контейнера согласно варианту осуществления полезной модели. Согласно варианту осуществления, при создании контейнера файл вместе с ранее рассчитанным значением атрибута контрольной суммы "xattr" извлекается из кэш-памяти шаблонов и копируется в локальное запоминающее устройство 130 "/bin/bash/" контейнера.2 illustrates a procedure for generating a hash attribute (checksum) of a container file according to an embodiment of the utility model. According to an embodiment, when creating the container, the file, along with the previously calculated value of the xattr checksum attribute, is extracted from the template cache and copied to the
При инсталляции соответствующего шаблона приложения исходный менеджер пакетов компании Red Hat или иной менеджер пакетов или инсталлятор устанавливает файлы и, опционально, шаблоны. Ядро принимает участие в этой процедуре и рассчитывает контрольные суммы "x-attr:csum=HEX16" файлов в кэш-памяти 210 "/opt/plesk" в отложенном режиме. Кэш-память 160 (см. фиг.1) формирует контрольные суммы для измененных файлов и устанавливает значения их атрибутов "x-attr". Затем обновляются значения атрибутов "x-attr:csum=HEX16" файлов в приватной директории "/bin/Is" контейнера.When you install the appropriate application template, the original Red Hat package manager or another package manager or installer installs the files and, optionally, the templates. The kernel takes part in this procedure and calculates checksums of "x-attr: csum = HEX16" files in
Фиг.3 поясняет процедуру заполнения кэш-памяти согласно варианту осуществления полезной модели. Шаблоны приложений устанавливаются менеджером пакетов компании Red Hat (этой процедуре способствует ядро операционной системы), вычисляются "на лету" значения атрибутов "x-attr". Кроме того, кэш-память 160 пересчитывает значения контрольных сумм тех файлов, которые были изменены по сравнению с состоянием на момент предыдущего вычисления значений контрольных сумм.3 illustrates a cache filling procedure according to an embodiment of the utility model. Application templates are set by the Red Hat package manager (the kernel of the operating system contributes to this procedure), the values of the "x-attr" attributes are calculated on the fly. In addition, the
Если значение индексного дескриптора некоторого файла (контрольная сумма и длина файла) совпадает со значением индексного дескриптора другого файла, к которому осуществляется обращение, то ядро операционной системы может запросить кэширование файла. Например, значения атрибутов файлов, расположенных в приватных директориях контейнеров 310 и 320, одинаковы (совпадают контрольные суммы и длины файлов). Ядро 330 операционной системы обнаруживает факт использования одного и того же файла (контрольная сумма и длина одинаковы) и уведомляет об этом блок управления и поддержки пользователя кэш-памяти. Блок управления и поддержки пользователя 340 в отложенном режиме принимает решение, следует ли и когда именно выполнить кэширование общего для контейнеров файла. Для ограничения размера кэш-памяти путем использования образа файла применяется виртуальное запоминающее устройство ″ploop″ 350. Виртуальное запоминающее устройство ″ploop″ является разновидностью виртуального дискового запоминающего устройства или образа диска с определенными характеристиками и свойствами, описанными выше, снабженного соответствующими программами-драйверами. Следует учитывать, что виртуальное запоминающее устройство ″ploop″ 350 может применяться как отдельный раздел дискового запоминающего устройства.If the index value of a file (checksum and file length) matches the index value of another file being accessed, the kernel of the operating system may request file caching. For example, the attribute values of files located in the private directories of
Согласно варианту осуществления, для хранения ссылок-перенаправлений как для шаблонов, так и для размещенных в кэш-памяти файлов применяется глобальная кэш-память ″/vz/pfcache″. Файлы кэшируются в отложенном режиме: изначально кэш-память ″pfcache″ дискового запоминающего устройства пуста, она заполняется на основе статистики доступа к файлам контейнера, собираемой блоком управления и поддержки пользователя 340 кэш-памяти. Кэш-память дискового запоминающего устройства заполняется динамически, в нее помещаются только общие для контейнеров файлы, к которым происходит обращение. Неиспользуемые файлы удаляются из кэш-памяти по прошествии установленного времени.According to an embodiment, the global cache ″ / vz / pfcache ″ is used to store redirect links for both templates and cache-located files. Files are cached in deferred mode: initially, the ″ pfcache ″ cache of the disk storage device is empty, it is filled based on statistics on access to the container files collected by the control unit and
Согласно варианту осуществления, в случае модификации файла атрибут контрольной суммы файла очищается ядром операционной системы. Файлы, хранящиеся в кэш-памяти, к которым в течение длительного времени не обращаются процессы контейнеров, ″отсекаются″ блоком управления и поддержки пользователя. Это может выполняться по достижении объема кэш-памяти установленного ограничения.According to an embodiment, if the file is modified, the file checksum attribute is cleared by the kernel of the operating system. Files stored in the cache, which container processes have not accessed for a long time, are ″ cut off ″ by the control and user support unit. This can be done when the cache reaches the set limit.
Когда объем кэш-памяти достигает предельного значения, ″старые″ файлы перемещаются в поддиректорию (директорию, имеющую более низкий уровень иерархии) ″to-be-removed″ (от английского - ″для удаления″). В свою очередь, все хранящиеся в этой поддиректории файлы должны быть удалены к началу этой операции. Если ядро операционной системы сообщает, что некоторые из перемещенных файлов все еще используются, то эти файлы блоком управления и поддержки пользователя перемещаются обратно. Превентивную операцию удаления в фоновом режиме выполняет специальный вычислительный поток.When the cache reaches its limit value, ″ old ″ files are moved to a subdirectory (a directory with a lower hierarchy) ″ to-be-removed ″ (from English - ″ to remove ″). In turn, all files stored in this subdirectory should be deleted by the beginning of this operation. If the kernel of the operating system reports that some of the moved files are still in use, then these files are moved back by the user control and support unit. A preventive delete operation in the background is performed by a special computing thread.
Устаревшие файлы выявляются на основе отметок о времени доступа к файлам. Если происходит обращение к файлу из кэш-памяти с использованием ссылки-перенаправления, основанной на атрибуте контрольной суммы, то ядро операционной системы обновляет отметку времени доступа к файлу (например, если текущее время отличается на 12 часов от значения отметки времени доступа к файлу).Outdated files are identified based on file access time stamps. If a file is accessed from the cache using a redirect link based on a checksum attribute, the kernel of the operating system updates the timestamp for accessing the file (for example, if the current time differs by 12 hours from the value of the timestamp for accessing the file).
Следует учитывать, что шаблоны могут помещаться в кэш-память в форме "simfs" (представление в виде памяти дискового запоминающего устройства или виртуальной памяти, используемое в проекте по технологии виртуализации OpenVZ), но с атрибутами, содержащими контрольные суммы файлов. Шаблоны могут быть удалены просто путем удаления помещенного в кэш-память файла "template.tgz" (например, при обновлении).Keep in mind that templates can be placed in the cache in the form of "simfs" (a representation in the form of memory of a disk storage device or virtual memory used in the OpenVZ virtualization technology project), but with attributes containing file checksums. Templates can be deleted simply by deleting the "template.tgz" file placed in the cache (for example, when updating).
Виртуальный частный сервер (контейнер) создается путем распаковки кэщированного шаблона контейнера, содержащего файлы и атрибуты. Контейнер может быть удален путем удаления его приватной директории. Следует учитывать, что помещенные в кэш-память файлы удаляются позднее, в зависимости от времени последнего доступа к файлу.A virtual private server (container) is created by unpacking a cached container template containing files and attributes. A container can be deleted by deleting its private directory. Keep in mind that files stored in the cache are deleted later, depending on the time of the last access to the file.
Согласно варианту осуществления, виртуальные частные серверы (контейнеры) могут быть восстановлены, а также могут мигрировать. Легко может создаваться копия контейнера. Преимуществом является то, что не требуются дополнительные действия, поскольку автоматически используются те же самые файлы, расположенные в кэш-памяти (если таковые имеются). В противном случае требуемые файлы создаются по требованию (т.е. в отложенном режиме), если другой контейнер использует те же файлы.According to an embodiment, virtual private servers (containers) can be restored, and can also migrate. A copy of the container can easily be created. The advantage is that no additional steps are required, since the same files located in the cache memory (if any) are automatically used. Otherwise, the required files are created on demand (i.e., in deferred mode) if another container uses the same files.
Следует учитывать, что копирование кэш-памяти или шаблонов не требуется. Кэш-память дискового запоминающего устройства воссоздается автоматически (в отложенном режиме и по требованию) в зависимости от обращений к файлам. Согласно варианту осуществления, виртуальный частный сервер (контейнер) может быть обновлен по сравнению с текущим состоянием. Монтируется контейнер, монтируется образ "ploop", затем копируются файлы. Образ "ploop" выглядит аналогично другим образам дисковых накопителей, например, образам типа ISO (от английского International Organization for Standardization - Международная организация по стандартизации) и др. Иными словами, для файла или индексного дескриптора файловая система выглядит так, как будто бы она является реальной. Альтернативный вариант заключается в сохранении в запоминающем устройстве файлов (шаблонов) вместе с рассчитанными контрольными суммами.Note that copying the cache or templates is not required. The cache memory of the disk storage device is recreated automatically (in deferred mode and on demand) depending on file accesses. According to an embodiment, the virtual private server (container) may be updated compared to the current state. The container is mounted, the "ploop" image is mounted, then the files are copied. The "ploop" image looks similar to other images of disk drives, for example, ISO images (from the English International Organization for Standardization), etc. In other words, for a file or inode, the file system looks like it is real one. An alternative is to store files (templates) in the storage device along with the calculated checksums.
Согласно варианту осуществления, шаблон приложения инсталлируется следующим образом:According to an embodiment, the application template is installed as follows:
пользователя, отладочные данные, настройки и т.д. Пакеты инсталлируются ″как есть″, после чего выполняется сортировка данных;user, debugging data, settings, etc. Packages are installed ″ as is ″, after which the data is sorted;
- ядро операционной системы способствует инсталляции и формирует ″на лету″ контрольные суммы файлов, созданных менеджером пакетов компании Red Hat;- the kernel of the operating system facilitates the installation and generates ″ on the fly ″ checksums of files created by the Red Hat package manager;
- для формирования хэш-атрибутов (контрольных сумм) используется усиленный алгоритм SHA1 (от английского Secure Hash Algorithm 1 - алгоритм криптографического хэширования тип 1).- to generate hash attributes (checksums), the enhanced SHA1 algorithm is used (from the English Secure Hash Algorithm 1 -
Следует учитывать, что скорость вычислений алгоритма SHA1 достаточно высока. С использованием современного программного обеспечения скорость составляет около 300 МБ/с. Это значение сравнимо со скоростью передачи данных высокоскоростного дискового запоминающего устройства. Алгоритм SHA1 формирует значения большой длины (20 байт или 40 шестнадцатеричных слов), в связи с чем они должны быть закодированы в 27-символьный формат атрибута контрольной суммы с использованием алфавита [0, 1, …, 9, а, b, …, z, А, В, …, Ζ]. Согласно варианту осуществления, значения атрибутов, рассчитанные по правилу ″SHA1 + длина файла″, сравниваются для выявления совпадающих индексных дескрипторов.Keep in mind that the computation speed of the SHA1 algorithm is quite high. Using modern software, the speed is about 300 MB / s. This value is comparable to the data rate of a high-speed disk storage device. The SHA1 algorithm generates long values (20 bytes or 40 hexadecimal words), in connection with which they must be encoded in the 27-character format of the checksum attribute using the alphabet [0, 1, ..., 9, a, b, ..., z , A, B, ..., Ζ]. According to an embodiment, the attribute values calculated by the ″ SHA1 + file length ″ rule are compared to identify matching inodes.
Согласно варианту осуществления, блок управления и поддержки пользователя кэш-памяти исполняется с использованием отдельного бинкаунтера (бинкаунтера пользователя) или иного контроллера ресурсов. Бинкаунтеры или бинкаунтеры пользователя являются набором ограничений и могут использоваться для предотвращения перегрузки системы работой блоков управления и поддержки пользователя. Бинкаунтеры ресурсов позволяют учитывать и держать под контролем потребление группой процессов ресурсов ядра операционной системы. Полный набор бинкаунтеров пользователя позволяет контролировать:According to an embodiment, the cache management and user support unit is executed using a separate binocounter (user binocounter) or another resource controller. User binocounters or binocounters are a set of restrictions and can be used to prevent system overload from operating control units and user support. Resource binckunters allow you to take into account and control the consumption by a group of processes of the core resources of the operating system. A complete set of user binunchers allows you to control:
- пространство памяти ядра операционной системы. Все объекты ядра операционной системы, размещаемые по требованию пользователя, должны учитываться и ограничиваться для предотвращения сбоя типа "отказ в обслуживании" (от английского DoS - Denial of Service), например, страничные таблицы, структуры данных типа "task struct" (структура данных в ядре операционной системы, содержащая необходимую информацию для управления определенным процессом), "vmas" и т.д.;- memory space of the kernel of the operating system. All objects of the kernel of the operating system, placed at the request of the user, should be taken into account and limited to prevent a Denial of Service failure (for example, English DoS - Denial of Service), for example, page tables, data structures of the type "task struct" (data structure in the kernel of the operating system, containing the necessary information to control a specific process), "vmas", etc .;
- страницы виртуальной памяти.- pages of virtual memory.
Бинкаунтер пользователя позволяет ограничивать объем памяти, используемый контейнером, и вводит двухуровневое ограничение типа "нехватка памяти", следящее за потреблением контейнером ресурсов запоминающего устройства. Страницы, используемые контейнерами совместно, загружаются корректно в виде частей (процедура настраиваемая). Следует учитывать, что обычно ошибка типа "нехватка памяти" возникает, когда операционная система не может увеличить объем виртуальной памяти, поскольку все доступное пространство памяти запоминающих устройств заполнено. Различные операционные системы, такие как Linux, будут пытаться преодолеть подобную нехватку объема памяти путем прекращения выполнения процессов с низким приоритетом, этот механизм известен как "OOM Killer" (от английского Out of Memory Killer - устраняющий ошибку типа "нехватка памяти"). В некоторых случаях утечки памяти (т.е. неконтролируемого уменьшения объема свободной памяти компьютера, связанного с ошибками высвобождения ненужных участков памяти) механизм "OOM Killer" уязвим. Утечка памяти возникает, когда компьютерная программа некорректно выполняет операции размещения в пространстве памяти. В объектно-ориентированном программировании утечка памяти может происходить в случае, если хранящийся в памяти объект оказывается недоступным для выполняемой программы.The user binometer allows you to limit the amount of memory used by the container, and introduces a two-level restriction of the "low memory" type, which monitors the container's consumption of storage resources. Pages shared by containers are loaded correctly as parts (custom procedure). Keep in mind that usually an error such as "out of memory" occurs when the operating system cannot increase the amount of virtual memory, since all available memory space of storage devices is full. Various operating systems, such as Linux, will try to overcome this lack of memory by stopping low-priority processes, this mechanism is known as "OOM Killer" (from the English Out of Memory Killer - eliminating an error like "out of memory"). In some cases, memory leaks (that is, an uncontrolled decrease in the amount of free computer memory associated with errors in the release of unnecessary sections of memory), the OOM Killer mechanism is vulnerable. A memory leak occurs when a computer program incorrectly performs placement operations in memory space. In object-oriented programming, a memory leak can occur if an object stored in memory is inaccessible to the program being executed.
Полный набор бинкаунтеров пользователя также позволяет контролировать:A complete set of user binocounters also allows you to control:
- сетевую буферную память. Эта память включает буферы приема и передачи по протоколу TCP/IP, буферы типа "dgram snd", "unix", "netlink" и др.;- network buffer memory. This memory includes TCP / IP protocol transmit and receive buffers, dgram snd, unix, netlink, and others buffers;
- второстепенные ресурсы, учитываемые по значению:- minor resources, taken into account by value:
- задания и файлы; механизмы и объекты "flock", "ptys", "siginfo", "pinned dcache";- tasks and files; mechanisms and objects "flock", "ptys", "siginfo", "pinned dcache";
- сокеты; механизмы и объекты "mem", "iptentry" (для контейнеров с виртуализированным доступом к локальной вычислительной сети).- sockets; mechanisms and objects "mem", "iptentry" (for containers with virtualized access to the local area network).
Все или некоторые из перечисленных механизмов и объектов могут использоваться для ограничения показателя IOPS (от английского Input/Output Operations Per Second - число операций ввода-вывода в секунду) или пропускной способности или применительно к образу ″ploop″ (для ограничения объема памяти дискового запоминающего устройства, загруженного в кэш-памятью дискового запоминающего устройства).All or some of the listed mechanisms and objects can be used to limit the IOPS (from English Input / Output Operations Per Second - the number of input / output operations per second) or throughput or in relation to the image ″ ploop ″ (to limit the amount of memory of the disk storage device loaded into the cache of a disk storage device).
Контроллеры ресурса ″Virtuozzo™″ в дополнение к управлению использованием пространства памяти и ресурсов системы позволяют:″ Virtuozzo ™ ″ resource controllers, in addition to managing the use of memory space and system resources, allow you to:
- контролировать загрузку ЦПУ; подробные сведения об этом ресурсе приведены в разделе ″Управление распределением времени центрального процессора″;- control CPU utilization; detailed information about this resource is given in the section ″ Control of CPU time allocation ″;
- контролировать квоты дисковой памяти (см. руководство пользователя программного обеспечения ″Parallels Virtuozzo Containers″ компании ″Parallels″, раздел ″Управление ресурсами″);- control disk quotas (see the user guide for ″ Parallels Virtuozzo Containers ″ software from ″ Parallels ″, ″ Resource Management ″);
- формировать и вести учет сетевого трафика (см. руководство пользователя программного обеспечения ″Parallels Virtuozzo Containers″ компании ″Parallels″, раздел ″Управление ресурсами″).- create and keep records of network traffic (see the user guide for ″ Parallels Virtuozzo Containers ″ software from ″ Parallels ″, section ″ Resource Management ″).
В рассматриваемом случае объем памяти ограничен. Если свободный объем памяти для новых записей отсутствует, то старые данные удаляются. Следует учитывать, что для минимизации времени доступа к файлу в кэш-памяти индексный дескриптор файла, содержащий информацию о перенаправлении, должен быть ограничен в размерах таким образом, чтобы умещаться в один блок данных. Использование алгоритма хэширования типа SHA1 позволяет сформировать индексные дескрипторы требуемой длины.In this case, the amount of memory is limited. If there is no free memory space for new records, then the old data is deleted. Keep in mind that in order to minimize access time to the file in the cache, the file inode containing the redirection information must be limited in size so as to fit in one data block. Using a hash algorithm of type SHA1 allows you to create indexes of the required length.
Если блок управления и поддержки пользователя является частью менеджера ресурсов, то она может обращаться ко всем файлам контейнеров и может рассчитывать для этих файлов значения хэш-атрибутов. После этого блок управления и поддержки пользователя может инициировать перемещение и переназначение файлов, к которым должен быть открыт общий доступ.If the control and user support unit is part of the resource manager, then it can access all container files and can calculate hash attribute values for these files. After that, the control unit and user support can initiate the movement and reassignment of files to which should be shared.
На фиг. 4 показана схема алгоритма, реализующего способ согласно варианту осуществления настоящей полезной модели. На шаге 410 создается контейнер. На шаге 420 файлы контейнера сохраняются в приватной директории контейнера. На шаге 430 ядро операционной системы выявляет файлы, к которым обращаются процессы контейнера. На шаге 440 для файлов, используемых процессами контейнера, формируются значения хэш-атрибутов (контрольных сумм). На шаге 450 атрибутам файлов присваиваются значения контрольных сумм и длин файлов.In FIG. 4 is a diagram of an algorithm implementing the method according to an embodiment of the present utility model. At
На шаге 460 ядро операционной системы путем сравнения значений атрибутов (контрольных сумм и длин) файлов с хранящимися в базе данных значениями атрибутов общих для контейнеров файлов выявляет идентичные файлы, используемые другими контейнерами. На шаге 470 выполняется проверка условия: если выявлен факт идентичности файлов, то на шаге 480 файл из приватной директории контейнера копируется к кэш-память дискового запоминающего устройства; в противном случае осуществляется возврат на шаг 460, и ядро операционной системы выполняет проверку другого файла. Наконец, на шаге 490 файлу из приватной директории контейнера назначается ссылка-перенаправление на его копию в кэш-памяти дискового запоминающего устройства. Таким образом, в следующий раз, когда процесс контейнера обращается к упомянутому файлу, процесс перенаправляется на копию файла в кэш-памяти дискового запоминающего устройства.At
На фиг. 5 показан пример структурной схемы хост-компьютера, который может быть использован в настоящей полезной модели. Пример системы, показанный на фиг. 5, содержит вычислительное устройство общего назначения в виде компьютера или сервера 20 или подобного вычислителя, содержащего вычислительное устройство 21, системное запоминающее устройство 22 и системную шину 23, которая объединяет различные компоненты системы, в том числе, системное запоминающее устройство 22 и вычислительное устройство 21. Системная шина 23 может быть шиной любого типа, в том числе, шиной запоминающего устройства или контроллером запоминающего устройства, периферийной шиной, локальной шиной, и быть построена по любой архитектуре шин. В состав системного запоминающего устройства входят постоянное запоминающее устройство (ПЗУ) 24 и ОЗУ 25.In FIG. 5 shows an example of a block diagram of a host computer that can be used in the present utility model. The example system shown in FIG. 5 comprises a general-purpose computing device in the form of a computer or
В ПЗУ 24 хранится базовая система ввода-вывода 26, которая содержит базовые процедуры, способствующие передаче информации между составными частями компьютера 20, в частности во время начальной загрузки.The ROM 24 stores the basic input /
Компьютер 20 может также содержать: накопитель 27 на жестких дисках для чтения и записи информации на жесткие диски (на фиг. 5 сами жесткие диски условно не показаны); привод 28 магнитных дисков для чтения и записи информации на сменные магнитные диски 29; привод 30 оптических дисков для чтения и записи информации на сменные оптические диски 31, такие, как CD-ROM (от английского Compact disk read-only memory - компакт-диск - постоянное запоминающее устройство), DVD-ROM (от английского Digital video disc read-only memory - цифровой видеодиск - постоянное запоминающее устройство) или оптические машиночитаемые среды другого типа.The
Накопитель 27 на жестких дисках, привод 28 магнитных дисков и привод 30 оптических дисков подключены к системной шине 23 с помощью интерфейса 32 накопителя на жестких дисках, интерфейса 33 привода магнитных дисков и интерфейса 34 привода оптических дисков соответственно. Приводы и соответствующие машиночитаемые среды обеспечивают компьютеру 20 энергонезависимое хранение машиночитаемых инструкций, структур данных, программных модулей и прочих данных.The
Несмотря на то, что в описываемом варианте осуществления используется жесткий диск, магнитный диск 29 и сменный оптический диск 31, специалистам в данной области должно быть понятно, что для хранения данных, доступных компьютеру, могут использоваться машиночитаемые среды других типов, в частности магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи для накопителей Бернулли, накопители на ОЗУ и ПЗУ и т.п.Despite the fact that the described embodiment uses a hard disk, a
Некоторое число программных модулей может храниться на жестком диске, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25, в том числе, операционная система 35. Компьютер 20 содержит: файловую систему 36, связанную или входящую в состав операционной системы 35; одну или более прикладных программ 37; другие программные модули 38; данные 39 программ. Пользователь может вводить команды и информацию в компьютер 20 через устройства ввода, такие, как клавиатура 40 и указывающее устройство 42. В состав прочих устройств ввода (на фиг. 5 не показаны) могут входить: микрофон; джойстик; игровой пульт управления; спутниковая антенна; сканер; другие подобные устройства.A number of program modules may be stored on a hard disk,
Перечисленные и прочие устройства ввода обычно соединяются с процессорным устройством 21 через интерфейс 46 последовательного порта, который подключается к системной шине. Однако указанные устройства ввода могут подключаться и через другие интерфейсы, такие, как параллельный порт, игровой порт, порт USB (от английского Universal serial bus - универсальная последовательная шина). Также к системной шине 23 через интерфейс, такой, как видеоадаптер 48, подключается монитор 47 или устройство другого типа для отображения видеоинформации. Помимо монитора 47, персональные компьютеры обычно содержат другие периферийные устройства вывода (на фиг. 5 не показаны), такие, как громкоговорители и принтеры.These and other input devices are usually connected to the
Компьютер 20 может действовать в сетевом окружении с использованием логических подключений к одному или более удаленных компьютеров 49. Удаленным компьютером (компьютерами) 49 могут быть: другой компьютер; сервер; роутер; сетевой персональный компьютер; сетевое устройство, напрямую взаимодействующее с другими устройствами в сетевом окружении; другой узел той же сети. Кроме того, удаленный компьютер 49 обычно содержит многие или все функциональные узлы, описанные выше применительно к компьютеру 20, хотя показано только запоминающее устройство 50. В число логических подключений входят локальная вычислительная сеть (ЛВС) 51 и глобальная вычислительная сеть 52. Описанное сетевое окружение распространено в офисах, вычислительных сетях предприятий, сетях интранет и Интернет.
При использовании в сетевом окружении ЛВС компьютер 20 подключен к ЛВС 51 через сетевой интерфейс (сетевой адаптер) 53. При использовании в сетевом окружении глобальной вычислительной сети компьютер 20 обычно содержит модем 54 или иное средство установления соединения через глобальную вычислительную сеть 52, такую, как Интернет.When used in a networked LAN environment,
Модем 54, который может быть внутренним или внешним, подключается к системной шине 23 через интерфейс 46 последовательного порта. В сетевом окружении программные модули, изображенные относительно компьютера 20 или его частей, могут храниться в удаленном запоминающем устройстве. Следует учитывать, что показанные сетевые подключения служат в качестве примера, и могут использоваться другие средства установления коммуникационного соединения между компьютерами.The modem 54, which may be internal or external, connects to the
Таким образом, с учетом приведенного описания предпочтительных вариантов осуществления специалистам в данной области должно быть понятно, что описанный способ и система обладают определенными преимуществами. В частности, специалистам в данной области должно быть понятно, что предложенная система и способ обеспечивают эффективное кэширование и совместное использование файлов контейнерами.Thus, in view of the above description of preferred embodiments, those skilled in the art will appreciate that the described method and system have certain advantages. In particular, it will be understood by those skilled in the art that the proposed system and method provides efficient caching and file sharing by containers.
Также должно быть понятно, что в рамках настоящей полезной модели могут быть выполнены различные модификации, адаптации и альтернативные варианты осуществления. Полезная модель определяется следующей формулой полезной модели.It should also be understood that various modifications, adaptations, and alternative embodiments can be made within the scope of this utility model. A utility model is defined by the following utility model formula.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/065,710 | 2013-10-29 | ||
US14/065,710 US9286310B1 (en) | 2012-11-14 | 2013-10-29 | Common file caching for virtual private servers |
Publications (1)
Publication Number | Publication Date |
---|---|
RU150421U1 true RU150421U1 (en) | 2015-02-20 |
Family
ID=53292897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014115058/08U RU150421U1 (en) | 2013-10-29 | 2014-04-16 | SYSTEM OF PLACING AND REMOVING FILES OF DIVIDED SERVERS |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU150421U1 (en) |
-
2014
- 2014-04-16 RU RU2014115058/08U patent/RU150421U1/en active IP Right Revival
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675746B2 (en) | Virtualized server systems and methods including domain joining techniques | |
US11537573B2 (en) | Elastic, ephemeral in-line deduplication service | |
US11294777B2 (en) | Disaster recovery for distributed file servers, including metadata fixers | |
KR102444832B1 (en) | On-demand storage provisioning using distributed and virtual namespace management | |
US20210344772A1 (en) | Distributed database systems including callback techniques for cache of same | |
US9697130B2 (en) | Systems and methods for storage service automation | |
US9390055B2 (en) | Systems, methods and devices for integrating end-host and network resources in distributed memory | |
US9558194B1 (en) | Scalable object store | |
US9043555B1 (en) | Single instance buffer cache method and system | |
US7584228B1 (en) | System and method for duplication of virtual private server files | |
US11055265B2 (en) | Scale out chunk store to multiple nodes to allow concurrent deduplication | |
US9817840B1 (en) | Common file caching for virtual private servers | |
US9286310B1 (en) | Common file caching for virtual private servers | |
US9940331B1 (en) | Proactive scavenging of file system snaps | |
US11675745B2 (en) | Scalable I/O operations on a log-structured merge (LSM) tree | |
US11327686B2 (en) | Apparatus and method for managing integrated storage supporting hierarchical structure | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
US20210064581A1 (en) | Small in-memory cache to speed up chunk store operation for deduplication | |
US20120311002A1 (en) | Computer and data management method by the computer | |
US11593270B1 (en) | Fast distributed caching using erasure coded object parts | |
US11221944B1 (en) | Managing metadata for a backup data storage | |
US8868970B2 (en) | Object based storage system and method of operating thereof | |
US11733894B2 (en) | Dynamically formatted storage allocation record | |
US20220414064A1 (en) | Efficient replication of file clones | |
RU150421U1 (en) | SYSTEM OF PLACING AND REMOVING FILES OF DIVIDED SERVERS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Utility model has become invalid (non-payment of fees) |
Effective date: 20170417 |
|
NF9K | Utility model reinstated |
Effective date: 20190826 |