Thứ Ba, 9 tháng 4, 2013

Cài đặt và cấu hình DHCP trên Centos 5.8


1.      Cài đặt dịch vụ DHCP
Cài đặt dịch vụ DHCP từ internet(yum install dhcp) hoặc từ đĩa DVD Centos. Thực hiện lệnh mount đĩa Centos.
#mount /dev/cdroom /mount
#cd /mount/Centos/
#rpm –ivh dhcp-3.0.5-31.el5.i386.rpm
#rpm –ivh dhcp-devel-3.0.5-31.el5.i386.rpm
Kiểm tra xem dhcp đã cài đặt trên hệ thống chưa
#rpm –qa |grep dhcp

2.      Cấu hình DHCP server.
Copy file cấu hình có sẵn bằng lệnh:
#cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
Sửa file cấu hình /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway
       option routers                     192.168.1.1;
       option subnet-mask          255.255.255.0;

       option nis-domain           "master.mydomain.com";
       option domain-name          "master.mydomain.com";
       option domain-name-servers  192.168.1.11;

       option time-offset          -18000;       # Eastern Standard Time
#      option ntp-servers          192.168.1.1;
#      option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#      option netbios-node-type 2;

       range dynamic-bootp 192.168.1.10 192.168.1.200;
       default-lease-time 21600;
       max-lease-time 43200;

       # we want the nameserver to appear at a fixed address
       host ns {
              next-server marvin.redhat.com;
              hardware ethernet 12:34:56:78:AB:CD;
              fixed-address 207.175.42.254;
       }
}

Ví dụ cấu hình trên mình cấu hình DHCP server cấp địa chỉ IP choc lien trong khoảng từ 192.168.1.10 đến 192.168.1.200.
Một số tùy chọn trong file cấu hình:
Ø  ddns-update-style interim ,ignore client-updates :Không cho phép DHCP cập nhật động DNS.
Ø  subnet …. netmask : Subnet và netmask
Ø  option routers : Default gateway
Ø  option subnet-mask : Netmask cấp cho client
Ø  option nis-domain : NIS domain
Ø  option domain-name : Domain mame
Ø  option domain-name-servers : IP DNS server
Ø  range dynamic-bootp : Vùng địa chỉ cấp phát cho các clients
Ø  default-lease-time : Thời gian mặc định cấp IP cho một client
Ø  max-lease-time : Thời gian tối đa cấp IP cho một client
Ø  host ns : Khái báo những máy luôn nhận IP cố định
Sau khi cấu hình xong, restart lại dịch vụ DHCP.
#service dhcpd restart
3.      Cấu hình DHCP client
Đối với Linux, thì truy cập vào cấu hình địa chỉ Ip card mạng
Ví dụ:
#vi /etc/sysconfig/network-script/ifconfig-eth0
Edit dòng BOOTPROTO=’’ thành BOOTPROTO=dhcp sau đó lưa lại.
Đối với Windows, vào network connection, chọn card mạng, chọn TCP/IP, chọn option Obtian  IP address auto.Chọn Ok, OK.DHCP sẽ cấp dãy địa chỉ IP mà người quản trị đã cấu hình.

4.      Theo dõi tình hình cấp phát DHCP trên server.
#tail –f /var/lib/dhcpd/dhcpd.release


Thứ Hai, 8 tháng 4, 2013

Hướng dẫn cấu hình MySQL Database Replication


1. Replication là gì?
  v  Replication có ý nghĩa là “nhân bản”, là có một phiên bản giống hệt phiên bản đang tồn tại, đang sử dụng.
  v  Với cơ sở dữ liệu, nhu cầu lưu trữ lớn, đòi hỏi cơ sở dữ liệu toàn vẹn, không bị mất mát trước những sự cố ngoài dự đoán là rất cao. Vì vậy, người ta nghĩ ra khái niệm “nhân bản”, tạo một phiên bản cơ sở dữ liệu giống hệt cơ sở dữ liệu đang tồn tại, và lưu trữ ở một nơi khác, đề phòng có sự cố.
  v  Phiên bản cơ sở dữ liệu phục vụ ứng dụng được lưu trữ trên server master. Phiên bản cơ sở dữ liệu “nhân bản” được lưu trữ trên server slave. Quá trình nhân bản từ master sang slave gọi là replication.
  v  Khi có một thay đổi trên cơ sở dữ liệu master, master sẽ ghi xuống log file (log ở dạng binary). Slave đọc log file, thực hiện những thao tác trong log file. Việc ghi, đọc log theo dạng binary được thực hiện rất nhanh.
