linux之间实现共享文件夹挂载实例:
天上的星星有几颗一、linux存储服务器(10.89.8.5 域名:),linux客户端服务器(10.89.0.3 域名:)
a、存储服务器配置如下:
1、[m ~]#mkdir /mnt/mm
2、[m ~]#chmod 777 /mnt/mm
3、[m ~]#vi /etc/exports -------编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。
在该文件里添加如下内容:
/mnt/mm *(rw,) *表示所有的客户机都可以挂接此目录, rw表示挂接此目录的客户机对该目录有读写的权力,
酒店案例分析
4、[m ~]#rvice nfs restart ----开启nfs服务
5、[m ~]#rvice nfs status ----检查nfs服务是否开启
6、[m ~]#rvice portmap restart ----开启端口映射服务
b、客户端服务器配置如下:
1、[wds@ ~]#mkdir /home/jj
2、[wds@ ~]#mount -t nfs 10.89.8.5:/mnt/mm /home/jj
3、[wds@ ~]#df ---验证挂载目录是否成功
二、[wds@localhost ~]# exportfs [-aruv] 参数:
周扒皮半夜鸡叫故事 参数说明:
-a: 全部挂载(或者卸载)/etc/exports 文件的设置
-r: 从新挂载/etc/exports 里设置,此外,同步更新/etc/exports 及/var/lib/nfs/xtab的内容
-u: 卸载某一目录
健康第一 -v: 在导出时,将共享目录显示在屏幕上
例如:
[wds@localhost ~]# exportfs rv 全部从新导出一次
[wds@localhost ~]# exportfs au 全部卸载掉
三、Linux 服务器端NFS 服务器的配置
以root 身份登陆Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。
执行如下命令编辑文件/etc/exports:
# vi /etc/exports
职业技能查询 在该文件里添加如下内容:
/home/work 192.168.0.*(rw,sync,no_root_squash)
然后保存退出。
添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
/home/work 也称为服务器输出共享目录。
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync: 表示所有数据在请求时写入共享,即数据同步写入内存和硬盘;
no_root_squash:表示允许挂接此目录的客户机享有该主机的 root 身份。
NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是……不知道,因为NFS
传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。助理经理
其实,NFS运行在SUN的RPC(Remote Procedure
Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS Server也可以看作是RPC
Server。正
因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap设定。比如:某个NFS
Client发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到port
number(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。
注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。
使用umount命令可以卸载文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:
1. # umount -v /dev/sda1 通过设备名卸载
2. /dev/sda1 umounted
3. # umount -v /mnt/mymount/ 通过挂载点卸载
4. /tmp/diskboot.img umounted
如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:
1. # umount -v /mnt/mymount/
2. umount: /mnt/mymount: device is busy
自评报告3. umount: /mnt/mymount: device is busy
有时,导致设备忙的原因并不好找。碰到这种情况时,可以用lsof列出已打开文件,然后搜索列表查找待卸载的挂载点:
1. # lsof | grep mymount 查找mymount分区里打开的文件
2. bash 9341 francois cwd DIR 8,1 1024 2 /mnt/mymount
赞美太阳的诗句从上面的输出可知,mymount分区无法卸载的原因在于,francois运行的PID为9341的bash进程。
对付系统文件正忙的另一种方法是执行延迟卸载:
1. # umount -vl /mnt/mymount/ 执行延迟卸载
延迟卸载(lazy unmount)会立即卸载目录树里的文件系统,等到设备不再繁忙时才清理所有相关资源。