On Oct 14, 2014, at 11:36 AM, raja sekhar <rajsekhar....@gmail.com> wrote:
> Hi All, > > I got the solution for cloudstack database high availability. > > Follow the steps to enable the database high availability in cloudstack. > > 1) Go to the path: > > *“/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/”* > > Find the *“cloud-plugin-database-mysqlha-4.3.1.jar” *file. > > 2) Create the path: > > *“/usr/share/cloudstack-mysql-ha/lib/”* > > Copy the above file to this path. > > 3) Edit the file *“/etc/cloudstack/management/catalina.properties” * > > check the *“common.loader” *line looks like: > > *“common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar”* > > 4) Edit the file *“/etc/cloudstack/management/db.properties”* > > *db.ha.enabled=true* > > *db.cloud.slaves=<slave IP address>* > > *db.usage.slaves=<slave IP address>* > > 5) Restart the management server. > > *“Service cloudstack-management restart”* > > Would be great if you could contribute/correct the docs at: http://docs.cloudstack.apache.org You can fork on github and submit a pull request. thanks > > *Regards,* > > *Rajasekhar.* > > On Wed, Sep 24, 2014 at 5:33 PM, Rajani Karuturi <raj...@apache.org> wrote: > >> I dont know if they are readily available. probably you could check >> jenkins.buildacloud.org >> >> You could build one from source using the procedure at >> >> http://cloudstack-installation.readthedocs.org/en/latest/building_from_source.html#building-non-oss >> >> >> It also has some information about non-oss/no-redist packages. >> >> ~Rajani >> >> On Wed, Sep 24, 2014 at 5:11 PM, Venkata Suneel Babu Mallela < >> sunee...@simplifydc.com> wrote: >> >>> This setup is installed using RPM package repository. Can you please >> guide >>> how to check this is a noredist build or not? And what is the use of it? >>> >>> There is no directory "cloudstack-mysql-ha" under /usr/share/. >>> >>> [root@cs01 share]# ls cloudstack-* >>> cloudstack-bridge/ cloudstack-management/ >>> cloudstack-common/ cloudstack-usage/ >>> >>> Thank you, >>> Suneel Mallela. >>> >>> -----Original Message----- >>> From: Rajani Karuturi [mailto:raj...@apache.org] >>> Sent: Wednesday, September 24, 2014 3:30 PM >>> To: users@cloudstack.apache.org >>> Subject: Re: CloudStack DataBase HA Restoration Test >>> >>> Is this a noredist build? Did you verify that the mysql-ha jar exists at >>> /usr/share/cloudstack-mysql-ha/lib/*jar? >>> >>> >>> >>> >>> >>> ~Rajani >>> >>> On Wed, Sep 24, 2014 at 12:06 PM, Venkata Suneel Babu Mallela < >>> sunee...@simplifydc.com> wrote: >>> >>>> Hi Rajani, >>>> >>>> Thank you for your response. I was stuck with some work last week. >>>> >>>> I've reinstalled a new CloudStack4.4.0 and added below line to the >>>> file "/etc/cloudstack/management/catalina.properties", >>>> >>>> >>>> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catali >>>> na.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connecto >>>> r-java.jar,/usr/share/cloudstack-mysql-ha/lib/*jar >>>> >>>> Restarted the management service, but still getting http status 404 >>>> error, the log is below. >>>> >>>> 2014-09-23 05:24:14,176 INFO >>>> [o.a.c.s.m.m.i.DefaultModuleDefinitionSet] >>>> (main:null) Loading module context [system] from URL >>>> [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/ >>>> cloud-core-4.4.0.jar!/META-INF/cloudstack/system/spring-core-system-co >>>> ntext-inheritable.xml] >>>> 2014-09-23 05:24:14,176 INFO >>>> [o.a.c.s.m.m.i.DefaultModuleDefinitionSet] >>>> (main:null) Loading module context [system] from URL >>>> [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/ >>>> cloud-framework-config-4.4.0.jar!/META-INF/cloudstack/system/spring-fr >>>> amework-config-system-context-inheritable.xml] >>>> 2014-09-23 05:24:14,176 INFO >>>> [o.a.c.s.m.m.i.DefaultModuleDefinitionSet] >>>> (main:null) Loading module context [system] from URL >>>> [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/ >>>> cloud-plugin-network-contrail-4.4.0.jar!/META-INF/cloudstack/system/sp >>>> ring-contrail-system-context-inheritable.xml] >>>> 2014-09-23 05:24:14,176 INFO >>>> [o.a.c.s.m.m.i.DefaultModuleDefinitionSet] >>>> (main:null) Loading module context [system] from URL >>>> [jar:file:/usr/share/cloudstack-management/webapps/client/WEB-INF/lib/ >>>> cloud-core-4.4.0.jar!/META-INF/cloudstack/bootstrap/spring-bootstrap-c >>>> ontext-inheritable.xml] >>>> 2014-09-23 05:24:18,016 INFO [c.c.u.d.T.Transaction] (main:null) Is >>>> Data Base High Availiability enabled? Ans : true >>>> 2014-09-23 05:24:18,053 INFO [c.c.u.d.T.Transaction] (main:null) The >>>> slaves configured for Cloud Data base is/are : 10.0.60.204 >>>> 2014-09-23 05:24:18,130 ERROR [c.c.u.d.Merovingian2] (main:null) >>>> Unable to get a new db connection >>>> java.sql.SQLException: Invalid load balancing strategy >>>> 'com.cloud.utils.db.StaticStrategy'. >>>> at >> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) >>>> at >> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) >>>> at com.mysql.jdbc.Util.loadExtensions(Util.java:588) >>>> at >>>> >>> >> com.mysql.jdbc.LoadBalancingConnectionProxy.<init>(LoadBalancingConnectionProxy.java:280) >>>> at >>>> >>> >> com.mysql.jdbc.FailoverConnectionProxy.<init>(FailoverConnectionProxy.java:66) >>>> at >>>> >>> >> com.mysql.jdbc.NonRegisteringDriver.connectFailover(NonRegisteringDriver.java:382) >>>> at >>>> >>> >> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:301) >>>> at java.sql.DriverManager.getConnection(DriverManager.java:571) >>>> at java.sql.DriverManager.getConnection(DriverManager.java:215) >>>> at >>>> >>> >> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75) >>>> at >>>> >>> >> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) >>>> at >>>> >>> >> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188) >>>> at >>>> >>> >> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106) >>>> at >>>> >>> >> com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:205) >>>> at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68) >>>> at >>>> com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:80) >>>> at >>>> com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33) >>>> at >>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>>> Method) >>>> at >>>> >>> >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) >>>> at >>>> >>> >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >>>> at >>> java.lang.reflect.Constructor.newInstance(Constructor.java:526) >>>> at >>>> >> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) >>>> at >>>> >>> >> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121) >>>> at >>>> >>> >> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1045) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:949) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) >>>> at >>>> >>> >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) >>>> at >>>> >>> >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) >>>> at >>>> >>> >> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628) >>>> at >>>> >>> >> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) >>>> at >>>> >>> >> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:145) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:245) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:233) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:117) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:70) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:57) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:61) >>>> at >>>> >>> >> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:52) >>>> at >>>> >>> >> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210) >>>> at >>>> >> org.apache.catalina.core.StandardContext.start(StandardContext.java:4709) >>>> at >>>> >>> >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) >>>> at >>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) >>>> at >>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) >>>> at >>>> >>> >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) >>>> at >>>> >>> >> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) >>>> at >>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) >>>> at >>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) >>>> at >>>> >>> >> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) >>>> at >>>> >>> >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) >>>> at >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) >>>> at >>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:722) >>>> at >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) >>>> at >>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) >>>> at >>>> >> org.apache.catalina.core.StandardService.start(StandardService.java:516) >>>> at >>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710) >>>> at >> org.apache.catalina.startup.Catalina.start(Catalina.java:593) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> at >>>> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at >>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>> at >>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>> Caused by: java.lang.ClassNotFoundException: >>>> com.cloud.utils.db.StaticStrategy >>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) >>>> at java.lang.Class.forName0(Native Method) >>>> ... 70 more >>>> 2014-09-23 05:24:29,485 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.CloudStackAccountDaoImpl_EnhancerByCloudS >>>> tack_901525bd >>>> 2014-09-23 05:24:29,497 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.OfferingDaoImpl_EnhancerByCloudStack_251f >>>> 9517 >>>> 2014-09-23 05:24:29,497 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.SMetaDaoImpl_EnhancerByCloudStack_41c6850 >>>> f >>>> 2014-09-23 05:24:29,502 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.UserCredentialsDaoImpl_EnhancerByCloudSta >>>> ck_e2c8502e >>>> 2014-09-23 05:24:29,502 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.MultipartMetaDaoImpl_EnhancerByCloudStack >>>> _292f07ce >>>> 2014-09-23 05:24:29,502 INFO [c.c.u.c.ComponentContext] (main:null) >>>> Configuring >>>> com.cloud.bridge.persist.dao.CloudStackConfigurationDaoImpl_EnhancerBy >>>> CloudStack_50fa97ec >>>> >>>> Thank you, >>>> Suneel Mallela. >>>> >>>> -----Original Message----- >>>> From: Rajani Karuturi [mailto:raj...@apache.org] >>>> Sent: Thursday, September 18, 2014 6:08 PM >>>> To: users@cloudstack.apache.org >>>> Subject: Re: CloudStack DataBase HA Restoration Test >>>> >>>> Can you share the logs? >>>> >>>> you might be hitting the bug >>>> https://issues.apache.org/jira/browse/CLOUDSTACK-6892 >>>> The fix is in 4.4.1 branch. >>>> As workaround, you can manually update catalina.properties as per the >>>> changes in the fix [1] >>>> >>>> [1] >>>> >>>> https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;a=blobdiff;f= >>>> client/tomcatconf/catalina.properties.in;h=282892bb763a74b3898c9402423 >>>> 245670f69d546;hp=ce03ff6390b19e21d11c87c68adb7bd07a8c95eb;hb=539db08;h >>>> pb=cc913cf0bb7e62b7a216e2de793336e61a49b485 >>>> >>>> ~Rajani >>>> >>>> On Thu, Sep 18, 2014 at 5:25 PM, Venkata Suneel Babu Mallela < >>>> sunee...@simplifydc.com> wrote: >>>> >>>>> Hi All, >>>>> >>>>> I've configured CloudStack DataBase replication(Master-Slave) >>>>> successfully and the setup is, >>>>> >>>>> Management Server - 10.0.0.10 >>>>> DataBase_1(Master) - 10.0.0.11 >>>>> DataBase_2(Slave) - 10.0.0.12 >>>>> >>>>> I want to test restoration process. I've followed the below link and >>>>> edited the "/etc/cloudstack/management/db.properties" file, >>>>> >>>>> >>>>> http://docs.cloudstack.apache.org/projects/cloudstack-administration >>>>> /e >>>>> n/4.4/reliability.html >>>>> >>>>> db.ha.enabled=true >>>>> db.cloud.slaves=10.0.0.12 >>>>> db.usage.slaves=10.0.0.12 >>>>> >>>>> But, I'm getting HTTP Status 404 error. >>>>> >>>>> Can anyone explain the step by step process to make slave as mater >>>>> and master as slave in CloudStack point of view? >>>>> >>>>> I'm using ACS4.4.0. >>>>> >>>>> Thank you, >>>>> Suneel Mallela >>>>> >>>> >>> >>