-
公开(公告)号:US10664366B2
公开(公告)日:2020-05-26
申请号:US15813941
申请日:2017-11-15
Applicant: NetApp, Inc.
Inventor: Bob Schatz , John Muth , Stephen H. Strange
Abstract: A third vote consensus technique enables a first node, i.e., a surviving node, of a two-node cluster to establish a quorum and continue to operate in response to failure of a second node of the cluster. Each node maintains configuration information organized as a cluster database (CDB) which may be changed according to a consensus-based protocol. Changes to the CDB are logged on a third copy file system (TCFS) stored on a local copy of TCFS (L-TCFS). A shared copy of the TCFS (i.e., S-TCFS) may be stored on shared storage devices of one or more storage arrays coupled to the nodes. The local copy of the TCFS (i.e., L-TCFS) represents a quorum vote for each node of the cluster, while the S-TCFS represents an additional “tie-breaker” vote of a consensus-based protocol. The additional vote may be obtained from the shared storage devices by the surviving node as a third vote to establish the quorum and enable the surviving node to cast two of three votes (i.e., a majority of votes) needed to continue operation of the cluster. That is, the majority of votes allows the surviving node to update the CDB with the configuration information changes so as to continue proper operation of the cluster.
-
公开(公告)号:US20170351589A1
公开(公告)日:2017-12-07
申请号:US15687062
申请日:2017-08-25
Applicant: NetApp, Inc.
Inventor: Steven S. Watanabe , Stephen H. Strange , John Muth , Kimberly A. Malone , Kayuri H. Patel
IPC: G06F11/20
CPC classification number: G06F11/2069 , G06F11/1441 , G06F11/2033 , G06F11/2035 , G06F11/2046 , G06F11/2094 , G06F11/2097 , G06F2201/805
Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s). The HA manager interacts with various layers of a storage I/O stack to mount and un-mount the I/O resources on one or more nodes of the cluster through the use of well-defined interfaces, e.g., application programming interfaces.
-
公开(公告)号:US20170091056A1
公开(公告)日:2017-03-30
申请号:US14864026
申请日:2015-09-24
Applicant: NetApp, Inc.
Inventor: Steven S. Watanabe , Stephen H. Strange , John Muth , Kimberly A. Malone , Kayuri H. Patel
IPC: G06F11/20
CPC classification number: G06F11/2069 , G06F11/1441 , G06F11/2033 , G06F11/2035 , G06F11/2046 , G06F11/2094 , G06F11/2097 , G06F2201/805
Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s). The HA manager interacts with various layers of a storage I/O stack to mount and un-mount the I/O resources on one or more nodes of the cluster through the use of well-defined interfaces, e.g., application programming interfaces.
-
公开(公告)号:US10360120B2
公开(公告)日:2019-07-23
申请号:US15687062
申请日:2017-08-25
Applicant: NetApp, Inc.
Inventor: Steven S. Watanabe , Stephen H. Strange , John Muth , Kimberly A. Malone , Kayuri H. Patel
Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s). The HA manager interacts with various layers of a storage I/O stack to mount and un-mount the I/O resources on one or more nodes of the cluster through the use of well-defined interfaces, e.g., application programming interfaces.
-
公开(公告)号:US10229009B2
公开(公告)日:2019-03-12
申请号:US14971807
申请日:2015-12-16
Applicant: NetApp, Inc.
Inventor: John Muth , Juan C. Gomez
Abstract: A layout of a file system is optimized to meet storage requirements of a distributed consensus protocol implemented on a plurality of nodes of a cluster. Illustratively, the file system has an on-disk layout representation that enables efficient input/output (I/O) operation performance. The on-disk layout of the file system embodies a plurality of file system objects: membership, snapshot and log objects. Each object is allocated an area or region (e.g., a contiguous storage space) on-disk. In addition, each object has two or more storage container instances, e.g., files. In the case of snapshot and membership objects, the two files of each object are used in a circular (alternating) fashion so that write operations directed to a first file storing a current copy of the snapshot/membership content may be performed without destroying a previous committed copy of the snapshot/membership content stored in a second file.
-
公开(公告)号:US09785525B2
公开(公告)日:2017-10-10
申请号:US14864026
申请日:2015-09-24
Applicant: NetApp, Inc.
Inventor: Steven S. Watanabe , Stephen H. Strange , John Muth , Kimberly A. Malone , Kayuri H. Patel
IPC: G06F11/20
CPC classification number: G06F11/2069 , G06F11/1441 , G06F11/2033 , G06F11/2035 , G06F11/2046 , G06F11/2094 , G06F11/2097 , G06F2201/805
Abstract: A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s). The HA manager interacts with various layers of a storage I/O stack to mount and un-mount the I/O resources on one or more nodes of the cluster through the use of well-defined interfaces, e.g., application programming interfaces.
-
公开(公告)号:US20170235673A1
公开(公告)日:2017-08-17
申请号:US15581800
申请日:2017-04-28
Applicant: NetApp, Inc.
Inventor: Dhaval Patel , Manish Swaminathan , Edward D. McClanahan , John Muth
IPC: G06F12/02
CPC classification number: G06F12/0253 , G06F3/0608 , G06F3/061 , G06F3/0619 , G06F3/0641 , G06F3/0656 , G06F3/0688 , G06F12/0246 , G06F2212/1016 , G06F2212/1024 , G06F2212/1044 , G06F2212/702 , G06F2212/7201 , G06F2212/7205
Abstract: A rate matching technique may be configured to adjust a rate of cleaning of one or more selected segments of the storage array to accommodate a variable rate of incoming workload processed by a storage input/output (I/O) stack executing on one or more nodes of a cluster. An extent store layer of the storage I/O stack may clean a segment in accordance with segment cleaning which, illustratively, may be embodied as a segment cleaning process. The rate matching technique may be implemented as a feedback control mechanism configured to adjust the segment cleaning process based on the incoming workload. Components of the feedback control mechanism may include one or more weight schedulers and various accounting data structures, e.g., counters, configured to track the progress of segment cleaning and free space usage. The counters may also be used to balance the rates of segment cleaning and incoming I/O workload, which may change depending upon an incoming I/O rate. When the incoming I/O rate changes, the rate of segment cleaning may be adjusted accordingly to ensure that rates are substantially balanced.
-
公开(公告)号:US20170177448A1
公开(公告)日:2017-06-22
申请号:US14971807
申请日:2015-12-16
Applicant: NetApp, Inc.
Inventor: John Muth , Juan C. Gomez
CPC classification number: G06F11/1464 , G06F3/06 , G06F17/30088 , G06F17/30227 , G06F2201/84
Abstract: A layout of a file system is optimized to meet storage requirements of a distributed consensus protocol implemented on a plurality of nodes of a cluster. Illustratively, the file system has an on-disk layout representation that enables efficient input/output (I/O) operation performance. The on-disk layout of the file system embodies a plurality of file system objects: membership, snapshot and log objects. Each object is allocated an area or region (e.g., a contiguous storage space) on-disk. In addition, each object has two or more storage container instances, e.g., files. In the case of snapshot and membership objects, the two files of each object are used in a circular (alternating) fashion so that write operations directed to a first file storing a current copy of the snapshot/membership content may be performed without destroying a previous committed copy of the snapshot/membership content stored in a second file.
-
-
-
-
-
-
-