Assessing volume size This section describes how to estimate the storage requirements on your storage system. Storage system volume sizing requirements LUN size calculations Overall storage system volume requirements for a transaction log Estimating the amount of space required for a transaction log Initial sizing guidelines for new environments For additional details about how to evaluate your space requirements, see the SnapDrive Installation and Administration Guide for your version of SnapDrive. Storage system volume sizing requirements In addition to the space required for your LUNs, free space on the storage system volume is required to store data that changed between Snapshot copies and the active file system of the LUN. The storage system volume also requires space to store metadata. Allowing for this additional space ensures that making multiple Snapshot copies does not encroach on the LUN objects in the volume. When you create storage system volumes to hold LUNs, you must take into account the following SnapDrive requirements: To create Snapshot copies, the volume storing the LUN must be at least twice the size of that LUN. By extension, a storage system volume must have at least twice the capacity of all the LUNs it contains. The volume must have enough free space for the number of Snapshot copies you intend to keep online. In sizing volumes, take into account how many day's worth of Snapshot copies will be online at the same time. The first Snapshot copy lock uses disk space equal to the LUN object size itself (therefore, double the requirement). Additional Snapshot copies increase the amount of required disk space. LUN size calculations To ensure that you create volumes to meet these requirements, you must calculate the potential size of your LUNs. The following formulas work best to calculate both the SQL Server database size (LUN size) and the volume size. Example Given these requirements, the following parameters can be expressed by the formula shown after them: The initial database size is 100 GB. The database growth rate is 10 percent per month. The change rate of the current database is 15 percent per month. The Snapshot copy requirement is four Snapshot copies per day with a total of 12 Snapshot copies (three days' worth of Snapshot copies). The default RAID group size is 72 GB x 9 drives. The customer only wants to expand the volume every six months. Performance is important for the customer, which wants to prevent the volume from being fragmented over time and is willing to allocate 20 percent free space per disk drive. Calculations 1. The database size after growth is about 177 GB (rounded up to 180 GB for the LUN size). Note If the database is growing by 10 percent per month, this does not mean that the database is growing by the same 10 GB every month. Rather, the database grows to about 110 GB in the first month (100 GB x 1.1) and 121 GB in the second month (110 GB x 1.1). In general, the formula is as follows: <projected future database size>=<present database size> x (<1 + <monthly growth rate percentage in decimal>+<monthly change rate percentage expressed in decimal>)<number of months> 2. Approximately 27 GB of the database changes per month after six months. 3. Minimum space requirements after six months are (180 GB x 2) + (0.15 GB x 12) = 362 GB. Note You should round up the final space requirements listed in Step 1 to determine the volume size you want to create. For example, round up 368.4 GB to 370 when you are creating your volume size. 4. A 72-GB disk drive has approximately 68 GB of usable volume space, and because 20 percent is allocated for permanent free space, then only 54 GB is usable per disk drive. Therefore, 13 disk drives are needed for data and two disk drives are needed for parity. Overall storage system volume requirements for a transaction log The storage system volume requirements for a transaction log require an understanding of the following factors: The rate of transactions that modify database tables The size of the transactions The frequency of the transaction log backup Note The key to sizing correctly is to monitor usage over time. Example With a table that contains three columns with two indexes defined on column one and column three, for each update operation that adds one data row, there are at least three operations: 1. The actual update to the row (including any old data) is logged. 2. An entry is created for the first index that needs to be updated. 3. An entry is also created for the second index that needs to be updated. Note There might be extra entries created if a new index page or data page needs to be created to accommodate the row in the table. Estimating the amount of space required for a transaction log The quantity of what is logged is dependent on the underlying table structure and the database activity on the SQL Server. If the database already exists, then the current transaction log size can be used as is or the transaction log activities can be monitored from the performance monitor with some SQL Server database metrics: Log file size (in KB) Log file used size (in KB) Log bytes flushed per second Initial sizing guidelines for new environments If you have set up a new environment, you might want to consider the following initial sizing guidelines and monitor the used size before and after the transaction log is backed up. Note The following recommendations are also applicable when you specify the size of the SnapInfo directory. The recommendations are as follows: The transaction log volume size should be 20 percent of the initial database size. The minimum transaction log size is 1 MB (default). The maximum transaction log size is 100 MB. Note The insert, update, and delete functions will increase a transaction log file's size.