CentOS 7 網絡磁盤掛載到本地 並測試傳輸速度


本文中的配置只做測試使用,正式環境中考慮到安全,請自行結合網上介紹的配置細節完善配置內容。

首先明確兩個概念,服務器客戶端(本地),我們要做的是將服務端的硬盤上的/home/liuyx 目錄掛載到本地的/liuyx下。

1、在服務端和客戶端分別安裝NFS以及其rpc支撐

yum install -y rpcbind nfs-utils

2、服務端配置可映射目錄

vim /etc/exports

打開是個空文件,在其中添加一行,並保存,內容如下

/home/liuyx 123.123.123.*(rw,no_root_squash,sync)

將服務端的/home/liuyx目錄開放給后邊這個ip,* 表示任意,后邊的內容依次代表指定可讀寫、客戶端擁有root權限,同步,具體配置本篇不做詳解,請自行搜索。

3、開放服務端以下端口

tcp  111 2049 端口
udp 111  4046 端口

關於需要開放的端口分析過程(關鍵兩個命令:netstat -an |grep 10.12.13.11tcpdump -i eht0 udp port 111 and dst host 10.12.13.11):
http://blog.csdn.net/fhqsse220/article/details/45668057

4、啟動服務端NFS服務

systemctl start rpcbind.service
systemctl start nfs.service
#設置開機啟動
systemctl enable rpcbind.service
systemctl enable nfs.service

 

————————————————————————服務端完畢————————————————————————————

 

5、客戶端新建目錄/liuyx

mkdir /liuyx

6、客戶端掛載目錄

此處可以先用命令查詢一下

showmount -e 123.123.123.123

查詢如果失敗,可能會報:clnt_create: RPC: Program not registered,解決方法可以參考:http://sxct168.blog.51cto.com/824373/1654069/

不過這個失敗並不影響我們使用,可以忽略。

掛載命令:

mount -t nfs 123.123.123.123:/home/liuyx /liuyx

————————————————掛載完畢————————————————————————————————————

 

7、測試讀寫速度

寫入:

time dd if=/dev/zero of=/liuyx/testdd.dbf bs=8k count=1000000 conv=fsync

從一個空位置讀數據,寫到目標地址,每一塊8M大小,寫50次

 

讀出:

time dd if=/liuyx/testdd.dbf  of=/dev/null bs=8k count=1000000 conv=fsync

從一個位置讀文件,輸出到一個空位置,conv=fsync 表示執行完再刷到硬盤,不加會讀到內存就輸出結果了,並不執行sync

從空位置讀或者寫,可以減少對測試的影響。

注意:

對於以上命令讀取文件,默認的系統配置是會進行緩存,

可以使用以下命令證實:

free -m

也就是說第一次讀文件是從磁盤讀到內存,第二次則直接去內存的緩存區拿文件,所以我們可以先把緩存策略設為不緩存

cat  /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

測試完成后記得再設回來,即上邊cat命令顯示的值

echo 0 > /proc/sys/vm/drop_caches

  

讀也可以這樣,需要用到hdparm這個軟件,並且只支持本地,就本地測試來說,相對比較省事,不用頻繁的去清理緩存:

hdparm -t /dev/sda

 

8、開機自動掛載

#2017年11月22日 追加:經過試驗(CentOS6.4和CentOS7) 以下這段用不到,只需修改fstab文件即可
#vim /etc/rc.local #mount -t nfs -o nolock 123.123.123.123:/home/liuyx /liuyx vim /etc/fstab 123.123.123.123:/home/liuyx /liuyx nfs defaults 0 0

 

 

 

9、取消掛載

測試完了,我們還原線程,除了刪掉測試文件、配置改回去,重啟相關服務外,剩下的就是取消掛載,因為可能會遇到問題,這里單獨說一下

取消掛載可能遇到其他用戶正在使用該掛載目錄的情況:

#umount /testspeed
umount: /testspeed: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

 

以下轉自(http://blog.csdn.net/intel80586/article/details/7682522):

看看有哪些用戶在用
[root@localhost /]#fuser -cu /testspeed
/testspeed:                15060x(root)
其次向進程發出SIGKILL信號
[root@localhost /]# fuser -ck /mnt
/mnt:                15060x
確認
[root@localhost /]# fuser -c /mnt

 

附一個自己寫的shell腳本:

取消掛載、掛載遠程、設置開機掛載、清空被掛載盤、復制一個遠程位置到掛載目錄。

鏈接:http://pan.baidu.com/s/1c2EpvS8 密碼:ta8w


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM