All posts tagged 'Unix'

Install puppet on ubuntu server

Đăng vào ngày 26 Tháng Năm 2013 lúc 22:24 bởi Duy Khánh Mục: IT, Unix/Linux  ||  Tags: , ,    Bình luận (0)

Install puppet master

master$ sudo apt-get -y install puppetmaster

Regenerate Master Certificate

master$ sudo service puppetmaster stop

master$ sudo rm -r /var/lib/puppet/ssl

Add master’s name to config

master$ sudoedit /etc/puppet/puppet.conf

add these names under [master] heading

dns_alt_names = puppet, master.local, puppet.khanh.com.vn

Certificate is automatically generated when you start PuppetMaster

master$ sudo service puppetmaster start

Connect from Slave

slave$ sudo apt-get -y install puppet

slave$ sudoedit /etc/puppet/puppet.conf

Add master DNS name under [agent] heading. Puppet will connect to server.

[agent]

server = master.local

Allow puppet slave to start

slave$ sudoedit /etc/default/puppet

Change to yes:

START=yes

Sign Slave Certificate on Master

master$ sudo puppet cert --list

master$ sudo puppet cert --sign slave.example.com

Create Site Manifest and a Module

....

Test Slave get configuration from Master

slave$ sudo puppet agent --test

------------------------

Force agent to regenerate certificate request by generate command

 

[puppet agent]$ puppet  certificate   generate    web1  --ca-location  remote
warning: peer certificate won't be verified in this SSL session
err: Error 400 on SERVER: web1 already has a revoked certificate; ignoring certificate request
err: Try 'puppet help certificate generate' for usage
#It because the revoked certificate still exist in the server, it need to be deleted
[puppet master]$ puppet cert list –all
- web1                                     (BA:18:D1:86:D6:5E:9E:99:55:39:3D:67:79:BF:BD:D0) (certificate revoked)
[puppet master]$ puppet cert clean web1
#re-run the command, the warning is expected because the request hasn’t been signed by master yet
[puppet agent]$puppet certificate generate web1 --ca-location remote
warning: peer certificate won't be verified in this SSL session
true
#The pending request appears in master 
[puppet master]$ puppet cert list
web1 (3B:ED:D9:8D:2F:C2:A1:D3:89:B4:D0:FD:41:7E:5E:0C)
#Sign the certificate
[puppet master]# puppet cert sign web1

Install sysbench on CentOS

Đăng vào ngày 24 Tháng Tư 2013 lúc 22:45 bởi Duy Khánh Mục: IT, SQL, Unix/Linux  ||  Tags: , ,    Bình luận (0)

Download sysbench from: http://sourceforge.net/projects/sysbench/

Sysbench need mysql-devel installed

# yum install mysql-devel

Following commands to install sysbench

# aclocal

# libtoolize --force --copy

sysbench_installation_root_folder >  ./autogen.sh

sysbench_installation_root_folder > ./configure

sysbench_installation_root_folder > make

sysbench_installation_root_folder > make install 

 

Example: Benchmark MySQL

1. Create test table in database test with 1.000.000 records

# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=mypassword prepare

2. Benchmark MySQL follow command

# sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=mypassword --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

3. Clean up DB afterwards

# sysbench --test=oltp --mysql-db=test --mysql-user=root --mysql-password=mypassword cleanup

Chạy nhiều Tomcat instance trên cùng một server

Đăng vào ngày 28 Tháng Ba 2013 lúc 07:42 bởi Duy Khánh Mục: IT, Unix/Linux, Web Design  ||  Tags: , , ,    Bình luận (1)

B1: Cài đặt Tomcat

Cài đặt Tomcat phân chia thành các thư mục khác nhau, ví dụ /var/tomcat/serverA /var/tomcat/serverB. Trong đó các thư mục serverA, serverB cần có những thư mục nội dung và cấu hình sau: bin, lib, conf, logs, temp, webapps, work

Xem thêm: Cách cài đặt Tomcat7

B2: Thay đổi port

