Appendix A. How Appliance Manager Configures Filesystems

This appendix describes how SGI InfiniteStorage Appliance 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 Appliance Manager, see “Creating Filesystems” in Chapter 3. The system uses the options you provide to create the underlying filesystems automatically.


Note: The required setting for the Default Host Type of the storage arrays is SGIAVT. Storage arrays supplied by SGI should already be set to SGIAVT mode; however, if the host type is different, it must be changed to SGIAVT before Appliance Manager can support it. See “Changing from SGIRDAC to SGIAVT Mode”.


Filesystem Creation Goals

Appliance Manager creates a filesystem with the goal of generalizing optimization for a variety of fileserver workloads.

When you create a filesystem, you choose whether to optimize for performance or capacity. If you select for capacity, Appliance 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, Appliance 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, Appliance 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

Appliance 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, Appliance 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, Appliance 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.

Multi-Array Filesystems

In order to create optimal filesystems that span multiple arrays, each array must be identical, having the same number, type, and size of disks, and the same amount of free space.

Building multi-array filesystems on anything other than 100% symmetrical arrays requires planning and understanding of how Appliance Manager creates filesystems in order to achieve good results.

If you attempt to create a filesystem that spans multiple arrays that have different numbers of disks, or includes disks that are already in use on one array but not on another, the result may be a filesystem that does not perform at peak efficiency. Therefore, you will receive a warning at filesystem creation time.

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 Appliance Manager, the assignment of hot spares is automatic. By default, the storage 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.

Changing from SGIRDAC to SGIAVT Mode

This section discussing changing from SGIRDAC to SGIAVT mode for the following:

TPSSM

Do the following to use the TPSSM GUI:

  1. Log in to the system as root and execute the following:

    # tpssm

    The GUI will present a list of storage arrays that it manages.

  2. Double click on the storage array in question. This will open a Storage Array Management window.

  3. Select the following menu:

    Storage Array -> Change -> Default Host Type

  4. Scroll through the drop-down menu and select SGIAVT.

  5. Click OK.

ISSM EE

Do the following to use the ISSM EE GUI:

  1. Log in to the system as root and execute the following:

    # smeegui

    The GUI will present a list of storage arrays that it manages.

  2. Double click on the storage array in question. This will open a Storage Array Management window.

  3. Select the following menu:

    Storage Array -> Change -> Default Host Type

  4. Scroll through the drop-down menu and select SGIAVT.

  5. Click OK.

ISSM WE

You cannot set the global defaultHostType for the defaultGroup using the ISSM WE GUI (smwegui ). You must use the smwecli command-line interface. For example:

# smwecli -w 600a0b800011144c000000004457e8f9 -c 'set storagearray defaulthosttype="SGIAVT";'

SMI

In SMI, you cannot set the global defaultHostType for the defaultGroup using the SMI GUI smigui . You must use the smicli command-line interface. For example:

# smicli -w 600a0b800011144c000000004457e8f9 -c 'set storagearray defaulthosttype="SGIAVT";'