wal-e backup over nfs

88 views
Skip to first unread message

Hugues Lepesant

unread,
Oct 31, 2017, 10:38:22 AM10/31/17
to wal-e

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


DHAVAL JAISWAL

unread,
Dec 27, 2017, 7:27:49 AM12/27/17
to wal-e
where your pg_xlog resides ? Also you can check your show archive_command on Psql prompt.  

You may check that and update the path or mount the partition accordingly. 
Reply all
Reply to author
Forward
0 new messages