Appendix A. How NAS Manager Configures Filesystems

This appendix describes how NAS Manager constructs a filesystem and provides an overview of the underlying volume and RAID device configuration that the system uses to lay out the filesystem:

For information about creating filesystems via NAS Manager, see “Creating Filesystems” in Chapter 3. The system uses the options you provide to create the underlying filesystems automatically.

Filesystem Creation Goals

NAS Manager creates a filesystem with the goal of generalizing optimization for a variety of NAS server workloads.

When you create a filesystem, you choose whether to optimize for performance or capacity. If you select for capacity, NAS Manager will use all the available disk space to create the filesystem, although this may come at the cost of slower performance. You also select a filesystem optimized for bandwidth or for I/O per second (IOPS). Select for bandwidth when you will have a small set of files and you must perform streaming reads and streaming writes as fast as possible. Select for IOPS when you will be performing random reads and writes to different sets of files. In general, selecting for IOPS will be the better choice.

In conjunction with these options, NAS Manager attempts to provide a balance among these factors:

  • Performance

  • Manageability

  • Reliability

When a filesystem is configured efficiently on a NAS system, you can support a great deal of data traffic at full disk-performance capacity.

Disk Striping

To optimize performance, NAS Manager configures the filesystem so that the data is striped across multiple disk drives. The data is written in units to each drive in turn, in a round-robin fashion. This allows multiple reads and writes to take place in parallel, increasing IOPS performance.

To achieve maximum striping, the underlying RAID disk devices in a NAS system are grouped together into physical volume elements that combine multiple drives into a single logical unit. On top of that, the software groups the physical volume elements together into stripes, which together form a single concatenated volume element per filesystem. Figure A-1 describes this.

Figure A-1. Filesystem Structure

Filesystem Structure

NAS Manager uses RAID 5 devices. With RAID 5, parity is spread across the disks in an array. Because of this, you can lose one of the disks in the array without losing your data; the RAID device can still reconstruct the data. Where the disks in the RAID array are all the same size, the usable RAID capacity is the total number of disks in the array minus one.

When you create a filesystem, the system determines how much capacity the RAID devices provide and how the RAID devices can be arranged into stripes. From this, the system determines how many stripes the software will use to create the filesystem of the size you defined. If the number of RAID units in the system allows it, the system builds stripes that are two RAID units wide. If possible, the system builds RAID stripes that are four units wide.

The longer the stripe, the better the performance. After you have created the filesystem, however, you can add new disks to the system only in numbers that correspond to the stripe unit. For example, if the system's stripe unit is a four-way stripe of 4+1 RAID devices, then you must add 20 disks at a time if you need to grow the filesystem, as illustrated by Figure A-2, in which a stripe consists of 4 physical volume elements, each of which requires 5 disks (4 disks plus 1 parity disk). In this case, optimizing for performance entirely would cause you to lose manageability in terms of growing the filesystem at a later time.

Figure A-2. Four-Way Stripe

Four-Way Stripe

Filesystem Configuration Factors

In determining the underlying filesystem configuration, NAS Manager uses internal performance models that evaluate in a numerical fashion, according to multidimensional criteria, how suitable a RAID configuration will be.

When determining the filesystem configuration, NAS Manager considers the following inputs:

  • Whether you selected for capacity or performance

  • Whether you selected for bandwidth or IOPS optimization

  • How many disks the system has in its array

The underlying configuration will be different depending on the number of disks and whether that number divides evenly. In general, the system tries to use the most number of disks possible. When you create the filesystem, the system calculates the following:

  • Stripe units

  • Stripe width alignment down to the hardware level

  • Header alignment on stripe boundaries

Disk Allocation

There is a fixed number of I/O per second (IOPS) that can be performed at the same time for each disk; if more than one filesystem shares the same disk, they share the IOPS for that disk. If there is only one filesystem on the disk, you get the performance for the entire array. If there are two filesystems on the disk, that performance is divided in two (and not always in a predictable way).

If the workload is more than 3 streaming reads or writes (for example, for media or satellite ingest), you should select for IOPS. For increased performance, contact SGI Professional Services.

Hot Spare Assignment

To increase reliability of a RAID system, a RAID array is often configured with a certain number of disks assigned as hot spares. A hot spare is a drive within a system that is not used unless a drive within that system fails, at which point it is added to the system to replace the failed drive without shutting the system down or interrupting service.

When creating filesystems with NAS Manager, the assignment of hot spares is automatic. By default, the NAS server has a single filesystem and hot spares assigned. If you destroy that filesystem, the system will create the hot spares it determines are necessary for system reliability when you create your first new filesystem on the empty array. If you manually assign hot spares, the system will leave those disks as hot spares and create more hot spares if it determines that you need them.