Hi,
I would like to have my backups and wal files archives on a remote server.
How it's not possible (yet?) to do this using rsync over ssh, I've configured the remote storage as an NFS server, mount a shared volume to the PotgreSQL server and configured wal-e to use WALE_FILE_PREFIX as env.
The option archive_command is set in the PostgreSQL's configuration and works well.
I see wal file with extension lzo.
Unfortunately, running backup-push failed.
The first errors are listed bellow.
$ /usr/bin/envdir /etc/wal-e.d/env /var/lib/postgresql/wal-e/bin/wal-e backup-push /var/lib/postgresql/9.6/main/
wal_e.main INFO MSG: starting WAL-E DETAIL: The subcommand is "backup-push". STRUCTURED: time=2017-10-31T14:31:01.892372-00 pid=9569 wal_e.operator.backup INFO MSG: start upload postgres version metadata DETAIL: Uploading to file://localhost/space/nfs/master/basebackups_005/base_000000010000002000000066_00000040/extended_version.txt. STRUCTURED: time=2017-10-31T14:31:02.738416-00 pid=9569 wal_e.operator.backup INFO MSG: postgres version metadata upload complete STRUCTURED: time=2017-10-31T14:31:02.747635-00 pid=9569 wal_e.worker.upload INFO MSG: beginning volume compression DETAIL: Building volume 0. STRUCTURED: time=2017-10-31T14:31:02.879970-00 pid=9569
wal_e.worker.upload INFO MSG: beginning volume compression
DETAIL: Building volume 1.
STRUCTURED: time=2017-10-31T14:31:02.896990-00 pid=9569
wal_e.worker.upload INFO MSG: beginning volume compression
DETAIL: Building volume 2.
STRUCTURED: time=2017-10-31T14:31:02.903602-00 pid=9569
wal_e.worker.upload INFO MSG: beginning volume compression
DETAIL: Building volume 3.
STRUCTURED: time=2017-10-31T14:31:02.910083-00 pid=9569
lzop: No space left on device: <stdout>
lzop: No space left on device: <stdout>
lzop: No space left on device: <stdout>
Traceback (most recent call last):
File "/var/lib/postgresql/wal-e/lib/python3.4/site-packages/wal_e-1.1.0b1-py3.4.egg/wal_e/tar_partition.py", line 324, in tarfile_write
self._padded_tar_add(tar, et_info)
File "/var/lib/postgresql/wal-e/lib/python3.4/site-packages/wal_e-1.1.0b1-py3.4.egg/wal_e/tar_partition.py", line 243, in _padded_tar_add
tar.addfile(et_info.tarinfo, f)
File "/var/lib/postgresql/wal-e/lib/python3.4/tarfile.py", line 1952, in addfile
copyfileobj(fileobj, self.fileobj, tarinfo.size)
File "/var/lib/postgresql/wal-e/lib/python3.4/site-packages/wal_e-1.1.0b1-py3.4.egg/wal_e/copyfileobj.py", line 23, in copyfileobj
dst.write(buf)
File "/var/lib/postgresql/wal-e/lib/python3.4/tarfile.py", line 433, in write
self.__write(s)
File "/var/lib/postgresql/wal-e/lib/python3.4/tarfile.py", line 441, in __write
self.fileobj.write(self.buf[:self.bufsize])
File "/var/lib/postgresql/wal-e/lib/python3.4/site-packages/wal_e-1.1.0b1-py3.4.egg/wal_e/pipebuf.py", line 260, in write
flushed = self._partial_flush(65535)
File "/var/lib/postgresql/wal-e/lib/python3.4/site-packages/wal_e-1.1.0b1-py3.4.egg/wal_e/pipebuf.py", line 234, in _partial_flush
n = os.write(self._fd, cursor)
BrokenPipeError: [Errno 32] Broken pipe
I can't explain this errors.
Do wal-e create lzo file in the /var/lib/postgresql/9.6/main directory, or in /tmp ?
The NFS server have 4To left.
But /var/lib/postgresql only 4Go and the database is 32Go big.
Regards,
Hugues