2. Mô hình MySQL replication gồm có 2 thành phần:
a. MySQL master
b. MySQL slave

3. Cách thức hoạt động:
  • Tại thời điểm hoạt động bình thường mọi request sẽ được đưa đến vào MySQL master. Khi MySQL master gặp sự cố, request sẽ được đẩy qua cho MySQL slave xử lí. Khi MySQL master up lại bình thường, request sẽ được trả về cho MySQL master.
  • Quá trình chuyển đổi vai trò giữa MySQL master và MySQL slave sẽ được giới thiệu ở bài hướng dẫn sau.
  • Bài hướng dẫn đầu tiên chỉ nêu các bước để cấu hình MySQL master và MySQL slave replicate cho nhau.

4. Mục đích của bài hướng dẫn này:
a. Cấu hình MySQL master.
b. Cấu hình MySQL slave.
c. Mọi thay đổi trên MySQL master đều được thực hiện trên MySQL slave, luôn luôn đảm bảo dữ liệu trên MySQL master và MySQL slave là giống nhau.
5. Các bước cấu hình:

- Giả sử máy tính MySQL master có hostname là master.mydomain.com. Máy tính MySQL slave có hostname là slave.mydomain.com.
- Cài đặt mysql bằng các gói lệnh yum trên MySQL master và MySQL slave.
#yum install mysql-server
- Start mysql trên MySQL master và MySQL slave.
5.1 Cấu hình trên máy master.
Truy cập vào mysql bằng cách gõ lệnh sau:
#mysql –hlocalhost –uroot –p
Sau đó hệ thống yếu cầu nhập mật khẩu, mặc định mật khẩu rỗng nên nhấn enter dấu nhắc sẽ chuyển thành:
Mysql>
Tạo user cho phép MySQL slave được quyền REPLICATE
mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
Sửa trong file /etc/my.cnf những option sau.
[mysqld]
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
Khởi động mysqld trên master.
            #service mysqld start
5.2 Cấu hình trên Slave
Sửa trong file /etc/my.cnf option sau:
[mysqld]
server-id=2

Sau đó tiến hành khởi động lại mysql trên slave.
#service mysqld restart
5.3 Để replication, cần xem tình trạng ghi log hiện tại của MySQL master, để điều khiển slave bắt đầu replicate như thế nào.
Trên Master
Ngưng mọi tác động trên cơ sở dữ liệu.
mysql> FLUSH TABLES WITH READ LOCK;
Xem tình trạng của MySQL master
mysql > SHOW MASTER STATUS;

Trên Slave: Cấu hình những thông tin cần thiết để slave giao tiếp được với Master.
mysql> CHANGE MASTER TO
    ->     MASTER_HOST='master_host_name',
    ->     MASTER_USER='replication_user_name',
    ->     MASTER_PASSWORD='replication_password',
    ->     MASTER_LOG_FILE='recorded_log_file_name',
    ->     MASTER_LOG_POS=recorded_log_position;
Với mô hình trên chúng ta cấu hình như sau.
mysql> CHANGE MASTER TO
->MASTER_HOST='master.mydomain.com',
->MASTER_USER='repl',
->MASTER_PASSWORD='slavepass',
->MASTER_LOG_FILE=' mysql-bin.000001’,
->MASTER_LOG_POS=214;
Ghi chú: giá trị MASTER_LOG_FILE ở đây là file name [mysql-bin.000001] và MASTER_LOG_POS là giá trị [Position] của câu lệnh SHOW MASTER STATUS;/
Trên master
UNLOCK cơ sở dữ liệu trên Master.
Mysql>UNLOCK TABLES;
6. Kiểm tra
Trên Master tạo 1 database xxx;
           Mysql>create database xxx;
Trên Slave kiểm tra xem đã cập nhật database đó chưa
          Mysql>show databases;