Servicing of storage device software components of nodes of a cluster storage system
First Claim
1. A cluster storage system for providing data-access sessions with clients that access data containers of a shared storage of the cluster storage system, the cluster storage system comprising:
- a plurality of nodes comprising a serviced node and a partner node, each node comprising a storage device software component (“
D-blade”
) configured for receiving access requests for data containers of the shared storage, the serviced node comprising a serviced D-blade and the partner node comprising a partner D-blade;
the serviced D-blade configured for;
receiving, from a first client through a network connection, a first access request for a first data container stored on the shared storage, the first client previously being verified as having permission to connect with the serviced D-blade through a connection authentication procedure, the first client having an associated first user identifier (ID);
using the first user ID and permission metadata associated with the first data container, performing a first access request validation procedure on the first access request to verify that the first client has permission to access the first data container;
after verifying that the first client has permission to access the first data container;
producing a first data container handle comprising a physical address for the first data container and performing the first access request on the first data container;
sending the first data container handle to the first client; and
storing session data comprising a plurality of data container handles, including the first data container handle, and the first user ID;
a servicing module configured for servicing the serviced D-blade by;
taking the serviced D-blade offline by forcing a network disconnection with each client, including the first client, currently accessing a data container using the serviced D-blade;
beginning servicing of the serviced D-blade, the servicing comprising upgrading, re-installing, performing maintenance, or repairing the serviced D-blade; and
providing access of the session data to the partner D-blade; and
the partner D-blade configured for;
receiving, from the first client, a second access request for the first data container, the second access request specifying the first data container handle and the first user ID; and
upon determining that the session data comprises a data container handle matching the first data container handle and a user ID matching the first user ID, performing the second access request on the first data container based on the first access request validation procedure on the first user ID.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are method and apparatus for servicing software components of nodes of a cluster storage system. During data-access sessions with clients, client IDs and file handles for accessing files are produced and stored to clients and stored (as session data) to each node. A serviced node is taken offline, whereby network connections to clients are disconnected. Each disconnected client is configured to retain its client ID and file handles and attempt reconnections. Session data of the serviced node is made available to a partner node (by transferring session data to the partner node). After clients have reconnected to the partner node, the clients may use the retained client IDs and file handles to continue a data-access session with the partner node since the partner node has access to the session data of the serviced node and thus will recognize and accept the retained client ID and file handles.
47 Citations
12 Claims
-
1. A cluster storage system for providing data-access sessions with clients that access data containers of a shared storage of the cluster storage system, the cluster storage system comprising:
-
a plurality of nodes comprising a serviced node and a partner node, each node comprising a storage device software component (“
D-blade”
) configured for receiving access requests for data containers of the shared storage, the serviced node comprising a serviced D-blade and the partner node comprising a partner D-blade;the serviced D-blade configured for; receiving, from a first client through a network connection, a first access request for a first data container stored on the shared storage, the first client previously being verified as having permission to connect with the serviced D-blade through a connection authentication procedure, the first client having an associated first user identifier (ID); using the first user ID and permission metadata associated with the first data container, performing a first access request validation procedure on the first access request to verify that the first client has permission to access the first data container; after verifying that the first client has permission to access the first data container; producing a first data container handle comprising a physical address for the first data container and performing the first access request on the first data container; sending the first data container handle to the first client; and storing session data comprising a plurality of data container handles, including the first data container handle, and the first user ID; a servicing module configured for servicing the serviced D-blade by; taking the serviced D-blade offline by forcing a network disconnection with each client, including the first client, currently accessing a data container using the serviced D-blade; beginning servicing of the serviced D-blade, the servicing comprising upgrading, re-installing, performing maintenance, or repairing the serviced D-blade; and providing access of the session data to the partner D-blade; and
the partner D-blade configured for;receiving, from the first client, a second access request for the first data container, the second access request specifying the first data container handle and the first user ID; and upon determining that the session data comprises a data container handle matching the first data container handle and a user ID matching the first user ID, performing the second access request on the first data container based on the first access request validation procedure on the first user ID. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for servicing a cluster storage system providing data-access sessions with clients that access data containers of a shared storage of the cluster storage system, the cluster storage system comprising a plurality of nodes comprising a serviced node and a partner node, each node comprising a storage device software component (“
- D-blade”
) configured for receiving access requests for data containers of the shared storage, the serviced node comprising a serviced D-blade and the partner node comprising a partner D-blade, the method comprising;at the serviced D-blade; receiving, from a first client through a network connection, a first access request for a first data container stored on the shared storage, the first client previously being verified as having permission to connect with the serviced D-blade through a connection authentication procedure, the first client having an associated first user identifier (ID); using the first user ID and permission metadata associated with the first data container, performing a first access request validation procedure on the first access request to verify that the first client has permission to access the first data container; after verifying that the first client has permission to access the first data container; producing a first data container handle comprising a physical address for the first data container and performing the first access request on the first data container; sending the first data container handle to the first client; and storing session data comprising a plurality of data container handles, including the first data container handle, and the first user ID; providing a servicing module configured for servicing the serviced D-blade by; taking the serviced D-blade offline by forcing a network disconnection with each client, including the first client, currently accessing a data container using the serviced D-blade; beginning servicing of the serviced D-blade, the servicing comprising upgrading, re-installing, performing maintenance, or repairing the serviced D-blade; and providing access of the session data to the partner D-blade; and wherein the partner D-blade is configured for; receiving, from the first client, a second access request for the first data container, the second access request specifying the first data container handle and the first user ID; and upon determining that the session data comprises a data container handle matching the first data container handle and a user ID matching the first user ID, performing the second access request on the first data container based on the first access request validation procedure on the first user ID. - View Dependent Claims (8, 9, 10, 11, 12)
- D-blade”
Specification