天天看點

共享存儲nfs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

<code>我的部落格已遷移到xdoujiang.com請去那邊和我交流</code>

<code>NFS(Network File System)即網絡檔案系統,是FreeBSD支援的檔案系統中的一種,</code>

<code>它允許網絡中的計算機之間通過TCP</code><code>/IP</code><code>網絡共享資源。在NFS的應用中,</code>

<code>本地NFS的用戶端應用可以透明地讀寫位于遠端NFS伺服器上的檔案,就像通路本地檔案一樣。</code>

<code>一、基礎環境</code>

<code>1)服務端10.1.10.117 erh0 7.8(debian) 3.2.0-4-amd64</code>

<code>2)用戶端10.1.10.160 eth0 5.0.10(debian) 2.6.26-2-amd64</code>

<code>二、安裝nfs</code>

<code>1、安裝nfs服務端</code>

<code>apt-get -y </code><code>install</code> <code>nfs-kernel-server</code>

<code>2、建立共享目錄</code>

<code>mkdir</code> <code>/opt/nfsdata</code> <code>-p</code>

<code>3、修改配置</code>

<code>cat</code> <code>/etc/exports</code>

<code>/opt/nfsdata</code> <code>10.1.10.117(rw,async,no_root_squash) 10.1.10.160(rw,async,no_root_squash)</code>

<code>4、參數說明</code>

<code>ro                </code><code>#隻讀通路</code>

<code>rw                </code><code>#讀寫通路</code>

<code>sync</code>             <code>#将資料同步寫入記憶體緩沖區與磁盤中,效率低,但可以保證資料的一緻性</code>

<code>async             </code><code>#将資料先儲存在記憶體緩沖區中,必要時才寫入磁盤</code>

<code>secure            </code><code>#限制用戶端隻能從小于1024的tcp/ip端口連接配接nfs伺服器</code>

<code>insecure          </code><code>#允許用戶端從大于1024的tcp/ip端口連接配接伺服器</code>

<code>wdelay            </code><code>#檢查是否有相關的寫操作,如果有則将這些寫操作一起執行,這樣可以提高效率</code>

<code>no_wdelay         </code><code>#若有寫操作則立即執行,應與sync配合使用</code>

<code>hide              </code><code>#在NFS共享目錄中不共享其子目錄</code>

<code>no_hide           </code><code>#共享NFS目錄的子目錄</code>

<code>subtree_check     </code><code>#若輸出目錄是一個子目錄,則nfs伺服器将檢查其父目錄的權限</code>

<code>no_subtree_check  </code><code>#即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的權限,這樣可以提高效率</code>

<code>all_squash        </code><code>#将遠端通路的所有普通使用者及所屬組都映射為匿名使用者或使用者組(nfsnobody)</code>

<code>no_all_squash     </code><code>#與all_squash取反</code>

<code>root_squash       </code><code>#将root使用者及所屬組都映射為匿名使用者或使用者組</code>

<code>no_root_squash    </code><code>#與rootsquash取反</code>

<code>anonuid=xxx       </code><code>#将遠端通路的所有使用者都映射為匿名使用者,并指定該使用者為本地使用者(UID=xxx)</code>

<code>anongid=xxx       </code><code>#将遠端通路的所有使用者組都映射為匿名使用者組賬戶,并指定該匿名使用者組賬戶為本地使用者組賬戶(GID=xxx)</code>

<code>5、重新開機服務</code>

<code>[ ok ] Stopping NFS kernel daemon: mountd nfsd.</code>

<code>[ ok ] Unexporting directories </code><code>for</code> <code>NFS kernel daemon....</code>

<code>[....] Exporting directories </code><code>for</code> <code>NFS kernel daemon...exportfs: </code><code>/etc/exports</code> <code>[1]: Neither </code><code>'subtree_check'</code> <code>or </code><code>'no_subtree_check'</code> <code>specified </code><code>for</code> <code>export</code> <code>"10.1.10.117:/opt/nfsdata"</code><code>.</code>

<code>  </code><code>Assuming default behaviour (</code><code>'no_subtree_check'</code><code>).</code>