Mỗi Instance sẽ lắng nghe trên các port khác nhau, cần phải thay đổi để không bị xung đột. Có 3 port cần phải đổi là

  • shutdown port: Port này được dùng bở tiến trình java khi tomcat chạy. Khi script shutdown.sh được thực hiện, tomcat sẽ gửi tín hiện kết thúc thông qua port này. Ví dụ 8005
  • connector port: Port dùng để kết nối tới tomcat từ xa (trình duyệt). Ví dụ 8080
  • ajp port: Port dùng khi apache httpd server liên lạc với tomcat, sử dụng để tạo loadbalancer. Ví dụ: 8009

Bạn cần sử file conf/server.xml thay đổi port

B3: Tạo init script cho mỗi Instance

 

#!/bin/bash

    # description: Tomcat Start Stop Restart

    # processname: tomcat

    # chkconfig: 234 20 80

    JAVA_HOME=/usr/java/jdk1.7.0_17/

    export JAVA_HOME

    PATH=$JAVA_HOME/bin:$PATH

    export PATH

    CATALINA_HOME=/usr/share/tomcat7

 

    case $1 in

    start)

    sh $CATALINA_HOME/bin/startup.sh

    ;;

    stop)

    sh $CATALINA_HOME/bin/shutdown.sh

    ;;

    restart)

    sh $CATALINA_HOME/bin/shutdown.sh

    sh $CATALINA_HOME/bin/startup.sh

    ;;

    esac

    exit 0

 

------------------------

 

 

#!/bin/bash

    # description: Tomcat Start Stop Restart

    # processname: tomcat

    # chkconfig: 234 20 80

    JAVA_HOME=/usr/java/jdk1.7.0_17/

    export JAVA_HOME

    PATH=$JAVA_HOME/bin:$PATH

    export PATH

    CATALINA_BASE=/usr/share/tomcat7-new

 

    case $1 in

    start)

    sh $CATALINA_BASE/bin/startup.sh

    ;;

    stop)

    sh $CATALINA_BASE/bin/shutdown.sh

    ;;

    restart)

    sh $CATALINA_BASE/bin/shutdown.sh

    sh $CATALINA_BASE/bin/startup.sh

    ;;

    esac

    exit 0

Install Tomcat 7 on Centos 6.3

Đăng vào ngày 16 Tháng Ba 2013 lúc 07:46 bởi Duy Khánh Mục: IT, Unix/Linux, Web Design  ||  Tags: , , , ,    Bình luận (1)

This post will cover installing and basic configuration of apache-tomcat-7.0.30

If you do not already have the Java Development Kit (JDK) installed on your machine, you will need to download and install the required JDK for your platform.

If you do have the JDK installed, you can skip to: Step 2: Download and Install the  apache-tomcat-7.0.30

Step 1: Install the JDK
[root@station1 Downloads]# rpm -ivh jdk-7u7-linux-x64.rpm

--> 

[root@station1 Downloads]# JAVA_HOME=/usr/java/jdk1.7.0_17
[root@station1 Downloads]# export JAVA_HOME
[root@station1 Downloads]# PATH=$JAVA_HOME/bin:$PATH
[root@station1 Downloads]# export PATH 
[root@station1 Downloads]# vim /root/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
JAVA_HOME=/usr/java/jdk1.7.0_17/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
#PATH=$PATH:$HOME/bin
#export PATH
Restart or logout and login
[root@station1 Downloads]# echo $JAVA_HOME
/usr/java/jdk1.7.0_17/
       Step 2: Download and Unpack apache-tomcat-7.0.30 (or latest)
To download apache-tomcat click here
[root@station1 Downloads]# tar -xzvf apache-tomcat-7.0.30.tar.gz 
[root@station1 Downloads]# mv apache-tomcat-7.0.30 /usr/share/ 
[root@station1 Downloads]# vim /etc/init.d/tomcat 
    #!/bin/bash
    # description: Tomcat Start Stop Restart
    # processname: tomcat
    # chkconfig: 234 20 80
    JAVA_HOME=/usr/java/jdk1.7.0_17
    export JAVA_HOME
    PATH=$JAVA_HOME/bin:$PATH
    export PATH
    CATALINA_HOME=/usr/share/apache-tomcat-7.0.30

    case $1 in
    start)
    sh $CATALINA_HOME/bin/startup.sh
    ;;
    stop)
    sh $CATALINA_HOME/bin/shutdown.sh
    ;;
    restart)
    sh $CATALINA_HOME/bin/shutdown.sh
    sh $CATALINA_HOME/bin/startup.sh
    ;;
    esac
    exit 0
