目前公司的本地Linux賬號採用NIS服務來統一驗證登陸,而且共享/home目錄供其餘開發服務器掛載。bash
因爲老的服務器硬盤空間已不足以支持使用,現新購了一臺服務器取代舊服務器,NIS和NFS服務都要遷移到新服務器上。服務器
給新的服務器設置好磁盤陣列Raid 5後,安裝Linux操做系統,並劃分較大獨立分區給/home目錄供開發用戶使用。ide
系統安裝成功後,安裝相應的應用軟件, rpcbind, nfs-utils, ypbind, ypserv, yp-tools等。spa
接下來就是拷貝舊服務器上面的用戶文件到新服務器, 將舊服務器的/home共享目錄掛載在/mnt目錄,而後執行copy命令
操作系統
cp -av /mnt/* /home/
爲了防止之後用戶過分使用磁盤空間,設置好磁盤的配額也是頗有必要,
orm
編輯/etc/fstab文件,將磁盤配額的選項添加上去並從新掛載home目錄進程
UUID=60eee9bd-ddf0-4b42-9292-18fd2c5ef04a /home ext4 defaults,usrquota,grpquota 1 2
quotaon -a
將全部用戶賬號名保存爲userlist.txt文件,先給user1設置好配額開發
edquota user1
而後再批量應用到其餘用戶rpc
for u in `cat userlist.txt`;do edquota -p user1 -u $u;done
查看全部用戶配額
同步
repquota -a
設置用戶磁盤佔用滿後給該用戶發送郵件通知其清理,寫一個檢測磁盤用量和郵件通知用戶的腳本,郵件正文寫在mail_template.txt文件裏
for u in `cat userlist.txt` do LIMIT=`quota -u $u | grep sda3 | awk '{print $2}'| sed 's/\*$//'` if [[ $LIMIT -gt 119000000 ]]; then quota -u $u mail -s "$u,your disk space of /home is full, please clean up them ASAP." $u@yourmail.com < mail_template.txt fi done
將該腳本加入crond任務,天天上下午各執行一次
0 10 * * * sh /root/warn_quota.sh 0 14 * * * sh /root/warn_quota.sh
若有必要再次同步舊服務器的文件,能夠用rsync只複製新增的文件
rsync -av --progress /mnt/ /home/
新服務器準備好後,將其餘開發服務器上的/home目錄所有卸載,如有提示被佔用沒法卸載的話,能夠pkill -U user 將某用戶的進程殺掉,直到能夠卸載爲止
停掉各開發服務器的nis服務,
service ypbind stop
編輯/etc/yp.conf配置文件,將nis服務器地址修改成新服務器地址,再啓動ypbind
service ypbind start
最後掛載home目錄
mount -t nfs -o rsize=32768,wsize=32768 192.168.100.11:/home /home
至此完成了NIS/NFS服務器的遷移工做。