系統(tǒng)模板主機(jī)克隆說明
a 主機(jī)克隆準(zhǔn)備工作
虛擬主機(jī)網(wǎng)絡(luò)配置 添加了一塊內(nèi)網(wǎng)網(wǎng)卡
虛擬主機(jī)系統(tǒng)優(yōu)化
b 主機(jī)克隆過程說明
鏈接克隆: 利用模板機(jī)做為克隆主機(jī), 生成鏈接克隆主機(jī)
節(jié)省克隆之后的資源 占用少
克隆主機(jī)效率較高
克隆主機(jī) 依賴 模板主機(jī)
完整克隆: 利用模板機(jī)做為克隆主機(jī), 生成完整克隆主機(jī) 企業(yè)常用
浪費(fèi)克隆之后的資源 占用多
克隆主機(jī)效率較低
克隆主機(jī) 與 模板主機(jī)相互獨(dú)立
克隆后主機(jī)初始化腳本:
cat /server/scripts/init.sh
#!/bin/bash
Host_name=$1
Host_ip=$2
修改主機(jī)名稱
hostnamectl set-hostname $Host_name
修改網(wǎng)卡地址
sed -ri "s#200#$Host_ip#g;/UUID|HWADDR/d" /etc/sysconfig/network-scripts/ifcfg-eth[01]
重啟網(wǎng)絡(luò)服務(wù)
sleep 2
systemctl restart network
備份服務(wù)概念介紹
a 對(duì)網(wǎng)站服務(wù)器數(shù)據(jù)進(jìn)行備份存儲(chǔ) (恢復(fù)丟失數(shù)據(jù) 恢復(fù)誤修改數(shù)據(jù))
b 對(duì)網(wǎng)站服務(wù)器數(shù)據(jù)進(jìn)行對(duì)比分析
c 對(duì)網(wǎng)站服務(wù)器數(shù)據(jù)進(jìn)行統(tǒng)一管理 web服務(wù)集群 web日志文件
備份服務(wù)器應(yīng)該有幾臺(tái)合適:
同一機(jī)房要有多個(gè)備份服務(wù)器
不同機(jī)房要有多個(gè)備份服務(wù)器
不同地理位置有多個(gè)備份服務(wù)器
PS: 中石油備份數(shù)據(jù)架構(gòu)解決方案---兩地三中心
備份服務(wù)器備份數(shù)據(jù), 備份的是什么數(shù)據(jù)
1. 內(nèi)部人員產(chǎn)生數(shù)據(jù): 腳本文件 代碼信息 配置文件(ansible) 數(shù)據(jù)庫文件 日志文件 --- 定時(shí)任務(wù)備份
2. 外部人員產(chǎn)生數(shù)據(jù): 圖片信息 附件信息 視頻信息 --- 實(shí)時(shí)數(shù)據(jù)備份
備份服務(wù)實(shí)現(xiàn)備份數(shù)據(jù)方法
rsync軟件: a fast, versatile, remote (and local) file-copying tool
快速 多功能 遠(yuǎn)程(本地)文件備份工具
官網(wǎng): https://rsync.samba.org/
rsync軟件實(shí)現(xiàn)快速備份:
全量備份數(shù)據(jù): 將所有數(shù)據(jù)進(jìn)行完整備份傳輸 備份傳輸數(shù)據(jù)效率較低
增量備份數(shù)據(jù): 將變化數(shù)據(jù)進(jìn)行備份傳輸 備份傳輸數(shù)據(jù)效率較高
增量備份數(shù)據(jù)原理:
1. 比較數(shù)據(jù)屬性信息: oldboy_dir : oldboy.txt(修改) oldgirl.txt ----> 備份服務(wù)器: /backup oldboy.txt oldgirl.txt
默認(rèn)rsync增量傳輸數(shù)據(jù)利用屬性信息做比較
2. 比較數(shù)據(jù)指紋信息: oldboy_dir : oldboy.t xt(cba) oldgirl.txt(abcd) ----> 備份服務(wù)器: oldboy.txt(abc) oldgirl.txt(abcd)
使用rsync -c (-c, --checksum skip based on checksum, not mod-time & size) 基于指紋信息判斷文件的變化
rsync軟件使用方式:
方式一: 利用rsync軟件是本地備份
Local: rsync [OPTION...] SRC... [DEST]
[root@backup ~]# cp /etc/hosts /tmp/
[root@backup ~]# rsync /etc/hosts /tmp/hosts.bak
[root@backup ~]# ll /tmp/hosts*
-rw-r--r-- 1 root root 337 8月 12 17:09 /tmp/hosts
-rw-r--r-- 1 root root 337 8月 12 17:09 /tmp/hosts.bak
方式二: 利用rsync軟件實(shí)現(xiàn)遠(yuǎn)程備份
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
[USER@] --- 登錄遠(yuǎn)程主機(jī)用戶信息 默認(rèn)不指定用戶使用當(dāng)前登錄系統(tǒng)用戶進(jìn)行連接
HOST --- 遠(yuǎn)程主機(jī)IP地址信息或者主機(jī)名稱信息
SRC --- 遠(yuǎn)程主機(jī)上要備份傳輸?shù)奖镜刂鳈C(jī)數(shù)據(jù)信息
DEST --- 將數(shù)據(jù)保存本地主機(jī)路徑信息
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
[USER@] --- 登錄遠(yuǎn)程主機(jī)用戶信息 默認(rèn)不指定用戶使用當(dāng)前登錄系統(tǒng)用戶進(jìn)行連接
HOST --- 遠(yuǎn)程主機(jī)IP地址信息或者主機(jī)名稱信息
SRC --- 本地主機(jī)上要備份傳輸?shù)竭h(yuǎn)程主機(jī)數(shù)據(jù)信息
DEST --- 將數(shù)據(jù)保存遠(yuǎn)程主機(jī)路徑信息
遠(yuǎn)程備份文件: 本地?cái)?shù)據(jù) ---> 遠(yuǎn)程主機(jī)
scp /etc/hosts 172.16.1.31:/tmp
rsync /etc/hosts 172.16.1.31:/tmp
遠(yuǎn)程備份目錄: 本地?cái)?shù)據(jù) ---> 遠(yuǎn)程主機(jī)
scp -rp /oldboy 172.16.1.31:/tmp/
rsync -vrp /oldboy 172.16.1.31:/tmp/ ??? 全量備份數(shù)據(jù)
rsync -vrp /oldboy 172.16.1.31:/tmp/ ??? 全量備份數(shù)據(jù)
============================================================================
rsync傳輸目錄說明:
傳輸目錄后面有斜線 /oldboy/ 表示將目錄下面的數(shù)據(jù)內(nèi)容進(jìn)行傳輸備份
傳輸目錄后面無斜線 /oldboy 表示將目錄本身以及下面的數(shù)據(jù)內(nèi)容都進(jìn)行傳輸備份
============================================================================
問題一: 如何免交互備份數(shù)據(jù)信息
問題二: 如何實(shí)現(xiàn)增量備份數(shù)據(jù)
問題三: 如何限制進(jìn)行傳輸連接數(shù)
問題四: 如何實(shí)現(xiàn)認(rèn)證備份數(shù)據(jù)
開發(fā)人員 100人 dev 認(rèn)證用戶備份數(shù)據(jù) /backup/dev
運(yùn)維人員 50人 sa 認(rèn)證用戶備份數(shù)據(jù) /backup/sa
數(shù)據(jù)庫 10人 dba 認(rèn)證用戶備份數(shù)據(jù) /backup/dba
采用rsync守護(hù)進(jìn)程方式實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程備份:
Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
SRC: 本地主機(jī)上要備份推送數(shù)據(jù)信息
[USER@] 備份服務(wù)認(rèn)證用戶信息
HOST:: 備份服務(wù)器IP地址信息或者主機(jī)名稱信息
DEST 備份服務(wù)器模塊名稱信息
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
rsync守護(hù)進(jìn)程方式部署流程:
服務(wù)端部署過程:
第一個(gè)里程: 確認(rèn)軟件是否安裝/安裝軟件程序
rpm -qa rsync
yum install -y rsync
第二個(gè)里程: 編寫配置文件 (考試題)
vi /etc/rsyncd.conf --- 學(xué)習(xí)配置 man rsyncd.conf
uid = rsync --- 管理備份目錄的屬主信息
gid = rsync --- 管理備份目錄的屬組信息
port = 873 --- 指定rsync守護(hù)進(jìn)程服務(wù)端口信息 默認(rèn)端口為 873
#fake super = yes --- ???
use chroot = no --- 和遠(yuǎn)程傳輸安全有關(guān)參數(shù)
max connections = 200 --- 設(shè)置最大連接數(shù) 上廁所
timeout = 300 --- 連接超時(shí)時(shí)間(默認(rèn)秒) 沒有數(shù)據(jù)傳輸?shù)臅r(shí)間
pid file = /var/run/rsyncd.pid --- 記錄服務(wù)進(jìn)程號(hào)碼文件==pid文件 掌握
判斷服務(wù)是否開啟或關(guān)閉 --- shell
lock file = /var/run/rsync.lock --- 當(dāng)max connection達(dá)到上限, 利用鎖文件阻止新的連接建立
log file = /var/log/rsyncd.log --- 程序日志文件(排錯(cuò))
ignore errors --- 忽略錯(cuò)誤信息 提升傳輸數(shù)據(jù)效率
read only = false --- 設(shè)置備份目錄權(quán)限為可讀可寫
list = false --- ???
hosts allow = 172.16.1.0/24 --- 設(shè)置訪問策略 白名單
hosts deny = 0.0.0.0/32 --- 設(shè)置訪問策略 黑名單
auth users = rsync_backup --- 認(rèn)證用戶信息
secrets file = /etc/rsync.password --- 認(rèn)證用戶密碼文件 用戶信息:密碼信息
[backup] --- 模塊信息 ???
comment = "backup dir by oldboy" --- 模塊注釋說明信息
path = /backup/ --- 指定備份目錄
實(shí)際配置信息:
uid = rsync
gid = rsync
port = 873
#fake super = yes
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
第三個(gè)里程: 創(chuàng)建rsync服務(wù)虛擬用戶
useradd -M -s /sbin/nologin rsync
第四個(gè)里程: 創(chuàng)建密碼文件 修改文件權(quán)限
echo rsync_backup:oldboy123 >/etc/rsync.password
echo oldboy:oldboy123 >>/etc/rsync.password --- 密碼文件中添加多個(gè)認(rèn)證用戶
chmod 600 /etc/rsync.password
第五個(gè)里程: 創(chuàng)建備份目錄 修改目錄屬主屬組信息
mkdir /backup
chown rsync.rsync /backup
第六個(gè)里程: 啟動(dòng)或重啟服務(wù)
systemctl start rsyncd
systemctl restart rsyncd
systemctl enable rsyncd
客戶端部署過程:
第一個(gè)里程: 測(cè)試服務(wù)端部署過程
rsync -avz /oldboy rsync_backup@172.16.1.41::backup