System and method for optimizing multi-pathing support in a distributed storage system environment
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-003/00
G06F-009/44
G06F-009/46
G06F-013/00
출원번호
US-0748344
(2007-05-14)
등록번호
US-8566845
(2013-10-22)
발명자
/ 주소
Rajan, Vijayan
출원인 / 주소
NetApp, Inc.
대리인 / 주소
Cesari and McKenna, LLP
인용정보
피인용 횟수 :
1인용 특허 :
56
초록▼
A Multi-Pathing Optimization Module (MPOM) interfaces with a client to route a data access request along a most optimal path to a storage system serving data container stored on a striped volume set (SVS). The MPOM constructs and references a Location Data Structure (LDS) containing striping rules a
A Multi-Pathing Optimization Module (MPOM) interfaces with a client to route a data access request along a most optimal path to a storage system serving data container stored on a striped volume set (SVS). The MPOM constructs and references a Location Data Structure (LDS) containing striping rules associated with the SVS, a list of network elements (N-blades) operatively connected to the client, and a list of disk elements (D-blades) sharing a node of the storage system with the listed N-blades. The MPOM executes a Client_Locate( ) function on a per data access request basis to identify the D-blade serving the volume which will receive the request. When possible, the MPOM routes the data access request directly to the N-blade sharing a node with the identified D-blade, thereby using the most optimal path from the client to the SVS.
대표청구항▼
1. A method for directing a data access request to one of a plurality of network elements operatively connected to one or more destination storage elements of a cluster, comprising: identifying a destination storage element connected through a storage adapter to a storage device with data requested
1. A method for directing a data access request to one of a plurality of network elements operatively connected to one or more destination storage elements of a cluster, comprising: identifying a destination storage element connected through a storage adapter to a storage device with data requested by the data access request;identifying a first network element configured to receive the data access request through a first network adapter, the first network element sharing a first connection with the destination storage element using a cluster switching fabric;identifying a second network element configured to receive the data access request through a second network adapter, the second network element sharing a second connection with the destination storage element without use of the cluster switching fabric;determining that the second network element, and not the first network element, is identified in a list of local destination storage element indices provided by one or more of the plurality of network elements indicating that each of the one or more network elements shares a respective second connection with a respective disk storage element; andin response to determining that the second network element, and not the first network element, is identified in the list, designating the second network element instead of the first network element to receive the data access request, wherein the second connection is a higher speed connection than the first connection. 2. The method of claim 1 wherein the data access request comprises a SCSI command. 3. The method of claim 1 wherein the data access request comprises a SCSI command encapsulated in TCP/IP. 4. The method of claim 1 wherein the data access request comprises a SCSI command encapsulated in Fibre Channel. 5. The method of claim 1 further comprising serving, by the one or more destination storage elements, a plurality of volumes organized into a striped volume set, wherein the striped volume set is defined by a set of striping rules. 6. The method of claim 5 wherein identifying the destination storage element comprises: providing an offset within a data container stored on the striped volume set; andidentifying the destination storage element using at least one of the set of striping rules, the indices, and the offset. 7. The method of claim 6 further comprising serving, by the destination storage element, a volume of the plurality of volumes including the offset within the data container. 8. The method of claim 6 wherein the indices identify the one or more destination storage elements relative to the set of striping rules such that a sequence of the plurality of volumes across which the data is striped corresponds to a sequence of indices to the one or more storage elements serving the plurality of volumes. 9. The method of claim 6 wherein the data container comprises a file. 10. The method of claim 6 wherein the data container comprises a logical unit number. 11. The method of claim 6 wherein the indices are provided in a response to a command sent to the one or more of the plurality of network elements. 12. The method of claim 11 wherein the command comprises a vendor-specific SCSI command. 13. The method of claim 11 wherein the response comprises a vendor-specific SCSI command. 14. The method of claim 5 wherein one of the plurality of volumes of the striped volume set is defined as a meta-data volume. 15. The method of claim 14 wherein identifying the destination storage element comprises identifying the data access request as meta-data related. 16. The method of claim 1 further comprising interfacing one or more software modules with a multi-pathing optimization module (MPOM) for identifying the destination storage element, identifying the one or more of the plurality of network elements, and directing the data access request. 17. The method of claim 1 wherein the second connection comprises a shared system bus. 18. A system for directing a data access request from a client to one of a plurality of network elements operatively connected to one or more destination storage elements of a storage system cluster, comprising: means for identifying a destination storage element serving a storage device with data requested by the data access request;means for identifying a first network element configured to receive the data access request, the first network element sharing a first connection with the destination storage element using a cluster switching fabric;means for identifying a second network element configured to receive the data access request, the second network element sharing a second connection with the destination storage element without use of the cluster switching fabric;means for determining, by a processor, that the second network element, and not the first network element, is identified in a list of local destination storage element indices provided by one or more of the plurality of network elements indicating that each of the one or more network elements shares a respective second connection with a respective destination storage element; andmeans for designating the second network element instead of the first network element to receive the data access request in response to determining that the second network element and not the first network element is identified in the list, wherein the second connection is a higher speed connection than the first connection. 19. The system of claim 18 wherein the data access request comprises a SCSI command. 20. The system of claim 18 wherein the data access request comprises a SCSI command encapsulated in TCP/IP. 21. The system of claim 18 wherein the data access request comprises a SCSI command encapsulated in Fibre Channel. 22. The system of claim 18 further comprising means for serving, by the one or more destination storage elements, a plurality of volumes organized into a striped volume set, wherein the striped volume set is defined by a set of striping rules. 23. The system of claim 22 further comprising: means for providing an offset within a data container stored on the striped volume set; andmeans for identifying the destination storage element using at least one of the set of striping rules, the means for identifying at least one of the one or more storage elements sharing the second connection with the one or more network elements, and the offset. 24. The system of claim 23 wherein the data container comprises a file. 25. The system of claim 23 wherein the data container comprises a logical unit number. 26. The system of claim 23 wherein the indices identify the one or more destination storage elements relative to the set of striping rules such that a sequence of the plurality of volumes across which the data is striped corresponds to a sequence of indices to the one or more storage elements serving the plurality of volumes. 27. The system of claim 23 wherein the indices are provided in a response to a command sent to one or more of the plurality of network elements. 28. The system of claim 27 wherein the command comprises a vendor-specific SCSI command. 29. The system of claim 27 wherein the response comprises a vendor-specific SCSI command. 30. The system of claim 18 wherein the second network element shares the second connection with the destination storage element, the second connection comprising a shared system bus. 31. A system for directing a data access request received from a client, comprising: at least one processor;a multi-pathing optimization module (MPOM) configured to operatively connect to a cluster of nodes, the cluster of nodes including a plurality of network elements configured to operatively interconnect to one or more destination storage elements, wherein the cluster is configured to serve a data container stored on a plurality of storage devices;the MPOM further configured to identify a first network element of the plurality of network elements sharing a first connection with a destination storage element using a cluster switching fabric, the MPOM further configured to identify a second network element sharing a second connection with the destination storage element without use of the cluster switching fabric, the MPOP further configured to determine that the second network element and not the first network element is identified in a list of local destination storage element indices provided by one or more of the plurality of network elements indicating that each of the one or more network elements shares a respective second connection with a respective disk storage element, the MPOM further configured to designate the second network element instead of the first network element to receive the data access request in response to determining that the second network element and not the first network element is identified in the list, wherein the second connection is a higher speed connection than the first connection. 32. The system of claim 31 wherein the MPOM comprises a software module configured to interface with an operating system of the client. 33. The system of claim 31 wherein the MPOM comprises a hardware device operatively connected between the client and the one or more network elements. 34. The system of claim 31 wherein the second connection comprises a physical connection between the second network element and the destination storage element. 35. The system of claim 31 wherein the plurality of storage devices include a plurality of volumes organized into a striped volume set, the striped volume set defined by a set of striping rules. 36. The system of claim 35wherein the data access request comprises an offset within the data container, and wherein the data container is stored on the striped volume set; andwherein the MPOM is further configured to identify the destination storage element using the set of striping rules, the indices, and the offset. 37. The system of claim 31 wherein the MPOM is further configured to interface with a location data structure (LDS) comprising the indices and the set of striping rules. 38. The system of claim 36 wherein the data container comprises a file. 39. The system of claim 36 wherein the data container comprises a logical unit number. 40. The system of claim 31 wherein the MPOM is further configured to designate the first network element to receive the data access request, the first network element designated according to an alternative multi-pathing policy in response to lacking an operative connection to the second network element. 41. The system of claim 31 wherein the data access request comprises a SCSI command. 42. The system of claim 31 wherein the data access request comprises a SCSI command encapsulated in TCP/IP. 43. The system of claim 31 wherein the data access request comprises a SCSI command encapsulated in Fibre Channel.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (56)
Hitz,David; Malcolm,Michael; Lau,James; Rakitzis,Byron, Allocating files in a file system integrated with a raid disk sub-system.
Corbett,Peter F.; English,Robert M.; Kleiman,Steven R., Data placement technique for striping data containers across volumes of a storage system cluster.
Koseki, Michihiko; Yokoyama, Mamoru; Sumi, Masashi; Yamaguchi, Satoru; Taniwaki, Sadayoshi; Hamanaka, Seishiro, Data processing system with mechanism for restoring file systems based on transaction logs.
Dalal,Chirag Deepak; Bharadwaj,Vaijayanti Rakshit; Kulkarni,Pradip Madhukar; Karr,Ronald S.; Colgrove,John A., Development of a detailed logical volume configuration from high-level user requirements.
Belsan Jay S. (Nederland CO) Rudeseal George A. (Boulder CO) Milligan Charles A. (Golden CO), Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
Cheng Yu-Ping (San Jose CA) Hitz David (Sunnyvale CA), High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme.
Milligan Charles A. (Golden CO) Rudeseal George A. (Boulder CO), Logical track write scheduling system for a parallel disk drive array data storage subsystem.
Baranovsky Leon Daniel ; Cabrera Luis Felipe ; Chin Chiehshow ; Rees Robert, Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal stora.
Fridella,Stephen A; Ma,Gang; Jiang,Xiaoye; Faibish,Sorin; Liang,Rui, Management of the file-modification time attribute in a multi-processor file server system.
Joffe Rodney Lance ; Dykes Barry A. ; Brittain Jason Alan ; Oppleman Victor Joseph ; Pettingell Brian Everett ; Lippard James Joseph ; Vandeventer Ian Burke ; Watson Brett Dean ; Hotz Steven Michael , Method and apparatus for balancing the process load on network servers according to network and serve based policies.
DeKoning, Rodney A.; Binford, Charles D.; Gallagher, Michael J.; Jantz, Ray M., Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes.
Potter David (Acton MA) Provost Laurence N. (Arlington MA) Baron John M. (Grafton MA) Stefanovic David (Allston MA) Sharakan Eric D. (Brighton MA) Sheppard David A. (Cambridge MA) Isman Marshall A. (, Method and apparatus for operating multi-unit array of memories.
Kazar, Michael L.; Nydick, Daniel S.; Sanzi, Jr., Richard N.; Gohh, Fred; Bianchini, Jr., Ronald P.; Speiser, Benjamin, Method and system for responding to file system requests.
Hitz David ; Malcolm Michael ; Lau James ; Rakitzis Byron, Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file s.
Hitz David (Sunnyvale CA) Schwartz Allan (Saratoga CA) Lau James (Cupertino CA) Harris Guy (Mountain View CA), Multiple facility operating system architecture.
Hitz David ; Schwartz Allan ; Lau James ; Harris Guy, Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Schmuck Frank B. ; Zlotek Anthony J. ; Shmueli Boaz,ILX ; Mandler Benjamin,ILX ; Yehudai Zvi Yosef,ILX ; Kish William A., Parallel file system with method using tokens for locking modes.
Kazar, Michael; Jernigan, IV, Richard P.; Sanzi, Jr., Richard N., Storage system architecture for striping data container content across volumes of a cluster.
Kazar,Michael; English,Robert M.; Jernigan, IV,Richard P., System and method for efficiently guaranteeing data consistency to clients of a storage system cluster.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.