Storage virtualization by layering virtual disk objects on a file system
First Claim
1. A method for creating a virtual disk (vdisk) on a storage system, the method comprising the steps of:
- supporting at least one file system by the storage system;
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.
300 Citations
97 Claims
-
1. A method for creating a virtual disk (vdisk) on a storage system, the method comprising the steps of:
-
supporting at least one file system by the storage system; 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, 97)
-
-
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) in a storage system using at least one storage disk, the method comprising the steps of:
-
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 the vdisk in response to the lun create command, the vdisk created on the at least one storage disk. - View Dependent Claims (18, 19, 20)
-
-
21. A method for creating a virtual disk (vdisk) in a storage system using at least one storage disk, the method comprising the steps of:
-
issuing a vdisk create command through an administrative interface of the storage system, 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 said attributes; and converting the file type of the file inode from regular to vdisk, thereby creating the vdisk on the at least one storage disk. - 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) on a storage appliance, the storage appliance using at least one storage disk, 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 said attributes, the vdisk supported by the at least one storage disk. - 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 on at least one storage disk, the method comprising the steps of:
-
providing an encapsulated storage object of the file system, the encapsulated storage object implemented on the at least one storage disk, 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.
-
-
32. A method for implementing a virtual disk (vdisk) on one or more physical disks, comprising:
-
issuing a create vdisk command, the create vdisk command specifying a logical unit number (lun) and a size for the vdisk; and establishing the vdisk in response to the create vdisk command, the vdisk having a physical storage allocated over the one or more physical disks, and the vdisk being established without user involvement beyond issuing the create vdisk command. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61)
-
-
62. An apparatus to implement a virtual disk (vdisk), comprising:
-
means for issuing a create vdisk command, the create vdisk command specifying a logical unit number (lun) and a size for the vdisk; and means for establishing the vdisk in response to the create vdisk command, the vdisk having a physical storage allocated over one or more physical disks, and the vdisk being established without user involvement beyond issuing the create vdisk command. - View Dependent Claims (63, 64, 65)
-
-
66. A storage system apparatus for computer data, comprising:
-
a processor executing a storage operating system, the storage operating system accepting a create virtual disk command (create vdisk command), the create vdisk command specifying a logical unit number (lun) and a size for a virtual disk (vdisk); and at least one physical disk, a physical storage for the vdisk being allocated over the at least one physical disks by the storage operating system in response to the create vdisk command, and the vdisk being established without user involvement beyond issuing the create vdisk command. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
-
Specification