Chuyện của sys

DevOps Blog

MFG/PRO Simple Init script for Tomcat and Progress OpenEdge October 10, 2015

haizz, đã bỏ dỡ qúa lâu, mốc meo hết rồi.

tomcat.init

#!/bin/bash
HOME=/qserver/apache-tomcat-8.0.27/bin
case “$1” in
    start)
# Main startup
echo -n “Starting Apache Tomcat Server: “
$HOME/startup.sh
echo “OK”
;;
    stop)
# Main shutdown
echo -n “Shutdown Apache Tomcat Server: “
$HOME/shutdown.sh
echo “OK”
;;
    reload|restart)
$0 stop
$0 start
;;
    configtest)
$HOME/configtest.sh
;;
*)
echo “Usage: `basename $0` start|stop|restart|reload|configtest”
exit 1
esac
exit 0

oe11.init

#!/bin/bash
DLC=/qserver/oe11/dlc
case “$1” in
    start)
# Main startup
echo -n “Starting Progress Admin Server: “
$DLC/bin/proadsv -start
sleep 1
$DLC/bin/proadsv -query
echo “OK”
;;
    stop)
# Main shutdown
echo -n “Stop Progress Admin Server: “
$DLC/bin/proadsv -stop
echo “OK”
;;
    reload|restart)
$0 stop
$0 start
;;
    status)
$DLC/bin/proadsv -query
;;
*)
echo “Usage: `basename $0` start|stop|restart|reload|status”
exit 1
esac
exit 0
Hope it helps.
No Comments on MFG/PRO Simple Init script for Tomcat and Progress OpenEdge

Install free live stream Sopcast Ubuntu 14.x August 24, 2015

Xem bóng đá trực tiếp bằng Sopcast là 1 phương án hữu hiệu khi bạn không có tivi hoặc truyền hình cáp, nhất là năm nay sẽ không được xem C1 trên VTV nữa.
Bắt đầu thôi 😀
Trước hết cài 2 gói này:

sudo apt-get install python-glade2 vlc

Add ppa để cài đặt:

sudo add-apt-repository ppa:venerix/pkg

sudo apt-get update

sudo apt-get install sp-auth

Tải bản cài đặt mới nhất

cd /opt/

sudo wget http://sopcast-player.googlecode.com/files/sopcast-player-0.8.5.tar.gz

sudo tar -xvzf sopcast-player-0.8.5.tar.gz

Build software:

cd sopcast-player/
sudo make && make install

Sau đó mở Sopcast và enjoy!!!

No Comments on Install free live stream Sopcast Ubuntu 14.x
Categories: Cũ hơn

Parallel Rsync for multi hosts July 23, 2015

Như bài viết trước đã đề cập, PSSH Tools cung cấp cho bạn nhiều công cụ như pssh, pscp…ngoài ra prsync cũng là 1 công cụ khá hữu ích cho việc rsync cùng lúc với nhiều hosts.
Xem thêm rsync
Bạn có file txt lưu lại các host như sau:

vi hosts.txt
192.168.6.128
192.168.6.129
Bạn muốn rsync thư mục có tên là Empty lên 2 server trên, cách thông thường thực hiện như sau:
nhanpt5@nhanpt5-X230:~$ while read ip;do rsync -av Empty root@$ip:/root/Empty ;done < hosts.txt
sending incremental file list
Empty/
sent 72 bytes  received 19 bytes  60.67 bytes/sec
total size is 0  speedup is 0.00
sending incremental file list
Empty/
sent 72 bytes  received 19 bytes  60.67 bytes/sec

total size is 0  speedup is 0.00

//comment: Thay vì bạn dùng vòng lặp để thực hiện n lệnh rsync với n host khác nhau thì bạn có thể dùng parallel rsync để thực hiện rsync với n luồng dành cho n host, với việc thực hiện với 1 số lượng lớn hosts thì prsync đem lại hiệu qủa tối đa về tốc độ cũng như hiệu suất.??
nhanpt5@nhanpt5-X230:~$ prsync -av -h hosts.txt -l root server_infos /root/server_infos

[1] 21:20:37 [SUCCESS] 192.168.6.128

[2] 21:20:37 [SUCCESS] 192.168.6.129

Kết quả thu được sẽ giúp bạn xác nhận là việc rsync đã thành công.
Phụ lục: Trước khi thực hiện rsync thì bạn phải cài đặt rsync trên toàn bộ hosts của bạn. Cài đặt bằng pssh như sau:

nhanpt5@nhanpt5-X230:~$ pssh -i -H “192.168.6.128 192.168.6.129” -l root “yum install -y rsync”
[1] 21:20:16 [SUCCESS] 192.168.6.129
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror-fpt-telecom.fpt.net
 * extras: mirror.pregi.net
 * updates: ossm.utm.my
Resolving Dependencies
–> Running transaction check
—> Package rsync.x86_64 0:3.0.6-12.el6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package         Arch             Version                  Repository      Size
================================================================================
Installing:
 rsync           x86_64           3.0.6-12.el6             base           335 k
Transaction Summary
================================================================================
Install       1 Package(s)
[2] 21:20:20 [SUCCESS] 192.168.6.128
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.digipower.vn
 * extras: virror.hanoilug.org
 * updates: mirrors.vonline.vn
Resolving Dependencies
–> Running transaction check
—> Package rsync.x86_64 0:3.0.6-12.el6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package         Arch             Version                  Repository      Size
================================================================================
Installing:
 rsync           x86_64           3.0.6-12.el6             base           335 k
Transaction Summary
================================================================================
Install       1 Package(s)
No Comments on Parallel Rsync for multi hosts
Categories: Cũ hơn

Giới thiệu Parallel SSH (PSSH Tools) July 22, 2015


Khi bạn muốn thực hiện 1 lệnh hoặc 1 vài câu lệnh thông qua SSH cho nhiều hosts cùng 1 lúc kiểu như thế này:

for server in list; do
ssh user@server "command"
done

Bạn sẽ gặp nhiều trở ngại cho việc ssh vào nhiều server cùng 1 lúc và không kiểm soát được những output trả về từ phía server trả về sau khi thực hiện các command. Hoặc bạn muốn deploy 1 dịch vụ nào đó cho toàn bộ server trong hệ thống của bạn nhưng không có 1 tool nào hỗ trợ như salt hay puppet.
Biện pháp nào dành cho bạn trong trường hợp này?

PSSH là công cụ cung cấp phiên bản parallel (song song) của OpenSSH, bao gồm pssh, pscp, prsync, pnuke, pslurp…Mã nguồn được viết bằng Python hỗ trợ từ Python 2,4 trở lên, được viết chính bởi Brent N. Chun.
Project tại đây: http://code.google.com/p/parallel-ssh
pssh được định nghĩa trong pssh(1) linux man page

pssh is a program for executing ssh in parallel on a number of hosts. It provides features such as sending input to all of the processes, passing a password to ssh, saving output to files, and timing out.

Cú pháp của nó cũng hết sức đơn giản và dễ hiểu :

Options

-h host_file

