AppLogic 2.3 Beta Documentation The latest production release is AppLogic 2.8.9 MYSQLR: MySQL Database Appliance - Build Procedure
Here are the steps needed to create a MYSQLR class from LUX5
- Create an application with only LUX5 and NET in it; configure the NET appliance
- Branch LUX5
- Resize volumes
- vol resize LUX5.boot size=300M
- vol resize LUX5.usr size=500M
- Edit the class (in EDT)
- add a data placeholder volume (name: data; mount on /dev/hda3; mandatory)
- add a binlogs placeholder volume (name: binlogs; mount on /dev/hda4; )
- add a old_data placeholder volume (name: old_data; mount on /dev/hda5; )
- make the usr volume rw
- rename the out terminal to log and change the proto to cifs
- change in terminal proto to mysql
- add a rin input terminal, proto any
- add a ui input treminal, proto http
- add a rout output terminal, proto any
- add a net terminal and make it gateway
- change the class icon color to red
- change the class name to MYSQLR
- change the class description
- change class category to 'Database Appliances'
- Add the following properties:
- auto_create|int|default 1| allowed values 1|0
- error_log_filename|String
- error_log_level|String| Default warn| allowed values - error|warn
- use_old_passwords| Int| Default 1| allowed values 1|0
- server_id| Int | Default 1| allowed values 1|2|3|4|5|6|7|8|9|10
- rpl_mode| String | Default none| allowed values none|master|slave|master_and_slave
- web_pwd | String
- Set resources
- CPU: 0.10 | 16 | 0.40
- MEM: 128M | 64G | 512M
- BW: 1M |500M | 1M
- Connect the net terminal of MYSQLR to the net appliance
- Create a volume and use it the MYSQLR 'data' placeholder
- Save the application
- Start the application in debug mode
- Login the MYSQLR and do
- mkdir -p /mnt/binlogs /mnt/old_data /mnt/snapshot /srv/www/ /mnt/data /mnt/log /var/lib/php/session
- yum -y upgrade
- yum -y install mysql-server aspell aspell-en curl freetype gmp libidn libjpeg libpng libxml2 lvm2 php-cli php-common php-gd php-mbstring php-mysql php-pdo rsync sudo samba-client samba-common
- rpm -Uv lighttpd-1.4.18-1.el5.rf.i386.rpm (Current link)
- rpm -Uv perl-IPC-Run-0.80-1.el5.rf.noarch.rpm (Current link)
- rpm -Uv perl-Time-Duration-1.06-1.el5.rf.noarch.rpm (Current link)
- yum clean all
- rpm --rebuilddb
- chown lighttpd /var/lib/php/session/
- rm -rf /usr/share/man/*
- rm -rf /usr/share/doc/*
- find / -type f -iname "*rpmnew" -exec rm -vf {} \;
- tar -xzf MYSQLR.tar.gz -C /
- Stop the application
- Mount the boot volume of MYSQLR (vol mount MYSQLR.boot) and cleanup.
- rm -f root/.bash_history root/.lesshst root/.mysql_history appliance/log appliance/vmalog appliance/passwd.stamp etc/resolv.conf
- find var/log -type f -exec rm {} \;
- touch var/log/lastlog
- rm -f tmp/*
- Umount the boot volume (vol umount MYSQLR.boot)
- Edit class
- remove the net terminal
- set '/etc/my.cnf' file as config file (volume: boot, quoting method: none)
- make the usr volume ro
- Save the application
- Vol resize
- vol resize MYSQLR.boot size=130M
- vol resize MYSQLR.usr size=340M
- Move the class to the /proto catalog
--
NetClime - 07 Nov 2007