# expanding partitions in the future



## adrian_m (Jan 29, 2012)

Hi,

I am setting up a new FreeBSD 9 server. I have a relatively small hard drive that I know I will out grow in the next 6 to 8 months. I plan on setting up separate partitions for /, /var, /usr, etc.

Before I install or format anything, is there something I can or need to do to facilitate expanding partitions that will run out of space? What I would like to be able to do is something like this:

When one of my partitions starts nearing its maximum capacity, I would like to be able to add another hard drive and dedicate a fraction of its space for "adding on" or "extending" the partition that is running out of space and then later use another part of this hard drive for extending another partition. I want to be able to do this without any or with minimal downtime, preferably without having to backup and restore entire partitions.

I have done some research on various tools like gconcat and growfs, vinum/gvinum, ZFS, etc.

The ability to do RAID is not important to me it is not something I will be doing. I am mostly concerned with ease of use and performance (as this server will have minimal processor and memory (less than a ghz and 512 MB)

So far, to me, Vinum seems to be the best fit. http://www.freebsd.org/doc/en/books/handbook/vinum-vinum.html
but I have read that this may be creating extra overhead and that gconcat and growfs would suffice, but I have read posts from others saying that this would require reformatting the partition. 

I am not exactly sure what I need to do set this up during my fresh install.

Comments, Suggestions?

Thank you
adrian_m


----------



## throAU (Jan 30, 2012)

Personally, I'd go with ZFS.  

Not so much from the reliability standpoint, but from the aspect of being able to allocate space on your drive(s) from a pool and then not worry so much about the size of each individual filesystem.

Maybe set up your root on UFS and the rest of the larger partitions on a ZFS pool?  This will lessen the need to worry about allocating X amount of space to each partition in advance, as they can share whatever is available in the pool, until you get more drive(s) to allocate to them.

You could also turn on compression on some of the filesystems which could save you some space, to boot.


----------



## adrian_m (Feb 1, 2012)

I like ZFS, but from reading in the handbook its resource requirements are more than my server will have. The handbook suggest at least 1GB, preferably 2GB. My server will only have 512 MB, it will be a small webserver. It is an economical vps that fits within my budget.

Does vinum have similar RAM requirements? The handbook doesn't really say much about that.
I'll have to do some more searching.

Thanks,
Adrian


----------



## bbzz (Feb 1, 2012)

Why not just set up a small */* and */var* partition and be done with it. Rest to */usr*. When you add new disk, give it a new mountpoint like */export*. If it's a small multimedia server without any RAID, it really doesn't matter.


----------

