(一) 服务端搭建NFS:
1. 准备工作
yum grouplist nfs* //查看NFS组包列表
yum groupinfo nfs* //查看NFS组包信息
yum groupinstall "NFS file server" //安装NFS组包
rpm -qa | grep rpc //查看是否安装rpc服务
yum install rpcbind //rpcbind 需要安装,用于支撑后台服务
rpm -ql nfs-utils //查看nfs工具包
2. 启动服务
service nfs start
chkconfig ―list nfs
chkconfig ―level 35 nfs on
3. 如果启动报错,可以查看系统服务启动日志排错
vim /var/log/messages
4. 查看端口信息
netstat -tl
netstat -tln
5. 配置NFS工作目录
[root@localhost ~]# mkdir /testnfs
[root@localhost ~]# echo "nfsserver">/testnfs/testfile //在工作目录下创建一个文件
6. 赋予/testnfs其他用户写入权限
[root@localhost ~]# chmod -R o+w /testnfs/ (或者 在配置exports时,添加 no_root_squash,放开root权限,如:(rw,no_root_squash),但是为了安全最好不要)
6. 服务端共享目录添加
[root@localhost ~]# vim /etc/exports
目录 允许访问的主机(权限)
/testnfs 192.168.1.0/24(rw) 172.16.30.0/24(rw)
7. 刷新共享目录
[root@localhost ~]# exportfs -arv //-a所有,-v显示详细信息,-r刷新
exporting 192.168.1.0/24:/testnfs
exporting 172.16.30.0/24:/testnfs
8. 查看本机所有共享目录
[root@localhost ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/testnfs 172.16.30.0/24,192.168.1.0/24
[root@localhost ~]# cat /var/lib/nfs/etab //当用户挂载后,默认指定访问用户为nfsnobody 65534
/testnfs192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
/testnfs172.16.30.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
(二) 客服端访问
[root@xuan ~]# showmount -e 172.16.30.56 //查看服务器共享目录
Export list for 172.16.30.56:
/testnfs 172.16.30.0/24,192.168.1.0/24
[root@xuan ~]# mkdir /testnfs_client //新建一个目录来挂载服务器NFS
[root@xuan ~]# mount -t nfs 172.16.30.56:/testnfs/testnfs_client /挂载服务器端NFS,在挂载时指定挂载类型为nfs
[root@xuan ~]# df -h ////查看挂载的情况
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda2 9.7G 7.7G 1.5G 84% /
tmpfs 1.9G 272K 1.9G 1% /dev/shm
/dev/sda3 9.7G 170M 9.0G 2% /home
/dev/sda1 53G 2.5G 48G 5% /var
/dev/sda6 214G 23G 180G 12% /media/sda6
172.16.30.56:/testnfs
18G 3.3G 14G 20% /testnfs_client
永久挂载:(不建议)
vim /etc/fstab //在最后一行添加下面一行信息
192.168.1.253:/testnfs /testnfs_client nfs defaults 0 0
这样永久挂载后,每次系统启动都会自动挂载服务器端NFS,当服务端NFS没有开启时,本地客户端启动时会执行挂载任务,导致系统启动速度变慢。因此,我们可以把服务端的NFS自动挂载到本地,当我们需要时,再去访问。
(三)客户端自动挂载服务端NFS
自动挂载用到的软件包automount,一般系统都默认安装了的。如果没有安装再安装下:yum install autofs
下面进行自动挂载配置:
[root@xuan ~]# mkdir /nfs_mount //先在根目录创建一个用于自动挂载的目录
[root@xuan ~]# vim /etc/auto.master //编辑配置文件
/nfs_mount /etc/auto.nfs //最后一行添加(左边目录是指需要挂载的目录,右边目录是指关联到所需自动挂载路径)
[root@xuan ~]# vim /etc/auto.nfs //新建我们刚刚设置的自动挂载路径,添加如下信息
nfs_client -rw,sync 192.168.1.253:/testnfs //左边代表自动挂载目录,中间权限,sync 代表同步,右边代表所需挂载的文件路径
[root@xuan ~]# service autofs reload //重置自动挂载map
重新载入 maps
[root@xuan ~]# df -h //查看挂载信息
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda2 9.7G 7.7G 1.5G 84% /
tmpfs 1.9G 272K 1.9G 1% /dev/shm
/dev/sda3 9.7G 170M 9.0G 2% /home
/dev/sda1 53G 2.5G 48G 5% /var
/dev/sda6 214G 23G 180G 12% /media/sda6
172.16.30.56:/testnfs
18G 3.3G 14G 20% /testnfs_client
这时,我们去访问我们建立的自动挂载目录,去触发自动挂载
[root@xuan ~]# cd /nfs_mount/
[root@xuan nfs_mount]# ls
[root@xuan nfs_mount]# cd nfs_client //上面ls查看没有nfs_client目录,但是我们可以cd访问nfs_client目录去触发自动挂载
[root@xuan nfs_client]# ls
testfile
[root@xuan nfs_client]# df -h //这时我们查看已经自动挂载服务端的NFS
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda2 9.7G 7.7G 1.5G 84% /
tmpfs 1.9G 272K 1.9G 1% /dev/shm
/dev/sda3 9.7G 170M 9.0G 2% /home
/dev/sda1 53G 2.5G 48G 5% /var
/dev/sda6 214G 23G 180G 12% /media/sda6
172.16.30.56:/testnfs
18G 3.3G 14G 20% /testnfs_client
172.16.30.56:/testnfs
18G 3.3G 14G 20% /nfs_mount/nfs_client