Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
437,64 KB
Nội dung
CàiđặtrsnapshottrênCentOS
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.
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đặtrsnapshottrê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/e
pel-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đặtRsnapshot 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.
###############################
### BACKUP POINTS / SCRIPTS ###
###############################
# 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
backup root@the-death-star.techspotting.org:/etc/ the-
death
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
. 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. Cài đặt rsnapshot trên CentOS
Rsnapshot là một giải pháp sao lưu gọn nhẹ và cực kỳ đơn giản,