Quản Trị  Hệ Điều Hành Linux - Unix
 
Cài đặt rsnapshot trên CentOS
08:47 | 12/11/2011

Rsnapshot là một giải pháp sao lưu gọn nhẹ và cực kỳ đơn giản, nó tạo sự luân phiên backup các thư mục local hoặc điều khiển từ xa. Đây là một bản sao lưu bonus được tạo ra bằng cách sử dụng Hardlinks* để giảm không gian lưu trữ trên host. Cũng như nhiều giải pháp sao lưu khác, rsnapshot là một script được xây dựng trên nền tảng OpenSSH và Rsync – sau này được sử dụng để đồng bộ hóa nội dung thư mục mà không cần sử dụng quá nhiều băng thông. Trước đây nó được dùng để đảm bảo thông tin liên lạc được mã hóa và an toàn.

Cài đặt rsnapshot trên CentOS

Nếu bạn đang làm công việc về IT, và cần một giải pháp sao lưu tự động cho máy chủ Linux thì hãy thử với rsnapshot. Bài viết sau chúng tôi sẽ hướng dẫn các bạn cách cài đặt rsnapshot trên CentOS/RHEL. Quá trình này yêu cầu EPEL repository và bạn có thể cài đặt bằng lệnh:

Trên CentOS 4 / RHEL 4:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-10.noarch.rpm

CentOS 5 / RHEL 5

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

CentOS 6 / RHEL 6

rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm

Sau khi tải về bạn chạy lệnh:

yum install package-name

để cài đặt.

Khi sử dụng epel repo chúng tôi khuyên bạn nên dùng YUM priorities. Sau khi cài đặt repo bạn nhập vào lệnh sau với quyền root:

yum install rsnapshot

Điều này sẽ cài đặt Rsnapshot và "kéo" theo các gói phụ thuộc.

Mở tập tin /etc/rsnapshot.conf bằng trình soạn thảo văn bản của bạn (chẳng hạn vi), nhìn vào phần đầu của snapshot_root – đây là nơi rsnapshot lưu trữ các bản sao hệ thống. Theo mặc định chúng nằm trong thư mục root, nhưng có thể thay đổi thành /backup/snapshots/.

# All snapshots will be stored under this root directory.
#
snapshot_root   /backup/snapshots/

Tiếp theo chúng ta bỏ chú thích cho dòng no_create_root 1, điều này sẽ dừng việc tạo thư mục snapshot_root (có nghĩa là bạn phải tự tạo nó cho chính mình). Lợi ích là trong trường hợp bạn sao lưu vào ổ USB mà quên rằng phải kết nối nó, rsnapshot sẽ không tiến hành sao lưu để trách gây tai nạn cho máy chủ (nếu không có phân vùng chính xác).

# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
no_create_root  1

Bởi hệ thống của chúng tôi đang chạy Linux nên sẽ bỏ chú thích tại dòng cmd_cp:

# LINUX USERS:   Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp          /bin/cp

Tiếp theo bỏ chú thích tại dòng cmd_ssh và cung cấp cho nó đường dẫn chính xác tới ssh binary.

# Uncomment this to enable remote ssh backups over rsync.
#
cmd_ssh        /usr/bin/ssh

Không bỏ chú thích ở tùy chọn du, đây là công cụ nhỏ làm hiển thị kích thước mỗi ảnh chụp snapshot. Nếu bạn chỉ cần làm một du -sh * trong thư mục snapshot, nó sẽ đọc sai do các liên kết cứng.

# Uncomment this to specify the path to "du" for disk usage checks.
# If you have an older version of "du", you may also want to check the
# "du_args" parameter below.
#
cmd_du          /usr/bin/du

Điều này đưa chúng ta vào Backup Intervals, như bạn thấy chúng tôi giữ nguyên giá trị mặc định. Do đó rsnapshot sẽ có 6 bản sao dự phòng theo giờ trước khi bắt đầu ghi đè lên cái cũ, 7 bản sao hàng ngày, 4 bản hàng tuần và 3 bản hàng tháng. Đáng chú ý là rsnapshot sẽ không tạo bản sao lưu rsnapshot cho đến khi hourly.5 được tạo trong snapshot_root, tương tự với weekly và monthly.

#########################################
#           BACKUP INTERVALS            #
# Must be unique and in ascending order #
# i.e. hourly, daily, weekly, etc.      #
#########################################
interval        hourly  6
interval        daily   7
interval        weekly  4
interval        monthly 3

Tùy chọn tổng quát

