A high performance, reliable storage solution that allows you to easily store and attach data to a particular compute instance. Storage is network attached, and volumes persist until they are deleted allowing you to maintain total control over your data.

Key Features

  • Utility charge model
  • Redundant architecture
  • High performance network architecture
  • Volumes available on-demand
  • Simplified pricing
  • Managed storage service
  • Volume sizes up to 12TB
  • Unlimited volumes per account

Data Center Availability

Block Storage is currently available in US-West-1.


Block Storage is not available through the API.


Block Storage is charged per gigabyte per month for the volume that is provisioned. There are no additional charges for I/O operations or private network transfer. Details on pricing can be found here.

Product Details

Volume Size Minimum and Maximum

  • 100GB is the minimum that can be provisioned .
  • 12TB is the maximum that can be provisioned.

Max capacity by a single account

  • Currently there is no limit to the amount that can be consumed by a single account.


  • Storage volumes employ a RAID (Redundant Array of Independent Disks) level 10 configuration.

Servers per volume

  • It's not possible to connect multiple servers to a single volume.
  • You can attach multiple volumes per cloud server. We recommend no more than 4 per cloud server.

Resizing of volumes

  • Once a volume is attached it cannot be re-sized. Customers who wish to increase or decrease a particular storage volume will need to delete and re-attach to a new volume.
  • Customers are encouraged to provision multiple volumes up front as needed to ensure their applications can scale as needed.

Configuring Block Storage

Requesting Block Storage only creates the volume and attaches it to your server. You'll still need to configure and mount the device to your OS.


Once block storage has been provisioned for a cloud server the newly added block device will need to have a file system formatted on the block device and mounted so that files can be written and read. Also, it’s generally desirable to have the drive come up following a reboot. Here’s how:

Laying Down a File System

First, verify that you can see the new disk. Run fdisk –l from the command line and you’ll see all of your raw disk drives. In particular you’ll want to look for the drive that’s of the size specified in provisioning. In most cases it'll be called "/dev/xvdd". For a 200 GB volume you should see something like this:

 Disk /dev/xvdd: 193.3 GB, 193273528320 bytes
 255 heads, 63 sectors/track, 23497 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00023637

 Device Boot      Start         End      Blocks   Id  System

At this point you have a couple of options. You can either partition the block device into multiple logical segments or you can use the whole disk. If you want to use the whole partition, skip this section. If you want to create partitions on the device, you'll need to drop into fdisk or a similar utility. Here's an example creating a 20GB disk partition with fdisk:

 root@testbox:~# fdisk /dev/xvdd

 WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

 Command (m for help): n
 Command action
   e   extended
   p   primary partition (1-4)
   p   partition number (1-4): 1
 First cylinder (1-23497, default 1): 
 Using default value 1
 Last cylinder, +cylinders or +size{K,M,G} (1-23497, default 23497): 20G

 Command (m for help): w
 The partition table has been altered!

 Calling ioctl() to re-read partition table.
 Syncing disks.

Now that you've created a partition (or not), you can lay down the actual file system. If you didn't partition your disk, it would look like this:

 mkfs.ext4 /dev/xvdd

If you did partition your drive it would look something like:

 mkfs.ext4 /dev/xvdd1

All set, you have a file system!

Mounting the Drive

Now that you have a file system, you'll want Linux to know the new file system is there. To do that you mount the drive. First, pick a location where you want the new drive to exist on the existing file system. For example, if you want to create a new location on the file system called "/blockstorage", you'll first need to create the directory. For example:

 mkdir /blockstorage

The above directory path can be almost anything, it just needs to be created prior to mounting. Once the directory is there, it’s time to mount the device:

 mount /dev/xvdd1 /blockstorage

The above command will vary based on whether or not you created a partition (or multiple partitions) in the above steps.

We’re now ready to use the device! You should be able to read and write files in your new directory ("/blockstorage" in this example).

Making the Drive Permanent

The steps above are core to getting the new device up and running, but if you want the drive to automatically be mounted following reboots you'll need to add a line to your "/etc/fstab" file. It keeps a ledger of the drives that should be mounted on boot up. Again, using our example from above, to make the "/blockstorage" mount point come up we would add a line like this to "/etc/fstab":

 /dev/xvdd1 /blockstorage ext4 defaults,nobootwait 0 0

This is a slight change from the typical "fstab" entry - nobootwait prevents Linux from stalling the boot if the share doesn't exist. “0 0” means no automatic backup (if activated on your cloud server) and no automatic FSCK. If you leave both of these options turned on, it'll cause the cloud server to stall.

Reboot and verify that you still see the drive and mount point. The easiest way is to just run df –h. It will look like this:

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/xvda2            390G  1.5G  377G   1% /
  none                  3.9G  160K  3.9G   1% /dev
  none                  3.9G     0  3.9G   0% /dev/shm
  none                  3.9G   48K  3.9G   1% /var/run
  none                  3.9G     0  3.9G   0% /var/lock
  none                  3.9G     0  3.9G   0% /lib/init/rw
 /dev/xvda1            237M   40M  185M  18% /boot
 /dev/xvdd             178G  188M  168G   1% /blockstorage

Getting Help

See our Support page for information on contacting GoGrid for any questions or issues that arise.

Frequently Asked Questions

  • Is Block Storage available for dedicated servers?
Block Storage is not available for use with dedicated servers as of the current Block Storage release. Future releases will include support for dedicated servers.
  • Can I re-size volumes?
No customers can not re-size volumes. They should be trained to provision multiple volumes as needed to ensure their applications can scale as needed.
  • Can I snapshot a volume?
No customers cannot snapshot volumes as of the current release.
  • How do I mount Block Storage?
Block storage is shown as a drive to a customer’s cloud server.
  • Can I manage Block Storage through the Management Console?
Currently, you won't be able to manage Block Storage through the Management Console. Customers who provision block will see a block icon once a volume is provisioned and will need to work with their support representative to provision and de-provision using the ticketing system.
  • Can I attach more than 4 volumes to my cloud server?
We recommend no more than 4 volumes per Cloud Server to ensure performance if there are high I/O writes across the shares. If high I/O isn't a requirement you can attach as much as 10 volumes per Cloud Server.
Personal tools