10 November 2013

How to Change Run level graphic mode to text mode on Ubuntu 12.04 LTS

How to Change Run level graphic mode to text mode on Ubuntu 12.04 LTS

Step#1 adding "text" value to GRULB_CMDLINE_LINUX_DEFAULT="text" Like below:
            >vi /etc/default/grub

           then type :wq for save and quit.
Step#2 Command reconfigure grub.
            >update-grub

after Reboot Ubuntu Server 12.04LTS is Text Mode instead Graphic Mode.

Good luck by stamjub....

9 November 2013

How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64 Part 3

How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64 Part 3

3. Testing JBoss Cluster and Mod_cluster with replicate session
3.1  Deploy ClusterWebApp.war ใน JBOSS Domain mode โดยสามารถโหลดได้ที่ไซต์
-   ทำการโหลดClusterWebApp.war 
-  ทำการเปิด Web admin console ที่ http://IP-Domain-Controller:9990/console แล้วให้เลือกไปที่ Manage Deployments จากนั้นเลือกไปที่ Add Content

                           -   จะมี Upload ให้เลือกไฟล์ที่ Step1 เมื่อเลือกเสร็จก็ให้ กด Next >>

-   จากนั้นก็กด Save


-   จากนั้นให้ทำการเลือกที่ Add to Groups เพื่อทำการ Deploy ไปที่ Group-servers


-   เลือกในการ Deploy ไปที่ ha-server-group แล้วเลือก Enable ClusterWebApp.war และทำการเลือก Save

-   เมื่อเสร็จแล้วจะมีการแสดงสถานะ Enable ดังรูป


3.1  Testing httpd + mod_cluster
-   ให้ทำการตรวจสอบการทำงานของ group-server โดยผ่าน web admin console ซึ่งในที่นี้ host1, master , rhat01 สถานะเป็น active อยู่

                            -   จากนั้นทดลองเรียกไปที่ httpd server โดย http://ip-httpd-server/ClusterWebApp/

-   ให้ทำการทดลอง Down Server ในเครื่อง host1:ha-server-2 เพื่อทดสอบ การ Replicate session ดังรูป


                           -   เมื่อ Down Server เสร็จให้ทำการเลือกที่ Link ในหน้าเว็บไซต์ดังรูปเพื่อดู Session ในหน้าต่อไป 

-   จากได้ผลการ Replicate session ดังรูป โดยสังเกตว่า จากเครื่อง host1:ha-server-2 จะสลับการทำงานไปที่เครื่อง master:ha-server-1

-   ให้ทดลองทำการ Down Server Master:ha-server-1 ดังรูป


-   แล้วทำการ Refresh หน้าเว็บไซต์เพื่อดู session อีกครั้ง จากรูปจะสังเกตได้ว่ามีการ Replicate session ไปยังเครื่อง Server rhat01:ha-server-3 โดยค่าของ session ยังเท่าเดิมเสมอ 



Good Luck.. 



How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64 Part 2

How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64
2. Using Mod_cluster with JBOSS 7.1.1 Final Cluster DC (replication session)
ในส่วนของพื้นฐานการทำ Load Balancer ในการเชื่อมต่อในลักษณะของการ Forward Redirect ของ httpd นั้นมีจะมี modules httpd ชื่อ mod_jk และ mod_cluster ในที่จะใช้ mod_cluster ในการทำ Load Balancer ซึ่งเหตุผลที่เลือกเพราะมีหัวข้อที่หน้าสนใจคือ Dynamic configuration, Server side load balance, AJP is optional, Web application lifecycle control เป็นต้น

3.1  Apache side Configuration
-   ให้ทำการโหลด Mod_cluster  แบบ binaries มาให้ตรงกับ OS ถ้าเป็น RHEL x64 bit ก็เป็น libraries linux2-x64 มา ดังไซต์นี้
http://www.jboss.org/mod_cluster/downloads/1-1-0.html
-   เมื่อโหลดเสร็จให้ทำการแตกไฟล์ แล้วย้ายไฟล์ *.so ไปเก็บไว้ที่ HTTPD_HOME/modules ดังนี้

mod_proxy.so
mod_proxy_ajp.so
mod_slotmem.so
mod_manager.so
mod_proxy_cluster.so
mod_advertise.so

-   จากนั้นไปที่ HTTPD_HOME/conf/httpd.conf ให้ทำการสร้าง Virtual host สำหรับ JBOSS Cluster ดังนี้
LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so
# This Listen port is for the mod_cluster-manager, where you can see the status of mod_cluster.
# Port 10001 is not a reserved port, so this prevents problems with SELinux.
Listen 192.168.0.15:10001
# This directive only applies to Red Hat Enterprise Linux. It prevents the temmporary
# files from being written to /etc/httpd/logs/ which is not an appropriate location.
MemManagerFile /var/cache/httpd

