SAMBA文件共享与DNS域名服务

文件共享之nfs-smaba

文件共享中的NFS(Network File System,网络文件系统)和SAMBA(基于SMB协议的文件共享服务)是两种常见的协议和技术,它们各自具有独特的特点和优势。

NFS(Network File System)

定义与特点:

  • NFS是一种分布式文件系统协议,最初由Sun Microsystems开发,用于在计算机网络上共享文件。它允许用户在不同的机器之间挂载远程文件系统,使得远程文件像本地文件一样访问和操作。
  • NFS协议严重依赖于RPC(Remote Procedure Call,远程过程调用)服务,需要在客户端和服务端都安装rpcbind包。
  • NFS服务端对客户端不做身份认证,仅通过简单的IP地址限制和用户ID映射来实现访问控制,这可能会导致用户名和ID映射结果错乱的问题。为了解决这一问题,可以为客户端和服务端用户提供一个集中式身份认证服务器。
  • NFS协议的优势在于其高效的读写性能,尤其在大数据处理方面表现突出。然而,NFS协议并不适用于Windows系统,这在一定程度上限制了其应用范围。

应用场景:

  • NFS主要适用于类Unix系统之间的文件共享,如Linux、Unix等。
  • 它也常被用于NAS(网络附加存储)设备中,为虚拟机或容器提供共享存储,支持动态资源分配。

SAMBA

定义与特点:

  • SAMBA是基于SMB(Service Message Block,信息服务块)协议的一种文件共享服务,它支持多种操作系统,包括Windows、Linux、Mac OS等。
  • 通过SAMBA,用户可以在不同的操作系统之间实现文件共享和打印服务。
  • SAMBA服务端提供了丰富的配置选项,支持用户身份认证、访问控制等功能,使得文件共享更加安全、灵活。
  • 与NFS相比,SAMBA协议具有更广泛的适用范围,尤其适用于跨平台的文件共享需求。

应用场景:

  • SAMBA广泛应用于需要跨平台文件共享的场景,如企业内部网络中的文件共享、打印服务等。
  • 它还支持Windows域、跨系统文件访问等高级功能,使得在Windows环境下使用SAMBA更加便捷。

总结

NFS和SAMBA作为两种主流的文件共享协议,各自具有独特的优势和适用范围。在选择时,需要根据实际需求进行权衡。如果你的应用场景主要涉及到类Unix系统之间的文件共享,且对性能要求较高,那么NFS可能是一个更好的选择。然而,如果你的应用场景需要跨平台文件共享,或者需要在Windows环境下使用,那么SAMBA可能更加适合。无论选择哪种协议,都需要注意安全问题,合理配置用户身份认证和访问控制功能,以确保文件共享的安全性。

任务背景

由于业务驱动,为了提⾼⽤户的访问效率,现需要将原有web服务器上的静态资源

⽂件分离出来,单独保存到⼀台⽂件服务器上。

任务要求

