类似于windows 的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8 和REDHAT as server 3 为例简单介绍一下在linux 下如何mount nfs 网络共享。在linux 客户端挂接(mount)NFS 磁盘共享之前,必须先配置好NFS 服务端。
1、Solaris 系统NFS 服务端配置方法如下:
(1)修改/etc/dfs/dfstab, 增加共享目录
share -F nfs -o rw /export/home/sunky
(2)启动nfs 服务
# /etc/init.d/nfs.server start
(3)NFS 服务启动以后,也可以使用下面的命令增加新的共享
# share /export/home/sunky1
# share /export/home/sunky2
注:/export/home/sunky 和/export/home/sunky1 是准备共享的目录
2、linux 系统NFS 服务端配置方法如下:
(1)修改/etc/exports,增加共享目录
/export/home/sunky 10.140.133.23(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2 是准备共享的目录,10.140.133.23、*、linux-client是被允许挂接此共享linux 客户机的IP 地址或主机名。如果要使用主机名linux-client 必须在服务端主机
/etc/hosts 文件里增加linux-client 主机ip 定义。格式如下:
10.140.133.23 linux-client
(2)启动与停止NFS 服务
/etc/rc.d/init.d/portmap start (在REDHAT 中PORTMAP 是默认启动的)
/etc/rc.d/init.d/nfs start 启动NFS 服务
/etc/rc.d/init.d/nfs stop 停止NFS 服务
注:若修改/etc/export 文件增加新的共享,应先停止NFS 服务,再启动NFS 服务方能使新增加的共享起作用。使用命令exportfs -rv 也可以达到同样的效果。
3、linux 客户端挂接(mount)其他linux 系统或UNIX 系统的NFS 共享
# mkdir -p /mnt/nfs
注:建立一个目录用来作挂接点(mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
注:这里我们假设10.140.133.9 是NFS 服务端的主机IP 地址,当然这里也可以使用主机名,但必须在本机/etc/hosts 文件里增加服务端ip 定义。/export/home/sunky 为服务端共享的目录。如此就可以在linux 客户端通过/mnt/nfs 来访问其它linux 系统或UNIX 系统以NFS 方式共享出来的文件了。以上操作在redhat as server 3、redflag server4.1、suse server 9 以及Solaris 7、Solaris 8、Solaris 9 forx86&sparc 环境下测试通过。
权限问题:
假设server 端的使用者jack, user id 为1818, gid 为1818, client 端也有一个使用者jack,但是uid 及gid是1818。client 端的jack 希望能完全读写server 端的/home/jack 这个目录。server 端的/etc/exports是这样写的:
/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)
这个的配置文件的意思是,所有client 端的使用者存取server 端/home/jack 这目录时,都会map 成server 端的jack (uid,gid=1818)。我mount 的结果是
1. client 端的root 可以完全存取该目录, 包括读、写、杀……等
2. client 端的jack (uid,gid=1818) 我可以做:
rm -rf server_jack/*
cp something server_jack/
mkdir server_jack/a
umount:将文件设备卸载
[root@centos57 ~]# umount /dev/hda1 用设备文件名来卸载
[root@centos57 ~]# umount /aixi 用挂载点来卸载
umount: /aixi: device is busy 如果提示设备忙,不急可以使用如下命令卸载
#umount -l /mnt/hda1 选项-l 并不是马上umount,而是在该目录空闲后再umount。
如果比较急,可用如下命令:
#umount -f /mnt/hda1 -f 代表强制卸载
如果还不行,可使用fuser -m -v /dev/hda1 来查询是哪些程序在占用,结束这些程序进程即可卸载
[root@centos57 aixi]# sync && fuser -m /dev/hda1 -k 使用这条命令后一定可以卸载