<VirtualHost 192.168.0.15:10001>

  <Directory />
    Order deny,allow
    Deny from all
    Allow from 192.168.0.
  </Directory>

  # This directive allows you to view mod_cluster status at URL
  #http:// 192.168.0.15:10001/mod_cluster-manager
  <Location /mod_cluster-manager>
   SetHandler mod_cluster-manager
   Order deny,allow
   Deny from all
   Allow from 192.168.0.
  </Location>

  KeepAliveTimeout 60
  MaxKeepAliveRequests 0
  ManagerBalancerName ha-server-group
  AdvertiseFrequency 5

</VirtualHost>

-   ให้ทำการ comment ในส่วนของ mod ที่ apache ได้ add ไว้โดยใส ‘#’ ไว้ข้างหน้า
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

-   ก่อนที่จะ Start httpd จะต้องมีการ ปิด SE Linux เพราะในการทำลักษณะดังกล่าวไม่รองรับการทำงาน โดยใช้คำสั่ง setenforce 0 และแก้ไขไฟล์ /etc/selinux/config ดังนี้
#SELINUX=enforcing (comment this line and add the below line)
SELINUX=disabled

3.2  JBoss side configuration
-   เมื่อได้สร้าง Cluster in JBOSS ใน domain mode แล้วให้ทำการกำหนด instance-id ในส่วนของ subsystem ในไฟล์ domain.xml ในเครื่อง Domain Controller ใส่ไว้ในส่วนที่เป็น Profile ของ ha และ ha-profile ไว้ใช้ให้เลือกใช้อย่างใดอย่างหนึ่งในการเชื่อมต่อ
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" instance-id="${jboss.node.name}"native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
    <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
     .
     .
</subsystem>
-   ให้ทำการเพิ่ม attribute ชื่อ proxy-list ใน mod-cluster-config สำหรับ modcluster ของ subsystem ซึ่งในการกำหนดนี้จะต้องอ้างอิงไปที่ IP address และ Port ของเครื่อง HTTPD Server ที่ได้กำหนดจาก ส่วนของ 2.1 apache side configurationในไฟล์ domain.xml ในเครื่อง Domain Controller ดังนี้
<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
    <mod-cluster-config advertise-socket="modcluster" proxy-list="192.168.0.15:10001">
    .
    .
    </mod-cluster-config>
</subsystem>

หมาเหตุ : เมื่อทำการตั้งค่าต่างๆ เสร็จแล้ว สามารถเรียกดูสถานะของ Cluster ต่างๆ ได้โดย URL=http://192.168.0.15:1001/mod_cluster-manager  ได้ดังรูป (เครื่อง Apache Linux ผมเป็น 192.168.0.15)




How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64 Part 1

How to create cluster in JBOSS AS7.1.1 Final in domain mode on RHEL 6.2 x64
                ในโหมด Domain จะใช้ domain.xml และ host.xml ในส่วนของการตั้งค่าเป็นหลัก จากรูปด้านล่างเครื่อง Domain Controller จะควบคุมเครื่อง Host Controller ในส่วนของการตั้งค่าต่างๆของ Domain ที่ domain.xmlและ Host Controller จะเป็นส่วนที่ต้องสร้าง Server ต่างๆ (ha-server-1,ha-server-2,ha-server-3,….) ที่ host.xml


Scenario: Cluster on different boxes

1. How to Start JBoss 7.1.1 Final in Domain mode
ทำการแตกไฟล์  JBOSS 7.1.1 Final ไว้ทุกเครื่อง Domain Controller และ Host Controller
         3.1  Box-1 (Domain Controller – 10.10.10.10)
-       ทำการแก้ไขไฟล์ JBOSS_HOME/bin/domain.conf
-Djboss.bind.address.management=10.10.10.10
-Djboss.host.default.config=host.xml
-Djboss.domain.default.config=domain.xml     
-       ทำการ add user manager ในการเข้า web admin console ไปที JBOSS_HOME/bin ให้ทำการ Run
./add-user.sh

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a   <-- Press Enter

Enter the details of the new user to add.
Realm (ManagementRealm) : <-- Press Enter
Username : admin     <-- Press Enter
Password : p@ssword   <-- Press Enter
Re-enter Password : p@ssword   <-- Press Enter
About to add user 'host1' for realm 'ManagementRealm'
Is this correct yes/no? yes   <-- Press Enter
Added user ' admin ' to file '/user/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'
Added user ' admin ' to file '/user/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'
-       ทำการ Add user manager ไว้สำหรับ Remote ไปที่ Host Controller ซึ่ง User และ password ต้องตรงกันและเพิ่ม User ไว้ทั้งสองเครื่อง Domain controller และ Host Controller
 ./add-user.sh

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a   <-- Press Enter