<code>  </code><code>NOTE: this default has changed since nfs-utils version 1.0.x</code>

<code>exportfs: </code><code>/etc/exports</code> <code>[1]: Neither </code><code>'subtree_check'</code> <code>or </code><code>'no_subtree_check'</code> <code>specified </code><code>for</code> <code>export</code> <code>"10.1.10.160:/opt/nfsdata"</code><code>.</code>

<code>. ok </code>

<code>[ ok ] Starting NFS kernel daemon: nfsd mountd.</code>

<code>6、檢視共享具體資訊</code>

<code>cat</code> <code>/var/lib/nfs/etab</code>

<code>/opt/nfsdata</code>    <code>10.1.10.117(rw,async,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)</code>

<code>/opt/nfsdata</code>    <code>10.1.10.160(rw,async,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)</code>

<code>7、使用showmount指令檢視共享目錄</code>

<code>showmount -e</code>

<code>Export list </code><code>for</code> <code>debian:</code>

<code>/opt/nfsdata</code> <code>10.1.10.160,10.1.10.117</code>

<code>8、使用rpcinfo指令檢視監聽的端口</code>

<code>rpcinfo -p 10.1.10.117</code>

<code>   </code><code>program vers proto   port  service</code>

<code>    </code><code>100000    4   tcp    111  portmapper</code>

<code>    </code><code>100000    3   tcp    111  portmapper</code>

<code>    </code><code>100000    2   tcp    111  portmapper</code>

<code>    </code><code>100000    4   udp    111  portmapper</code>

<code>    </code><code>100000    3   udp    111  portmapper</code>

<code>    </code><code>100000    2   udp    111  portmapper</code>

<code>    </code><code>100024    1   udp  56564  status</code>

<code>    </code><code>100024    1   tcp  46588  status</code>

<code>    </code><code>100003    2   tcp   2049  nfs</code>

<code>    </code><code>100003    3   tcp   2049  nfs</code>

<code>    </code><code>100003    4   tcp   2049  nfs</code>

<code>    </code><code>100227    2   tcp   2049</code>

<code>    </code><code>100227    3   tcp   2049</code>

<code>    </code><code>100003    2   udp   2049  nfs</code>

<code>    </code><code>100003    3   udp   2049  nfs</code>

<code>    </code><code>100003    4   udp   2049  nfs</code>

<code>    </code><code>100227    2   udp   2049</code>

<code>    </code><code>100227    3   udp   2049</code>

<code>    </code><code>100021    1   udp  41855  nlockmgr</code>

<code>    </code><code>100021    3   udp  41855  nlockmgr</code>

<code>    </code><code>100021    4   udp  41855  nlockmgr</code>

<code>    </code><code>100021    1   tcp  38046  nlockmgr</code>

<code>    </code><code>100021    3   tcp  38046  nlockmgr</code>

<code>    </code><code>100021    4   tcp  38046  nlockmgr</code>

<code>    </code><code>100005    1   udp  36619  mountd</code>

<code>    </code><code>100005    1   tcp  37282  mountd</code>

<code>    </code><code>100005    2   udp  54466  mountd</code>

<code>    </code><code>100005    2   tcp  57293  mountd</code>

<code>    </code><code>100005    3   udp  52004  mountd</code>

<code>    </code><code>100005    3   tcp  40933  mountd</code>

<code>9、檢視到相應的服務都預設開機啟動了(安裝時候自動加入的)</code>

<code>ll </code><code>/etc/rc2</code><code>.d/</code>

<code>lrwxrwxrwx 1 root root  17 Aug  4 14:52 S13rpcbind -&gt; ..</code><code>/init</code><code>.d</code><code>/rpcbind</code>

<code>lrwxrwxrwx 1 root root  20 Aug  4 14:52 S14nfs-common -&gt; ..</code><code>/init</code><code>.d</code><code>/nfs-common</code>

<code>lrwxrwxrwx 1 root root  27 Aug  4 14:52 S16nfs-kernel-server -&gt; ..</code><code>/init</code><code>.d</code><code>/nfs-kernel-server</code>    

<code>    </code> 

<code>10、測試</code>

<code>1)本機挂載</code>

<code>mount</code> <code>-t nfs 10.1.10.117:</code><code>/opt/nfsdata/</code> <code>/mnt</code>

<code>2)檢視</code>

<code>df</code> <code>-Th</code>

<code>Filesystem                                             Type      Size  Used Avail Use% Mounted on</code>

<code>rootfs                                                 rootfs    9.2G  703M  8.1G   8% /</code>

<code>udev                                                   devtmpfs   10M     0   10M   0% </code><code>/dev</code>

<code>tmpfs                                                  tmpfs      24M  236K   23M   1% </code><code>/run</code>

<code>/dev/disk/by-uuid/62f9f2a1-249c-41fe-b639-c5137c10bf83</code> <code>ext4      9.2G  703M  8.1G   8% /</code>

<code>tmpfs                                                  tmpfs     5.0M     0  5.0M   0% </code><code>/run/lock</code>

<code>tmpfs                                                  tmpfs     810M     0  810M   0% </code><code>/run/shm</code>

<code>/dev/sda5</code>                                              <code>ext4       27G  172M   26G   1% </code><code>/opt</code>

<code>10.1.10.117:</code><code>/opt/nfsdata</code>                               <code>nfs4       27G  172M   26G   1% </code><code>/mnt</code>

<code>三、用戶端挂載(遠端)10.1.10.160</code>

<code>1、安裝nfs用戶端</code>

<code>apt-get -y </code><code>install</code> <code>nfs-common</code>

<code>2、檢視10.1.10.117共享目錄資訊</code>

<code>showmount -e 10.1.10.117</code>

<code>Export list </code><code>for</code> <code>10.1.10.117:</code>

<code>3、再挂載</code>

<code>4、檢視</code>

<code>[email protected]:~</code><code># df -Th</code>

<code>Filesystem    Type    Size  Used Avail Use% Mounted on</code>

<code>/dev/sda1</code>     <code>ext3    9.2G  801M  8.0G   9% /</code>

<code>tmpfs        tmpfs    124M     0  124M   0% </code><code>/lib/init/rw</code>

<code>udev         tmpfs     10M  700K  9.4M   7% </code><code>/dev</code>

<code>tmpfs        tmpfs    124M     0  124M   0% </code><code>/dev/shm</code>

<code>/dev/sda5</code>     <code>ext3     17G  487M   16G   3% </code><code>/opt</code>

<code>10.1.10.117:</code><code>/opt/nfsdata/</code>

<code>               </code><code>nfs     27G  172M   26G   1% </code><code>/mnt</code>

<code>5、添加</code><code>/etc/fstab</code><code>開機自動挂載</code>

<code>1)在</code><code>/etc/fstab</code><code>最後1行添加</code>

<code>10.1.10.117:</code><code>/opt/nfsdata</code> <code>/mnt</code> <code>nfs defaults 0 0</code>

<code>2)使用</code><code>mount</code> <code>-a檢查</code>

<code>/dev/sda1</code>     <code>ext3    9.2G  802M  8.0G   9% /</code>

<code>10.1.10.117:</code><code>/opt/nfsdata</code>

<code>               </code> 

<code>四、服務端檢視</code>

<code>1、在服務端上能看到用戶端10.1.10.160已連接配接上來了</code>

<code>showmount -a</code>

<code>All </code><code>mount</code> <code>points on debian:</code>

<code>10.1.10.160:</code><code>/opt/nfsdata</code>

<code>2、能看到10.1.10.160挂載刮來的資訊</code>

<code>cat</code> <code>/var/lib/nfs/rmtab</code> 

<code>10.1.10.160:</code><code>/opt/nfsdata</code><code>:0x00000001</code>

<code>五、還有exportfs nfsstat等指令,暫時沒用到,可以自行體驗下</code>

<code>六、參考文章</code>

<code>http:</code><code>//nfs</code><code>.sourceforge.net/</code>

本文轉自 xdoujiang 51CTO部落格,原文連結:http://blog.51cto.com/7938217/1681697,如需轉載請自行聯系原作者