[root@station1 ~]# chmod 755 /etc/init.d/tomcat
[root@station1 ~]# chkconfig --add tomcat
[root@station1 ~]# chkconfig --level 234 tomcat on
[root@station1 ~]# chkconfig --list tomcat
tomcat             0:off    1:off    2:on    3:on    4:on    5:off    6:off
[root@station1 ~]# service tomcat stop
Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.30/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_17
Using CLASSPATH:       /usr/share/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.30/bin/tomcat-juli.jar
[root@station1 ~]# service tomcat start
Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.30/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_17
Using CLASSPATH:       /usr/share/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.30/bin/tomcat-juli.jar
[root@station1 ~]# service tomcat restart
Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.30/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_17
Using CLASSPATH:       /usr/share/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.30/bin/tomcat-juli.jar
Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.30/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_07
Using CLASSPATH:       /usr/share/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.30/bin/tomcat-juli.jar
For logs

[root@station1 ~]# less /usr/share/apache-tomcat-7.0.30/logs/catalina.out
We can now access the Tomcat Manager page at http://127.0.0.1:8080
------------

Fedora - How to change boot sequence in Grub2

Đăng vào ngày 16 Tháng Ba 2013 lúc 07:40 bởi Duy Khánh Mục: IT, Unix/Linux  ||  Tags: , ,    Bình luận (2)

his is for dual boot os users, there are many who prefers dual boot to keep another OS optional. For any reason if you wish to change boot sequence unlike grub, grub2 requires couple of commands to run.

Here will take example to keep Windows as default boot.
First of all find menuentry for Windows

cat/boot/grub2/grub.cfg |grep Windows

result:-