Enter the details of the new user to add.
Realm (ManagementRealm) : <-- Press Enter
Username : host1     <-- Press Enter
Password : p@ssword   <-- Press Enter
Re-enter Password : p@ssword   <-- Press Enter
About to add user 'host1' for realm 'ManagementRealm'
Is this correct yes/no? yes   <-- Press Enter
Added user 'host1' to file '/user/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'
Added user 'host1' to file '/user/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'

-       ไปที่JBOSS_HOME/domain/configuration/domain.xml ให้ทำการสร้าง server-group ขึ้นมา ให้กำหนด Profile=”ha” และ socket=”ha-sockets” ดังนี้
 <server-groups>
        <server-group name="ha-server-group" profile="ha">
            <jvm name="default">
                <heap size="64m" max-size="512m"/>
            </jvm>
            <socket-binding-group ref="ha-sockets"/>
        </server-group>
.
.
</server-groups>

-       ทำการสร้าง Server โดยไปที่ JBOSS_HOME/domain/configuration/host.xml
<servers>
      <server name="ha-server-1" group="ha-server-group" auto-start="true">
            <socket-bindings port-offset="200"/>
        </server>
.
.
</servers>
-       ทำการ Start Domain Controller ให้ไปที่ JBOSS_HOME/bin
./domain.sh
3.2  Box-2 (Host Controller – 20.20.20.20)
-       ในส่วนของ Host Controller จะมุ่งเน้นไปแก้ไขที่ host.xml ของแต่ล่ะเครื่อง Host Controller เพราะในส่วนของ domain.xml จะไปใช้ที่เครื่อง Domain Controller แทน จากนั้นให้ไปที่ JBOSS_HOME/domain/configuration/host.xml
<host name="host1" xmlns="urn:jboss:domain:1.2">

 <servers>
      <server name="ha-server-2" group="ha-server-group" auto-start="true">
            <socket-bindings port-offset="200"/>
        </server>
.
.
</servers>

-       จากนั้นในไฟล์ host.xml ให้ทำการ แก้ไขในส่วนของการติดต่อกับ Domain Controller โดยให้การทำการ  comment บรรทัด <local/> ไว้และเพิ่มส่วน Remote เข้าไป
  <domain-controller>
        <remote host="${jboss.domain.master.address:10.10.10.10}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
</domain-controller>

-       ทำการ Add user manager ไว้สำหรับ Remote ซึ่ง User และ password ต้องตรงกัน  Domain controller 
 ./add-user.sh

What type of user do you wish to add?
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a   <-- Press Enter

Enter the details of the new user to add.
Realm (ManagementRealm) : <-- Press Enter
Username : host1     <-- Press Enter
Password : p@ssword   <-- Press Enter
Re-enter Password : p@ssword   <-- Press Enter
About to add user 'host1' for realm 'ManagementRealm'
Is this correct yes/no? yes   <-- Press Enter
Added user 'host1' to file '/user/jboss-as-7.1.1.Final/standalone/configuration/mgmt-users.properties'
Added user 'host1' to file '/user/jboss-as-7.1.1.Final/domain/configuration/mgmt-users.properties'
-        
-       ให้ทำการ add password secrete ของ User manager ไว้ที่ไฟล์ host.xml เพื่อเอาไว้ Authentication กับ Domain Controller โดยให้ทำการเข้ารหัส Base64 Password ของ User โดยใช้คำสั่ง
echo –n p@ssw0rd | base64


 <server-identities>
        <!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
        <secret value="cEBzc3cwcmQ="/>
</server-identities>

-       ให้ทำการ Run Host Controller โดยไปที่ JBOSS_HOME/bin
 ./domain.sh

3.3  Box-3 (Host Controller – 30.30.30.30 )
ในส่วนของ Box-3 Host Controller ให้ทำในกระบวนการที่เหมือนกันกับ Box-2 Host Controller

3.4  ในการสังเกต Log ของในส่วนของ Domain Controller ในกรณีเมื่อมี Host Controller มีการเชื่อมต่อเข้ามา
 [Host Controller] 22:19:17,250 INFO  [org.jboss.as.domain] (domain-mgmt-handler-thread - 1) JBAS010918: Registered remote slave host "host1", JBoss AS
 7.1.1.Final "Brontes"