Browse Source

add ability to load data on ssd drive

Patrick Falls 12 years ago
parent
commit
1176702d43
4 changed files with 20 additions and 7 deletions
  1. 2 2
      config/mongodb.conf
  2. 1 1
      config/my.cnf
  3. 1 1
      config/postgresql.conf
  4. 16 3
      installer.py

+ 2 - 2
config/mongodb.conf

@@ -1,10 +1,10 @@
 # mongodb.conf
 
 # Where to store the data.
-dbpath=/var/lib/mongodb
+dbpath=/ssd/mongodb
 
 #where to log
-logpath=/var/log/mongodb/mongodb.log
+logpath=/ssd/log/mongodb/mongodb.log
 
 logappend=true
 

+ 1 - 1
config/my.cnf

@@ -37,7 +37,7 @@ pid-file        = /var/run/mysqld/mysqld.pid
 socket          = /var/run/mysqld/mysqld.sock
 port            = 3306
 basedir         = /usr
-datadir         = /var/lib/mysql
+datadir         = /ssd/mysql
 tmpdir          = /tmp
 lc-messages-dir = /usr/share/mysql
 skip-external-locking

+ 1 - 1
config/postgresql.conf

@@ -38,7 +38,7 @@
 # The default values of these variables are driven from the -D command-line
 # option or PGDATA environment variable, represented here as ConfigDir.
 
-data_directory = '/var/lib/postgresql/9.1/main'		# use data in another directory
+data_directory = '/ssd/postgresql'		# use data in another directory
 					# (change requires restart)
 hba_file = '/etc/postgresql/9.1/main/pg_hba.conf'	# host-based authentication file
 					# (change requires restart)

+ 16 - 3
installer.py

@@ -365,6 +365,9 @@ class Installer:
     yes | sudo apt-get install build-essential git libev-dev libpq-dev libreadline6-dev postgresql
     sudo sh -c "echo '*               soft    nofile          8192' >> /etc/security/limits.conf"
 
+    sudo mkdir -p /ssd
+    sudo mkdir -p /ssd/log
+
     ##############################
     # MySQL
     ##############################
@@ -373,10 +376,14 @@ class Installer:
 
     yes | sudo apt-get install mysql-server
 
+    sudo stop mysql
     # use the my.cnf file to overwrite /etc/mysql/my.cnf
     sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.orig
     sudo mv my.cnf /etc/mysql/my.cnf
-    sudo restart mysql
+
+    sudo cp -R -p /var/lib/mysql /ssd/
+    sudo cp -R -p /var/log/mysql /ssd/log
+    sudo start mysql
 
     # Insert data
     mysql -uroot -psecret < create.sql
@@ -388,9 +395,12 @@ class Installer:
     sudo -u postgres psql template1 < create-postgres-database.sql
     sudo -u benchmarkdbuser psql hello_world < create-postgres.sql
 
+    sudo -u postgres -H /etc/init.d/postgresql stop
     sudo mv postgresql.conf /etc/postgresql/9.1/main/postgresql.conf
     sudo mv pg_hba.conf /etc/postgresql/9.1/main/pg_hba.conf
-    sudo -u postgres -H /etc/init.d/postgresql restart
+
+    sudo cp -R -p /var/lib/postgresql/9.1/main /ssd/
+    sudo -u postgres -H /etc/init.d/postgresql start
 
     ##############################
     # Weighttp
@@ -421,9 +431,12 @@ class Installer:
     sudo apt-get update
     yes | sudo apt-get install mongodb-10gen
 
+    sudo stop mongodb
     sudo mv /etc/mongodb.conf /etc/mongodb.conf.orig
     sudo mv mongodb.conf /etc/mongodb.conf
-    sudo restart mongodb
+    sudo cp -R -p /var/lib/mongodb /ssd/
+    suod cp -R -p /var/log/mongodb /ssd/log/
+    sudo start mongodb
     """
     p = subprocess.Popen(self.benchmarker.ssh_string.split(" "), stdin=subprocess.PIPE)
     p.communicate(remote_script)