menuentry "Windows 7 (loader) (on /dev/sda1)"--class windows --class os {

Set Windows menuentry as default (only entry mentioned in either " or 'from above command)

grub2-set-default "Windows 7 (loader) (on /dev/sda1)"

Verify default entry

grub2-editenv list

Generate updated grub.cfg

grub2-mkconfig -o/boot/grub2/grub.cfg

Below is to set Fedora as default boot

cat /boot/grub2/grub.cfg |grep Fedora
grub2-set-default "Fedora Linux, with Linux 3.1.0-5.fc16.i686"
grub2-editenv list
grub2-mkconfig -o /boot/grub2/grub.cfg

 

 

Migrating virtual machines with Raw Device Mappings (RDMs)

Đăng vào ngày 30 Tháng Tám 2012 lúc 11:15 bởi Duy Khánh Mục: IT, Virtualization, VMware  ||  Tags: , , , , ,    Bình luận (1)

Purpose

This article discusses some of the common questions that arise when migrating virtual machines that utilize Raw Device Mappings (RDMs). 
Migrating of virtual machines with RDMs can be performed in three ways:
  • Warm migration (vMotion), with the virtual machine powered on.
  • Cold migration, with the virtual machine powered off.
  • Storage migration (Storage vMotion), with the virtual machine powered on. 

Resolution

Cấu hình file /etc/fstab để quản lý việc mount thiết bị trong Linux

Đăng vào ngày 29 Tháng Tám 2012 lúc 08:57 bởi Duy Khánh Mục: IT, Unix/Linux  ||  Tags: ,    Bình luận (0)

 

Trong Linux, file fstab nằm tại thư mục /etc. Bài viết này sẽ tìm hiểu nội dung và cách chỉnh sửa thông tin trong file này và ngụ ý rằng bạn đã biết cơ bản về lệnh mount (xem lại bài “Làm sao để mount/unmount filesystem trong Linux”).

 1.     Giới thiệu

File cấu hình /etc/fstab chứa thông tin về các thiết bị (phân vùng ổ cứng, CD/DVD, USB, ISO image…) trên máy tính bao gồm:

+ Đường dẫn tới file đại diện cho thiết bị.
+ Mount point: cho biết thiết bị được mount vào thư mục nào.
+ Các tùy chọn (option): chỉ ra thiết bị được mount như thế nào?
v.v..

Nếu bạn không thể truy cập các phân vùng dành cho Windows (NTFS, FAT), hoặc không thể mount ổ DVD, ghi dữ liệu vào USB, đọc file từ ổ mềm… thì có thể chip nhớ trên thiết bị bị lỗi hoặc cũng có thể bạn đã cấu hình file fstab không đúng cách!

fstab là file dạng văn bản (plain text), vì thế bạn có thể mở và chỉnh sửa nó sử dụng bất kỳ công cụ Text Editor nào với điều kiện bạn phải có đặc quyền root để lưu lại những thay đổi. Nếu bạn đang đăng nhập với tài khoản người dùng thông thường thì có thể sử dụng 2 lệnh suhoặc sudo để tạm thời chuyển sang đặc quyền root.

2.     Cấu trúc của file /etc/fstab

Vì mỗi hệ thống có các thiết bị khác nhau nên thông tin trong file fstab ở mỗi máy cũng khác nhau. Nhưng về cơ bản, khi bạn nắm được định dạng chung của fstab thì không có gì khó khăn khi xem thông tin trong file này trên các hệ thống khác. Khi lệnh mount được thực thi, hệ thống sẽ đọc thông tin trong file fstab để đưa ra cách xử lý tương ứng. Đây là 1 ví dụ về nội dung của file:

Như bạn thấy, mỗi dòng trong file fstab chứa thông tin về một thiết bị. Các cột ở mỗi hàng được phân cách bởi khoảng trắng. Thứ tự các dòng là không quan trọng. Sau đây phần giải thích kỹ hơn ý nghĩa của từng cột:

+ Cột 1: cho biết loại thiết bị (phân vùng, CD/DVD, USB, ISO image…). Đồng thời cũng cho biết đường dẫn tới file đại diện cho thiết bị (device file) . Trong Linux, mọi tài nguyên phần cứng lẫn phần mềm đều được xem là file, các device file thường nằm ở thư mục /dev

+ Cột 2: đường dẫn của mount point, là một thư mục trống được tạo sẵn trong cây thư mục. Khi gõ lệnh mount, nếu bạn không chỉ định rõ mount point thì đây là mount point mặc định cho thiết bị ở cột 1. Thư mục chứa mount point thường là /mnt hay /media , mặc dù bạn có thể mount thiết bị vào bất cứ thư mục trống nào.

+ Cột 3: là kiểu filesystem của thiết bị. Linux hỗ trợ nhiều kiểu filesystem, dưới đây là 1 số filesystem phổ biến:

  • Ext2 và Ext3: điểm khác biệt lớn nhất giữa 2 loại filesystem này là ext3 hỗ trợ tính năngjournaling, tức là khi bạn tắt máy không đúng cách (do cúp điện đột ngột, hệ thống bị treo nên phải nhấn nút khởi động lại…) thì khả năng mất mát dữ liệu ở mức thấp, đồng thời hệ điều hành sẽ không phải tốn thời gian để kiểm tra, tìm lỗi trên filesystem trong lần khởi động kế tiếp.
  • ReiserFS: cũng hỗ trợ tính năng journaling nhưng có thêm nhiều tính năng nổi trội hơn so với ext3. Ngày nay ext3, ReiserFS được chọn là filesystem mặc định trên nhiều bản phân phối Linux.
  • swap: phân vùng làm không gian bộ nhớ ảo, dùng để bổ sung thêm bộ nhớ cho hệ thống khi hệ điều hành phát hiện việc thiếu hụt bộ nhớ RAM.
  • Vfat (FAT16, FAT32) và NTFS: đây là các filesystem được Windows hỗ trợ.
  • nfs: dành cho các tài nguyên ở xa, được chia sẻ qua mạng sử dụng NFS
  • auto: đây không phải là 1 filesytem. Nó có nghĩa là hệ thống sẽ tự động nhận diện loại filesystem của thiết bị khi thiết bị đó được mount.

+ Cột 4: là các tùy chọn khi mount.

Nếu có nhiều tùy chọn thì chúng được phân cách bởi dấu phẩy. Dưới đây là 1 số tùy chọn đáng chú ý:

  • auto: tự động mount thiết bị khi máy tính khởi động.
  • noauto: không tự động mount, nếu muốn sử dụng thiết bị thì sau khi khởi động vào hệ thống bạn cần chạy lệnh mount.
  • user: cho phép người dùng thông thường được quyền mount.
  • nouser: chỉ có người dùng root mới có quyền mount.
  • exec: cho phép chạy các file nhị phân (binary) trên thiết bị.
  • noexec: không cho phép chạy các file binary trên thiết bị.
  • ro (read-only): chỉ cho phép quyền đọc trên thiết bị.
  • rw (read-write): cho phép quyền đọc/ghi trên thiết bị.
  • sync: thao tác nhập xuất (I/O) trên filesystem được đồng bộ hóa.
  • async: thao tác nhập xuất (I/O) trên filesystem diễn ra không đồng bộ.
  • defaults: tương đương với tập các tùy chọn rw, suid, dev, exec, auto, nouser, async

+ Cột 5 là tùy chọn cho chương trình dump, công cụ sao lưu filesystem. Điền 0: bỏ qua việc sao lưu, 1: thực hiện sao lưu.

+ Cột 6 là tùy chọn cho chương trình fsck, công cụ dò lỗi trên filesystem. Điền 0: bỏ qua việc kiểm tra, 1: thực hiện kiểm tra

Kết luận:

File /etc/fstab cung cấp các chỉ dẫn cho hệ điều hành trong việc nhận diện, quản lý việc mount các thiết bị. Đồng thời việc cấu hình lại file fstab cũng giúp ích cho bạn trong việc giảm bớt thời gian mount thiết bị bằng lệnh cũng như là kiểm soát việc truy cập tới thiết bị của người dùng.

–manthang

Tối ưu hóa Nginx và PHP-FPM

Đăng vào ngày 11 Tháng Giêng 2012 lúc 20:10 bởi Duy Khánh Mục: IT, Network Solution, Unix/Linux, Web Design  ||  Tags: , , , , , ,    Bình luận (6)

Trong bài viết “Cài đặt Nginx và PHP-FPM trên CentOS 6” mình đã trình về những bước cài đặt và cấu hình cơ bản của Nginx + PHP-FPM. Trong bài viết tiếp theo này mình sẽ trình bày về một số cách tối ưu, giúp chúng ta dễ dàng hơn trong việc quản lý, cũng như duy trì hệ thống Web Server trên nền Nginx.

Đọc tiếp...

15 công cụ cần thiết khi quản trị hệ thống Linux từ dòng lệnh

Đăng vào ngày 9 Tháng Giêng 2012 lúc 19:44 bởi Duy Khánh Mục: IT, Network Solution, Unix/Linux  ||  Tags: , ,    Bình luận (4)

Đối với người quản trị hệ thống mạng thì việc monitor và troubleshoot hệ thống là công việc thiết yếu thường phải thực hiện thường xuyên. Trong bài viết này mình sẽ giới thiệu một số công cụ nhỏ nhưng hiệu quả cao, đa số đều có sẵn trên hệ điều hành Linux để giúp chúng ta có thể thực hiện được công việc quản trị tốt hơn khi làm việc trong môi trường dòng lệnh.

Đọc tiếp...

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat

Đăng vào ngày 8 Tháng Giêng 2012 lúc 16:47 bởi Duy Khánh Mục: IT, Unix/Linux  ||  Tags: , , , ,    Bình luận (1)

I – Giới thiệu:

vnStat là một công cụ nhỏ gọn chạy ở chế độ console giúp chúng ta có thể monitor lưu lượng mạng trên từng interface của hệ thống Linux. Tiện ích này dùng chính những thống kê trên các interface được kernel của hệ điều hành trả về để xử lý. Vì thế, vnStat sẽ không cài thêm bất kỳ thành phần nào khác để monitor hay ghi logs của hệ thống mạng.

Đọc tiếp...

Nghe nhạc cho vui

Ghi Chú

+ command "netstat -ano": IPs access

+ Restore dữ liệu trên SQLServer bằng dòng lệnh

RESTORE DATABASE db_name
FROM DISK = 'E:\db.BAK'
WITH REPLACE

+ Cover từ VB.NET sang C#

http://developerfusion.com/tools/convert/vb-to-csharp/

Certifications