老男孩教育32期-08-09次上機測試題

來源:互聯網
上載者:User

標籤:lm


第1章 50台叢集伺服器全網備份解決方案1.1基本備份要求

已知3台伺服器主機名稱分別為A(web01)、B(backup) 、C(nfs01)

   要求:每天晚上00 點整在Web伺服器A上打包備份系統設定檔、網站程式目錄及訪

問日誌並通過rsync命令推送備份伺服器B上備份保留(備份思路可以是先在本地按日期

打包,然後再推到備份伺服器B上)。

具體要求如下:

1)Web伺服器A和備份伺服器 B的備份目錄必須都為/backup。

2)要備份的系統設定檔包括但不限於:

  a.定時任務服務的設定檔(/var/spool/cron/root).

  b.開機自啟動的設定檔(/etc/rc.local)。

  c.日常指令碼的目錄  (/server/scripts)。

  d.防火牆iptables的設定檔(/etc/sysconfig/iptables)。

  e.自己思考下還有什麼需要備份呢?

3)Web 伺服器網站目錄假定為(/var/html/www)。

4)Web伺服器A訪問日誌路徑假定為(/app/logs)

5)Web伺服器保留打包後的7天的備份資料即可(本地留存不能多於7天,因為太多硬碟會滿)

6)備份伺服器B 上,保留每周一的所有資料副本,其它要保留 6個月的資料副本。

7)備份伺服器B上要按照備份資料服務器的IP為目錄儲存備份,備份的檔案按照時間名字儲存

===========================================================================================1.1.1準備環境:

1.1.1.1 #服務端環境: 

rpm -qa rsync

yum install rsync -y

useradd -s /sbin/nologin -M rsync

id rsync

vim /etc/rsyncd.conf

echo "rsync_backup:oldboy">/etc/rsync.password

chmod 600 /etc/rsync.password

mkdir /backup -p

chown -R rsync.rsync /backup

rsync --daemon

ps -ef|grep rsync|grep -v grep 

1.1.1.2 #用戶端環境:

echo "oldboy" >/etc/rsync.password

chmod 600 /etc/rsync.password

mkdir /backup -p

==================================用戶端推送指令碼===========================================

#!/bin/sh

 

ip=$(ifconfig eth0|awk -F "[: ]+"‘NR==2{print $4}‘)

path="/backup"

[ ! -d ${path}/$ip ] && mkdir -p${path}/$ip &> /dev/null

DATE=`date +%u -d "-1day"`

 

if [ $DATE -eq 1 ];then

  DATE=${DATE}_MON

fi

 

#tar

cd / && \

tar zcf /$path/$ip/conf_${DATE}.tar.gzvar/spool/cron/root etc/rc.local server/scripts etc/sysconfig/iptables&&\

tar zcf /$path/$ip/www_${DATE}.tar.gzvar/html/www && \

tar zcf /$path/$ip/logs_${DATE}.tar.gzapp/logs && \

 

#md5sum

find $path -type f -name"*.tar.gz"|xargs md5sum >/$path/$ip/bak_${DATE}.flag

 

#rsync

rsync -az /$path/[email protected]::backup --password-file=/etc/rsync.password

 

#delete

find $path/$ip -type f -mtime +7|xargs rm-f

 

=====================================服務端指令碼============================================

#!/bin/sh

 

ip=$(ifconfig eth1|awk -F "[: ]+"‘NR==2{print $4}‘)

path="/backup"

[ ! -d ${path}/$ip ] && mkdir -p${path}/$ip &> /dev/null

DATE=`date +%u -d "-1day"`

 

if [ $DATE -eq 1 ];then

  DATE=${DATE}_MON

fi

 

find /backup/ -type f -name"bak_*.flag"|xargs md5sum -c >/$path/$ip/mail.${DATE}.log

mail -s "backup web_${DATE}-lm"[email protected] <$path/$ip/mail.${DATE}.log

find $path -type f ! -name"*MON*" -mtime +180|xargs rm -f

 

第2章 網站集合群後端NFS共用儲存搭建及最佳化解決方案

1、配置 NFS 服務:

要求:

1)在NFS服務端C(nfs01)上共用/data/w_shared及/data/r_shared兩個檔案目錄,允許從NFS用戶端A(web01)、B(backup)上分別掛載共用目錄後可實現從A(web01)、B(backup)上唯讀/data/r_shared,可寫/data/w_shared。

2)NFS用戶端A(web01)上的掛載點為/data/b_w(寫),/data/b_r(讀),NFS用戶端B(backup)上的掛載點為/data/w_你的名字英文(寫)  ,/data/r_你名字英文(讀)。

3)從NFS用戶端B(backup)上的NFS可寫掛載點目錄建立任意檔案,從NFS用戶端A(web01)上可以刪除這個建立的檔案,反之也可以。

4)問答題:如何最佳化NFS 服務

  • 硬體:sas/ssd磁碟,買多塊,硬體raid,指定raid5或raid10.網卡輸送量要大,至少千兆(多塊bond)

  • NFS伺服器端配置:/data 10.0.0.0/24(rw,sync,all_squash,anonuid=65534,anongid=65534)

  • NFS用戶端掛載最佳化配置命令:

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,rsize=131072,wsize=13107210.0.0.31:/data/ /mnt   ←兼顧安全效能

  • 對NFS 服務的所有伺服器核心進行最佳化時,執行如下命令:

cat >>/etc/sysctl.conf<<EOF

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

EOF

sysctl -p

  • 如果卸載的時候提示“umount: /mnt: device is busy”,需要退出掛載目錄再進行卸載,如果是NFS Server宕機了,則需要強制卸載,可執行umount -lf /mnt

  • 大型網站NFS網站檔案系統的替代軟體為Distributed File SystemMoosefs(nfs)、GlusterFS(大檔案)、FastNFS。

NFS系統應用的優缺點說



====================================服務端環境=============================================

yum install nfs-utils rpcbind -y

 

mkdir /data/w_shared -p

mkdir /data/r_shared -p

 

chown -R nfsnobody.nfsnobody /data/ 

 

/etc/init.d/rpcbind start

/etc/init.d/nfs start

 

vim /etc/exports

/data/r_shared 172.16.1.0/24(ro,sync,all_squash)

/data/w_shared172.16.1.0/24(rw,sync,all_squash) 

 

====================================用戶端掛載=============================================

[backup]

mount -t nfs 172.16.1.31:/data/r_shared/data/r_luoming/

mount -t nfs 172.16.1.31:/data/w_shared/data/w_luoming/

[web01]

mount -t nfs 172.16.1.31:/data/r_shared/data/b_r

mount -t nfs 172.16.1.31:/data/w_shared/data/b_w 

 

操作樣本:

[[email protected] b_w]# pwd

/data/b_w

[[email protected] b_w]# touch oldboy{1..5}.txt

[[email protected] b_w]# ls

oldboy1.txt oldboy2.txt  oldboy3.txt  oldboy4.txt oldboy5.txt

[[email protected] w_shared]# pwd

/data/w_shared

[[email protected] w_shared]# ls

oldboy1.txt oldboy2.txt  oldboy3.txt  oldboy4.txt oldboy5.txt

[[email protected] w_luoming]# pwd

/data/w_luoming

[[email protected] w_luoming]# ls

oldboy1.txt oldboy2.txt  oldboy3.txt  oldboy4.txt oldboy5.txt

[[email protected] b_r]# touch 123.txt

touch: cannot touch `123.txt‘: Read-onlyfile system  ---唯讀

第3章 解決網站集合群後端NFS共用儲存單點實現即時資料同步

1、即時資料同步要求:

當使用者通過 web 伺服器將資料寫入到 NFS 伺服器C(nfs01)時,同時複製到備份伺服器B(backup)

nfs服務端設定檔:

[[email protected] data]# cat /etc/exports

#share /data by lm at 20161228

/data 172.16.1.0/24(rw,sync,all_squash)

共用目錄:

[[email protected] data]# ll -d /data/

drwxr-xr-x 4 nfsnobody nfsnobody 266240 Jan  7 20:52 /data/

nfs服務端指令碼:

vim /server/scripts/inotify.sh

#!/bin/sh

 

Path=/data

Ip=172.16.1.41

/usr/bin/inotifywait -mrq --format ‘%w%f‘ -ecreate,delete,close_write /data/ |while read line

do

  if [ -f$line ];then

     rsync-az $line --delete [email protected]$Ip::nfsbackup--password-file=/etc/rsync.password

  else

     cd $Path&& \

     rsync-az /data/ --delete [email protected]$Ip::nfsbackup--password-file=/etc/rsync.password

  fi

 

done

web用戶端掛載:

[[email protected] mnt]# df -h

Filesystem        Size  Used Avail Use% Mounted on

/dev/sda3         6.9G  1.5G  5.1G  23%/

tmpfs             491M     0  491M  0% /dev/shm

/dev/sda1         190M   33M  147M 19% /boot

172.16.1.31:/data 6.9G  1.6G  4.9G 25% /mnt

建立檔案:

[[email protected] mnt]# touch lidao.txt

nfs服務端查看:

[[email protected] data]# ll lidao.txt

-rw-r--r-- 1 nfsnobody nfsnobody 0 Jan  7 20:58 lidao.txt

查看backup備份伺服器:

[[email protected] nfsbackup]# ll lidao.txt

-rw-r--r-- 1 rsync rsync 0 Jan  7 20:58 lidao.txt


老男孩教育32期-08-09次上機測試題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.