Thin provisioning of a file system and an iSCSI LUN through a common mechanism
First Claim
1. A file server comprising:
- data storage containing data of a production file system or a logical unit number (LUN) of storage; and
at least one data processor coupled to the data storage for accessing the data storage;
wherein the production file system or LUN is contained in a file of a container file system in the data storage, the container file system having a logical extent of storage provided by a logical extent of a sparse metavolume of the data storage, the logical extent of the sparse metavolume including slices of logical storage, at least one of the slices of logical storage being provisioned with a configured slice of the data storage containing data of the production file system or LUN;
wherein said at least one data processor is programmed for maintaining a slice map, the slice map indicating whether or not each slice of logical storage in the sparse metavolume is provisioned with an associated configured slice of the data storage; and
said at least one data processor is programmed for responding to requests from at least one client for writing data to and reading data from the production file system or LUN by accessing the slice map for determining a configured slice of the data storage to be written to and read from, and by writing to and reading from the configured slice of the data storage to be written to and read from.
11 Assignments
0 Petitions
Accused Products
Abstract
A container file system is built on a sparse metavolume for enhanced decoupling of logical storage from physical storage and for providing common supplementary storage services for iSCSI block access and for NFS or CIFS file system access. The container file system contains a production file system or iSCSI LUN and may also contain snapshot copies of the production file system or iSCSI LUN. The container file system manages storage space among the production file system or iSCSI LUN and its snapshot copies, and also improves fault containment. The sparse metavolume provides thin provisioning of the container file system. A slice map indicates whether or not each slice of logical storage in the sparse metavolume is provisioned with an associated configured slice of data storage.
-
Citations
20 Claims
-
1. A file server comprising:
-
data storage containing data of a production file system or a logical unit number (LUN) of storage; and at least one data processor coupled to the data storage for accessing the data storage; wherein the production file system or LUN is contained in a file of a container file system in the data storage, the container file system having a logical extent of storage provided by a logical extent of a sparse metavolume of the data storage, the logical extent of the sparse metavolume including slices of logical storage, at least one of the slices of logical storage being provisioned with a configured slice of the data storage containing data of the production file system or LUN; wherein said at least one data processor is programmed for maintaining a slice map, the slice map indicating whether or not each slice of logical storage in the sparse metavolume is provisioned with an associated configured slice of the data storage; and said at least one data processor is programmed for responding to requests from at least one client for writing data to and reading data from the production file system or LUN by accessing the slice map for determining a configured slice of the data storage to be written to and read from, and by writing to and reading from the configured slice of the data storage to be written to and read from. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of operating a file server, said method comprising the steps of:
-
configuring data storage into slices of the data storage; and building a container file system upon a sparse metavolume of the data storage, the sparse metavolume including slices of logical storage, at least one of the slices of logical storage being provisioned with one of the configured slices of the data storage, and creating a production file system or a logical unit number (LUN) of the data storage in a file of the container file system; and maintaining a slice map, the slice map indicating whether or not each slice of logical storage in the sparse metavolume is provisioned with an associated one of the configured slices of the data storage; and responding to requests from said at least one client for writing data to and reading data from the production file system or LUN by accessing the slice map for determining a configured slice of the data storage to be written to and read from, and by writing to and reading from the configured slice of data storage to be written to and read from. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of operating a file server, the file server having data storage containing data of a production file system or a logical unit number (LUN) of storage, wherein the production file system or LUN is contained in a file of a container file system in the data storage, the container file system having a logical extent of storage provided by a logical extent of a sparse metavolume of the data storage, the logical extent of the sparse metavolume including slices of logical storage, at least one of the slices of logical storage being provisioned with at least one configured slice of the data storage containing data of the production file system or LUN, said method comprising the steps of:
-
maintaining a slice map, the slice map indicating whether or not each slice of logical storage in the sparse metavolume is provisioned with an associated configured slice of the data storage; and responding to requests from at least one client for writing data to and reading data from the production file system or LUN by accessing the slice map for determining a configured slice of the data storage to be written to and read from, and by writing to and reading from the configured slice of the data storage to be written to and read from. - View Dependent Claims (18, 19, 20)
-
Specification