0基礎(chǔ)linux運(yùn)維教程 共享存儲(chǔ)之nfs實(shí)踐及要點(diǎn)

I:環(huán)境準(zhǔn)備

| 主機(jī) | IP? ? ? ? ? ? | 角色? ? ? |

| ---- | ------------- | --------- |

| 本地 | 192.168.12.17 | nfs客戶端 |

| 遠(yuǎn)程 | 192.168.12.39 | nfs服務(wù)端 |

```bash

本地與遠(yuǎn)程均執(zhí)行下述兩條命令

setenforce 0

iptables -F

```

II:安裝nfs(本地和遠(yuǎn)程主機(jī)都要裝)

```bash

yum install nfs-utils -y? #

# 如果是centos7,會(huì)自動(dòng)安裝rpcbind

# 如果是centos6,一定要手動(dòng)下載rpcbind,啟動(dòng)時(shí)一定先啟動(dòng)rpcbind,再啟動(dòng)nfs

```

III:服務(wù)端配置

```bash

# 1、配置nfs服務(wù),配置文件為 /etc/exports,書寫格式如下:

[root@remote ~]# cat /etc/exports

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

# 2、創(chuàng)建共享目錄

[root@remote ~]# mkdir /data

[root@remote ~]# chown -R nfsnobody.nfsnobody /data/

# nfsnobody該用戶在安裝nfs之后自動(dòng)創(chuàng)建,是NFS客戶端遠(yuǎn)程連接過來后使用的用戶

# 3、啟動(dòng)nfs,centos7,啟動(dòng)nfs即可,會(huì)自動(dòng)啟動(dòng)rpcbind

[root@remote ~]# systemctl start nfs

```

配置文件/etc/exports格式解析

| 語法? ? | /data? ? ? ? | 192.168.12.0/24? ? | (rw,sync,all_squash)? ? ? |

| -------- | ------------- | ------------------- | ------------------------- |

| 語法含義 | NFS共享的目錄 | NFS允許連接的客戶端 | 允許的操作(參數(shù)1,參數(shù)2) |

```bash

# 1、訪問權(quán)限

ro:設(shè)置輸出目錄只讀。

rw:設(shè)置輸出目錄讀寫。

# 2、用戶映射

root_squash:將root用戶映射為來賓賬號(nfsnoboydy用戶),默認(rèn)啟用。

no_root_squash:不映射客戶端root賬號為來賓賬號,也就意味著客戶端root具有服務(wù)端root的用戶權(quán)限。

all_squash:將遠(yuǎn)程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody)。

no_all_squash:與all_squash取反(默認(rèn)設(shè)置);

anonuid=501:配置all_squash使用,指定NFS的用戶UID,必須存在系統(tǒng)(常用)

anongid=501:配置all_squash使用,指定NFS的用戶UID,必須存在系統(tǒng)(常用)

# 3、其他

secure:限制客戶端只能從小于1024的tcp/ip端口連接nfs服務(wù)器(默認(rèn)設(shè)置)。

insecure:允許客戶端從大于1024的tcp/ip端口連接服務(wù)器。

sync:將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性。

async:將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時(shí)才寫入磁盤,默認(rèn)使用。

wdelay:檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率(默認(rèn)設(shè)置)。

no_wdelay:若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用。

subtree:若輸出目錄是一個(gè)子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置)。

no_subtree:即使輸出目錄是一個(gè)子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率。

```

IV:客戶端

```bash

[root@local /opt]# showmount -e 192.168.12.39

Export list for 192.168.12.39:

/data 192.168.12.0/24

[root@local /opt]# mount -t nfs 192.168.12.39:/data /opt

[root@local /opt]# echo egon666 > /opt/1.txt? # 寫入服務(wù)端的/data下

# 若寫入失敗請注意服務(wù)端/data目錄的權(quán)限s

[root@local /opt]# vim /etc/fstab? # 設(shè)置開機(jī)自動(dòng)掛載

192.168.12.39:/data /opt nfs defaults 0 0

```

要點(diǎn)強(qiáng)調(diào)

NFS是共享存儲(chǔ)沒錯(cuò),一般把網(wǎng)站用戶上傳的文件都放到NFS共享里, 例如BBS? 產(chǎn)品的圖片,附件,即把網(wǎng)站的img等存放用戶上傳文件的目錄遠(yuǎn)程掛載到共享存儲(chǔ)nfs下。

但網(wǎng)站BBS程序不要放NFS共享里,如果那么做,NFS本身又存在單點(diǎn)故障,一旦掛掉,整個(gè)網(wǎng)站都不可用,所以推薦用帶集群的存儲(chǔ),比如分布式存儲(chǔ)ceph

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容