Trang chủ Sys-Ops

Tìm hiểu về thiết bị Tape, Backup & Recovery Data File

Tìm hiểu về thiết bị Tape, Backup & Recovery Data File

Thiết bị Tape

Các thành phần của thiết bị Tape

Một thiết bị Tape thường bao gồm các thành phần sau:

- Ổ Tape Model: Quantum TC-L42AN ((LTO-4))

- Card SCSI sử dụng chuẩn cắm PCI x

- Cable SAS

- Driver Tape: Quantum Ultrium 4 - 800/1600GB

- Driver Tape Lau đầu đọc.

- Server Centos 6.6

Thông số kỹ thuật của thiết bị Tape

- Driver Tape: Quantum Ultrium 4 - 800/1600GB: Đây là phiên bản Basic cho phép nhận và quản lý Tape dung lượng 800GB.

- Quantum TC-L42AN ((LTO-4))

o Giao diện kết nối: Port SAS kết nối với server qua Card LSI PCI express SAS HBA 3Gb/s. Card này cho phép kết nối tối đa 4 Driver Tape.

o Tốc độ max: 120M/s. Nén data vào driver tape khoảng 576Gib/hr.

o Đọc /ghi tuần tự. Cho phép kết nối với các phần mềm backup ( Amandabackup..)

o Nhận diện được cả trên OS: Linux và Window.

Cách config Tape Driver trên Linux

Để server Linux có thể nhận diện được thiết bị Tape, ta phải cài đặt driver.

Bước 1: Khi kết nối xong phần cứng ta kiểm tra xem server đã nhận diện được card và tape driver chưa:

[root@server57 ~]#cat /proc/scsi/scsi

# Attached devices :

Host: scsi0 Channel: 00 Id: 00 Lun: 00

Vendor: ATA Model: WDC WD5000AAKX-0 Rev: 15.0

Type: Direct-Access ANSI SCSI revision: 05

Host: scsi4 Channel: 00 Id: 00 Lun: 00

Vendor: ATA Model: WDC WD2502ABYS-1 Rev: 3B05

Type: Direct-Access ANSI SCSI revision: 05

Host: scsi4 Channel: 00 Id: 01 Lun: 00

Vendor: QUANTUM Model: ULTRIUM 4 Rev: 2104

Type: Sequential-Access ANSI SCSI revision: 04

Hoặc dùng lệnh:

[root@server57 ~]#dmesg | grep -i "scsi"

scsi 0:0:0:0: Direct-Access ATA WDC WD5000AAKX-0 15.0 PQ: 0 ANSI: 5

scsi4 : ioc0: LSISAS1064E B3, FwRev=01170200h, Ports=1, MaxQ=286, IRQ=16

scsi 4:0:0:0: Direct-Access ATA WDC WD2502ABYS-1 3B05 PQ: 0 ANSI: 5

scsi 4:0:1:0: Sequential-Access QUANTUM ULTRIUM 4 2104 PQ: 0 ANSI: 4

Bước 2: Cài đặt phần mềm driver tape manager:

# yum install mt-st mtx

Lúc này tape trên server sẽ nhận là:

o /dev/st0 # Chế độ rewind

o /dev/nst0 # Chế độ no-rewind

Bước 3: Kiểm tra thông tin Tape Driver.

# mt -f /dev/st0 status

SCSI 2 tape drive:

File number=0, block number=0, partition=0.

Tape block size 512 bytes. Density code 0x46 (LTO-4).

Soft error count since last status=0

General status bits on (41010000):

BOT ONLINE IM_REP_EN

Lưu ý:

- File number=0:Số lượng file hiện tại

- block number=0:Số lượng khối trên tape

- Tape block size 512 bytes: Kích thước cho từng khối

- Density code 0x46 (LTO-4): Mã mật độ chỉ ra số lượng dữ liệu có thể phù hợp trên Tape.

- Soft error count since last status=0: Bộ đếm số lượng lỗi nếu xảy ra trên Tape

- General status bits on (41010000):Bit trạng thái chung của Tape

- BOT ONLINE IM_REP_EN : BOT: là đầu băng, ONLINE là trạng thái sẵn sằng đọc/ghi data.

Một số chú ý cần biết:

- Block number có thể tạo tùy ý.

- Kích thước cho từ block cũng có thể điều chỉnh.

- DR_OPEN IM_REP_EN: Trạng thái này là Tape Driver đang nhả băng ra khỏi khay.

Hoặc có thể kiểm tra bằng cách chi tiết hơn:

[root@server57 ~]#tapeinfo -f /dev/st0

Product Type: Tape Drive:

Vendor ID: 'QUANTUM '

Product ID: 'ULTRIUM 4

Revision: '2104'

Attached Changer API: No

SerialNumber: 'PW0810AMJ50016'

MinBlock: 1

MaxBlock: 16777215

SCSI ID: 1

SCSI LUN: 0

SCSI LUN: 0

BufferedMode: yes

Medium Type: Not Loaded

Density Code: 0x46

Density Code: 0x46

DataCompEnabled: yes