–hosts host_file
Read hosts from the given host_file. Lines in the host file are of the form [user@]host[:port] and can include blank lines and comments (lines beginning with “#”). If multiple host files are given (the -h option is used more than once), then pssh behaves as though these files were concatenated together. If a host is specified multiple times, then pssh will connect the given number of times.
-H[user@]host[:port]–host
[user@]host[:port]
-H
“[user@]host[:port] [ [user@]host[:port ] … ]”
–host
“[user@]host[:port] [ [user@]host[:port ] … ]”
Add the given host strings to the list of hosts. This option may be given multiple times, and may be used in conjunction with the -h option.
-l user
–useruser
Use the given username as the default for any host entries that don’t specifically specify a user.
-p parallelism
–par parallelism
Use the given number as the maximum number of concurrent connections.
-t timeout
–timeout timeout
Make connections time out after the given number of seconds. With a value of 0, pssh will not timeout any connections.
-o outdir
–outdir outdir
Save standard output to files in the given directory. Filenames are of the form [user@]host[:port][.num] where the user and port are only included for hosts that explicitly specify them. The number is a counter that is incremented each time for hosts that are specified more than once.
-e errdir
–errdir errdir
Save standard error to files in the given directory. Filenames are of the same form as with the -o option.
-x args
–extra-args args
Passes extra SSH command-line arguments (see the ssh(1) man page for more information about SSH arguments). This option may be specified multiple times. The arguments are processed to split on whitespace, protect text within quotes, and escape with backslashes. To pass arguments without such processing, use the -X option instead.
-X arg
–extra-arg arg
Passes a single SSH command-line argument (see the ssh(1) man page for more information about SSH arguments). Unlike the -x option, no processing is performed on the argument, including word splitting. To pass multiple command-line arguments, use the option once for each argument.
-O options
–options options
SSH options in the format used in the SSH configuration file (see the ssh_config(5) man page for more information). This option may be specified multiple times.
-A
–askpass
Prompt for a password and pass it to ssh. The password may be used for either to unlock a key or for password authentication. The password is transferred in a fairly secure manner (e.g., it will not show up in argument lists). However, be aware that a root user on your system could potentially intercept the password.
-i
–inline
Display standard output and standard error as each host completes.
–inline-stdout
Display standard output (but not standard error) as each host completes.
-v
–verbose
Include error messages from ssh with the -i and \ options.
-I
–send-input
Read input and send to each ssh process. Since ssh allows a command script to be sent on standard input, the -I option may be used in lieu of the command argument.
-P
–print
Display output as it arrives. This option is of limited usefulness because output from different hosts are interleaved.

Sau khi đọc document xong, việc đầu tiên cần làm là cài đặt nó 😀
Nếu bạn đã cài đặt pip, thì mọi chuyện đơn giản chỉ là command: sudo -E pip install pssh

nhanpt5@nhanpt5-X230:~$ sudo -E pip install pssh
[sudo] password for nhanpt5:
Downloading/unpacking pssh
Downloading pssh-2.3.1.tar.gz
Running setup.py (path:/tmp/pip_build_root/pssh/setup.py) egg_info for package pssh
Installing collected packages: pssh
Running setup.py install for pssh
changing mode of build/scripts-2.7/pssh from 644 to 755
changing mode of build/scripts-2.7/pnuke from 644 to 755
changing mode of build/scripts-2.7/prsync from 644 to 755
changing mode of build/scripts-2.7/pslurp from 644 to 755
changing mode of build/scripts-2.7/pscp from 644 to 755
changing mode of build/scripts-2.7/pssh-askpass from 644 to 755
changing mode of /usr/local/bin/pscp to 755
changing mode of /usr/local/bin/pssh-askpass to 755
changing mode of /usr/local/bin/pslurp to 755
changing mode of /usr/local/bin/prsync to 755
changing mode of /usr/local/bin/pssh to 755
changing mode of /usr/local/bin/pnuke to 755
Successfully installed pssh
Cleaning up…

Ngoài ra bạn có thể download bản cài đặt tại https://code.google.com/p/parallel-ssh/downloads/list

sudo wget http://code.google.com/p/parallel-ssh/downloads/detail?name=pssh-2.3.1.tar.gz
–2015-07-22 22:47:23–  http://code.google.com/p/parallel-ssh/downloads/detail?name=pssh-2.3.1.tar.gz
Resolving code.google.com (code.google.com)… 42.117.10.50, 42.117.10.59, 42.117.10.40, …
Connecting to code.google.com (code.google.com)|42.117.10.50|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/html]
Saving to: ‘detail?name=pssh-2.3.1.tar.gz’
[ <=>                                   ] 10.634      –.-K/s   in 0,002s
2015-07-22 22:47:23 (4,99 MB/s) – ‘detail?name=pssh-2.3.1.tar.gz’ saved [10634]

Giải nén:

tar xvzf pssh-2.3.1.tar.gz

Di chuyển vào thư mục:

cd pssh-2.3.1/

Cài đặt:

sudo python setup.py install

Bắt đầu sử dụng với option cơ bản:
Với 1 host : 192.168.6.128 , command là date

nhanpt5@nhanpt5-X230:~$ pssh -i -H “192.168.6.128” -l root  date
[1] 22:38:59 [SUCCESS] 192.168.6.128
Thứ năm, 23 Tháng bảy năm 2015 05:38:59 ICT

Bạn sẽ thấy kết qủa trả về như trên. Khi gặp lỗi, 1 kết qủa trả về tương tự như sau:

nhanpt5@nhanpt5-X230:~$ pssh -i -H “192.168.6.128” date
[1] 22:38:05 [FAILURE] 192.168.6.128 Exited with error code 255
Stderr: pssh error: SSH requested a password. Please create SSH keys or use
the -A option to provide a password.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Một số Status Code trả về :

Exit Status

The exit status codes from pssh are as follows:

0Success1
Miscellaneous error
2
Syntax or usage error
3
At least one process was killed by a signal or timed out.
4
All processes completed, but at least one ssh process reported an error (exit status 255).
5
There were no ssh errors, but at least one remote command had a non-zero exit status.

Ví dụ: Thực hiện command hostname với 2 host:

nhanpt5@nhanpt5-X230:~$ pssh -i -H “192.168.6.128 192.168.6.129” -l root hostname
[1] 23:06:09 [SUCCESS] 192.168.6.129
sample.test
[2] 23:06:09 [SUCCESS] 192.168.6.128
centos6.local

Như vậy, đã hoàn thành xong phần cơ bản giới thiệu về pssh, bạn có thể thực hiện thêm phần nâng cao và tùy chọn phù hợp tùy vào nhu cầu của mình.

