Sử dụng ổ cứng ngoài USB cho sao lưu dự phòng trong Linux Trong bài viết này, tôi sẽ giới thiệu cho các bạn cách thiết lập một ổ đĩa cứng USB ngoài thành một ổ backup cho máy tính Linux
Trang 1Sử dụng ổ cứng ngoài USB cho sao lưu dự phòng
trong Linux
Trong bài viết này, tôi sẽ giới thiệu cho các bạn cách thiết lập một ổ đĩa cứng USB ngoài thành một ổ backup cho máy tính Linux, xóa partition mặc định FAT32 và tạo partition mới, tạo các file hệ thống và giới thiệu cách sử dụng rsync để backup dữ liệu quan
trọng
Tại sao phải backup trong Linux?
Sẽ có một câu hỏi là “Tại sao lại là với Linux chứ không phải là Windows, nếu bạn có một dual boot PC?” Cá nhân mà nói tôi không có máy tính như vậy, do đó câu hỏi đó với tôi chưa từng được đưa ra Mặc dù vậy, tôi có thể đưa ra một số các lý do rằng tại sao tôi sử dụng Linux như là hệ điều hành cho việc chạy backup
Windows không thể đọc các partition Linux của bạn mà không có các add-on của nhóm thứ ba
Ngược lại, Linux có thể (vốn có) đọc các partition FAT 32 và NTFS
Nó hoàn toàn không phức tạp để tạo một kịch bản backup đi kèm với các partition, back up chúng, sau đó gỡ bỏ chúng
Việc backup với Linux có thể lấy lại được bất kỳ một file bị nhiễm virus nào đã chậm chạp
Bạn đã từng bỏ mặc máy tính Windows chạy qua đêm không được giám sát?
Những xem xét
Backup là gì?
Trang 2Quan điểm cũ cho rằng backup là sao chép dự phòng mọi thứ, toàn bộ hệ thống Không thực
sự liên quan đến vấn đề không gian để chạy bakup hệ thống đầy đủ bởi vì một hệ thống đã cài đặt đầy đủ có thể mất vài GB, có lẽ từ 3-10GB gồm các bản ghi hệ thống và các thành phần khác
Trên một hệ thống máy trạm tôi không tin chắc điều này là cần thiết Phân loại lựa chọn của tôi (Arch Linux) và nhiều phân loại phổ biến khác ngày nay như phân loại dựa trên Debian, cùng với các phân loại khác được phát hành rầm rộ Việc cài đặt và nâng cấp các hệ thống như vậy khá dễ dàng (cũng như việc tồn tại một kinh nghiệm hữu dụng) Tôi không dám chắc bạn sẽ tiết kiệm được khoảng thời gian là bao nhiêu bằng việc chạy một backup hệ thống đầy
đủ
Bạn có thể muốn backup một số các thư mục chủ yếu như /etc và các phần của /var /root, nó phụ thuộc vào cách bạn chạy hệ thống
Nếu có một danh sách tất cả các gói đã được cài đặt trên hệ thống của bạn thì đó là một điều hữu dụng pacman –Qi sẽ cung cấp vấn đề này cho Arch, dpkg – danh sách sẽ cung cấp tương
tự cho Debian & Co Redirect đầu ra đến một file trong thư mục chủ của bạn Nếu thực hiện điều này hãy lập thời gian biểu để chạy nó hàng ngày
Những thành phần quan trọng đối với hầu hết các hệ thống máy trạm sẽ ở bên trong thư mục chủ; các tài liệu, email, file nhạc mp3, phim, ảnh,… vì vậy sao chép dự phòng vào thư mục chủ là những gì tôi sẽ tập trung giới thiệu trong bài viết này
Backup nguyên bản hay như người dùng bình thường?
Một nguyên tắc có thể nhận ra là thử và chạy nhiều lần không cần sử dụng tài khoản gốc Backup các file hệ thống như root và backup thư mục chủ tách biệt bằng việc sử dụng tài
Trang 3khoản người dùng thông thường Điều này làm cho nó trở nên dễ dàng hơn để khôi phục dữ liệu người dùng thông thường, dễ dàng truy cập hơn root
Cho phép backup partition đã cài đặt hay gỡ bỏ chúng sau mỗi backup?
Bạn nên cố gắng bảo đảm rằng backup partition được gỡ bỏ sau mỗi backup Điều này sẽ giúp ngăn chặn việc sửa đổi dữ liệu trong những tình huống mất điện đột ngột
Chỉ sử dụng đĩa backup cho việc backup Không nên lưu trữ dữ liệu thực trên nó Nếu đĩa backup bị hỏng thì bạn sẽ mất mọi thứ Nếu nó chỉ lưu các backup thì bạn có thể thực hiện thay thế và đưa nó vào dịch vụ một cách nhanh chóng Nếu nó cũng có dữ liệu thực trên đó thì dữ liệu đó sẽ bị mất hết
Sử dụng phần mềm backup nào?
Bài viết này tập trung vào rsync Với một số tính năng rất thông minh, những tính năng đó gồm:
Việc truyền bên trong giảm góc trễ cho nhiều file
Nếu một file được thay đổi, nó chỉ gửi những khác biệt trong file đến vị trí mới
Nó có thể được sử dụng trên một mạng; tôi đã sử dụng rsync với SSH để backup cho một máy tính kiểm tra của tôi tại nhà Máy tính kiểm tra này đôi khi bị tắt (do giá điện quá đắt; rất khó khăn để sử dụng máy tính này liên tục, nó được nối vào một UPS…) và vì vậy đôi khi một vài ngày sẽ thực hiện backup Kết nối USB luôn luôn là kết nối nhanh và tốt, vì vậy tôi chưa từng bị hỏng một backup nào
Bắt đầu với phần cứng
Tùy thuộc vào từng loại USB HDD mà bạn đã mua, hãy đọc tài liệu hướng dẫn cho bộ công
Trang 4cụ của bạn Trước khi bắt đầu, chạy tail -f /var/log/messages.log trong một đầu cuối tách biệt (như root) Điều này không thực sự cần thiết, chỉ là để minh chứng rằng hệ thống của bạn đã nhận ra ổ đĩa USB Các bước cơ bản này có thể liên quan đến một vài thứ như:
Kết nối ổ đĩa USB vào hệ thống
Nối cáp nguồn
Bật nguồn
Khi có đã có ổ đĩa được kết nối và cấp nguồn, bạn có thể thấy nó trong hệ thống của mình
Chạy tail sẽ hiển thị như phần dưới đây:
Apr 16 23:17:40 aquilonia usb 1-7: new high speed USB device using ehci_hcd and address 7 Apr 16 23:17:40 aquilonia usb 1-7: configuration #1 chosen from 1 choice
Apr 16 23:17:40 aquilonia scsi4 : SCSI emulation for USB Mass Storage devices
Apr 16 23:17:40 aquilonia scsi 4:0:0:0: Direct-Access SAMSUNG HD400LD WQ10 PQ: 0 ANSI: 0
Apr 16 23:17:40 aquilonia SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB) Apr 16 23:17:40 aquilonia sda: Write Protect is off
Apr 16 23:17:40 aquilonia SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB) Apr 16 23:17:40 aquilonia sda: Write Protect is off
Apr 16 23:17:40 aquilonia sda: sda1
Apr 16 23:17:40 aquilonia sd 4:0:0:0: Attached scsi disk sda
Chúng ta có thể thấy được ở đây ổ đĩa USB mới được thể hiện như SCSI device /dev/sda với partition /dev/sda1 đơn
Ctrl-C để đóng lệnh tail của bạn
Trang 5Partition hiển thị gần mới sẽ có thể là các file hệ thống FAT32 Nếu đồng ý với điều đó thì bạn có thể tạo một đầu vào trong /etc/fstab một vài dòng sau để truy cập nó:
# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1 /mnt/usb vfat user,noauto,rw 0 0
Những tùy chọn có ý nghĩa tương ứng với bất kỳ người dùng này có thể cài đặt các file hệ thống, nhưng chỉ có người dùng đã cài đặt các file hệ thống mới có thể gỡ bỏ nó, các file hệ thống sẽ không cài ở thời điểm khởi động (không tự động) và chúng được cài đặt cho phép truy cập đọc và ghi(rw)
Bạn có thể kiểm tra ổ cứng mới như một người dùng thông thường:
$ mount /mnt/usb
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 390610848 64 390610784 1% /mnt/usb
Các file hệ thống FAT32 mặc định phù hợp đang ở trong ổ cứng này sẵn sàng được sử dụng Nhược điểm ở đầy là:
Sự phân đoạn
Không có nhật ký khôi phục trong các trường hợp mất nguồn
Điều kiện bảo mật nghèo – các file FAT 32 tự động nằm trong file hệ thống
Tôi thích ReiserFS (Reiser 3) Tuy nhiên bạn hoàn toàn có thể xem xét khác với máy tính
Trang 6Windows, ở đây tôi không sử dụng Windows.Tiếp tục tôi sẽ vào Reiser 3 partition đơn Để thực hiện điều này, thứ cần đến trước tiên là sử dụng cfdisk để xóa partition cũ và tạo cái mới Bạn có thể cần đến truy cập root hoặc sudo cho vấn đề này (phụ thuộc vào cách hệ thống của bạn được cấu hình như thế nào)
# cfdisk /dev/sda
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
sda1 Primary W95 FAT32 400085.85
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition
FAT32 partition Hãy loại bỏ nó sau đó xem những gì còn lại Chọn [ Delete ] từ menu
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
Trang 7sda1 Primary W95 FAT32 400085.85
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
Delete the current partition
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
Pri/Log Free Space 400085.85
[ Help ] [ New ] [ Print ] [ Quit ] [ Units ]
[ Write ]
Print help screen
Đúng, không còn gì để lại Đây là thời điển tạo một partition mới Partition này sẽ là chính và tôi sẽ chỉ tạo một partition – toàn bộ đĩa này là backup Chọn [ New ], [Primary] để tạo một partition chính mới Chấp nhận kích thước mặc định đươc cung cấp, kích thước này sẽ là tất
cả dung lượng đĩa
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
Trang 8-
sda1 Primary Linux 400085.85
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition
Bây giờ viết một bảng partition mới cho đĩa
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
sda1 Primary Linux 400085.85
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
Write partition table to disk (this might destroy data)
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
Trang 9sda1 Primary Linux 400085.85
Are you sure you want to write the partition table to disk? (yes or no):
Warning!! This may destroy data on your disk!
Đánh Yes và nhấn Enter để tiếp tục
cfdisk 2.12r
Disk Drive: /dev/sda
Size: 400088457216 bytes, 400.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 48641
Name Flags Part Type FS Type [Label] Size (MB)
-
sda1 Primary Linux 400085.85
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
No primary partitions are marked bootable DOS MBR cannot boot this
Toggle bootable flag of the current partition
Còn bây giờ bạn có thể [ Quit ]
Để lắp thiết bị bảo vệ mới, tôi đã tạo một Linux partition chính đơn cho tất cả không gian đĩa của ổ USB
Tạo một filesystem mới
Để tạo một filesystem Sử dụng reiserfs, bạn có thể chọn ext3 hoặc bất cứ thứ gì bạn muốn
# /sbin/mkreiserfs /dev/sda1
Trang 10mkreiserfs 3.6.20
Copyright (C) 2001-2005 by Hans Reiser, licensing governed by reiserfsprogs/COPYING
A pair of credits:
Continuing core development of ReiserFS is mostly paid for by Hans Reiser from
money made selling licenses in addition to the GPL to companies who don't want
it known that they use ReiserFS as a foundation for their proprietary product
And my lawyer asked 'People pay you money for this?' Yup Life is good If you
buy ReiserFS, you can focus on your value add rather than reinventing an entire
FS
Vladimir Saveliev started as the most junior programmer on the team, and became
the lead programmer He is now an experienced highly productive programmer He
wrote the extent handling code for Reiser4, plus parts of the balancing code
and file write and file read
Guessing about desired format Kernel 2.6.20-ARCH is running
Format 3.6 with standard journal
Count of blocks on the device: 97677200
Number of blocks consumed by mkreiserfs formatting process: 11192
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
Trang 11UUID: 19cfe77a-8913-4aed-bc25-775b42c9ce88
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON '/dev/sda1'!
Continue (y/n):y
Initializing journal - 0% 20% 40% 60% 80% 100%
Syncing ok
Tell your friends to use a kernel based on 2.4.18 or later, and especially not a
kernel based on 2.4.9, when you use reiserFS Have fun
ReiserFS is successfully created on /dev/sda1
Do đây là ổ đĩa ngoài chỉ sử dụng cho backup nên chúng ta bỏ qua việc khởi động lại
Điểm cài đặt
Tôi sẽ tạo một điểm cài đặt mới có tên thích hợp hơn tại /mnt/backup:
# mkdir /mnt/backup
Bạn cần tạo một đầu vào trong /etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1 /mnt/backup reiserfs user,noauto,rw 0 0
Hãy cài đặt filesystem như một người dùng thông thường (chúng ta cần phải truy cập vào nó) Thoát khỏi tiện ích gốc
Trang 12$ mount /mnt/backup
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 373G 33M 373G 1% /mnt/backup
Cần phải nhớ rằng đây là Linux filesystem FAT32 có thoải mái đôi chút khi nói đến quyền
sở hữu của filesystem Chúng ta cần phải thay đổi quyền sở hữu của filesystem mới thành người dùng thông thường (chỉ cần thực hiện điều này một lần)
$ su -
# cd /mnt
# chown -R rob:rob backup
# exit
$ cd /mnt/backup
Bây giờ chi tiết về làm thế nào để dễ thực hiện với bạn Tôi thích tạo một thư mục được đặt tên cho host mà tôi đang backup (aquilonia trong ví dụ này), đây chỉ là một trường hợp tôi muốn backup nhiều hơn một host (có thể backup cho một laptop cũng như một desktop)
$ mkdir /mnt/backup/aquilonia
Running the backup (/home)
Cuối cùng chúng ta cần một số phần mềm để backup dữ liệu Như tôi đã đề cập trong phần trước, tôi đã sử dụng rsync Hãy cài đặt nó để sử dụng cho việc backup dữ liệu bước này
Trang 13Một trong những thứ mà tôi cảm thấy thú vị về rsync là khả năng sử dụng các danh sách gộp hay loại trừ Danh sách gộp vào cho phép bạn chỉ rõ chính xác những gì bạn muốn được backup, còn cái kia cho phép bạn chỉ rõ chính xác những gì bạn không muốn backup
Tôi thích danh sách loại trừ, bởi vì nếu tôi có quên thêm một file hoặc thư mục vào danh sách thì nó vẫn được backup Nếu sau đó không muốn thì tôi vẫn có thể bổ sung nó vào danh sách loại trừ và xóa ra khỏi kho trữ backup Nếu bạn quên không thêm một thành phần nào đó vào danh sách gộp, vấn đề đầu tiên là bạn phải tìm ra file đó khi bạn muốn khôi phục!
Lệnh sử dụng cho việc backup thư mục chủ của tôi (/home/rob) là:
$ rsync -vrlptg /home/rob /mnt/backup/aquilonia/home
exclude-from=/home/rob/.rsync/exclude
Sử dụng:
-v verbose output
-r recurse into directories
-l copy symlinks as symlinks
-p preserve permissions
-t preserve times
-g preserve group
/home/rob source: my home directory
/mnt/backup/aquilonia/home destination: the backup archive location
exclude-from= use an exclude list
/home/rob/.rsync/exclude read exclude patterns from this file
Định dạnh danh sách loại trừ