Setup MyLVS
Get and install myLVS
ToDo: Add to Archive: /var/log/mylvs/
- Get myLVS from http://mylvs.com/download/mylvs2.1.tar.gz
Note that the target paths are used with Debian, there might be different targets for other Linux distribution
- Unextract myLVS
tar -C / -xvf mylvs2.1.tar.gz
- This will create:
- /etc/apache2/sites-enabled/
- /etc/apache2/mylvs/
- /var/www/mylvs
Setup mySQL
At the very step we need to setup the database with all the required tables, please use the import script mylvs.sql to do so.
You will find the script within the archive or on your disk in: /var/www/mylvs/templates/mysql_data/mylvs.sql
mysql -u root -p < /var/www/mylvs/templates/mysql_data/mylvs.sql
You may also see: Create the Database and the Users
Setup Apache
Copy the configuration to your Apache Webserver:
cp /var/www/mylvs/templates/etc/apache2/sites-available/mylvs.conf /etc/apache2/sites-available/
Optional copy the Webservice configuration to your Apache Webserver:
cp /var/www/mylvs/templates/etc/apache2/sites-available/ws.mylvs.foo.conf /etc/apache2/sites-available/
Verify the myLVS Web configuration and enable it with a2ensite:
a2ensite mylvs.conf
Optional verify the myLVS Monitor configuration and enable it with a2ensite:
a2ensite ws.mylvs.foo.conf
Restart Apache
service apache2 restart
Add a demo account to apache, this will be the login through the browser, note that this step is required:
root@mylvs01:/# htpasswd -c /var/www/mylvs/wwwroot/.htpasswd.users demo
myLVS configuration
myLVS is using a XML configuration in /etc/myslvs/mylvs.conf.xml
- SQL related settings
Element | Attribute | Description |
---|---|---|
SQLServer | Address | SQL Server address |
SQLServer | Database | Database name |
SQLServer | User | Username |
SQLServer | Password | Plain password |
SQLServerBackup | Address | SQL Backup Server address, only used within an HA environment. |
SQLServerBackup | Database | (HA) Backup Database name |
SQLServerBackup | User | (HA) Backup Username |
SQLServerBackup | Password | (HA) Backup Plain password |
SQLServerBackup | ReplCommand | Command to be used when changes occur |
SQLConfigBackup | Path | Path to the helper scripts |
SQLConfigBackup | ResoreApp | Name of the script to restore the sql data |
SQLConfigBackup | BackupApp | Name of the script to backup the sql data |
- LVS
Element | Attribute | Description |
---|---|---|
LVS | Command | Command path and name of ipvsadm |
Operator | Mailserver | Mailsever name or IP address |
Operator | Mailfrom | Mailfrom name |
Operator | MailTo | Mailto name |
Operator | MailCC | MailCC |
Operator | MailBCC | MailBCC |
Maintenance | FileAge | Command path and name of ipvsadm |
Maintenance | SQLAge | Command path and name of ipvsadm |
- HTTP Related Settings
Element | Attribute | Description |
---|---|---|
ShowAmount | ActiveWarning | Command path and name of ipvsadm |
ShowAmount | InActiveWarning | Command path and name of ipvsadm |
ShowAmount | HTTP_ERR | Command path and name of ipvsadm |
ShowAmount | HTTP_WARN | Command path and name of ipvsadm |
ShowAmount | MaxConCount | Command path and name of ipvsadm |
Operation | WebSimulate | Command path and name of ipvsadm |
Operation | MonSimulate | Command path and name of ipvsadm |
Information | host | Command path and name of ipvsadm |
Information | nmap | Command path and name of ipvsadm |
Modules | Path | Command path and name of ipvsadm |
StatusView | SupressedAddress | Command path and name of ipvsadm |
View | HTMLLVSOutput | Command path and name of ipvsadm |
Log | Name | Command path and name of ipvsadm |
Log | Path | Command path and name of ipvsadm |
Log | gzip | Command path and name of ipvsadm |
Log | Days | Command path and name of ipvsadm |
Logo | Path | Command path and name of ipvsadm |
root@mylvs01:/# cat /etc/mylvs/mylvs.conf.xml <?xml version="1.0"?> <CONFIG> <SQLServer Address="127.0.0.1" Database="mylvs" User="mylvsuser" Password="demo" /> <SQLServerBackup Enabled="0" Address="" Database="" User="" Password="" ReplCommand="no-sample-available-yet" /> <SQLConfigBackup Path="/var/www/mylvs/backup/" RestoreApp="/var/www/mylvs/scripts/mkrestore.sh" BackupApp="/var/www/mylvs/scripts/mkbackup.sh"/> <LVS Command="/usr/bin/sudo /sbin/ipvsadm" /> <Operator Mailserver="mail.mylvs.com" Mailfrom="lvsmon@mylvs.com" MailTo="postmaster@mylvs.com" MailCC="anybody@domain.com" MailBCC=""/> <Maintenance FileAge="5" SQLAge="5"/> <ShowAmount ActiveWarning="200" InActiveWarning="2000" HTTP_ERR="120" HTTP_WARN="80" MaxConCount="1000"/> <Operation WebSimulate="0" MonSimulate="0"/> <Information host="/usr/bin/sudo /usr/bin/host" nmap="/usr/bin/sudo /usr/bin/nmap -sS -O -v" /> <Modules Path="/usr/local/lvs/wwwroot/modules/"/> <StatusView SupressedAddress=""/> <View HTMLLVSOutput="0"/> <Log Name="mylvslog.log" Path="/var/log/mylvs/" gzip="/bin/gzip" Days="24"/> <Logo Path="/images/Linux_Logo.gif" /> </CONFIG>
Login to myLVS
Depending on your client OS you may add a hostheader to your host file, to do this type
- Linux
# vi /etc/hosts
- Windows (Administrator command shell)
notepad c:\Windows\System32\drivers\etc\hosts
Add:
192.168.x.y mylvs.foo
- Note: The Windows DNS Cache requires a reload:
ipconfig/flushdns
Navigate your prefered browser to mylvs.foo, login using demo, demo.
You should see a screen similar the this:
Note: To setup a fresh configuration you could easily setup the node and servers through the setup and begin then from scratch.
Automatic load of myLVS setting
To automatic load the myLVS Web configuration it is requires to setup sysmctl which comes new with Debian 8.
This configuration will start on boot only using the type oneshot, it is very important to load this after mysql.service startup command
Get the configuration from the templates and copy it to the systemd user directory
cp /var/www/mylvs/templates/etc/systemd/system/mylvs-init.service /etc/systemd/system/
Alternative get the myLVS Monitor startup configuration from the templates and copy it to the systemd user directory
cp /var/www/mylvs/templates/etc/systemd/system/ mylvsmon.service /etc/systemd/system/
- First status
root@mylvs01:/systemctl status mylvs-init.service mylvs-init.service - myLVS Startup Script Loaded: loaded (/etc/systemd/system/mylvs-init.service; disabled) Active: inactive (dead)
- Enable
root@mylvs01:/systemctl enable mylvs-init.service Created symlink from /etc/systemd/system/multi-user.target.wants/mylvs-init.service to /etc/systemd/system/mylvs-init.service.
- Reload (optional)
root@mylvs01:/systemctl daemon-reload
- Reboot to test
- Live Status
root@mylvs01:/home/demo# systemctl status mylvs-init.service mylvs-init.service - myLVS Startup Script Loaded: loaded (/etc/systemd/system/mylvs-init.service; enabled) Active: inactive (dead) since Mon 2015-08-17 14:53:48 EDT; 1min 38s ago Process: 933 ExecStart=/usr/bin/perl /var/www/mylvs/mylvsinit.pl -a (code=exited, status=0/SUCCESS) Main PID: 933 (code=exited, status=0/SUCCESS)