Labels

freebsd (12) AWS (9) linux (8) mysql (8) EC2 (7) auto-scaling (7) php (7) unix (7) howto (5) amazon (4) example (4) php5.3 (4) /usr/ports (3) backup (3) bash (3) cloud (3) cloudwatch (3) ffmpeg (3) loadbalancer (3) mycld (3) patch (3) php53 (3) scaling (3) scalr (3) security (3) spot instances (3) sql (3) tutorial (3) AWSSDKforPHP (2) CentOS (2) WSDL (2) ZEND framework (2) alarms (2) bug (2) cache (2) cloudfusion (2) console (2) exploit (2) fileinfo (2) fix (2) lauchconfig (2) mysqldump (2) mysqlse (2) php-fpm (2) policies (2) ports (2) portupgrade (2) redhat (2) sed (2) shell (2) sphinx (2) sphinxse (2) video (2) x264 (2) /etc/motd (1) 9.x (1) ELB (1) MP4Box (1) MySQL status codes HY000 sqlstate sql states (1) OS (1) RFC (1) SIP (1) URI (1) alias (1) apache (1) banner (1) big databases (1) blog (1) bsd (1) bugtraq (1) checklist (1) chkconfig (1) clean (1) cleaning (1) clear (1) code (1) conf (1) configs (1) configuration (1) content type (1) converting (1) core (1) cron (1) cve (1) database (1) debian (1) deinterlasing (1) dependency (1) disable (1) dump (1) editor (1) editors (1) email (1) encoding char utf8 latin1 script linux bash (1) error (1) escaping (1) exim (1) expat (1) exploits (1) extensions (1) faac (1) fastcgi (1) feed (1) figlet (1) fps (1) freebsd-update (1) freeswitch (1) fresh installation (1) gcc (1) geo (1) gop (1) gpac (1) grep (1) h.264 (1) h264 (1) hitrate (1) hostname (1) incremental (1) init (1) init.d (1) innobackupex (1) ivp6 (1) keyint_min (1) libx264 (1) libxml2 (1) list (1) mail (1) make (1) map (1) maxmind (1) mencoder (1) mime (1) mindmeister (1) mindmeister.com (1) mp4 (1) mplayer (1) mta queue (1) mysql charset (1) mysql charset encoding char utf8 latin1 script linux bash (1) networking (1) nginx (1) nmap (1) optimization (1) paranoia (1) paranoiac (1) percona (1) performance (1) portdowngrade (1) portsnap (1) postgre (1) postgres (1) postgresql (1) presets (1) putty (1) query cache (1) rc (1) rc.conf (1) rc.d (1) remote (1) restore (1) rhel (1) rhel5 (1) script (1) scrubing (1) seclist (1) seclist.org (1) seek (1) seeking (1) segfault (1) slow loris (1) slowloris (1) smtp (1) software (1) sphinxsearch (1) stty (1) terminal (1) time (1) timezone (1) tmp (1) transcoding (1) tty (1) update (1) video transcoding (1) vulnerabilities (1) wal-e (1) web (1) web servers (1) wordpress (1) x86_64 (1) xtrabackup (1) yum (1) zend (1)

Thursday, 19 May 2011

Scalr Patch #4: Fixing freezing servers after mysql-backup-action with BIG databases...

Problem (from: /var/log/scalarizr.log):

2011-05-18 09:20:53,144 - INFO - scalarizr.handlers - Dumping all databases
2011-05-18 09:34:15,071 - ERROR - scalarizr.handlers - [Errno 28] No space left on device
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/scalarizr/handlers/mysql.py", line 721, in on_Mysql_CreateBackup
    backup.add(dump_path, os.path.basename(dump_path))
  File "/usr/lib64/python2.6/tarfile.py", line 1980, in add
    self.addfile(tarinfo, f)
  File "/usr/lib64/python2.6/tarfile.py", line 2009, in addfile
    copyfileobj(fileobj, self.fileobj, tarinfo.size)
  File "/usr/lib64/python2.6/tarfile.py", line 281, in copyfileobj
    dst.write(buf)
  File "/usr/lib64/python2.6/gzip.py", line 197, in write
    self.fileobj.write( self.compress.compress(data) )
IOError: [Errno 28] No space left on device
2011-05-18 09:34:16,296 - INFO - scalarizr.messaging.p2p.producer - Message 'Mysql_CreateBackupResult' delivered (message_id: d769239e-1ff7-47ba-a0a5-05bcf05af588)


Solution:
# diff /usr/lib/python2.6/site-packages/scalarizr/handlers/mysql.py.orig /usr/lib/python2.6/site-packages/scalarizr/handlers/mysql.py:

36,37d35
<
<
214a213
> STORAGE_TMP_DIR = "mysql-tmp"
562a562
> self._tmp_dir = os.path.join(self._storage_path, STORAGE_TMP_DIR)
700c700
< backup_path = os.path.join('/tmp', backup_filename)
---
> backup_path = os.path.join(self._tmp_dir, backup_filename)
707c707
< tmpdir = tempfile.mkdtemp()
---
> tmpdir = tempfile.mkdtemp(dir=self._tmp_dir)
1295a1296
> tmp_dir = os.path.join(path, STORAGE_TMP_DIR) if path else self._tmp_dir








No comments:

Post a Comment