暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

suse11图形界面搭建nfs-server以及原理详解

大碗岛星期天下午的梦 2017-11-20
1086


简介:

NFS(Network File System)即网络文件系统。

是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。


原理:

NFS通过网络来进行服务端和客户端之间的数据传输,传输数据需要相应的网络端口,NFS服务器端口是随机的,NFS服务器通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的,也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口(小于1024)来进行数据的传输。


pc(portmap)就是用来统一管理NFS端口的服务,端口是111。NFS服务端需要先启动rpc,再启动NFS,这样NFS才能够到RPC去注册端口信息。当rpc服务挂掉,nfs还存在的时候,需要先宕掉nfs,启动rpc,再启动nfs。顺序错误将导致服务不可用;



笔直的分割线:



NFS部署:

SUSE11系统环境下,server端是不需要portmap服务的。


服务端:

图一:在计算机打开YaST2,找到NFS服务器;


图二:启动Enable NFSv4和NFS Server,如果防火墙是开着的,打勾Open port in Firewall,其余的默认;


图三:如果上一步无法配置NFS防火墙端口,手动在YaST2打开firewall,选择allowed services,点击service to allow的选项,选择NFS Server项;



图四:继续图二的时候,弹出提示要安装nfs-kernel-server,点击install;


图五:安装源不可用;


#命令行安装nfs-kernel-server;

ctms-cluster:~ # df -h

文件系统                    容量  已用  可用 已用% 挂载点

/dev/mapper/rootvg-lv_root  119G   32G   81G   29% /

udev                        7.8G  108K  7.8G    1% /dev

tmpfs                       7.8G   76K  7.8G    1% /dev/shm

/dev/sda1                   152M   36M  108M   26% /boot

/dev/mapper/rootvg-lv_home   60G   14G   43G   24% /home

/dev/mapper/rootvg-lv_tmp   9.9G  265M  9.1G    3% /tmp

/dev/mapper/rootvg-lv_var   9.9G  606M  8.8G    7% /var

/dev/sr0                    3.2G  3.2G     0  100% /media/SLES-11-SP3-DVD-x86_6407031

ctms-cluster:~ # zypper ar file:///media/SLES-11-SP3-DVD-x86_6407031 jimmy

正在添加安装源 'jimmy' [完毕]

成功添加了安装源 'jimmy'

已启用: 是

自动刷新: 否

GPG check: 是

URI: file:/media/SLES-11-SP3-DVD-x86_6407031

ctms-cluster:~ # zypper lr

# | 别名                                             | 名称                                             | 已启用 | 刷新

--+--------------------------------------------------+--------------------------------------------------+--------+-----

1 | SUSE-Linux-Enterprise-Server-11-SP3 11.3.3-1.138 | SUSE-Linux-Enterprise-Server-11-SP3 11.3.3-1.138 | 是     | 否  

2 | jimmy                                            | jimmy                                            | 是     | 否  

ctms-cluster:~ # zypper in nfs-kernel-server

正在构建 'jimmy' 安装源缓存 [完毕]

正在加载安装源数据...

正在读取已安装的软件包...

正在解析软件包依赖性...

以下新的软件包将被安装:

  nfs-kernel-server

1 new package to install.

总下载大小:111.0 KiB 。 操作完成后,额外的 247.0 KiB 空间将会被使用。

是否继续? [y/n/?] (y): y

正在接收 软件包 nfs-kernel-server-1.2.3-18.29.1.x86_64 (1/1), 111.0 KiB (解压后 247.0 KiB)

媒体源'file:/mnt'不包含需要的介质      #报错信息,得知zypper ar需要在/mnt目录下;

中止、重试、忽略? [a/r/i/?] (a): a

Failed to provide Package nfs-kernel-server-1.2.3-18.29.1. Do you want to retry retrieval?

[SUSE-Linux-Enterprise-Server-11-SP3 11.3.3-1.138|file:/mnt] 安装源 SUSE-Linux-Enterprise-Server-11-SP3 11.3.3-1.138 无法提供文件 ./suse/x86_64/nfs-kernel-server-1.2.3-18.29.1.x86_64.rpm

历史:

- 媒体源'file:/mnt'不包含需要的介质

- Can't provide ./suse/x86_64/nfs-kernel-server-1.2.3-18.29.1.x86_64.rpm

中止、重试、忽略? [a/r/i] (a): a

下列软件包在安装期间或安装后或移除时出现问题:

Installation aborted by user

请参见以上错误信息找到线索。

ctms-cluster:~ # cd /etc/zypp/repos.d/

ctms-cluster:/etc/zypp/repos.d # ls

jimmy.repo  SUSE-Linux-Enterprise-Server-11-SP3 11.3.3-1.138.repo

ctms-cluster:/etc/zypp/repos.d # cat /etc/zypp/repos.d/jimmy.repo

[jimmy]

name=jimmy

enabled=1

autorefresh=0

baseurl=file:/media/SLES-11-SP3-DVD-x86_6407031    #验证之前zypper ar的地址,不符合安装要求;

type=yast2

ctms-cluster:/etc/zypp/repos.d # ll /dev/cdr

cdrom  cdrw   

ctms-cluster:/etc/zypp/repos.d # ll /dev/cdrom

ls: 初始化月份字符串出错

lrwxrwxrwx 1 root root 3 11�� 16 01:29 /dev/cdrom -> sr0

ctms-cluster:/etc/zypp/repos.d # mount -o loop /dev/cdrom /mnt/     #将镜像挂载到/mnt目录下;

ctms-cluster:/etc/zypp/repos.d # zypper ar file:///mnt/ haya      #重新搭建zypper源haya,baseurl在本地/mnt目录下;

正在添加安装源 'haya' [完毕]

成功添加了安装源 'haya'

已启用: 是

自动刷新: 否

GPG check: 是

URI: file:/mnt/

ctms-cluster:/etc/zypp/repos.d # zypper in nfs-kernel-server

正在构建 'haya' 安装源缓存 [完毕]

正在加载安装源数据...

正在读取已安装的软件包...

正在解析软件包依赖性...

以下新的软件包将被安装:

  nfs-kernel-server

1 new package to install.

总下载大小:111.0 KiB 。 操作完成后,额外的 247.0 KiB 空间将会被使用。

是否继续? [y/n/?] (y): y

正在接收 软件包 nfs-kernel-server-1.2.3-18.29.1.x86_64 (1/1), 111.0 KiB (解压后 247.0 KiB)

正在安装: nfs-kernel-server-1.2.3-18.29.1 [完毕]

ctms-cluster:/etc/zypp/repos.d #


图六:在图形界面再次打开NFS服务器,install成功;



#验证NFS服务器是否启动;

ctms-cluster:/etc/zypp/repos.d # netstat -an | grep 111

tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      

tcp        0      0 :::111                  :::*                    LISTEN      

udp        0      0 0.0.0.0:111             0.0.0.0:*                           

udp        0      0 :::111                  :::*                                

unix  2      [ ACC ]     STREAM     LISTENING     124111 /tmp/orbit-root/linc-60e2-0-4be1700340adc

ctms-cluster:/etc/zypp/repos.d #


图七:在YaST2打开NFS图形界面;

#add directory是添加服务器端共享的文件夹;

#add host是添加客户端ip以及权限;

#host wild card是填写客户端ip;

#options是客户端使用共享文件夹权限,可以不填(表示默认)后期可修改;



图八:在客户端最后一行是默认权限,第二行是添加了w(write)权限;

#no_root_squash 表示root用户具有根目录的完全管理访问权限;

#* 表示可以访问的IP范围,这里是所有ip地址都可以访问,当然也可以写上ip来代替;

#no_all_squash 保留共享文件的UID和GID(默认);


客户端:

ctms-app1:~ # mkdir /share

ctms-app1:~ #


图九:左下角add,根据提示填,简单到爆;



图十:嗯,上一秒还很开心,下一秒就error,提示说无法在/etc/fstab/下挂载;



#命令行验证,最后一行是NFS的挂载,已经挂载成功;

ctms-app1:~ # cat /etc/fstab

/dev/rootvg/lv_swap    swap    swap    defaults 0 0

/dev/rootvg/lv_root    /    ext3    acl,user_xattr 1 1

/dev/sda1    /boot    ext3    acl,user_xattr 1 2

/dev/rootvg/lv_home    /home    ext3    acl,user_xattr 1 2

/dev/rootvg/lv_tmp    /tmp    ext3    acl,user_xattr 1 2

/dev/rootvg/lv_var    /var    ext3    acl,user_xattr 1 2

proc    /proc    proc    defaults 0 0

sysfs    /sys    sysfs    noauto 0 0

debugfs    /sys/kernel/debug    debugfs    noauto 0 0

devpts    /dev/pts    devpts    mode=0620,gid=5 0 0

172.168.47.150:/share    /share    nfs4    defaults 0 0

ctms-app1:~ #


图十一:再打开一次NFS客户端,没有上次的error,如果再出现,手动挂载;


#命令行验证,在客户端创建文件夹;

ctms-app1:~ # df -h

Filesystem                  Size  Used Avail Use% Mounted on

/dev/mapper/rootvg-lv_root   69G  9.8G   56G  15% /

udev                         24G  108K   24G   1% /dev

tmpfs                        24G   76K   24G   1% /dev/shm

/dev/sda1                   152M   36M  109M  25% /boot

/dev/mapper/rootvg-lv_home   15G  6.6G  7.6G  47% /home

/dev/mapper/rootvg-lv_tmp   9.9G  241M  9.2G   3% /tmp

/dev/mapper/rootvg-lv_var   7.9G  284M  7.2G   4% /var

/dev/sr0                    3.2G  3.2G     0 100% /media/SLES-11-SP3-DVD-x86_6407031

172.168.47.150:/share        119G   32G   81G  29% /share

ctms-app1:~ # mkdir -p /share/jimmytest

ctms-app1:~ # ls /share/

jimmytest

ctms-app1:~ #


服务器端验证:

#共享目录显示客户端创建的文件夹“jimmytest”,说明共享目录/share可用;

ctms-cluster:~ # ls /share/

jimmytest

ctms-cluster:~ #



在pc端阅读效果更佳~

文章转载自大碗岛星期天下午的梦,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论