1. ⼀台应⽤服务器web-server部署apache,静态⽹⻚资源存放在另外⼀台NFS服
务器上
2. 对于NFS服务器上保存的静态资源实⾏实时备份(inotify + rsync)
任务拆解
1. 共享存储服务器搭建NFS服务,为web服务器提供静态资源⽂件内容
创建共享⽬录来保存静态资源⽂件
发布该共享⽬录给web服务使⽤
2. ⼀台服务器搭建web服务,并==使⽤==(挂载)共享存储的静态资源
任务拆解
1. 共享存储服务器搭建NFS服务,为web服务器提供静态资源⽂件内容
创建共享⽬录来保存静态资源⽂件
发布该共享⽬录给web服务使⽤
2. ⼀台服务器搭建web服务,并==使⽤==(挂载)共享存储的静态资源
涉及知识点
==NFS服务的搭建(新知识点)==
mount命令挂载⽹络资源(掌握)
rsync⼯具实现对共享存储上的静态资源备份(旧知识点)
NFS服务介绍
NFS(Network File System)⽹络⽂件系统
主要⽤于linux系统上实现⽂件共享的⼀种协议,其客户端主要是Linux
没有⽤户认证机制,且数据在⽹络上传送的时候是明⽂传送,⼀般只能在局域
⽹中使⽤
⽀持多节点同时挂载及并发写⼊
企业应⽤:为集群中的web server提供前端端存储
⼆、NFS服务相关软件包三、配置⽂件解读
nfs-utils-1.2.3-26.el6.x86_64 nfs服务的⼀个脚本控制⼯具(服务端
与客户端)
nfs4-acl-tools-0.3.3-6.el6.x86_64 acl ⼯具包
nfs-utils-lib-1.1.5-4.el6.x86_64 nfs 库⽂件
[root@nfs-server ~]# rpm -q rpcbind
rpcbind-0.2.0-11.el6.x86_64
[root@nfs-server ~]# rpm -aq|grep ^nfs
nfs-utils-1.2.3-39.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
/etc/exports man 5 exports
共享⽬录 共享选项
/nfs/share *(ro,sync)
共享主机:
* :代表所有主机
192.168.0.0/24:代表共享给某个⽹段
192.168.0.0/24(rw) 192.168.1.0/24(ro) :代表共享给不同⽹段
192.168.0.254:共享给某个IP
*.itcast.com:代表共享给某个域下的所有主机
共享选项:
ro:只读
rw:读写
sync:实时同步,直接写⼊磁盘
async:异步,先缓存在内存再同步磁盘
anonuid:设置访问nfs服务的⽤户的uid,uid需要在/etc/passwd中存在任务解决⽅案
anongid:设置访问nfs服务的⽤户的gid
root_squash :默认选项 root⽤户创建的⽂件的属主和属组都变成nfsnobody,
其他⼈nfs-server端是它⾃⼰,client端是nobody。
no_root_squash:root⽤户创建的⽂件属主和属组还是root,其他⼈server端是
它⾃⼰uid,client端是nobody。
all_squash: 不管是root还是其他普通⽤户创建的⽂件的属主和属组都
是nfsnobody
说明:
anonuid和anongid参数和all_squash⼀起使⽤。
all_squash表示不管是root还是其他普通⽤户从客户端所创建的⽂件在服务器端的
拥有者和所属组都是nfsnobody;服务端为了对⽂件做相应管理,可以设置anonuid
和anongid进⽽指定⽂件的拥有者和所属组
环境准备:
Web-server:10.1.1.11
NFS-server:10.1.1.12
详细步骤:
1. 搭建NFS-server
1)创建共享⽬录及⽹站的静态资源⽂件
mkdir /share
echo "hello 来到我的世界" > /share/index.html
2)发布共享⽬录
[root@nfs-server ~]# cat /etc/exports
/share 10.1.1.0/24(ro)
3)启动服务检查端⼝是否监听
[root@nfs-server ~]# service rpcbind start
Starting rpcbind: [
OK ][root@nfs-server ~]# service nfs start
Starting NFS services: [
OK ]
Starting NFS mountd: [
OK ]
Starting NFS daemon: [
OK ]
Starting RPC idmapd: [
OK ]
查看端⼝111是否监听:
[root@nfs-server ~]# netstat -nltpu|grep rpcbind
2. 搭建web服务
1)安装软件
[root@web-server ~]# rpm -q httpd
httpd-2.2.15-29.el6.centos.x86_64
2)挂载nfs-server端共享⽬录
[root@web-server ~]# mount -t nfs 10.1.1.12:/share
/var/www/html/media
mount: wrong fs type, bad option, bad superblock on
10.1.1.1:/share,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
原因:客户端没有安装nfs相关的⼯具包
解决:
[root@web-server ~]# yum -y install nfs-utils nfs-utils-lib
nfs4-acl-tools
[root@web-server ~]# mount -t nfs 10.1.1.1:/share /var/www/html或者
[root@web-server ~]# mount.nfs 10.1.1.1:/share /var/www/html/
[root@web-server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server-lv_root 18G 2.3G 15G 14% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/sr0 4.2G 4.2G 0 100% /mnt
10.1.1.1:/share 18G 3.1G 14G 19%
/var/www/html
3)在web-server端查看⾸⻚⽂件
[root@web-server ~]# ll /var/www/html/
total 4
-rw-r--r-- 1 root root 25 Dec 30 02:48 index.html
4)启动Apache服务
[root@web-server ~]# service httpd start
3. 测试验证
Windows:
http://10.1.1.2
Linux:
# yum -y install elinks
# elinks http://10.1.1.2
客户端访问常⻅的问题:
[root@MissHou ~]# showmount -e 10.1.1.1
clnt_create: RPC: Port mapper failure - Unable to receiv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值