Deterministic recovery of a file system built on a thinly provisioned logical volume having redundant metadata
First Claim
1. A file server comprising:
- physical data storage; and
at least one data processor coupled to the physical data storage for accessing the physical data storage;
wherein said at least one data processor is programmed for maintaining a sparse metavolume of the physical data storage, the sparse metavolume includes slices of the physical data storage allocated to the sparse metavolume, the sparse metavolume provides logical data storage, some of the logical data storage is mapped to the slices of the physical data storage allocated to the sparse metavolume, some of the logical data storage does not have allocated physical storage and is not mapped to the slices of the physical data storage allocated to the sparse metavolume, and the sparse metavolume has slice metadata defining the allocation of the slices of the physical data storage to the sparse metavolume and the mapping of the logical data storage to the slices of the physical data storage that are allocated to the sparse metavolume, andwherein the file server stores three copies of the slice metadata, and said at least one data processor is programmed with a recovery program executable by said at least one data processor to recover from a disruption by comparing the three copies of the slice metadata to detect and correct errors in the slice metadata.
10 Assignments
0 Petitions
Accused Products
Abstract
A file server architecture decouples logical storage from physical storage and provides proactive detection and containment of faults, errors, and corruptions in a file system, in order to enable in place (online) and non-intrusive recovery. The file system is built upon a thinly provisioned logical volume, and there are stored three copies of the metadata defining the logical volume in order to provide quick, deterministic, and reliable recovery from a faulted system. A first copy of the metadata is distributed among all of the slices of physical storage allocated to the logical volume. A second copy of the metadata is stored in a root slice of the logical volume. A third copy of the metadata is stored separate from the slices of physical storage allocated to the logical volume.
128 Citations
20 Claims
-
1. A file server comprising:
-
physical data storage; and at least one data processor coupled to the physical data storage for accessing the physical data storage; wherein said at least one data processor is programmed for maintaining a sparse metavolume of the physical data storage, the sparse metavolume includes slices of the physical data storage allocated to the sparse metavolume, the sparse metavolume provides logical data storage, some of the logical data storage is mapped to the slices of the physical data storage allocated to the sparse metavolume, some of the logical data storage does not have allocated physical storage and is not mapped to the slices of the physical data storage allocated to the sparse metavolume, and the sparse metavolume has slice metadata defining the allocation of the slices of the physical data storage to the sparse metavolume and the mapping of the logical data storage to the slices of the physical data storage that are allocated to the sparse metavolume, and wherein the file server stores three copies of the slice metadata, and said at least one data processor is programmed with a recovery program executable by said at least one data processor to recover from a disruption by comparing the three copies of the slice metadata to detect and correct errors in the slice metadata. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A file server comprising:
-
physical data storage; and at least one data processor coupled to the physical data storage for accessing the physical data storage; wherein said at least one data processor is programmed for maintaining a sparse metavolume of the physical data storage, the sparse metavolume includes slices of the physical data storage allocated to the sparse metavolume, the sparse metavolume provides logical data storage, some of the logical data storage is mapped to the slices of the physical data storage allocated to the sparse metavolume, some of the logical data storage does not have allocated physical storage and is not mapped to the slices of the physical data storage allocated to the sparse metavolume, and the sparse metavolume has slice metadata defining the allocation of the slices of the physical data storage to the sparse metavolume and the mapping of the logical data storage to the slices of the physical data storage that are allocated to the sparse metavolume, and wherein the file server stores three copies of the slice metadata, and said at least one data processor is programmed with a recovery procedure executable by the said at least one data processor to recover from a disruption by comparing the three copies of the slice metadata to detect and correct errors in the slice metadata, wherein each slice of physical data storage allocated to the sparse metavolume includes a slice mark containing a respective portion of the slice metadata defining allocation of said each slice to the sparse metavolume and mapping of the logical data storage of the sparse metavolume to said each slice, a first one of the three copies of the slice metadata is comprised of the respective portions of the slice metadata in the slice marks of the slices of physical data storage allocated to the metavolume, the slice marks are chained together by links, and the recovery procedure is executable by said at least one data processor to recover from the disruption by following the links to collect the slice metadata contained in the slice marks, wherein a second one of the three copies of the slice metadata is maintained in one of the slices allocated to the sparse metavolume, and wherein a third one of the three copies of the slice metadata is stored in a kernel mode database separate from the slices of the physical data storage allocated to the sparse metavolume. - View Dependent Claims (11)
-
-
12. A computer-implemented method of operating a file server, the file server having physical data storage, and a sparse metavolume of the physical data storage, the sparse metavolume including slices of the physical data storage allocated to the sparse metavolume, the sparse metavolume providing logical data storage, some of the logical data storage being mapped to the slices of the physical data storage allocated to the sparse metavolume, and some of the logical data storage not having allocated physical storage and not being mapped to the slices of the physical data storage allocated to the sparse metavolume, and the sparse metavolume having slice metadata defining the allocation of the slices of the physical data storage to the sparse metavolume and the mapping of the logical data storage of the sparse metavolume to the slices of the physical data storage that are allocated to the sparse metavolume, said method comprising:
-
maintaining three copies of the slice metadata in the physical data storage, and recovering from a disruption in operation of the file server by executing a recovery program in memory of the file server, the recovery program comparing the three copies of the slice metadata to detect and correct errors in the slice metadata. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification