Configurando License Server e License Controller em Cluster

Escrito por Adriano Corrêa em 5 de janeiro de 2011, 11:26h

O servidor de licença é um componente essencial para manter os sistemas ativos. Porém, como todo hardware é suscetível à falhas, o servidor de licenças também precisa de contingência. Colocar o License Server e o License Controller em cluster pode ser uma boa alternativa.

Para montar esse ambiente, você precisa ter em mãos:

  • Ao menos dois servidores em cluster, onde cada servidor precisa ter acesso exclusivo a uma porta USB;
  • Um clone do Hardlock para cada servidor adicional;
  • Instalação do License Server;
  • Java 1.6 ou superior instalado em cada servidor do cluster;
  • Acesso desses servidores ao diretório config do produto, onde está localizado o arquivo .jar do License Controller;
  • O arquivo de licença totvslic.key, que será replicado para cada servidor no cluster.

Com esses recursos em mãos, o primeiro passo é conferir o número de série dos Hardlocks. Eles devem ser iguais.

Em seguida, conecte os hardlocks nos servidores e instale o License Server em cada um. Copie o arquivo de licença totvslic.key para o diretório “TOTVSLicense\bin” de cada License Server instalado. Configure o serviço “.TOTVS License Server” como “Início automático”. Com isso, o License Server está configurado e já pode ser iniciado.

Como a idéia do ambiente de cluster é poder derrubar um servidor sem perder o acesso ao sistema e carregá-lo novamente sem intervenção do administrador, é importante que o License Controller também seja carregado como serviço. Para isso, recomendamos usar o Wrapper. Para configurá-lo, adicione o arquivo totvs-licensecontroller-java-1.0.jar no classpath e informe as seguintes linhas como parâmetros da aplicação:

wrapper.app.parameter.1=com.totvs.license.LControllerMain
wrapper.app.parameter.2=dir-ems/config/license-server.xml

Adicionalmente, configure para o serviço do License Controller ter como dependência o serviço do License Server, especificando a linha abaixo:

wrapper.ntservice.dependency.1=TOTVSLic

Instale o serviço do License Controller em cada servidor do cluster, também como início automático.

Por último, configure o arquivo config/license-server.xml. Esse arquivo é configurado informando o IP e a porta para o License Server e para o License Controller. Informe o endereço IP do cluster para ambos os serviços. A porta padrão para o License Server é 5555 e para o License Controller é 5556. Lembre-se que esse arquivo deve ser acessado tanto pelos serviços do License Controller quanto pelos usuários do sistema.

Carregue os serviços do License Controller e a configuração está pronta.

Para testar, derrube o License Server de um dos servidores do cluster. Os usuários deverão continuar acessando a aplicação.

Categorias: Ambiente

Tags: , , ,

Comentários (11) -

em 27 de março de 2011, 11:24h

Bom dia Adriano, help !
Segui o procedimento acima porém, ao ativar o servico o mesmo "stop" e da o erro:

INFO   | jvm 1    | 2011/03/26 14:28:08 |    TestAction access_violation_native
INFO   | jvm 1    | 2011/03/26 14:28:08 |
INFO   | jvm 1    | 2011/03/26 14:28:08 | ERROR: "com.totvs.license.LControllerMain" is an unknown action.

wrapper.conf
....
# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
## fsantoro
wrapper.java.classpath.1=../lib/wrappertest.jar
wrapper.java.classpath.2=../lib/wrapper.jar
wrapper.java.classpath.3=C:/TOTVS_LS/config/totvs-licensecontroller-java-1.0.jar

## fsantoro  
wrapper.app.parameter.1=com.totvs.license.LControllerMain
wrapper.app.parameter.2=c:/TOTVS_LS/config/license-server.xml

Abrs. Floriano Santoro

Floriano Santoro

em 28 de março de 2011, 10:04h

Bom dia Floriano,

Seria necessário dar uma olhada no arquivo completo de configuração e no log do serviço para informar uma causa exata do problema.

Como dica, o erro pode estar na linha 'wrapper.java.mainclass' do arquivo wrapper.conf, que deve ter o valor:
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

Ligue para nós aqui no canal de Consultoria a Banco de dados da linha de produto Datasul, que acompanhamos você nesta configuração.

Gian

gian

em 11 de abril de 2011, 10:48h

Ola Gian (Dalfovo ??)
# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
## fsantoro
##wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
F U N C I O N O U   !
Muito obrigado pela dika.

Floriano Santoro

em 6 de maio de 2011, 10:02h

Wrapper é uma solução paga?
Não é possível utilizar o javaservice?

Ivo

em 6 de maio de 2011, 14:31h

Ivo,

Existem algumas versões do Java Service Wrapper que são comercias, necessitam de aquisição de licença para uso.

A versão Community, é distribuída com base no contrato de licença GPL ( http://www.gnu.org/licenses/gpl-2.0.html ). Pode ser utilizada de forma gratuita desde que não viole nenhuma das regras estabelecidas.

A versão que testamos foi a Community, onde possui um menor número de funcionalidades, porém a de executar como um serviço está disponível.

Mais detalhes sobre o licenciamento e funcionalidades, estão no site do desenvolvedor:
wrapper.tanukisoftware.com/.../...ct-overview.html

Outras ferramentas não testamos, porém se esta versão que você comentou tem a capacidade de deixar uma aplicação escrita em Java executando como um serviço, creio que poderia ser utilizada.

gian

em 6 de maio de 2011, 14:46h

Ola Gian

O meu apresente este erro
INFO   | jvm 4    | 2011/05/06 14:00:41 | Could not find the main class: org.tanukisoftware.wrapper.WrapperSimpleApp.  Program will exit.
ERROR  | wrapper  | 2011/05/06 14:00:42 | JVM exited while loading the application.

Ivo

em 6 de maio de 2011, 16:55h

Ivo,

É provável que haja algo a verificar nas linhas 'wrapper.java.classpath' no arquivo de configuração utilizado.
Porém este é um canal que tem o objetivo a troca de idéias e informações sobre os assuntos descritos.
Para tratamento de erros, recomendamos verificar primeiro a documentação disponível no site do desenvolvedor.
Caso queira um acompanhamento nesta configuração, ligue para nós na Consultoria a Banco de dados da linha de produtos Datasul.
Telefone 4003-0015, escolhendo as opções 2 (Software), 3 (Consultoria), 4 (Datasul), 8 (Tecnologia), 3 (Banco de Dados).

gian

em 24 de setembro de 2011, 10:55h

Gian,

Qual é o cenário dessa solução "Configurando License Server e License Controller em Cluster"?
Esses servidores além de serem License Server e License Controller é neles que o sistema Datasul estão?
O License Controler deve ficar no mesmo servidor que o sistema Datasul está, correto? Caso não, como fazer para o sistema Datasul em um servidor "enxergar" o Licenser Controller em outro servidor?
Obrigado!

Marcos Vinicius

em 26 de setembro de 2011, 10:25h

Marcos, os sistemas legados (EMS 2, EMS 5, HCM, etc), localizam o License Controller usando o arquivo config/license-server.xml, localizado no propath da sessão. Nesse arquivo é informado um IP e uma porta para conexão. Logo, o sistema localiza o servido pelo IP informado nesse arquivo.

Adriano.

adriano

em 26 de setembro de 2011, 11:01h

Adriano,

Então, se eu somete criar o arquivo license-server.xml (com os IPs do License Server e License Controller ok) na pasta config e o License Controller estiver em outro servidor funciona?

Marcos Vinicius

em 26 de setembro de 2011, 14:03h

Marcos, funciona sim. Não é necessário manter o LS e/ou LC no mesmo servidor de programas.

O sistemas (EMS 2, 5, HCM) executam normalmente na estação dos usuários, e não no servidor. É esperado uma comunicação via rede.

kirchner

Comentar

biuquote
  • Comentário
  • Pré-visualização
Loading

Acesso LogMeIn

Informe o código PIN: