# US 7,467,276 B1 · System and method for automatic root volume creation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,467,276 B1
- Document ID: US7467276B1
- Status: Granted
- Kind: B1
- Application number: 11/257,507
- Filed: 2005-10-25
- Granted: 2008-12-16
- Earliest claimed: 2005-10-25
- Assignees: Network Appliance, Inc.
- Inventors: Andy C. Kahn; Blake H. Lewis
- Web page: https://patentgrep.com/patent/US7467276B1

## CPC

- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0632: {by initialisation or re-initialisation of storage systems}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/1435: {using file system or storage system metadata}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method automatically generates a root volume for use by a storage operating system of a storage system. During initialization of the storage system, the storage operating system detects that no operational root volume exists and, in response, invokes a root volume generation process. The root volume generation process automatically creates a thinly provisioned flexible volume of the smallest allowable size on an aggregate. The created flexible volume is marked as the root volume for the storage system. The storage operating system then continues initialization utilizing the automatically generated root volume.

## Claims

### Claim 1

A method for creating a new root volume for a storage system, comprising:
executing an initialization routine for the storage system, the initialization routine failing because no operational root volume is associated with the storage system; and
creating a new root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system to initialize the storage system.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
marking the created new root volume by asserting a root volume flag in a predetermined file associated with the created new root volume.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
thinly provisioning the created new root volume.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
completing initialization of the storage system using the created new root volume.

### Claim 5

A system configured to create a new root volume for a storage system, the system comprising:
means for executing an initialization routine for the storage system, the initialization routine failing because no operational root volume is associated with the storage system; and
means for creating a new root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system.

### Claim 6 (depends on 5)

The system of claim 5, further comprising:
the means for marking the created new root volume by asserting a root volume flag in a flexible volume descriptor file associated with the created new root volume.

### Claim 7 (depends on 5)

The system of claim 5, further comprising:
means for thinly provisioning the created new root volume.

### Claim 8 (depends on 5)

The system of claim 5 further comprising:
means for completing initialization of the storage system using the created new root volume.

### Claim 9

A system configured to create a new root volume for a storage system, the system comprising:
a root volume creating process configured to, upon detection that no operational root volume exists, create a new root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system, thereby allowing initialization of the storage system to continue using the created new root volume.

### Claim 10 (depends on 9)

The system of claim 9 wherein the created new root volume is thinly provisioned.

### Claim 11 (depends on 9)

The system of claim 9 wherein the root volume creation process is a module of a file system executing within a storage operating system of the storage system.

### Claim 12

A method for creating a root volume for a storage system, comprising:
scanning a set of storage devices associated with the storage system;
determining whether a root volume is stored on the set of storage devices;
in response to determining that no operational root volume is stored on the set of storage devices, creating a new volume as the root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system to initialize the storage system; and
completing initialization of the storage system using the new volume as the root volume.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
using disks as the storage devices.

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
determining whether a root aggregate is stored on the set of storage device.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
creating the new volume on the root aggregate.

### Claim 16 (depends on 12)

The method of claim 12, further comprising:
thinly provisioning the new volume.

### Claim 17

A computer readable medium for creating a new root volume for a storage system, the computer readable medium including program instructions for performing the steps of:
executing an initialization routine for the storage system, the initialization routine failing because no operational root volume is associated with the storage system; and
creating a new root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system to initialize the storage system.

### Claim 18 (depends on 17)

The computer readable medium of claim 17, further comprising:
marking the created new root volume by asserting a root volume flag in a predetermined file associated with the created new root volume.

### Claim 19 (depends on 17)

The computer readable medium of claim 17, further comprises:
thinly provisioning the created new root volume.

### Claim 20

A method for creating a new root volume for a storage system, comprising:
identifying any aggregates as a root aggregate; where the aggregate includes a plurality of disks;
in response to identifying the root aggregate, executing an initialization routing for the storage system, the initialization routine failing because there is not an operational root volume stored in the root aggregate; and
in response to determining that there is not a root volume stored in the root aggregate, creating a new root volume using a flexible volume, the flexible volume created with a minimum size allowable by the storage system.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
identifying the root aggregate by examining all of the disks associated with the storage system to read RAID labels stored thereon.

### Claim 22 (depends on 20)

The method of claim 20, further comprising:
marking the created new root volume by asserting a root volume flag in a predetermined file associated with the created new root volume.

### Claim 23 (depends on 20)

The method of claim 20, further comprising:
completing initialization of the storage system using the created new root volume.

### Claim 24 (depends on 20)

The method of claim 20, further comprising:
completing the initialization using a conventional utilization sequence when the root volume is stored in the root aggregate.

### Claim 25 (depends on 1)

The method of claim 1, further comprising:
using the created new root volume to initialize the storage system to a functional level.

### Claim 26 (depends on 1)

The method of claim 1, further comprising:
correcting, by an administrator, any error conditions that damaged a formerly operational root volume by an administrator.

### Claim 27 (depends on 1)

The method of claim 1, further comprising:
loading a set of configuration files to the new root volume to recreate the storage system.

### Claim 28 (depends on 9)

The system of claim 9, further comprising:
the created new root volume used to initialize the storage system to a functional level.

### Claim 29 (depends on 9)

The system of claim 9, further comprising:
an administrator to correct any error conditions that damaged a formerly operational root volume.

### Claim 30 (depends on 9)

The system of claim 9, further comprising:
an administrator to load a set of configuration files to the new root volume to recreate the storage system.