1 Comment on Giới thiệu Parallel SSH (PSSH Tools)
Categories: Cũ hơn Tài liệu

Remove passpharse for SSH key without create a new key

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

nhanpt5@CPU10876-local:~$ ssh-keygen -p -P 123456 -N “” -f ~/.ssh/id_rsa
Key has comment ‘/home/nhanpt5/.ssh/id_rsa’
Your identification has been saved with the new passphrase.

No Comments on Remove passpharse for SSH key without create a new key
Categories: Cũ hơn

VMware Workstation 11.x Universal License Keys for Windows & Linux July 16, 2015

// Universal License Keys //

  • VV7XU-F6DDQ-485DZ-X4M7T-PF8ZD
  • ZG75H-FZF83-M8DLZ-4ZW5E-NP0W0
  • AV518-09FD0-48D1P-EMQEX-Z72C6
  • GG7W0-DAY5Q-0858Q-6GWZ9-W7RT8
  • CV512-FAW91-085NP-DMXQX-QLHAF
  • AA7DU-APW15-H848Q-P5ZGZ-PCRC2
  • VU1N2-6DE5N-M8DLQ-AEMEV-XA2Z4
  • UV3NR-AMZ17-08EZP-9YQQE-MZAY8
  • GC75U-21E50-M8D5Q-K6YQX-W28V8
  • 1F04Z-6D111-7Z029-AV0Q4-3AEH8
  • CZ7E2-2FY5P-08DUP-6XNXG-WPKE8

// License Information //

  • Status: Licensed
  • Type: Volume
  • Expiration: No expiration
Screenshot from 2015-07-16 23:17:15
Thanks for
http://appnee.com/vmware-workstation-11-x-universal-license-keys-for-windows-linux/
No Comments on VMware Workstation 11.x Universal License Keys for Windows & Linux
Categories: Cũ hơn

Cài đặt OBIEE 10G trên Centos 5.x July 7, 2015

Giới thiệu: Hướng dẫn cài đặt OBIEE 10G trên Centos 5.x x86
Chuẩn bị:

Java SDK 1.5 – 1.7
Oracle client 11G R2 full
Source cài đặt: Oracle Business Intelligence (10.1.3) Media Pack for Linux x86

Tiến hành:
Tạo thư mục và user cài đặt:

groupadd oinstall
useradd obi -g oinstall
passwd obi
mkdir -p /usr/local/OracleBI
chown -R obi:oinstall /usr/local/OracleBI
chmod -R 775 /usr/local/OracleBI
mkdir -p /usr/local/OracleBIData
chmod -R 775 /usr/local/OracleBIData
chmod -R 775 /usr/local/OracleBI

Kiểm tra để chắc chắn là urandom và random tồn tại trong /dev/

cd /dev/
ls *random

vi /etc/security/limits.conf

obi             soft    nofile  1024
obi             hard    nofile  65536

vi .bash_profile

# File Descriptor Limit
ulimit -n 10240
# Java Home
JAVA_HOME=/usr/java/jdk1.7.0_80
export JAVA_HOME
# Local Binary
PATH=$PATH:$HOME/bin
# OBI Setup Script
PATH=$PATH:/usr/local/OracleBI/setup
export PATH
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/client_1
export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/client_1/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/u01/app/oracle/product/11.2.0/client_1/bin:$PATH

Kiểm tra lại phần chuẩn bị bằng script :

chmod a+x UnixChk.sh
./UnixChk.sh -b /usr/local/OracleBI

SUCCESS!! - This machine is configured for Oracle BI EE 10.1.3.3.2

Chạy bằng root:

chmod -R 777 /usr/java/jdk1.7.0_80

Chạy setup bằng console:

cd biee_linux_x86_redhat_101342/Server/Oracle_Business_Intelligence/
./setup.sh -console

Điền các thông tin sau:

  • Installation Location: /usr/local/OracleBI
  • Data Location: /usr/local/OracleBIData
  • Installation Type: Basic
  • Set up type: Complete
  • JDK Location: /usr/java/jdk1.7.0_80
  • Administrator Credential : oc4jadmin/oc4jadmin
  • Language: English

Và hoàn thành cài đặt:

The InstallShield Wizard has successfully installed Oracle Business
Intelligence 10.1.3.4.1.

Khởi động server:

oc4j -start
run-sa.sh start
run-saw.sh start

Stop server:

run-saw.sh stop
run-sa.sh stop
oc4j -shutdown -port 23791 -password oc4jadmin

Khởi động cùng với OS:

vi /etc/rc.local
su obi -c ‘oc4j -start’
su obi -c ‘run-sa.sh start’
su obi -c ‘run-saw.sh start’

Kiểm tra hoạt động của server:

ps ax |grep sawserver
7271 ?        S      0:00 /bin/sh /usr/local/OracleBI/setup/sawserver.sh
7285 ?        Sl     0:46 /usr/local/OracleBI/web/bin/sawserver
20418 pts/0    S+     0:00 grep sawserver
ps ax |grep nqsserver
7059 ?        Sl     0:48 /usr/local/OracleBI/server/Bin/nqsserver -quiet
20474 pts/0    S+     0:00 grep nqsserver

Kiểm tra log file :

tail -f /usr/local/OracleBI/server/Log/NQServer.log
tail -f /usr/local/OracleBIData/web/log/sawserver.out.log
tail -f /usr/local/OracleBIData/web/log/javahost.out.log

Như vậy đã hoàn thành cài đặt OBIEE 10G.
login bằng link http://ip:9704/analytics/saw.dll?Dashboard
Tham khảo:
http://gerardnico.com/wiki/dat/obiee/LINUX_installation
http://gerardnico.com/wiki/web_server/oc4j/memory
No Comments on Cài đặt OBIEE 10G trên Centos 5.x

Cài đặt Oracle Client Full 11R2 trên Linux dùng Response File trên Terminal July 2, 2015

