CN112286897A - Method for communication between PNFS server and client - Google Patents
Method for communication between PNFS server and client Download PDFInfo
- Publication number
- CN112286897A CN112286897A CN202011080089.9A CN202011080089A CN112286897A CN 112286897 A CN112286897 A CN 112286897A CN 202011080089 A CN202011080089 A CN 202011080089A CN 112286897 A CN112286897 A CN 112286897A
- Authority
- CN
- China
- Prior art keywords
- client
- layout
- server
- file
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013500 data storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The invention provides a method for communication between a PNFS server and a client, which comprises the following steps: the method comprises the steps that a client caches the layout of a communication file sent by a metadata server, and detects the relevance between the file before and after communication; when a plurality of communication files have relevance, setting a metadata server to send a plurality of layouts with relevance to a client once, and increasing the communication time between the client and the metadata server; setting layout effective time for each file, stopping the target communication file which is processed and reaches the layout effective time by the client, and retransmitting the latest layout of the target communication file by the metadata server; the client continues to communicate with the metadata server according to the latest layout. The method provided by the invention optimizes risks which can exist during the reading and writing operations of the PNFS server to a certain extent, exerts the capability of the PNFS server to process data in parallel as much as possible, and improves the performance of the PNFS server to a certain extent.
Description
Technical Field
The invention belongs to the technical field of server communication, and particularly relates to a method for communication between a PNFS server and a client.
Background
The NFS (Network File System) allows a System to share directories and files with others on the Network, and even can access files on a remote System like local files, the NFS protocol now generates multiple versions of V1, V2, V3, V4, etc., PNFS (Parallel Network File System) is included in NFS V4.1, and has a distinctive advantage of distributing metadata and data on a machine, connecting a client, a server and a data storage server together, and the client can directly access the data storage server, so that the bottleneck problem of the traditional NFS in performance can be well solved, and thus the storage System can be provided with high performance and high extensibility. With the rapid development of high-performance computing and high-performance data centers, the original NFS V3 is hard to overcome the requirement, and how to break through the parallel computing bottleneck and break through the parallel capability of storage I/O caused by the parallel computing bottleneck is the focus of the current research.
In a conventional NFS server, three clients as shown in fig. 1 access a server through an NFS service, and generally, the server can provide the NFS service for client mount access and is also a data storage place. When a client needs to access a server for data reading and writing, connection must be established between the client and the server, and the server plays a role in receiving a client request and managing data transmitted by the client at the moment, the number of the clients is small, the service and the structure of the server are simple through network connection, a common scene can be well met, but with the increase of the number of the clients and the data processing amount, the traditional NFS is difficult to avoid having a certain worry, the NFS server reaches the bottleneck of the server quickly, and various performances of the system cannot be fully exerted. PNFS can solve such problems well because it is directly connected to the data storage server, which can structurally alter the difficulties encountered by conventional NFS servers.
In summary, compared with the conventional NFS server and the PNFS server, it is obvious that the performance of the conventional NFS server in the specific fields of modern increasing data volume, high-performance computing and the like is very important, and under the pressure of real business, a server type capable of retaining the advantages of the conventional NFS server and breaking through the disadvantages of the conventional NFS server is urgently needed, but under the pressure of real business, a scheme capable of exerting the characteristics of the PNFS to the maximum extent and efficiently improving the IO processing capability of the PNFS is still needed.
Disclosure of Invention
In view of the above-mentioned deficiencies of the prior art, the present invention provides a method for a PNFS server to communicate with a client, so as to solve the above-mentioned technical problems.
In a first aspect, the present invention provides a method for a PNFS server to communicate with a client, including:
the method comprises the steps that a client caches the layout of a communication file sent by a metadata server, and detects the relevance between the file before and after communication;
when a plurality of communication files have relevance, setting a metadata server to send a plurality of layouts with relevance to a client once, and increasing the communication time between the client and the metadata server;
setting layout effective time for each file, stopping the target communication file which is processed and reaches the layout effective time by the client, and retransmitting the latest layout of the target communication file by the metadata server;
the client continues to communicate with the metadata server according to the latest layout.
Further, the method further comprises:
the client sends a communication request to the metadata server, and the metadata server returns the handle and the state information of the corresponding communication file;
the client sends a layout request, and the metadata server returns the layout of the communication file after receiving the request.
Further, the method further comprises:
after receiving the layout of the file, the client sends a read or write request to the metadata memory;
when the client completes the read or write operation, a command is sent to indicate that the operation is finished.
Further, the method further comprises:
when the client performs a write operation to the metadata server, the client needs to perform a layout commit operation before the send command indicates the end of the operation.
Further, the method further comprises:
when a client side carries out read-write operation from a metadata memory, judging whether the read-write operation follows a parallel data path storage access protocol: if not, stopping the current read-write operation and reporting to the client.
Further, the method further comprises:
setting layout effective time for each file, and confirming whether the layout of the communication file is due or not according to the layout effective time;
if the layout effective time is determined to be due, setting the expired communication file processed by the current client as a target communication file;
the metadata server resends the latest layout of the target communication file.
The beneficial effect of the invention is that,
the method for communication between the PNFS server and the client pays attention to the advantages of the PNFS server aiming at the bottleneck point of the traditional NFS in terms of performance, ensures that IO operation stop caused by file layout failure is reduced as much as possible when the client performs data reading operation, avoids the risk of service interruption, can ensure that files are written into the data storage server in parallel during writing operation, and greatly improves the performance of the PNFS.
In addition, the invention has reliable design principle, simple structure and very wide application prospect.
Drawings
In order to more clearly illustrate the embodiments or technical solutions in the prior art of the present invention, the drawings used in the description of the embodiments or prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
Fig. 1 is a schematic flow chart of NFS server communication in the prior art according to an embodiment of the present invention.
FIG. 2 is a schematic flow diagram of a method of one embodiment of the invention.
Fig. 3 is a schematic flow diagram of a prior art PNFS server communication according to one embodiment of the present invention.
Detailed Description
In order to make those skilled in the art better understand the technical solution of the present invention, the technical solution in the embodiment of the present invention will be clearly and completely described below with reference to the drawings in the embodiment of the present invention, and it is obvious that the described embodiment is only a part of the embodiment of the present invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
FIG. 2 is a schematic flow diagram of a method of one embodiment of the invention.
As shown in fig. 2, the method includes:
the client continues to communicate with the metadata server according to the latest layout, step 140.
Optionally, as an embodiment of the present invention, the method further includes:
the client sends a communication request to the metadata server, and the metadata server returns the handle and the state information of the corresponding communication file;
the client sends a layout request, and the metadata server returns the layout of the communication file after receiving the request.
Optionally, as an embodiment of the present invention, the method further includes:
after receiving the layout of the file, the client sends a read or write request to the metadata memory;
when the client completes the read or write operation, a command is sent to indicate that the operation is finished.
Optionally, as an embodiment of the present invention, the method further includes:
when the client performs a write operation to the metadata server, the client needs to perform a layout commit operation before the send command indicates the end of the operation.
Optionally, as an embodiment of the present invention, the method further includes:
when a client side carries out read-write operation from a metadata memory, judging whether the read-write operation follows a parallel data path storage access protocol: if not, stopping the current read-write operation and reporting to the client.
Optionally, as an embodiment of the present invention, the method further includes:
setting layout effective time for each file, and confirming whether the layout of the communication file is due or not according to the layout effective time;
if the layout effective time is determined to be due, setting the expired communication file processed by the current client as a target communication file;
the metadata server resends the latest layout of the target communication file.
In order to facilitate understanding of the present invention, the following further describes a method for a PNFS server to communicate with a client according to the principle of the method for a PNFS server to communicate with a client in the present invention, in combination with a process of managing between the server and the client in the embodiment.
The performance of the traditional NFS server has increasingly obvious disadvantages under the requirements of rapidly-advanced data volume and high performance, under the pressure of real services, a server type which can retain the advantages of the traditional NFS server and break through the disadvantages of the traditional NFS server is urgently needed to be found, PNFS brings a new idea, the PNFS changes the composition structure of the traditional NFS server, a client does not need to access a data storage through the server, and a metadata server is changed into out-of-band access through a separated means, so that the client can directly communicate with a data storage server, the bottleneck problem caused by other factors such as bandwidth is greatly reduced, and the performance of the server is effectively improved.
1. As shown in fig. 3, the PNFS comprises the following components, the left side is a PNFS server, the upper side is a plurality of clients, and the lower side is a data storage, and the protocol contents referred in the figure are: the PNFS protocol passes metadata between the server and the client as well as a layout, which includes: file write location, file attributes, etc.; a storage access protocol is used to specify the manner in which a client accesses the data repository, and a control protocol is used to synchronize the state between the metadata server and the data server, the synchronization being hidden from the client, such as reorganizing files on the medium. Furthermore, nfsv4.1 does not specify a control protocol, so it has multiple forms, which competition in terms of performance, cost and characteristics provides flexibility for the suppliers.
According to the components of the PNFS, we can obtain that the approximate flow of accessing by the client is as follows:
1) the client requests a layout for manipulating a file;
2) the client obtains the access right of the file by accessing the metadata server;
3) after the client obtains the access right and the layout, the client can directly access data from the data storage, and the access is also to comply with the protocol required by the storage type;
4) if the client changes the operated file and simultaneously changes the file layout example on the client, the changed file layout also needs to be submitted to the metadata server;
5) after the client operation is completed, the remaining modifications are submitted, and a copy of the corresponding file layout is submitted to the metadata server, followed by closing the operated file.
2. PNFS read-write operation flow and corresponding optimization
2.1, according to the above process, the read operation of the client accessing the PNFS server can be divided into the following processes:
1) the client sends a lookup request and an open request to the metadata server, and the metadata server returns file handles and state information;
2) the client side sends a layout request, and the metadata server returns the layout of the file after receiving the request;
3) after receiving the layout of the file, the client can send a read request to the data memory
4) After the client finishes the reading operation, a layout is sent to indicate that the operation is finished;
5) when the file layout taken by the client side has failed, the metadata server sends a cb _ layout command to inform that the layout has failed and needs to be re-acquired or cleared.
Generally, the layout of the related files is cached on the client to achieve the maximum improvement of the performance, when a certain client is disconnected and is not used any more, the held file layout is released, it needs to be noted that in order to avoid the overdue layout cache, the metadata server will recover the failed layout, and after the layout is recovered, the related client will stop the IO operation until the correct file layout is obtained from the metadata server again.
2.2, aiming at the condition that when the file layout fails, the related client stops the IO operation, which causes possible service interruption, the document provides an optimization strategy aiming at the IO stop caused by the file layout failure when the client reads, and the main optimization is divided into the following two parts:
1) in order to confirm whether the file layout cached by the client is invalid or not, a layout invalid time can be set for each file, the client and the metadata server communicate regularly to confirm the file layout held by the client, and if the layout valid time of the file is about to expire, the metadata server actively sends the latest layout of the file to the client regardless of whether the client reads multiple files or single files, and the client can communicate with the data server by using the new file layout.
2) When a certain client side carries out a large number of file reading operations and related files have strong relevance and continuity, the metadata server can be requested to send a plurality of file layouts to the client side at a time, meanwhile, the communication time between the client side and the metadata server is increased, and the efficiency of reading data between the client side and the data storage can be increased as much as possible.
3. The write operation and read operation flow are basically similar, the difference is that the client needs to execute the layout commit t before the layout return at the time of the write operation. In file storage, a data storage server usually consists of multiple NFS servers, and each file may be distributed on all servers or on some number of servers, which has the advantage that clients can simultaneously obtain each part of the relevant file. When a file is written, a client can segment the file into different parts, then write all the parts of the file into the data storage server at the same time, and update the file layout information on the metadata server in time after the writing operation is completed. .
Therefore, the defects of the conventional NFS server of the present invention are more prominent, and the PNFS server can concurrently perform read/write IO, but the PNFS server also has certain disadvantages and problems to be solved urgently.
Although the present invention has been described in detail by referring to the drawings in connection with the preferred embodiments, the present invention is not limited thereto. Various equivalent modifications or substitutions can be made on the embodiments of the present invention by those skilled in the art without departing from the spirit and scope of the present invention, and these modifications or substitutions are within the scope of the present invention/any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Claims (6)
1. A method for a PNFS server to communicate with a client, comprising:
the method comprises the steps that a client caches the layout of a communication file sent by a metadata server, and detects the relevance between the file before and after communication;
when a plurality of communication files have relevance, setting a metadata server to send a plurality of layouts with relevance to a client once, and increasing the communication time between the client and the metadata server;
setting layout effective time for each file, stopping the target communication file which is processed and reaches the layout effective time by the client, and retransmitting the latest layout of the target communication file by the metadata server;
the client continues to communicate with the metadata server according to the latest layout.
2. A PNFS server to client communication method according to claim 1, further comprising:
the client sends a communication request to the metadata server, and the metadata server returns the handle and the state information of the corresponding communication file;
the client sends a layout request, and the metadata server returns the layout of the communication file after receiving the request.
3. A PNFS server to client communication method according to claim 1, further comprising:
after receiving the layout of the file, the client sends a read or write request to the metadata memory;
when the client completes the read or write operation, a command is sent to indicate that the operation is finished.
4. A PNFS server to client communication method according to claim 3, further comprising:
when the client performs a write operation to the metadata server, the client needs to perform a layout commit operation before the send command indicates the end of the operation.
5. A PNFS server to client communication method according to claim 1, further comprising:
when a client side carries out read-write operation from a metadata memory, judging whether the read-write operation follows a parallel data path storage access protocol: if not, stopping the current read-write operation and reporting to the client.
6. A PNFS server to client communication method according to claim 1, further comprising:
setting layout effective time for each file, and confirming whether the layout of the communication file is due or not according to the layout effective time;
if the layout effective time is determined to be due, setting the expired communication file processed by the current client as a target communication file;
the metadata server resends the latest layout of the target communication file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080089.9A CN112286897B (en) | 2020-10-10 | 2020-10-10 | Method for communication between PNFS server and client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080089.9A CN112286897B (en) | 2020-10-10 | 2020-10-10 | Method for communication between PNFS server and client |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286897A true CN112286897A (en) | 2021-01-29 |
CN112286897B CN112286897B (en) | 2023-01-10 |
Family
ID=74421849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011080089.9A Active CN112286897B (en) | 2020-10-10 | 2020-10-10 | Method for communication between PNFS server and client |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286897B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164161A (en) * | 2011-01-10 | 2011-08-24 | 清华大学 | Method and device for performing file layout extraction on parallel file system |
CN103902660A (en) * | 2014-03-04 | 2014-07-02 | 中国科学院计算技术研究所 | System and method for prefetching file layout through readdir++ in cluster file system |
CN104021009A (en) * | 2012-02-28 | 2014-09-03 | 托尼安软件开发系统公司 | Methods and system for efficient lifecycle management of storage controller |
-
2020
- 2020-10-10 CN CN202011080089.9A patent/CN112286897B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164161A (en) * | 2011-01-10 | 2011-08-24 | 清华大学 | Method and device for performing file layout extraction on parallel file system |
CN104021009A (en) * | 2012-02-28 | 2014-09-03 | 托尼安软件开发系统公司 | Methods and system for efficient lifecycle management of storage controller |
CN103902660A (en) * | 2014-03-04 | 2014-07-02 | 中国科学院计算技术研究所 | System and method for prefetching file layout through readdir++ in cluster file system |
Also Published As
Publication number | Publication date |
---|---|
CN112286897B (en) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593319B2 (en) | Virtualized data storage system architecture | |
US10628086B2 (en) | Methods and systems for facilitating communications with storage | |
US7882286B1 (en) | Synchronizing volumes for replication | |
US9459804B1 (en) | Active replication switch | |
US9613048B2 (en) | Sending interim notifications to a client of a distributed filesystem | |
US7627612B2 (en) | Methods and apparatus for optimal journaling for continuous data replication | |
US8521691B1 (en) | Seamless migration between replication technologies | |
US7516287B2 (en) | Methods and apparatus for optimal journaling for continuous data replication | |
US10061666B1 (en) | Method and apparatus for adding a director to storage with network-based replication without data resynchronization | |
US7797358B1 (en) | Methods and apparatus for continuous data protection system having journal compression | |
US9098413B2 (en) | Read and write requests to partially cached files | |
US6883068B2 (en) | Methods and apparatus for implementing a chche replacement scheme | |
CN111124301A (en) | Data consistency storage method and system of object storage device | |
US10657150B2 (en) | Secure deletion operations in a wide area network | |
US20160070741A1 (en) | Managing the level of consistency for a file in a distributed filesystem | |
US20140006687A1 (en) | Data Cache Apparatus, Data Storage System and Method | |
CN103902479A (en) | Quick reconstruction mechanism for metadata cache on basis of metadata log | |
CN107818111B (en) | Method for caching file data, server and terminal | |
CN110807039A (en) | Data consistency maintenance system and method in cloud computing environment | |
EP1566041A2 (en) | High-performance lock management for flash copy in n-way shared storage systems | |
US8650178B2 (en) | Systems, methods and software for distributed loading of databases | |
CN112286897B (en) | Method for communication between PNFS server and client | |
JPH07239808A (en) | Distributed data managing system | |
CN107896248B (en) | A kind of parallel file system application method based on client communication | |
CN113190523B (en) | Distributed file system, method and client based on multi-client cooperation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |