1. linux搭建NFS伺服器
作者:SpookZanG
linux搭建NFS伺服器
一、什麼是NFS服務
NFS是Network
File
System的簡寫,即網路文件系統.
網路文件系統是FreeBSD支持的文件系統中的一種,也被稱為NFS.
NFS允許一個系統在網路上與它人共享目錄和文件。通過使用NFS,用戶和程序可以象訪問本地文件一樣訪問遠端系統上的文件。
二、NFS的優勢
1.本地工作站使用更少的磁碟空間,因為通常的數據可以存放在一台機器上而且可以通過網路訪問到。
2.用戶不必在每個網路上機器里頭都有一個home目錄。Home目錄
可以被放在NFS伺服器上並且在網路上處處可用。
3.諸如軟碟機,CDROM,和
Zip®
之類的存儲設備可以在網路上面被別的機器使用。這可以減少整個網路上的可移動介質設備的數量。
NFS至少有兩個主要部分:一台伺服器和一台(或者更多)客戶機。客戶機遠程訪問存放在伺服器上的數據。為了正常工作,一些進程需要被配置並運行。
三、NFS的搭建
1、伺服器端
安裝NFS的服務程序
yum
install
-y
nfs-utils
寫配置文件
寫入
/music
192.168.0.0/255.255.255.0(rw,sync)
格式是:
要共享的目錄
共享的IP及掩碼或者域名(許可權,同步更新)
啟動服務
/etc/init.d/portmap
restart
/etc/init.d/nfs
restart
chkconfig
nfs
on
chkconfig
portmap
on
然後關閉防火牆以及更改Selinux關於NIS的選項
/etc/init.d/iptables
stop
(防護牆服務關閉)
chkconfig
iptables
off
system-config-selinux
(設置selinux)
2、客戶端
編輯fstab文件,實現開機自動掛載
mount
-t
nfs
IP:/目錄
掛載到的目錄
(此為臨時掛載)
如:mount
-t
nfs
192.168.0.9:/doce
/doc
編輯FSTAB文件
vim
/etc/init.d/fstab
IP:/目錄
掛載到的目錄
nfs
defaults
0
0
然後關閉防火牆以及更改Selinux關於NIS的選項
/etc/init.d/iptables
stop
(防護牆服務關閉)
chkconfig
iptables
off
system-config-selinux
(設置selinux)
至此,搭建完畢。
2. NFS服務搭建及數據無縫遷移
五一節辦公室要停電,機房雖有UPS,但也支撐不了8小時。
因生產環境有業務系統掛了辦公室機房的NAS存儲,故需要進行遷移,步臘冊驟記錄如下:
先閑談下技術-----------------------
NFS和samba的區別
samba是混合型網路中的共享服務,windows伺服器可建samba服務,linux伺服器也可建samba服務
nfs只面向unix、linux間的共享,linux伺服器可建nfs服務(winodws系統也可以掛載nfs,就是有點不穩定)
NFS伺服器上的操作--------------------------
nfs伺服器操作系統版本:
[root@c7110 ~]# more /etc/system-release
CentOS Linux release 7.9.2009 (Core)
nfs伺服器安裝nfs服務
[root@c7110 ~]# yum -y install nfs-utils rpcbind
創建nfs目錄,並授權
[root@c7110 ~]# mkdir /opt/nfs-test
[root@c7110 ~]# chmod 777 /opt/nfs-test
編輯nfs服務配置文件
[root@c7110 ~]# vi /etc/exports
內容如下:
/opt/nfs-test *(rw,root_squash,all_squash,sync)
重新載入nfs配置:
[root@c7110 ~]# exportfs -r
nfs服務設置開機啟動
[root@c7110 ~]# systemctl enable rpcbind
[root@c7110 ~]# systemctl enable nfs
[root@c7110 ~]# systemctl enable nfs-lock
[root@c7110 ~]# systemctl enable nfs-idmap
啟動nfs服務
[root@c7110 ~]# systemctl start rpcbind
[root@c7110 ~]# systemctl start nfs
[root@c7110 ~]# systemctl start nfs-lock
[root@c7110 ~]# systemctl start nfs-idmap
查看nfs服務啟動後,所監聽的埠信息:判局螞
[root@c7110 ~]# rpcinfo -p
linux伺服器伺服器上操作-------------------------------
業務伺服器安裝nfs軟體客戶掘埋端
[root@c7111 ~]# yum -y install nfs-utils
建立一個掛載目錄
[root@c7111 ~]# mkdir /opt/test-m
掛載nfs伺服器共享出來的目錄
[root@c7111 ~]# mount -t nfs 10.x.x.10:/opt/nfs-test /opt/test-m/
查看下已掛載的nfs
[root@c7111 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.5G 0 1.5G 0% /dev
tmpfs 1.5G 0 1.5G 0% /dev/shm
tmpfs 1.5G 8.8M 1.5G 1% /run
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/mapper/centos-root 97G 2.3G 95G 3% /
/dev/sda1 1014M 171M 844M 17% /boot
tmpfs 297M 0 297M 0% /run/user/0
10.x.x.6:/opt/nfs-test 97G 4.1G 93G 5% /opt/test-m
經測試,數據可讀可寫,證明nas服務沒有問題,於是進行數據同步,數據同步用rsync命令。
rsync -avp [email protected]::nas_6 /mnt/guidang/ --password-file=/root/rsync_pass --bwlimit=100000
數據同步完,通知研發進行掛載切換。研發同事在測試時,發現文件屬性中的uid及gid與原來的不一致,有些擔心,於是又小完善了一下NFS服務。
編輯nfs服務配置文件
[root@c7110 ~]# vi /etc/exports
內容如下:
/opt/nfs-test *(no_all_squash,anonuid=600,anongid=600)
重新載入nfs配置:
[root@c7110 ~]# exportfs -r
3. linux搭建nfs伺服器,安裝nfs客戶端掛盤的時候沒有反應,防火牆,selinux關閉了也不關用,掛載不上。
客戶端的命令是沒有錯誤的,出現掛載不上的情況,最好重新確認一下:
1,防火牆是否關閉或者開放埠;
2,selinux狀態;
3,網路是否可達,ping一下;
4,NFS伺服器設置是否正確,有沒有給客戶端所在ip段許可權;
這種問題很難講是為什麼,所以,最後都重新確認一遍,各個有可能出錯的地方。