Storage virtualization by layering virtual disk objects on a file system
First Claim
1. A method for creating a virtual disk (vdisk) of a file system implemented by a storage operating system of a storage system, the method comprising the steps of:
- aggregating physical storage of portions of disks into a pool of blocks;
dynamically allocating the portions of the disks to form a vdisk; and
providing reliability guarantees for the vdisk in accordance with an underlying architecture of the file system, wherein the steps of aggregating, dynamically allocating and providing are performed in response to a user request to create the vdisk and without further user involvement.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage virtualization selection technique “automates” a virtualization selection process to create virtual disk (vdisk) storage objects over a volume of a file system implemented by a storage operating system of a multi-protocol storage appliance. The file system provides a virtualization system that aggregates physical storage of a set of disks or portions (e.g., extents) of disks into a pool of blocks that can be dynamically allocated to form a vdisk. The file system also provides reliability guarantees for the vdisks in accordance with its underlying architecture. That is, the file system organizes its storage within volumes created among the managed disks. The vdisk is thereafter created as a storage object within a volume and, thus, inherits the underlying reliability configuration associated with that volume. The portions are aggregated and allocated as a vdisk with reliability guarantees in response to a request to create the vdisk from a user of the storage appliance and without further user involvement.
427 Citations
31 Claims
-
1. A method for creating a virtual disk (vdisk) of a file system implemented by a storage operating system of a storage system, the method comprising the steps of:
-
aggregating physical storage of portions of disks into a pool of blocks;
dynamically allocating the portions of the disks to form a vdisk; and
providing reliability guarantees for the vdisk in accordance with an underlying architecture of the file system, wherein the steps of aggregating, dynamically allocating and providing are performed in response to a user request to create the vdisk and without further user involvement. - View Dependent Claims (2, 3, 4)
-
-
5. A system for creating virtual disks (vdisks) on a storage system, the system comprising:
a storage operating system resident in a memory of the storage system and invoking storage operations in support of a file system configured to logically organize information as a hierarchical structure of vdisks within a volume of the storage system, each vdisk stored in the volume as a representation embodying a logical unit number (lun) inode functioning as a main container for storing data associated with the vdisk and at least one stream inode that functions as a persistent store for storing various attributes, wherein the lun inode and at least one associated stream inode are managed as a single encapsulated storage object within the file system. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method for automating a selection process to create a virtual disk (vdisk) of a file system implemented by a storage operating system of a multi-protocol storage appliance, the method comprising the steps of:
-
issuing a lun create command through an administrative interface of the multi-protocol storage appliance, the lun create command specifying a size of the vdisk and a path descriptor of a location of the vdisk; and
creating the vdisk in response to the lun create command. - View Dependent Claims (18, 19, 20)
-
-
21. A method for creating a virtual disk (vdisk) of a file system implemented by a storage operating system of a multi-protocol storage appliance, the method comprising the steps of:
-
issuing a vdisk create command through an administrative interface of the multi-protocol storage appliance, the vdisk create command specifying a size of the vdisk and a path descriptor of a location of the vdisk;
creating a file inode associated with the vdisk, the file inode having a regular file type;
creating a stream inode for storing attributes associated with the vdisk;
populating the stream inode with attributes; and
converting the file type of the file inode from regular to vdisk, thereby creating the vdisk. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A system for automating a selection process to create virtual disks (vdisks) on a storage appliance, the system comprising:
-
a processor;
a memory coupled to the processor and having locations addressable by the processor;
at least one disk coupled to the memory and processor; and
a storage operating system resident in the memory and invoking storage operations in support of a file system configured to logically organize information as a hierarchical structure of vdisks on the disk, each vdisk stored on the disk as a representation embodying a logical unit number (lun) inode functioning as a main container for storing data associated with the vdisk and an attributes inode that functions as a persistent store for storing various attributes, wherein the lun inode and attributes inode are managed as a single encapsulated storage object within the file system.
-
-
27. A method for automating a storage virtualization process to create a virtual disk (vdisk) of a file system implemented by a storage operating system of a storage appliance, the method comprising the steps of:
-
issuing a vdisk create command through an administrative interface of the storage appliance, the vdisk create command specifying a size of the vdisk and a path descriptor of a location of the vdisk;
creating a file inode associated with the vdisk, the file inode having a vdisk file type;
creating a stream inode for storing attributes associated with the vdisk; and
populating the stream inode with attributes. - View Dependent Claims (28)
-
-
29. Apparatus for layering a virtual disk (vdisk) on a file system implemented by a storage operating system of a multi-protocol storage appliance, the apparatus comprising:
-
means for aggregating physical storage of portions of disks into a pool of blocks;
means for dynamically allocating the portions of the disks to form a vdisk; and
means for providing reliability guarantees for the vdisk in accordance with an underlying architecture of the file system, wherein the means for aggregating, dynamically allocating and providing are performed in response to a user request to create the vdisk and without further user involvement.
-
-
30. A computer readable medium containing executable program instructions for storage virtualization of a virtual disk (vdisk) of a file system implemented by a storage operating system of a storage system, the executable program instructions comprising program instructions for:
-
issuing a lun create command through an administrative interface of the storage system, the lun create command specifying a size of the vdisk and a path descriptor of a location of the vdisk; and
creating a vdisk in response to the lun create command.
-
-
31. A method for storage virtualization of a virtual disk (vdisk) on a file system implemented by a storage operating system of a multi-protocol storage appliance, the method comprising the steps of:
-
providing an encapsulated storage object of the file system, the encapsulated storage object including a container for storing data associated with the vdisk and a persistent store for storing attributes associated with the vdisk; and
accessing the encapsulated storage object as a logical unit number.
-
Specification