DataCompEnabled: yes

DataDeCompEnabled: yes

CompType: 0x1

DeCompType: 0x1

BOP: yes

Block Position: 0

Partition 0 Remaining Kbytes: 853056

Partition 0 Size in Kbytes: 853060

ActivePartition: 0

ActivePartition: 0

Như vậy là ta đã cài đặt xong Driver , server đã nhận Tape Driver sẵng sàng sử dụng.

Backup & Recovery Data File

Backup File data

Bước 1: Xác định thư mục cần backup.

Bước 2: Tua lại băng từ về blook 0

root@server57 ~]# mt -f /dev/st0 rewind

Bước 3: Khóa băng từ lại tránh trường hợp một người nào đó mở ổ đĩa khi đang backup.

root@server57 ~]# mt -f /dev/st0 lock

Bước 4: Backup thư mục chứa file – Sử dụng câu lệnh tar (z – compressed):

root@server57 ~]# tar -cvzf /dev/st0 /backup

Lưu ý:

- f /dev/st0 : Tape device name

- v : verbosely list files processed

- l : list the contents of an archive

- M : create/list/extract multi-volume archive (multiple tapes).

- p : ignore umask when extracting files

- x : extract files from an archive

- d : find differences between archive and file system.

Trong trường hợp muốn backup nhiều thư mục, ta có thể thực hiện theo lệnh dưới.

root@server57 ~]# tar -cvzf /dev/st0 /backup /home

Bước 5: Sau khi backup xong ta kiểm tra lại xem file đã được backup vào chưa:

root@server57 ~]# tar -tzf /dev/st0

backup/

backup/tapefix.tar

backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

backup/backup/

home/

home/test/

home/lost found/

Ví dụ: Ở đây mình back up 2 thư mục /backup và /home

Như vậy là mình đã backup xong dữ liệu vào tape driver, việc tiếp theo bây giờ là lấy Tape ra và cất đi.

Bước 6: Khi đã kiểm tra xong các thông tin ta unlook và lấy băng ra khỏi ổ.

Bỏ khóa ở Bước 2.

root@server57 ~]# mt -f /dev/st0 unlock #

Lấy đĩa ra khỏi ổ

root@server57 ~]# mt -f /dev/st0 eject #

Hoặc

root@server57 ~]# mt -f /dev/st0 offline #

Recovery File Data

Bước 1: Xác định vị trí cần Recovery file data ra. Ví dụ ở đây recovery ra /.

root@server57 ~]# cd /

root@server57 ~]# mt -f /dev/st0 rewind

root@server57 ~]# tar -xzf /dev/st0 /backup

Bước 2: Kiểm tra lại dữ liệu đã recovery /

Nếu cần phải xóa trắng dữ liệu trên tape driver đi thì dùng lệnh sau:

root@server57 ~]# mt -f /dev/st0 erase

Bạn cần lưu ý rằng việc erese sẽ mất khoảng 2 – 3 tiếng.

Áp dụng trên server có nhiều Tape Driver

Trường hợp trên server có nhiều Tape Drive thì ta làm như sau:

root@server57 ~]# tar -clpMzvf /dev/st0 /backup

So sánh dữ liệu trên các Tape Driver.

root@server57 ~]# tar -dlpMzvf /dev/st0 /backup

Khôi phục dữ liệu.

root@server57 ~]# tar -xlpMzvf /dev/st0 /backup

Tạo Script chạy backup tự động

Tạo file: backuptape.sh

#!/bin/bash

TAPE=/dev/st0

echo "Start Time: `date '%Y-%m-%d %T'`"

mt -f $TAPE defcompression 1

mt -f $TAPE rewind

cd /backup

tar -cvzf /dev/st0 /backup

echo "Start writing Tape:`date '%Y-%m-%d %T'`."

echo "Stop writing Tape:`date '%Y-%m-%d %T'`"

mt -f $TAPE eject

echo "Backup finished: `date '%Y-%m-%d %T'`"

Kết quả sau khi chạy Script backuptape.sh

Start Time: 2015-09-25 15:13:54

TAPE=/dev/st0

/backup

/backup/tapefix.ta

cd /backup

/backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

/backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

/backup/backup/

Start writing Tape:2015-09-25 15:14:06

Stop writing Tape:2015-09-25 15:14:06

Backup finished: 2015-09-25 15:14:06

Lưu ý: với file Script này ta có thể đặt lịch chạy backup và thông tin sẽ được gửi vào mail sau khi backup hoàn thành.

Hướng dẫn cách ghi dữ liệu tuần tự trên Tape Driver

Ở phần này mình sẽ hướng dẫn cách ghi dữ liệu tuần tự lên Tape Driver cụ thể như:

Ngày 1: Ghi file 1, có dung lượng 1x

Ngày 2: Ghi file 2, có dung lượng 2x

Ngày 3: Ghi file 3, có dung lượng 3x

Ngày (n): Ghi file n, có dung lượng Nx

