本章同步視頻:https://edu.51cto.com/sd/e4874服務器
XFS提供了 xfsdump 和 xfsrestore 工具協助備份XFS文件系統中的數據。XFS不須要在備份前被卸載;對使用中的XFS文件系統作備份就能夠保證鏡像的一致性。XFS的備份和恢復的過程是能夠被中斷而後繼續的,無須凍結文件系統。xfsdump 甚至提供了高性能的多線程備份操做——它把一次dump拆分紅多個數據流,每一個數據流能夠被髮往不一樣的目的地。session
徹底備份是指把全部須要備份的數據所有備份。徹底備份能夠備份整塊硬盤、整個分區或某個具體的目錄。dom
徹底備份的好處是,全部數據都進行了備份,系統中任何數據丟失都能恢復,且恢復效率較高。ide
徹底備份的缺點也很明顯,那就是須要備份的數據量較大,備份時間較長,備份了不少無用數據,佔用的空間較大,因此徹底備份不可能天天執行。工具
累計增量備份是指先進行一次徹底備份,服務器運行一段時間以後,比較當前系統和徹底備份的備份數據之間的差別,只備份有差別的數據。服務器繼續運行,再通過一段時間,進行第二次增量備份。在進行第二次增量備份時,當前系統和第一次增量備份的數據進行比較,也是隻備份有差別的數據。第三次增量備份是和第二次增量備份的數據進行比較,以此類推。this
採用累計增量備份的好處是,每次備份須要備份的數據較少,耗時較短,佔用的空間較小;壞處是數據恢復比較麻煩,那麼當進行數據恢復時,就要先恢復徹底備份的數據,再依次恢復第一次增量備份的數據、第二次增量備份的數據和第三次增量備份的數據,最終才能恢復全部的數據。spa
差別備份也要先進行一次徹底備份,可是和累計增量備份不一樣的是,每次差別備份都備份和原始的徹底備份不一樣的數據。也就是說,差別備份每次備份的參照物都是原始的徹底備份,而不是上一次的差別備份。
相比較而言,差別備份既不像徹底備份同樣把全部數據都進行備份,也不像增量備份在進行數據恢復時那麼麻煩,只要先恢復徹底備份的數據,再恢復差別備份的數據便可。不過,隨着時間的增長,和徹底備份相比,變更的數據愈來愈多,那麼差別備份也可能會變得數據量龐大、備份速度緩慢、佔用空間較大。
u xfsdump不支援沒有掛載的文件系統備份!因此只能備份已掛載的!
u xfsdump必須使用 root 的權限才能操做 (涉及文件系統的關係)
u xfsdump備份下來的數據 (檔案或儲存媒體) 只能讓xfsrestore解析
u xfsdump是透過文件系統的 UUID 來分辨各個備份檔的,所以不能備份兩個具備相同 UUID 的文件系統喔!
2.xfsdump - XFS filesystem incremental dump utility
[root@study ~]# xfsdump [-L S_label] [-M M_label] [-l #] [-f 備份檔] 待備份資料
-L :xfsdump會紀錄每次備份的 session 標頭,這裏能夠填寫針對此文件系統的簡易說明
-M :xfsdump能夠紀錄儲存媒體的標頭,這裏能夠填寫此媒體的簡易說明
-l :是 L 的小寫,就是指定等級~有 0~9 共 10 個等級喔! (預設爲 0,即完整備份)
-f :有點相似 tar 啦!後面接產生的檔案,亦可接例如 /dev/st0 裝置文件名或其餘通常檔案檔名等
-I :從 /var/lib/xfsdump/inventory 列出目前備份的信息狀態
使用fdisk劃分一個分區sda3,並格式化爲xfs。(此部分操做省略)
[root@localhost mnt]# mount /dev/sda3 /mnt/sda3/ #掛載
[root@localhost mnt]# df -h /dev/sda3 #查看掛載狀況,可省略
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 197M 11M 187M 6% /mnt/sda3
[root@localhost mnt]# blkid /dev/sda3 #查看分區信息,可省略
/dev/sda3: UUID="f598c75c-bd26-4543-af2f-8192841c4c8b" TYPE="xfs"
[root@localhost mnt]# touch /mnt/sda3/1.txt
[root@localhost mnt]# xfsdump -l 0 -f /tmp/sda3 /dev/sda3
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.3 (dump format 3.0) - type ^C for status and control
=============== dump label dialog =================
please enter label for this dump session (timeout in 300 sec)
session label entered: "dump_sda3_20200331"
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of localhost.localdomain:/mnt/sda3
xfsdump: dump date: Tue Mar 31 20:30:53 2020
xfsdump: session id: 0dab0e83-90fb-4fef-88db-974bd0e5a2f3
xfsdump: session label: "dump_sda3_20200331"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 21120 bytes
xfsdump: /var/lib/xfsdump/inventory created
=============== media label dialog =================
please enter label for media in drive 0 (timeout in 300 sec)
--------------------------------- end dialog ---------------------------------
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping non-directory files
xfsdump: media file size 21656 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 33 seconds elapsed
xfsdump: stream 0 /tmp/sda3 OK (success)
[root@localhost mnt]# ls /tmp/
#上面的備份命令須要交互,下面的命令無交互,經常使用於腳本。
[root@localhost mnt]# xfsdump -l 0 -L dump_sda3_20200331 -M sda3 -f /tmp/sda3 /dev/sda3
[root@localhost mnt]# xfsdump -I #
fs id: f598c75c-bd26-4543-af2f-8192841c4c8b
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:42:51 2020
session label: "dump_sda3_20200331"
session id: b2315293-f79f-43b2-9276-157268eea187
media id: 23a27bd0-e47b-4bee-9005-d530e6303f63
[root@localhost mnt]# ls sda3/
[root@localhost mnt]# touch sda3/2.txt
[root@localhost mnt]# ls sda3/
[root@localhost mnt]# xfsdump -l 1 -L dump_sda3_20200331-1 -M sda3 -f /tmp/sda3-1 /dev/sda3
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.3 (dump format 3.0) - type ^C for status and control
xfsdump: level 1 incremental dump of localhost.localdomain:/mnt/sda3 based on level 0 dump begun Tue Mar 31 20:42:51 2020
xfsdump: dump date: Tue Mar 31 20:47:58 2020
xfsdump: session id: 989e4ade-b8c3-40be-9714-10c648f6b46c
xfsdump: session label: "dump_sda3_20200331-1"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 21120 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping non-directory files
xfsdump: media file size 21680 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: stream 0 /tmp/sda3-1 OK (success)
[root@localhost mnt]# xfsdump -I
fs id: f598c75c-bd26-4543-af2f-8192841c4c8b
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:42:51 2020
session label: "dump_sda3_20200331"
session id: b2315293-f79f-43b2-9276-157268eea187
media id: 23a27bd0-e47b-4bee-9005-d530e6303f63
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:47:58 2020
session label: "dump_sda3_20200331-1"
session id: 989e4ade-b8c3-40be-9714-10c648f6b46c
media id: 42121b62-abf0-4e26-98f1-48d50f01b633
[root@localhost mnt]# touch sda3/{3,4,5,6}.txt
[root@localhost mnt]# ls sda3/
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt
[root@localhost mnt]# xfsdump -l 2 -L dump_sda3_20200331-2 -M sda3 -f /tmp/sda3-2 /dev/sda3
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.3 (dump format 3.0) - type ^C for status and control
xfsdump: level 2 incremental dump of localhost.localdomain:/mnt/sda3 based on level 1 dump begun Tue Mar 31 20:47:58 2020
xfsdump: dump date: Tue Mar 31 20:56:34 2020
xfsdump: session id: 1a6e946b-fd0e-4e70-bb00-b82c04291de7
xfsdump: session label: "dump_sda3_20200331-2"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 22080 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping non-directory files
xfsdump: media file size 23624 bytes
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: dump complete: 0 seconds elapsed
xfsdump: stream 0 /tmp/sda3-2 OK (success)
[root@localhost mnt]# xfsdump -I
fs id: f598c75c-bd26-4543-af2f-8192841c4c8b
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:42:51 2020
session label: "dump_sda3_20200331"
session id: b2315293-f79f-43b2-9276-157268eea187
media id: 23a27bd0-e47b-4bee-9005-d530e6303f63
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:47:58 2020
session label: "dump_sda3_20200331-1"
session id: 989e4ade-b8c3-40be-9714-10c648f6b46c
media id: 42121b62-abf0-4e26-98f1-48d50f01b633
mount point: localhost.localdomain:/mnt/sda3
device: localhost.localdomain:/dev/sda3
time: Tue Mar 31 20:56:34 2020
session label: "dump_sda3_20200331-2"
session id: 1a6e946b-fd0e-4e70-bb00-b82c04291de7
media id: f410ea13-eada-4566-87c8-844b1a939ce1
xfsdump: Dump Status: SUCCESS