Các thiết lập mặc định thường sử dụng tốt, tuy nhiên nếu muốn bạn có thể tinh chỉnh lại hoạt động của hệ thống cho việc sao lưu. Chẳng hạn tôi thay đổi dòng 4 để hiển thị các lệnh trên dòng lệnh như khi bạn nhập vào bằng tay:

# Verbose level, 1 through 5.
# 1     Quiet           Print fatal errors only
# 2     Default         Print errors and warnings only
# 3     Verbose         Show equivalent shell commands being executed
# 4     Extra Verbose   Show extra verbose information
# 5     Debug mode      Everything
#
verbose

Không chú thích dòng logfile  bởi nó cung cấp các bản ghi có ích trong việc tìm kiếm các lỗi:

# If you enable this, data will be written to the file you specify. The
# amount of data written is controlled by the "loglevel" parameter.
#
logfile /var/log/rsnapshot

Dòng exclude có nghĩa là sau lần chạy sao lưu đầu tiên nó sẽ làm các tập tin ảnh đĩa của VMWare trở nên rõ ràng trong thư mục home, vì vậy chúng ta để như sau:

# The include and exclude parameters, if enabled, simply get passed directly
# to rsync. If you have multiple include/exclude patterns, put each one on a
# separate line. Please look up the --include and --exclude options in the
# rsync man page for more details on how to specify file name patterns.
#
#include        ???
#include        ???
#exclude        ???
exclude         /home/keith/vmware-disks/

Tiếp theo là cấu hình các điểm backup, những gì cần sao lưu từ máy của mình. Bắt đầu với localhost.

###############################
# LOCALHOST
backup  /home/          localhost/
backup  /etc/           localhost/
backup  /usr/local/     localhost/
backup  /var/log/               localhost/
backup  /srv/           localhost/
backup  /boot/          localhost/
backup  /opt/           localhost/

Bây giờ muốn sao lưu máy chủ email the-death-star, do đó cấu hình máy chủ sao lưu để “kéo” dữ liệu thông qua SSH:

backup  root@the-death-star.techspotting.org:/home/        the-death-star/
backup  root@the-death-star.techspotting.org:/etc/        the-death-star/
backup  root@the-death-star.techspotting.org:/usr/local/bin/   the-death-star/

Đây là phần cuối của việc chỉnh sửa tập tin cấu hình. Bây giờ là lúc thử nghiệm với:

rsnapshot configtest

Bạn sẽ nhận được thông báo Syntax OK trừ khi có sai sót ở trên, trong trường hợp này nó sẽ báo dòng xảy ra lỗi để có thể khắc phục.

Các SSH Key

Do chúng ta lấy dữ liệu thông qua SSH nên cần đăng nhập tự động đến các máy chủ từ xa. Ở đây sử dụng đăng nhập root từ xa cho các server, chẳng hạn như sao lưu tập tin trong location /etc/passwd chỉ có root mới đọc được. Vì vậy chúng ta cần thiết lập các SSH key mà không có passphrases – cụm mật khẩu. Nếu không bạn sẽ luôn bị nhắc nhở mỗi khi chạy backup. Sau đây là hướng dẫn tạo một số SSH key chính để xác thực.

Đầu tiên tạo key pair để khởi tạo các key public lẫn private:

ssh-keygen -t rsa

Chấp nhận tất cả các mặc định, chỉ cần nhấn Enter khi được hỏi một passphrase:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

Bây giờ bạn sẽ có một tập hợp các key trong /root/.ssh/. Copy chúng vào máy muốn đăng nhập từ xa, trong trường hợp này là máy the-death-star.techspotting.org:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@the-death-star.techspotting.org

Bạn sẽ được nhắc nhở về mật khẩu cho tài khoản trên máy chủ từ xa, nhập vào và ssh-copy-id sẽ copy key này vào thư mục chính xác và sắp xếp quyền truy cập hệ thống tập tin.

Tiến hành một thử nghiệm để chắc chắn rằng nó hoạt động:

ssh the-death-star.techspotting.org

Kiểm tra trong /etc/cron.d/rsnapshot sẽ thấy như sau:

# This is a sample cron file for rsnapshot.
# The values used correspond to the examples in /etc/rsnapshot.conf.
# There you can also set the backup points and many other things.
#
# To activate this cron file you have to uncomment the lines below.
# Feel free to adapt it to your needs.
# 0 */4         * * *           root    /usr/bin/rsnapshot hourly
# 30 3          * * *           root    /usr/bin/rsnapshot daily
# 0  3          * * 1           root    /usr/bin/rsnapshot weekly
# 30 2          1 * *           root    /usr/bin/rsnapshot monthly

Bạn sẽ hài lòng với cấu hình cron mặc định, chỉ cần loại bỏ các chú thích để trông như sau:

# This is a sample cron file for rsnapshot.
# The values used correspond to the examples in /etc/rsnapshot.conf.
# There you can also set the backup points and many other things.
#
# To activate this cron file you have to uncomment the lines below.
# Feel free to adapt it to your needs.
0 */4         * * *           root    /usr/bin/rsnapshot hourly
30 3          * * *           root    /usr/bin/rsnapshot daily
0  3          * * 1           root    /usr/bin/rsnapshot weekly
30 2          1 * *           root    /usr/bin/rsnapshot monthly

Bây giờ cron được kích hoạt để sao lưu các tập tin bằng cách sử dụng rsnapshot, hãy chắc chắn là nó sẽ làm việc:

rsnapshot -t hourly

Tiến hành tiếp với daily, weekly, monthly. Tiếp theo là lần sao lưu đầu tiên của bạn:

rsnapshot hourly

Nếu bạn đã thiết lập dòng 4 giống như chúng tôi ở phần đầu tiên của mục “tùy chọn tổng quát”, bạn có thể xem tất cả tập tin sao lưu trên màn hình!

Lần đầu chạy trình backup sẽ phải di chuyển toàn bộ tập tin snapshot_root nên mất một chút thời gian, tùy thuộc vào tốc độ máy tính và kết nối của bạn.

Dưới đây là kết quả trong snapshot_root:

/backup/snapshots# ls -l
total 48
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 daily.0
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 daily.1
drwxr-xr-x 3 root root 4096 2010-03-21 18:18 daily.2
drwxr-xr-x 3 root root 4096 2010-03-21 17:57 daily.3
drwxr-xr-x 3 root root 4096 2010-03-21 17:57 daily.4
drwxr-xr-x 3 root root 4096 2010-03-21 17:56 daily.5
drwxr-xr-x 3 root root 4096 2010-03-21 18:20 hourly.0
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 hourly.1
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 hourly.2
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 hourly.3
drwxr-xr-x 3 root root 4096 2010-03-21 18:19 hourly.4
drwxr-xr-x 3 root root 4096 2010-03-21 17:56 weekly.0

Chúc các bạn thành công!

Theo Đ.Hải - Quantrimang

 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Thiết lập 1 hệ thống High-availability - Loadbalancing và Reverse Proxy cho Web Server trên CentOS 6/RHEL Sử dụng HAProxy và Keepalived
- Đồng bộ hóa dữ liệu giữa hai Server Ubuntu 11.10 sử dụng Unison.
- Bảo vệ thư mục web với mod_auth_mysql trên Apache2
- Tích hợp MailScanner - ClamAV - SpamAssassin - SquirrelMail vào PostfixTrên Centos 5.7
- Cài đặt rsnapshot trên CentOS
- Xây dựng hệ thống NAS Cluster sử dụng OpenFiler
- Cài đặt Nginx trên Ubuntu 11.10
- Thiết lập hệ thống Active/active Samba CTDB Cluster sử dụng GFS & DRBD Trên Centos 5.7 X86_64
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần3)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần2)
Các tin liên quan :
- Xây dựng hệ thống NAS Cluster sử dụng OpenFiler
- Cài đặt Nginx trên Ubuntu 11.10
- Thiết lập hệ thống Active/active Samba CTDB Cluster sử dụng GFS & DRBD Trên Centos 5.7 X86_64
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần3)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần2)
- Thiết lập máy chủ Ubuntu 11.10 và cài đặt ISPConfig 3 (Phần 1)
- Xây dựng hệ thống File server có độ sẵn sàng cao (HA) sử dụng NFS,DRDB, Heartbeat trên Centos6 X86_64
- Upgrade Ubuntu 11.04 lên Ubuntu 11.10
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 2)
- Ảo hóa với KVM trên máy chủ CentOS 6.0 (Phần 1)
Xem tiếp
Bài nhiều người đọc cùng chuyên mục
Thiết lập 1 hệ thống High-availability - Loadbalancing và Reverse Proxy cho Web Server trên CentOS 6/RHEL Sử dụng HAProxy và Keepalived
 
Cài đặt Nginx trên server CentOS 6 x86_64 với PHP5 hỗ trợ qua PHP – FPM và MySQL.
 
Cấu hình ftp server với vsftpd
 
Cài Đặt Web Server (LAMP )Trên Centos 6 X86_64
 
Cài đặt và cấu hình Server Linux CentOS hoàn chỉnh (Phần 1)
 
Quản lý đĩa trên linux dùng kỹ thuật LVM (Phần 1)
 
50 câu lệnh Linux phải nhớ
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty Cổ Phần Kênh Giải Pháp
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.