Như hướng dẫn ở phần trước, dữ liệu của Ngày 1, 2, 3 sẽ bị mất, thay vào đó là dữ liệu của ngày (n). Dẫn đến tình trạng:

- Độ an toàn dữ liệu trên Tape không cao.

- Mất nhiều thời gian để ghi lại dữ liệu.

- Lãng phí dung lượng Tape ( 800Gb) trong khi file chỉ có 20 – 30Gb.

Vậy vấn đề đặt ra đó là:

- Ghi dữ liệu tuần tự, sử dụng được hết dụng lượng cảu Tape

- Dữ liệu có độ an toàn cao.

- Đọc lại dữ liệu dễ dàng.

- ….

Ảnh 22.

Trên Tape Driver ta config non-rewind để băng từ không tua lại.

Dữ liệu các ngày sẽ lưu thành file riêng biệt ( Như ở hình trên).

Ngày 1: Băt đầu ghi dữ liệu /backup. Ta sẽ rewind tape về đầu "=0"

Note: Lưu ý sử dụng /dev/nst0 # nst0 là chố độ ghi dữ liệu không tua lại băng. ( non-rewind)

root@server57 ~]# mt –f /dev/nst0 rewind

root@server57 ~]# mt –f /dev/nst0 status

File number=0, block number=0, partition=0.

Tape block size 512 bytes. Density code 0x46 (LTO-4).

Soft error count since last status=0

General status bits on (41010000):

BOT ONLINE IM_REP_EN

root@server57 ~]# tar –czf /dev/nst0 /backup # Ghi thư mục /backup vào tape vị trí file 1.

root@server57 ~]# tar -tzf /dev/nst0 # Kiểm tra lại xem đã có dữ liệu chưa.

backup/

backup/tapefix.tar

backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

backup/backup/

Ngày 2: Băt đầu ghi dữ liệu /home. Ta sẽ đưa tape về cuối "File number=1".

root@server57 ~]# mt -f /dev/nst0 eod # Chuyển đến vị trí cuối cùng.

root@server57 ~]# mt –f /dev/nst0 status

File number=1, block number=0, partition=0.

Tape block size 512 bytes. Density code 0x46 (LTO-4).

Soft error count since last status=0

General status bits on (81010000):

EOF ONLINE IM_REP_EN

root@server57 ~]# tar –czf /dev/nst0 /home # Ghi thư mục /backup vào tape vị trí file 2.

root@server57 ~]# tar -tzf /dev/nst0 # Kiểm tra lại xem đã có dữ liệu chưa.

backup/

backup/tapefix.tar

backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

backup/backup/

home/

home/lost found/

Như vậy thư mục /Home đã được ghi vào Tape, bên cạnh đó ta vẫn giữ được file /backup.

Ngày 3: Băt đầu ghi dữ liệu /test. Ta sẽ đưa tape về cuối "File number=2"

root@server57 ~]# mt -f /dev/nst0 eod # Chuyển đến vị trí cuối cùng.

root@server57 ~]# mt –f /dev/nst0 status

File number=2, block number=0, partition=0.

Tape block size 512 bytes. Density code 0x46 (LTO-4).

Soft error count since last status=0

General status bits on (81010000):

EOF ONLINE IM_REP_EN

root@server57 ~]# tar –czf /dev/nst0 /test # Ghi thư mục /backup vào tape vị trí file 3.

root@server57 ~]# tar -tzf /dev/nst0 # Kiểm tra lại xem đã có dữ liệu chưa.

backup/

backup/tapefix.tar

backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

backup/backup/

home/

home/lost found/

test/

test/test.sh

Như vậy thư mục /test đã được ghi vào Tape Driver mà các dữ liệu trước đó vẫn còn nguyên.

Trường hợp nếu muốn ghi thêm dữ liệu vào /backup thì ta chỉ cần chuyển Tape về đúng vị trí file /backup và thực hiện ghi thêm dữ liệu bình thường.

root@server57 ~]# mt -f /dev/nst0 fsf 1

root@server57 ~]# mt –f /dev/nst0 status

File number=0, block number=0, partition=0.

Tape block size 512 bytes. Density code 0x46 (LTO-4).

Soft error count since last status=0

General status bits on (81010000):

BOT ONLINE IM_REP_EN

root@server57 ~]# tar –czf /dev/nst0 /backup # Ghi thư mục /backup vào tape vị trí file 3.

root@server57 ~]# tar -tzf /dev/nst0 # Kiểm tra lại xem đã có dữ liệu chưa.

backup/

backup/tapefix.tar

backup/amanda-backup_client-3.3.2-1.rhel6.x86_64.rpm

backup/amanda-backup_server-3.3.2-1.rhel6.x86_64.rpm

backup/backup/

backup/thanhpv/

backup/thanhpv/nst0.sh

home/

home/lost found/

test/

test/test.sh

Đây là cách ghi dữ liệu tuần tự không làm ảnh hưởng đến dữ liệu đang có hiện tại, và còn sử dụng được hết dung lượng của Tape Driver.

>> Tham khảo thêm: Sở hữu một Mail Server riêng mang lại lợi ích gì?