Volume partitioning (was Re: pgbackrest when data/base is symlinked to another volume)

From: Ron <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Volume partitioning (was Re: pgbackrest when data/base is symlinked to another volume)
Date: 2018-09-08 20:26:49
Message-ID: cb2eb6b8-f020-b553-30d2-e02b2760ec93@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 09/08/2018 03:07 PM, David Steele wrote:
> On 9/7/18 8:47 PM, Ron wrote:
>> On 09/07/2018 05:22 PM, David Steele wrote:
>>>
>>> On 9/6/18 11:21 PM, Ron wrote:
>>>>
>>>> Will pgbackrest properly backup and restore the cluster if data/base,
>>>> data/pg_xlog and data/pg_log are symlinks?
>>>>
>>>> PGDATA=/var/lib/pgsql/9.6/data
>>>> $PGDATA/base -> /Database/9.6/base
>>>> $PGDATA/pg_log -> /Database/9.6/pg_log
>>>> $PGDATA/pg_xlog -> /Database/9.6/pg_xlog
>>>
>>> Yes, this will work.  Note that restore does not recreate symlinks by
>>> default so you'll need to specify --link-all to enable symlink creation.
>>>
>>> See
>>> https://pgbackrest.org/configuration.html#section-restore/option-link-all
>>> for details.
>>>
>>> Using symlinks in this way will make management of your clusters more
>>> difficult, mostly because systems need more provisioning before restores
>>> can be performed.  In general I'd recommend against it unless there are
>>> performance considerations.
>>
>> Now that I'm thinking more about what you wrote... "data" isn't on it's
>> own partition.  data/*base* has it's own partition.
>>
>> What's the recommended method for putting *base**/* on a partition
>> different from data/?  Or is that not recommended?
>
> All the user data goes in base so there's really no need to separate it
> out of data.  Typically pg_wal and tablespaces are relocated onto
> different devices for performance (or to get more space).  If the
> partitions are on the same device then there's no performance benefit,
> just admin hassle.
>

Googled "postgresql disk partitioning" and "postgresql volume partitioning"
without much success.

Is the best practice volume partitioning:
/Database/9.6/data
/Database/9.6/data/pg_log
/Database/9.6/data/pg_xlog

where /var/lib/pgsql/9.6 (on RHEL6) is a symlink to /Database/9.6/data and
PGDATA=/Database/9.6/data

*or *

/Database/9.6/data/base
/Database/9.6/data/pg_log
/Database/9.6/data/pg_xlog

where PGDATA=/var/lib/pgsql/9.6/data and base, pg_log and px_xlog are
symlinks to the partitions?

Thanks

--
Angular momentum makes the world go 'round.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message magodo 2018-09-09 14:29:08 how to know current xlog location on standby after primary is down
Previous Message David Steele 2018-09-08 20:07:17 Re: pgbackrest when data/base is symlinked to another volume