Mục tiêu: Cài đặt gói client full 11R2 ( thay vì bản Instant client) trên server CentOS 6.x 64bit.
Chuẩn bị:
–  Download bản cài đặt trên trang chủ Oralce ( Down bản 64bit) ( linux.x64_11gR2_client.zip)
– Chuẩn bị OS 6.x 64bit đã cài đặt các gói cần thiết cho Oracle client.
Bắt đầu:
1. Cài đặt các gói sau:

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel
2. Thiết lập lại kernel ( phía client không cần thiết nhưng phải thỏa mãn 1 số yêu cầu tối thiểu)
Ví du:
vi /etc/sysctl.conf
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
Chạy lệnh để áp dụng:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 65536
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
4. Tạo user và group để cài đặt
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
echo “oracle:oracle” | chpasswd
id oracle
5. Tạo thư mục lưu trữ
mkdir -p /opt/oracle
chown oracle:oinstall /opt/oracle/
6. Chuyển sang user oracle
su – oracle
7. Chỉnh sửa file response để cài đặt.
unzip linudx.x64_11gR2_client.zip
Thư mục chứa source cài đặt : /home/oracle/client
cd response/
cp client_install.rsp client_install.rsp.orig
 vi client_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_clientinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=oracle.local.test
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oracle/OraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/opt/oracle/product/11.2.0.1/client
oracle.install.client.installType=Administrator
8. Tiến hành cài đặt
./runInstaller -silent -responseFile ~/client/response/client_install.rsp
Có thể thêm -debug để thêm mode debug.
Sample Output
[WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /opt/oracle/OraInventory/logs/installActions2015-07-02_12-13-40AM.log
ACTION: Identify the list of failed prerequisite checks from the log: /opt/oracle/OraInventory/logs/installActions2015-07-02_12-13-40AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The following configuration scripts need to be executed as the “root” user.
#!/bin/sh
#Root scripts to run
/opt/oracle/OraInventory/orainstRoot.sh
/opt/oracle/product/11.2.0.1/client/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as “root”
3. Run the scripts
4. Return to this window and hit “Enter” key to continueSuccessfully Setup Software.
Một số warning do hệ thống không đáp ứng được requirements, nhưng có thể bỏ qua được.
Làm theo hướng dẫn và nhấn Enter.
/opt/oracle/OraInventory/orainstRoot.sh
/opt/oracle/product/11.2.0.1/client/root.sh
 Như vậy việc cài đặt đã hoàn thành, bạn có thể kiếm tra việc cài đặt bằng xem log được lưu trữ trong thư mục :/opt/oracle/OraInventory/logs
9. Set biến môi trường:
 vi ~/.bash_profile
export TMP=/tmp
export TMPDIR=/tmp
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1/client
export PATH=$ORACLE_HOME/bin:$PATH
 10. Test thử cài đặt bằng SQLPLUS
sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 2 19:58:21 2015
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Enter user-name:
Như vậy bạn đã hoàn thành được việc cài đặt Oracle client trên linux bằng cách dùng response file trong trường hợp không thể cài đặt bằng GUI.
No Comments on Cài đặt Oracle Client Full 11R2 trên Linux dùng Response File trên Terminal

QAD Enterprise Applications: Administering Connection Manager

Connection Manager
Connection Manager là công cụ bao gồm các  functions  và views giúp admin quản lý các kết nối telnet sử dụng để chạy các QAD .NET UI. Connection Manager được  hiển thị ban đầu với  các tùy chọn menu: Functions, Connections, và Users.
connect

Functions
Close Connection Manager
Đóng tất cả các kết nối đang hoạt động, tất cả các tiến trình đang chạy đều bị hủy.
Restart Connection Manager
Shutdown và khởi động lại Connection Manager.
Reset failed init count
Reset tất cả những kết nối lỗi.
Delete HTML cache
Xóa những thông tin cũ của màn hình bằng cách xóa cache.
Message of the day
Chọn tùy chọn này để thiết lập một thông điệp ngắn gọn mà hiển thị trong tiêu đề của trang chính mỗi khi người dùng đăng nhập.
Update configuration settings
Hiển thị các cấu hình để chỉnh sửa
Monitor Connections
Chọn Connections để xem những session đang hoạt động, mỗi kết nối sẽ có những trạng thái như sau:
Initializing
Session đang khởi động, chưa kết nối thành công(có màu đỏ).
Idle
Session  đang hoạt động, sẵn sang cho user kết nối(màu xanh).
Busy
Session đang được user sử dụng.
Pause
Đang chờ phản hồi từ phí user, ví dụ:  “press the spacebar to continue”.
Processing
Đang thực thi câu lện update DB và các record bị khóa(màu cam).
Force Disconnect
Thực thi ngắt kết nối bởi Admin.
Disconnected
Ngắt kết nối hoàn toàn
Monitor Users
Connection Manager’s Users hiển thị danh sách các user đang kết nối.
User ID
Để xem toàn bộ thông tin về: Status, ID, Process ID, User ID, Device, User IP, Maximum Connections, Program, and User Connected Time.
Refresh
Cập nhật.
Close
Đóng kết nối của user hiện thời khi cần thiết. (bị treo hoặc process lỗi).

No Comments on QAD Enterprise Applications: Administering Connection Manager
Categories: Cũ hơn

Cấu hình Load Balancing và Reverse Proxy sử dụng HAproxy và keepalived cho Web Server trên CentOS 6 June 29, 2015

Giới thiệu:
HAproxy là phần mềm cân bằng tải TCP/HTTP và là giải pháp reverse proxy mã nguồn mở phổ biến, thường được sử dụng kết hợp với keepalived đem lại 1 giải pháp high availability hữu hiệu với giá thành thấp hơn so với việc sử dụng các giải pháp cân bằng tải khác (dựa trên phần cứng).
Bài viết sẽ cung cấp 1 số các khái niệm có liên quan đến proxy, reverse proxy, các thuật toán cân bằng tải cho bộ cân bằng tải, HAproxy và các khái niệm liên quan, keepalived… Bài viết còn trình bày thêm hướng dẫn cấu hình giải pháp high availability cho hệ thống sử dụng HAproxy kết hợp keepalived trên CentOS 6
Các khái niệm:

  • Proxy

Proxy là 1 internet server làm nhiệm vụ chuyển tiếp, kiểm soát thông tin giữa client và server, proxy có 1 địa chỉ IP và 1 port cố định. Cách thức hoạt động: tất cả các yêu cầu từ client gửi đến server trước hết phải thông qua proxy, proxy kiếm tra xem yêu cầu nếu được phép sẽ gửi đến server và cũng tương tự cho server.
– Forward proxy: Là khái niệm proxy chúng ta dùng hàng ngày, nó là thiết bị đứng giữa 1 client và tất cả các server mà client đó muốn truy cập vào.
– Reverse proxy: là 1 proxy ngược, nó đứng giữa 1 server và tất cả các client và server mà server đó phục vụ, tương tự 1 nhà ga kiêm 1 trạm kiểm soát, các yêu cầu từ client gửi lên server bắt buộc phải ghé vào reverse proxy, tại đây yêu cầu sẽ được kiếm soát, lọc bỏ, và luân chuyển đến server. Ưu điểm của nó là khả năng quản lý tập trung, giúp chúng ta có thể kiếm soát mọi yêu cầu do client gửi lên server mà chúng ta cần bảo vệ.

  • Các kỹ thuật cân bằng tải

Các phần mềm cân bằng tải thường được cài đặt như 1 proxy, các kỹ thuật cần phải chú trọng đó là: kiểm tra trạng thái server (health checks), lựa chọn server tốt nhất để gửi yêu cầu và kỹ thuật duy trì kết nối của người dùng.
– Kiểm tra trạng thái server: có thể kiếm tra server bằng lệnh ping hoặc 1 phương pháp nào khác
– Lựa chọn server tốt nhất dựa trên các thuật toán cân bằng tải ( RR,…)
– Kỹ thuật Session Persistence: duy trì kết nối cho yêu cầu của người dùng trong suốt phiên làm việc, tất cả các yêu cầu của người dùng cần phải chuyển đến cùng 1 server, nếu server chết hoặc ngừng để bào trì , cần có cơ chế để chuyển session qua 1 server khác, cookie là phương pháp được sử dụng.

  • Các thuật toán cân bằng tải

– Thuật toán Round Robin (RR): phương pháp chia tải xoay vòng, hoạt động tốt với các server có khả năng xử lý tương tự nhau, điểm yếu của nó là 2 yêu cầu liên tục từ phía 1 người dùng có thể sẽ được gửi vào 2 server khác nhau, nên thường được cài đặt cùng với phương pháp duy trì session như sử dụng cookie.
– Thuật toán Weighted Round Robin (Ratio): tương tự như RR nhưng có quan tâm đến khả năng xử lý của các server, trong 1 chu kỳ 1 server có khả năng xử lý gấp đôi server khác sẽ nhận được gấp đôi số yêu cầu từ phía bộ cân bằng tải.
– Thuật toán Least Connections (LC): yêu cầu từ phía client sẽ được chuyển vào server có ít kết nối nhất trong hệ thống vào thời điểm đó.
Ngoài ra còn nhiều thuật toán khác được sử dụng.

  • HAproxy và các khái niệm liên quan

Haproxy là ứng dụng chạy độc lập, tất cả những gì người dùng cần phải làm là cài đặt HAproxy lên 1 máy server và thiết lập file cấu hình, trong đó ghi rõ địa chỉ cài đặt HAproxy và địa chỉ của các máy server. Mỗi server sẽ được cài đặt các thông số khác nhau về địa chỉ, cookie, trọng số… File cấu hình này cũng thiết lập các thông số về timeout của session, số lượng kết nối lớn nhất, cookie, thuật toán căn bằng tải, ACLs…

Các thuật ngữ cần quan tâm:
– ACL ( Access control list): Dùng để test 1 số điều kiện và thực hiện 1 hành động như lựa chọn máy chủ hoặc khóa 1 yêu cầu dựa trên kết quả kiếm tra. Dùng ACLs cho phép chuyển hướng lưu lượng mạng 1 cách linh động dựa trên nhiều tác nhân giống như pattern-matching và 1 số kết nối đến backend.
Ví dụ: acl url_static path_beg -i /static /images /javascript /stylesheets
Những url có đường dẫn bắt đầu bằng /static /images sẽ được gán cho url_static
– Backend : là tập hợp các server mà nhận các yêu cầu được chuyển hướng. Được định nghĩa trong phần backend trong file cấu hình với thông tin cơ bản như sau: thuật toán cân băng tải sử dụng và danh sách các máy chủ và port.
Một backend có thể chứa 1 hoặc nhiều máy chủ ở trong nó.
– Frontend: định nghĩa cách thức các yêu cầu sẽ được chuyển hướng đến backend, được định nghĩa trong phần frontend trong file cấu hình, định nghĩa bao gồm các thành phần: tập hợp các địa chỉ ip và cổng, ACLs, các quy tắc sử dụng backend (định nghĩa backend nào được sử dụng phụ thuộc vào điều kiện ACLs có khớp hay không hoặc 1 quy tắc default_backend để xử lý các trường hợp còn lại.
Ví dụ:
frontend main *:80 # toàn bộ ip port 80
acl url_static path_beg -i /static /images /javascript /stylesheets   # đường dẫn bắt đầu bằng
acl url_static path_end -i .jpg .gif .png .css .js     # đường dẫn kế thúc bằng
use_backend static if url_static # sẽ sử dụng backend static nếu như match ACL
default_backend app   # mặc định sẽ sử dụng backend defualt là app.

  • keepalived

là 1 phần mềm định tuyến được viết bằng C, cung cấp 1 công cụ đơn giản và mạnh mẽ cho việc cần bằng tải và HA cho hệ thống. Nói đơn giản hơn là keepalived dùng để cung cấp IP Failover cho 1 cluster. Cho phép 2 bộ cân bằng tải cài đặt cùng với nó hoạt động theo cơ chế active/backup.

Mô hình
topo
Trong đó:
GW1: server CentOS 6, đóng vai trò là Master
GW2: server CentOS6, đóng vai trò là Backup
APP1: server Ubuntu 14.04, chạy Apache
APP2: server Ubuntu 14.04, chạy Apache
(trong bài viết này không đề cập tới việc cài đặt và cấu hình Apache Web Server)
Card eth0 nối với public network, card th1 nối với private network
HAproxy được cài đặt trên cả 2 server GW1 và GW2, listen trên ip 192.168.1.200, đóng vai trò là reverse proxy.
ip 192.168.1.200: ip ảo được tạo ra từ GW1 và GW2 thông qua keepalived
IP list:

192.168.1.128 gw1
192.168.1.130 gw2
172.16.1.132 app1
172.16.1.133 app2
192.168.1.200 vip
Cài đặt haproxy và keepalived trên cả 2 server GW1 và GW2 bằng lệnh yum
yum -y install haproxy keepalived
Cấu hình keepalived
! Configuration File for keepalived
/etc/keepalived/keepalived.conf
#————————————————————————–#
# Global define để xác nhận thông tin notic qua email                      #
# ————————————————————————-#
global_defs {
   notification_email {
   }
   notification_email_from [email protected]
   smtp_server localhost
   smtp_connect_timeout 30
}
#————————————————————————–#
# Define Script để kiểm tra process haproxy                                #
# ————————————————————————-#
vrrp_script chk_haproxy {
  script “killall -0 haproxy” # check the haproxy process
  interval 200 # every 2 seconds
  weight 2 # add 2 points if OK
}
#————————————————————————–#
# VRRP                                                                     #
# ————————————————————————-#
vrrp_instance VI_1 {
    state MASTER            # MASTER ở gw1 , BACKUP ở gw2
    interface eth0          # interface để tạo ip ảo
    virtual_router_id 51
    priority 101            # độ ưu tiên, ở MASTER 101, ở BACKUP 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.200       # ip ảo
    }
    track_script {
        chk_haproxy         # chạy script
    }

}

Khởi động keepalived:
service keepalived start
Sau đó kiểm tra hoạt động của keeaplived trên 2 server GW1 và GW2 (*)
Cấu hình haproxy
#———————————————————————
# Global settings
#———————————————————————
global
log         127.0.0.1 local2
chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
user        haproxy
group       haproxy
daemon# turn on stats unix socket
stats socket /var/lib/haproxy/stats#———————————————————————
# common defaults that all the ‘listen’ and ‘backend’ sections will
# use if not designated in their block
#———————————————————————
defaults
mode                    http
log                     global
option                  httplog
option                  dontlognull
option http-server-close
option forwardfor       except 127.0.0.0/8
option                  redispatch
retries                 3
timeout http-request    10s
timeout queue           1m
timeout connect         10s
timeout client          1m
timeout server          1m
timeout http-keep-alive 10s
timeout check           10s
maxconn                 3000    # Number of maximum connections#———————————————————————
# main frontend which proxys to the backends
#———————————————————————
frontend  main *:80
acl url_static       path_beg       -i /static /images /javascript /stylesheets
acl url_static       path_end       -i .jpg .gif .png .css .js#    use_backend static          if url_static
default_backend             app#———————————————————————
# static backend for serving up images, stylesheets and such
#———————————————————————
backend static
balance     roundrobin
server      static 127.0.0.1:4331 check
#———————————————————————
# round robin balancing between the various backends
#———————————————————————
backend app
balance     roundrobin       # sử dụng thuật toán RR
cookie webpool prefix        # sử dụng cookie rewrite
server  app1 172.16.1.132:80 cookie webpool-app1 check
server  app2 172.16.1.133:80 cookie webpool-app2 check
listen stats 192.168.1.200:1991   # lắng nghe qua ip ảo
stats uri /haproxy            # Link truy cập xem status của haproxy
stats enable                  # truy cập qua web
stats auth root:123456        # user và password đăng nhập
Cho haproxy và keepalived khởi động cùng hệ thống
chkconfig haproxy on
chkconfig keepalived on
service haproxy start
Như vậy bạn đã thực hiện xong phần cài đặt và cấu hình haproxy cho hệ thống, sau đó bạn tiến hành các bước kiểm tra và bắt đầu sử dụng hệ thống của bạn.
Link tham khảo:
http://www.haproxy.org/download/1.4/doc/configuration.txt
https://aaronwalrath.wordpress.com/2011/06/28/configure-haproxy-and-keepalived-for-load-balancing-and-reverse-proxy-on-red-hatscientificcentos-linux-56/
1 Comment on Cấu hình Load Balancing và Reverse Proxy sử dụng HAproxy và keepalived cho Web Server trên CentOS 6
Categories: Cũ hơn