一台linux服務器掛載另外一台linux服務器文件系統


原文:https://www.cnblogs.com/burro/p/10444087.html

目標:在服務器A上訪問服務器B上指定的文件系統

服務器B配置步驟:

1、編輯/etc/exports 

格式:共享目錄     指定共享對象(共享參數)

例: /data/nfs   192.168.1.240(rw,sync)

將 /data/nfs 目錄 共享給192.168.1.240 ,客戶端權限rw

其中共享對象可以用通配符,比如 * 代表所有地址。

配置參數:

rw: 讀寫

ro :只讀

sync:將數據同步寫入內存緩沖區與磁盤中,效率低,但可以保證數據的一致性;

async:是大數據時使用,是先寫到緩存區,必要時再寫到磁盤里。

all_squash:所有訪問用戶都映射為匿名用戶或用戶組;
no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗后再映射為匿名用戶或用戶組;

root_squash(默認):將來訪的root用戶映射為匿名用戶或用戶組;
no_root_squash:來訪的root用戶保持root帳號權限;
 
wdelay(默認):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;
no_wdelay:若有寫操作則立即執行,應與sync配合使用;
 
subtree_check :若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限;
no_subtree_check(默認):即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;

2、查看是否安裝rpcbind 和 nfs

rpm -qa |grep nfs

rpm -qa |grep rpcbind

Linux安裝配置NFS方法

 3、使用yum -y install nfs-utils rpcbind命令進行安裝 nfs 和 rpcbind

 Linux安裝配置NFS方法

 4、關閉防火牆

 5、啟動服務,一定要先啟動rpc再啟動nfs

nfs需要向rpc注冊,rpc一旦重啟,所以注冊的文件都丟失,其他向注冊的服務都需要重啟

啟動rpc服務:

systemctl start rpcbind.service      

啟動nfs服務: 

systemctl start nfs.service

Linux安裝配置NFS方法

查詢nfs掛載,showmount  -e  192.168.1.240 后面可以接ip來查看。

[root@localhost data] # showmount -e
Export list  for  localhost:
/data/nfs  192.168.1.240

NFS服務開啟后,查看共享目錄參數

[root@localhost data] # cat /var/lib/nfs/etab
/data/nfs    192.168.1.240(rw, sync ,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

讓nfs服務開機啟動

[root@localhost ~]# chkconfig rpcbind  on
[root@localhost ~]# chkconfig nfs  on
 
[root@localhost ~]# chkconfig --list rpcbind
rpcbind 0:off   1:off   2: on     3: on     4: on     5: on     6:off
[root@localhost ~]# chkconfig --list nfs
nfs 0:off   1:off   2: on     3: on     4: on     5: on     6:off

 服務器A配置步驟:

1、查看是否安裝rpcbind 和 nfs

2、使用yum -y install nfs-utils rpcbind命令進行安裝 nfs 和 rpcbind

3、啟動rpcbind,nfs可以不啟動

4、客戶端掛載nfs共享目錄

mount -t nfs4 192.168.1.240:/data/nfs  /nfs    #掛載服務器B的/data/nfs 目錄到服務器A的 /nfs

5、查看磁盤

1
2
3
4
5
6
7
8
[root@centos68 ~] # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              9.5G  2.0G  7.1G  22% /
tmpfs                 491M     0  491M   0%  /dev/shm
/dev/sda1              190M   33M  147M  19%  /boot
/dev/sdb1              4.8G   11M  4.6G   1%  /data
192.168.1.240: /data/nfs
                       2.9G  2.7G  126M  96%  /nfs   # nfs掛載信息

 注:一般不將nfs掛載信息寫入fstab,因為nfs依賴於rpc服務,rpc服務啟動晚於fstab時會出錯。可以將掛載信息寫入 /etc/rc.local

 vim  /etc/rc.local

mount  -t nfs 192.168.1.240: /data/nfs   /data/nfs
 
參考以上配置,在服務器A中可以查看到服務器B目錄;
若 docker 容器掛載服務器A目錄且docker 容器在mount之前先啟動,這時候進入容器內部無法在掛載的目錄下查看到文件;重啟容器在進入可以查看到遠程目錄文件
若在docker 容器內部執行mount -t nfs4 192.168.1.240:/data/nfs /data/nfs ,這時候是可以在容器內部可以查看到遠程目錄文件;在宿主機上無法看到遠程目錄文件。
卸載掛載目錄命令:umount /data/nfs
 
注:還需注意,此容器需添加--privileged參數表示容器的用戶有SYS_ADMIN權限,此時才可順利的執行mount命令。


免責聲明!

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



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