1) I'd go with xfs. zfs might be a good alternative, but the last time I tried it, it was really unstable (on Linux). I may have gotten a lot better, but xfs is a safe bet and well understood.
2) An LVM is just an extra couple of commands. These days that is not a lot of complexity given what you gain. The main advantage is that you can extend or grow the file system on the fly. Over the life of the database it is quite possible you'll find yourself pressed for disk space - either to drop in more csv files to load with the 'copy' command, to store more logs (because you need to turn up logging verbosity, etc...), you need more transaction logs live on the system, you need to take a quick database dump, or simply you collect more data than you expected. It is not always convenient to change the log location, or move tablespaces around to make room. In the cloud you might provision more volumes and attach them to the server. On a SAN you might attach more disk, and with a stand alone server, you might stick more disks on the server. In all those scenarios, being able to simply merge them into your existing volume can be really handy.
3) The main advantage of partitioning a single volume (these days) is simply that if one partition fills up, it doesn't impact the rest of the system. Putting things that are likely to fill up the disk on their own partition is generally a good practice. User home directories is one example. System logs. That sort of thing. Isolating them on their own partition will improve the long term reliability of your database. The main disadvantage is those things get boxed into a much smaller amount of space than they would normally have if they could share a partition with the whole system.
On Tue, Feb 23, 2016 at 11:28 PM, dstibrany <dstibrany@xxxxxxxxx> wrote:
I'm about to install a new production server and wanted some advice regarding
filesystems and disk partitioning.
The server is:
- Dell PowerEdge R430
- 1 x Intel Xeon E5-2620 2.4GHz
- 32 GB RAM
- 4 x 600GB 10k SAS
- PERC H730P Raid Controller with 2GB cache
The drives will be set up in one RAID-10 volume and I'll be installing
Ubuntu 14.04 LTS as the OS. The server will be dedicated to running
PostgreSQL.
I'm trying to decide:
1) Which filesystem to use (most people seem to suggest xfs).
2) Whether to use LVM (I'm leaning against it because it seems like it adds
additional complexity).
3) How to partition the volume. Should I just create one partition on / and
create a 16-32GB swap partition? Any reason to get fancy with additional
partitions given it's all on one volume?
I'd like to keep things simple to start, but not shoot myself in the foot at
the same time.
Thanks!
Dave
--
View this message in context: http://postgresql.nabble.com/Filesystem-and-Disk-Partitioning-for-New-Server-Setup-tp5889074.html
Sent from the PostgreSQL - performance mailing list archive at Nabble.com.
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance