nfs部署和優化
nfs部署和優化
一. NFS
1. NFS簡介
NFS全稱是network file system(網絡文件系統)
NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。
假如有三臺機器A, B, C它們需要訪問同一個目錄目錄中都是圖片傳統的做法是把這些圖片分別放到A, B, C. 但是使用NFS只需要放到A上然後A共享給B和C即可。訪問的時候B和C是通過網絡的方式去訪問A上的那個目錄的。
2. 安裝、配置NFS服務
需要安裝兩個包(nfs-utils和rpcbind)
#yum install -y nfs-utils rpcbind
提供nfs服務的機器上:
# vim /etc/exports //內容如下
/home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
共分為三部分第一部分就是本地要共享出去的目錄第二部分為允許訪問的主機可以是一個IP也可以是一個IP段第三部分就是小括號裏面的為一些權限選項。它表示共享的目錄為/home信任的主機為192.168.137.0/24這個網段權限為讀寫同步限定所有使用者並且限定的uid和gid都為501。
啟動:
# /etc/init.d/rpcbind start;
# /etc/init.d/nfs start
3. NFS配置的一些選項說明
rw 讀寫
ro
sync 同步模式內存中數據時時寫入磁盤
async 不同步把內存中數據定期寫入磁盤中
no_root_squash 加上這個選項後root用戶就會對共享的目錄擁有至高的權限控制就像是對本機的目錄操作一樣。不安全不建議使用
root_squash和上面的選項對應root用戶對共享目錄的權限不高只有普通用戶的權限即限制了root
all_squash不管使用NFS的用戶是誰他的身份都會被限定成為一個指定的普通用戶身份
anonuid/anongid 要和root_squash 以及all_squash一同使用用於指定使用NFS的用戶限定後的uid和gid前提是本機的/etc/passwd中存在這個uid和gid。
4. 客戶端上掛載NFS
客戶端同樣安裝 yum install -y nfs-utils
查看服務器端都共享了哪些目錄
showmount -e 192.168.137.10
在客戶端上掛載服務端的nfs
mount -t nfs -onolock,nfsvers=3 192.168.137.10:/home/ /mnt/ //如果不加 -onolock,nfsvers=3 則在掛載目錄下的文件屬主和組都是nobody如果指定nfsvers=3則顯示root
df -h 查看掛載的情況
5. exportfs 命令的使用
-a 全部掛載或者卸載
-r 重新掛載
-u 卸載某一個目錄
-v 顯示共享的目錄
改變/etc/exports配置文件後不用重啟nfs服務直接用這個exportfs即可
exportfs -arv 使生效
在使用nfs時常用一個選項就是 -o nolock
我們還可以把要掛載的nfs目錄寫到client上的/etc/fstab文件中 192.168.137.10:/tmp/ /test nfs nolock 0 0 然後 mount -a
擴展部分
nfs nobody的問題 http://www.361way.com/nfs-mount-nobody/2616.html
1 yum install -y nfs-utils-* #從庫上執行
2 vim /etc/exports 建立掛載目錄在從庫上 -----從庫建立
/export/bak 10.47.48.0/24(rw) #/export/bak 為備份掛載目錄 10.45.64 為服務器網段 RW
3從庫上建立備份文件存放目錄
mkdir -p /export/bak
chmod 777 /export/bak/
4 從庫起服務
/etc/init.d/rpcbind start
/etc/init.d/nfs start
5 主機 mount:
mount 10.47.48.118:/export/bak/ /mnt/ 從庫IP
驗證: touch /mnt/1.txt
註意 從機需要重啟必須先umount /mnt/
xtrabackup安裝
主庫安裝:
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y
220拷貝文件
scp /export/scripts/percona-xtrabackup-2.2.5-5027.el6.x86_64.rpm /export/scripts/xtrabackup.sh [email protected]:/export/
主機:
rpm -ivh percona-xtrabackup-2.2.5-5027.el6.x86_64.rpm
備份:
sh xtrabackup.sh
從機:
mysqladmin -utangnanbing -pxxxxxx shutdown
rm -rf /export/data/mysql/data/*
cd /export/bak/2016-08-09_16-43-24/
mv * /export/data/mysql/data/
chown -R mysql.mysql /export/data/mysql/data/
su - mysql
/export/servers/mysql/bin/mysqld_safe --defaults-file=/export/servers/mysql/etc/my.cnf &
cat /export/data/mysql/data/xtrabackup_binlog_info
cat /export/data/mysql/data/xtrabackup_binlog_pos_innodb
change master to
master_host=‘10.127.160.161‘,
master_port=3358,
master_user=‘yayirepl‘,
master_password=‘Ymhvkdl3Y5‘,
master_log_file=‘mysql-bin.001350‘,
master_log_pos=40336018;
對於 InnoDB 和非事務存儲引擎混合操作,xtrabackup_binlog_info 中所示的 position 應該會比 xtrabackup_pos_innodb 所示的數值大。此時應以 xtrabackup_binlog_info 為準;而後者和 apply-log 時 InnoDB recovery log 中顯示的內容是一致的,只針對 InnoDB 這部分數據
本文出自 “12350027” 博客,謝絕轉載!
nfs部署和優化