Linux下部署NFS服務 (* ̄︶ ̄)
NFS在檔案傳送或資訊傳送的過過程中,依賴於RPC協議。RPC,遠端過程呼叫(Remote Procedure Call),是使客戶端能夠執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的,但NFS卻能讓我們通過網路進行資料的分享,就是因為NFS使用了RPC提供的傳輸協議,可以說NFS就是使用PRC的一個程式。
NFS 儲存 伺服器主要用於使用者上傳的資料 ,圖片 音訊 、等資訊
NFS服務端、RPC協議、客戶端三者可以理解為房源、中介、租客之間的關係:二、NFS 適用場景 ; 2.1 NFS 最好是部署在區域網 ,不要在公網上 ; 2.2 NFS 只能在 linux 上使用 (如果想讓 windows 和 Linux 之間實現資料共享建議使用 FTP 或者 samba); 2.3 NFS 適合在中小型企業使用 ;
② ,大型網站不會用 NFS 的, 用的都是 分散式儲存 ====================================
三、 NFS 服務端乾的三件事 ;
NFS 客戶端乾的三件事 ;
==========================NFS 部署 環境準備=========================
四 、 服務端配置
4.1 環境準備2臺 CentOS 6.9 ,IP可以自定義 ;
[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
五 、 檢查系統中是否安裝 NFS 和 RPC ,並進行安裝NFS 和RPC;
[[email protected] ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-13.el6.x86_64nfs-utils-1.2.3-75.el6.x86_64
[[email protected] ~]# yum -y install nfs-utils rpcbind #使用 yum 安裝nfs 和 rpc ;
已載入外掛:fastestmirror設定安裝程序
Determining fastest mirrors
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.aliyun.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
extras/primary_db
六 、在服務端 建立共享目錄/data/nfs/,並且屬主和屬組都為:nfsnobody,其中nfsnobody是安裝nfs服務時預設的使用者;
[[email protected] ~]# mkdir -p /data/nfs/
[[email protected] ~]# chown -R nfsnobody.nfsnobody /data/nfs/
[[email protected] ~]# chmod 666 /data/nfs/
[[email protected] ~]# ll /data/
總用量 4
drw-rw-rw-. 2 nfsnobody nfsnobody 4096 6月 27 06:17 nfs
七、編輯配置 NFS 配置檔案 ;
[[email protected] ~]# cat >>/etc/exports<<EOF
> /data/nfs 172.16.1.0/24(rw,sync)
> EOF
[[email protected] ~]# cat /etc/exports
/data/nfs 172.16.1.0/24(rw,sync)
[[email protected] ~]#
其中:/data/nfs 是伺服器端共享的目錄
172.16.1.0/24共享目錄的客戶端ip地址
(rw,sync) ,其中rw代表擁有讀寫的許可權,sync代表資料同步寫入NFS伺服器端的硬碟中。
也可以用async,async是大資料時使用,是先寫到快取區,再寫到磁盤裡。
八、啟動RPC 和 NFS 服務 ;
[[email protected] ~]# /etc/init.d/rpcbind start # 先啟動rpc
[[email protected] ~]# /etc/init.d/nfs start #啟動NFS
[[email protected] ~]# /etc/init.d/rpcbind status #檢視一下 rpc 的執行狀態
rpcbind (pid 27193) 正在執行...
[[email protected] ~]# /etc/init.d/nfs status #檢視一下 nfs 的執行狀態
rpc.mountd (pid 27337) 正在執行...
nfsd (pid 27353 27352 27351 27350 27349 27348 27347 27346) 正在執行...
[[email protected] ~]#
九、檢視NFS服務是否向rpc註冊埠資訊,主埠號是:111
[[email protected] ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 46776 mountd
100005 1 tcp 58319 mountd
100005 2 udp 45857 mountd
100005 2 tcp 40719 mountd
100005 3 udp 48297 mountd
100005 3 tcp 56860 mountd
-p :針對某 IP (未寫則預設為本機) 顯示出所有的 port 與 porgram 的資訊;
-t :針對某主機的某支程式檢查其 TCP 封包所在的軟體版本;
-u :針對某主機的某支程式檢查其 UDP 封包所在的軟體版本;
十 、在NFS設定妥當之後,可以先在服務端自我測試一下是否可以聯機!利用 showmount 這個指令來檢視![[email protected] ~]# showmount -e localhost
Export list for localhost:
/data/nfs 172.16.1.0/24
[[email protected] ~]#
選項與引數:
-a :顯示目前主機與客戶端的 NFS 聯機分享的狀態;
-e :顯示某部主機的 /etc/exports 所分享的目錄資料。
引數說明:
#rpcinfo -p 檢查nfs服務是否有註冊埠資訊
#showmount -e 檢查共享目錄資訊
十一 、設定服務為開機自啟 ;
[[email protected] ~]# chkconfig nfs on
[[email protected] ~]# chkconfig --list nfs
nfs 0:關閉1:關閉2:啟用3:啟用4:啟用5:啟用6:關閉
[[email protected] ~]# chkconfig --list rpcbind
rpcbind 0:關閉1:關閉2:啟用3:啟用4:啟用5:啟用6:關閉
[[email protected] ~]#
[[email protected] ~]# tail -2 /etc/rc.local #加入到開機自啟中
/etc/init.d/rpcbind start
/etc/init.d/nfs start
[[email protected] ~]#
==========================客戶端配置=============================
一 、檢視系統中是否有 nfs 和rpc
[[email protected] ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-13.el6.x86_64nfs-utils-1.2.3-75.el6.x86_64、
二 、進行安裝服務,並啟動服務 ;
[[email protected] ~]# yum -y install nfs-utils rpcbind
已載入外掛:fastestmirror
設定安裝程序
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.aliyun.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
包 1:nfs-utils-1.2.3-75.el6_9.x86_64 已安裝並且是最新版本
解決依賴關係
[[email protected] ~]# /etc/init.d/rpcbind start
[[email protected] ~]# /etc/init.d/nfs start
啟動 NFS 服務: [確定]
啟動 NFS mountd: [確定]
啟動 NFS 守護程序: [確定]
正在啟動 RPC idmapd: [確定]
三 、建立掛載目錄 ;
[[email protected]]# mkdir -p /data/nfs
四 、檢視客戶端是否可以收到服務端的共享資訊 ;
[[email protected] nfs]# showmount -e 172.16.1.9
Export list for 172.16.1.9:
/data/nfs 172.16.1.0/24
[[email protected] nfs]#
五 、進行nfs 共享目錄的掛載 ;
[[email protected] nfs]# mount -t nfs 172.16.1.9:/data/nfs /mnt
[[email protected] nfs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 2.7G 16G 15% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 190M 39M 141M 22% /boot
172.16.1.9:/data/nfs 20G 2.7G 16G 15% /mnt
服務端 ;
[[email protected] nfs]# echo "nfs" > test.txt
客戶端建立一個檔案 ;
[[email protected] data]# cat /data/nfs/test.txtnfs
########################### nfs常見問題排錯思 ###############################
nfs共享目錄許可權相關因素
①. 配置檔案中的許可權指定
②. 共享目錄本身的許可權,有w許可權
③. 共享目錄本身的所屬使用者與所屬組的許可權指定
### ###################### NFS客戶端掛載排錯思路 ###########################
客戶端排查三部曲
①. 檢查服務端房源資訊是否還在
rpcinfo -p 172.16.1.9
②. 檢查服務端共享目錄資訊是否存在
showmount -e 172.16.1.9
③. 直接進行目錄掛載測試
mount -t nfs 172.16.1.9:/data /mnt
######################### 服務端排查三部曲 #################################
①. 檢查服務端房源資訊是否還在
rpcinfo -p localhost
如果沒有註冊的房源資訊了,會是什麼情況?
①. nfs服務沒有啟動
②. nfs服務於rpc服務啟動順序不正確
②. 檢查服務端共享目錄資訊是否存在
showmount -e localhost
①. nfs配置檔案編寫格式錯誤
③. 直接進行目錄掛載測試
mount -t nfs 172.16.1.9:/data /mnt
# 實現nfs客戶端開機自動掛載方式
①. 將掛在命令追加到/etc/rc.local開機自啟動檔案中
②. 編寫fstab檔案,並且需要配合netfs服務使用,實現開機自動掛載
### nfs常見問題排錯
示例1:客戶端掛載報錯“No such file or directory”
[[email protected] ~]# showmount -e 172.16.1.9
Export list for 172.16.1.9:
/data 172.16.1.0/24
[[email protected] ~]# mount -t nfs 172.16.1.9:/data /mnt
mount.nfs: mounting 172.16.1.9:/data failed, reason given by server: No such file or directory
解答:原因是NFS伺服器端沒有共享目錄/data,建立即可。命令如下:
[[email protected] ~]# mkdir /data
示例2:NFS伺服器端啟動失敗,如下:
[[email protected] ~]# /etc/init.d/nfs start
Starting NFS services:[ OK ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[FAILED]
Starting NFS mountd:[FAILED]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
[FAILED]
解答:這是因為RPC服務沒有在NFS前面啟動,需要先啟動RPC服務再啟動NFS,解決方法為,按順序啟動rpcbind及NFS,命令如下:
[[email protected] ~]# /etc/init.d/rpcbind restart
[[email protected] ~]# /etc/init.d/nfs restart
示例3:註冊RPC服務失敗,出現failed:RPC Error:Program not registered錯誤。
[[email protected] ~]# mount -t nfs 172.16.1.9:/data /mnt
mount.nfs: requested NFS version or transport protocol is not supported
[[email protected] ~]# showmount -e 172.16.1.9
clnt_create: RPC: Program not registered
解答:伺服器端的NFS沒有啟動,客戶端沒有收到伺服器端發來的隨機埠資訊。
解決方法如下:
[[email protected] ~]# /etc/init.d/rpcbind restart
[[email protected] ~]# /etc/init.d/nfs restart
示例4:解除安裝掛載裝置時顯示device is busy。
[[email protected] mnt]# umount /mnt
umount.nfs: /mnt: device is busy
umount.nfs: /mnt: device is busy
解答:有可能是當前目錄就是掛載的NFS目錄(/mnt),也有可能是NFS Server掛了。對於第一種情況,解決辦法為退出掛載目錄/mnt,再執行umount /mnt解除安裝。對於第二種情況,NFS Server掛了,NFS Client就會出現問題(df -h視窗會死掉),這時只能強制解除安裝,方法為:
umount -lf /mnt 其中的引數-f為強制解除安裝,引數-l為懶惰的解除安裝。
示例5:CentOS 6.6客戶端NFS掛載時遇到問題。
[[email protected] ~]# mount -t nfs 172.16.1.9:/data /mnt
mount:wrong fs type,bad option,bad option,bad superblock on 10.0.0.7:/data,
missing codepage or helper program,or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program )
In some cases useful info is found in syslog - try
meg | tail or so
排查思路:同樣的機器,NFS伺服器本地可以掛載,但是客戶端掛載時wrong fs type,因此嘗試所有客戶端安裝nfs-utils。CentOS6.5及以前的NFS沒有遇到這個問題。
解決方法:執行yum install nfs-utils -y,客戶端安裝NFS軟體,但不啟動服務。
示例六:共享目錄掛載很卡
mount -t nfs 172.16.1.9:/data /mnt
cd /mnt
time touch test.txt
原因分析:
NFS服務端重啟之後。立刻進行掛載會出現此問題,因為NFS自身重啟的時候,擁有無敵的時間,預設是90秒;在無敵時間內,是不能對共享目錄進行更改的操作;
在系統配置中/etc/sysconfig/nfs中指定了無敵時間的配置引數
NFSD_V4_GRACE=90
NFSD_V4_LEASE=90
NLM_GRACE_PERI0D=90
find /proc -name | grep -i ” NLM_GRACE_PERIOD”
find /proc -iname ” NLM_GRACE_PERIOD”
重啟NFS服務沒有按照順序進行重啟,一旦NFS重啟了,需要確認rpcbind服務有沒有接收,即rpcinfo -p localhost;先啟動rpcbind服務再啟動nfs服務
示例七:ls: cannot open directory .: Stale file handle
Stale file handle
客戶端報錯
mount -t nfs 172.16.1.9:/data /mnt
mount.nfs: Stale file handle
服務端掛載報錯
[[email protected] data]# mount -t nfs 172.16.1.9:/data /mnt/
mount.nfs: access denied by server while mounting 172.16.1.9:/data
檢視配置檔案發現
[[email protected] data]# cat /etc/exports
#share /data by lidao at 20160913
/data 173.16.1.0/24(rw,sync)
原因分析:
/proc/mounts客戶端掛載檔案中已經存在了相應的掛載記錄,沒有正確解除安裝掉,就再次進行掛載,就會出現以上錯誤。
相關推薦
Linux下部署NFS服務 (* ̄︶ ̄)
一 、 NFS 簡介和架構圖NFS是Network File System的縮寫,即網路檔案系統。一種使用於分散式檔案協定,功能是通過網路讓不同的機器、不同的作業系統能夠分享個人資料,讓應用程式通過網路可以訪問位於伺服器磁碟中的資料。NFS在檔案傳送或資訊傳送的過過程中,依賴
Linux下搭建NFS服務器
nfs、linux一、NFS服務簡介 NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類
Linux下部署Samba服務環境的操作記錄
command 解決辦法如下 some var sco most get -c can 關於Linux和Windows系統之間的文件傳輸,很多人選擇使用FTP,相對較安全,但是有時還是會出現一些問題,比如上傳文件時,文件名莫名出現亂碼,文件大小改變等問題。相比較來說,使
Redhat7.0下部署NFS服務器
mage 防火 watermark firewall udp ffffff dea 安裝 color 一、安裝NFS服務 1、查看系統是否已安裝NFS2、安裝NFS 二、服務端配置 在NFS服務端上創建共享目錄/data/lys並設置權限編輯export文件配置生效啟動rp
Linux下搭建NFS服務
一,簡介 NFS是Network File System的縮寫,中文稱為網路檔案系統,由sun 公司所發展出來,主要功能是通過網路(一個區域網)讓不同的主機系統之間可以共享檔案或目錄,NFS的客戶端(一般為應用伺服器,例如web)可以通過掛載(mount)的方式將NFS伺服器共享的資料目錄掛載到NFS客戶端
Linux下啟動nfs服務報錯
Shutting down NFS mountd: [ OK ] Shutting down NFS quotas: [FAILED] Shutting down RPC i
Linux下開啟nfs服務
1.什麼是NFS(Network FileSystem) NFS 就是 Network FileSystem 的縮寫,最早之前是由 Sun 所發展出來的。他最大的功能就是可以透過網路,讓不同的機器、不 同的作業系統、可以彼此分享個別的檔案 ( share file ),
linux下配置NFS服務
exports mod sync status ash bin 名稱 reload 查看權限 1、服務器端配置1)、查看NFS安裝包 #rpm -qa nfs -utils rpcbind2)、安裝軟件包名稱nfs-utils-1.2.3-70.el6_8.2.x86_6
linux 下部署單片 elasticsearch 服務
es本文是部署單機elasticsearch 服務。是通過yum進行安裝。elasticsearch 需要java環境。另一篇文章有配置java8環境說明。1: 首先下載 gpg簽名文件:rpm --import https://packages.elastic.co/GPG-KEY-elasticsearc
Linux下部署ASP.NET服務連線oracle遇到的問題記錄
一、如何解除安裝MONO Q:mono是linux系統上跨平臺軟體,解除安裝它有兩種方式: 1、知道mono安裝路徑,安裝原來的路徑直接覆蓋安裝(最為簡單); 2、不知道mono安裝路徑,首先通過sudo find / -name mono命令查詢路徑, 也可進入mono安裝資料夾sudo make
Linux下部署PXE結合DHCP、tftp、http服務完成全自動安裝centos7
DHCP配置檔案 /etc/dhcp/dhcpd.conf 其它配置選項: filename: 指明引導檔名稱 next-server:提供引導檔案的伺服器IP地址 示例: filename "pxelinux.0"; 引導系統啟動檔案 next-server
Linux系統下對NFS服務安全加固的方法
NFS(Network File System)是 FreeBSD 支援的一種檔案系統,它允許網路中的計算機之間通過 TCP/IP 網路共享資源。不正確的配置和使用 NFS,會帶來安全問題。 概述 NFS 的不安全性,主要體現於以下 4 個方面: 缺少訪問控制機制 沒有真正的
基於linux下的dns服務的部署及域名解析的各種形式
1.dns快取記憶體服務搭建 伺服器:yum install bing.x86_64 安裝dns服務 設定ip及其閘道器 vim /etc/named.conf 配置dns服務檔案
使用BeetleX在Linux下部署.NET多站點服務
在windows下常用IIS來部署.NET的多站點服務,但在Linux下就沒這麼方便了;雖然可以使用一些代理伺服器如nginx,jexus等來反代或部署應用,但nginx對.NET應用的託管就相對沒這麼方便了,jexus的確是個不錯的服務應用;在
linux下啟動tomcat服務的命令是什麽
錯誤 tomcat 控制臺輸出 out 目錄 打開 客戶端 oca linux下 Linux下tomcat服務的啟動、關閉與錯誤跟蹤,使用PuTTy遠程連接到服務器以後,通常通過以下幾種方式啟動關閉tomcat服務:切換到tomcat主目錄下的bin目錄(cd usr/lo
Rsyslog+Loganalyer+MySQL下部署日誌服務器
rsyslog 日誌 Rsyslog+Loganalyer+MySQL下部署日誌服務器準備工作(三臺Centos服務器Centos7):MySQL服務器(192.168.1.70):收集儲存管理日誌web/Rsyslog服務器(192.168.1.52):搭建httpd服務,提供在web端查看日誌信息
Linux 下開啟ssh服務
archive ger 解決方案 blog 開啟 命令 驗證 www star 在虛擬機裏安裝完後,想往虛擬機裏拷貝軟件 當使用Xmanager ftp連接時候 出現 連接不上的問題,其解決方案如下: 1、修改sshd_config文件,命令為:vim /etc/ssh/s
Linux 下搭建git 服務器
domain 目錄結構 倉庫 read -i shel for public git clone 環境: 服務器 centos7.3 +git1.8.3.1 客戶端 centos7.2 +git1.8.3.1服務器配置; 1.安裝git yum inst
Linux下搭建 NFS
個人 share file mod lock secure netstat stat defaults 一、NFS簡介 NFS是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件協定,有SUN公司開發。功能是通過網絡讓不同的機器、不同的操作系
部署NFS服務
nfs NFS即網絡文件系統,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。NFS最早由Sun公司開發,分2、3、4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發