20201108使用samba和nfs实现文件共享以及autofs实现设备懒加载
Samba和nfs 两种文件共享方式
1 介绍:samba 主要用于linux和windows之间的文件共享,nfs用于linux之间的文件共享。
2 samba 基于smb(server message block)
2.1 安装。
服务名和他的名称一样,yum install samba
2.2 配置文件,
配置文件的名称:/etc/samba/smb.conf
配置目录默认还携带了一个example,里面有一些更加详细的配置主配置文件比较简单,除了一点注释,底下直接是干货
一些参数的意思,这个东西,没必要每个都看,有个印象就行
其中printers打印机的配置,home来访用户的家目录,不需要可以删除保留global和自己设置的模块即可
2.2 配置共享资源:
2.2.1 vim smb.conf最后追加了一段,只需要配置简单几个参数,
[study] 共享名称
comment=这是一个练习的共享资源 给用户一些提示
path=/home/lipengchao/sambadir 共享的目录
public=no 关闭所有人可见
writable=yes 是否可以写入
2.2.2 samba默认需要使用账户口令,而且他的用户必须在系统中已经存在,我们使用lipengchao这个用户,操作用户需要使用pdbedit
如果创建成功,则会提示很多创建后的信息
2.2.3 创建目录,检查目录selinux的属性情况,设置开放
[[email protected] lipengchao]# mkdir sambadir
[[email protected] lipengchao]# chown lipengchao:lipengchao sambadir/
[[email protected] lipengchao]# semanage fcontext -l |grep samba
[[email protected] lipengchao]# semanage fcontext -a -t samba_share_t /home/lipengchao/sambadir
[[email protected] lipengchao]# restorecon -Rv ./
还需要放行selinux 策略
[[email protected] lipengchao]# getsebool -a |grep samba
samba_enable_home_dirs --> off
[[email protected]]# setsebool -P samba_enable_home_dirs=on
2.2.4 配置完毕后重启服务,根据需要添加到enable和防火墙
[[email protected] lipengchao]# systemctl restart smb
查看使用的端口: netstat -lntup |grep smb 发现是tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=139/tcp
2.3 在windows上查看,和网上邻居访问方式一样,在运行中输入\\192.168.88.11
默认还提供了这个用户自己的家目录
我们新建一个文件
查看linux已经同步
2.4 当然samba也支持linux之间的共享,简单描述下过程,感兴趣可以自己操作下,我们linux的共享主要看下nfs
2.4.1 yum install cifs-utils
2.4.2 按照用户名,密码,共享域的顺序写入认证文件
vim auth.smb
username=lipengchao
password=lipengchao
domain=workgroup
chmod 600 auth.smb
2.4.3 开机自动挂载vim /etc/fstab
//192.168.88.11/study /study credentials=/root/auth.smb 0 0
然后就可以进入相应的目录操作了
========== NFS 网络文件系统
1 介绍:nfs在系统中默认已经安装 [[email protected] lipengchao]# rpm -qa|grep nfs 如果未安装:yum install nfs-utils
2 在服务器上准备目录以及权限
[[email protected] lipengchao]# mkdir nfsdir
[[email protected] nfsdir]# vim readme.txt
这是nfs共享目录,欢迎
[[email protected] lipengchao]#chown -R lipengchao:lipengchao nfsdir/
[[email protected] nfsdir]# chmod -R 777 ../nfsdir/
3 配置文件 /etc/exports
这个配置文件和名称不一致,而且默认里面什么都没有,需要自己写,我们需要按照 【共享目录的路径 允许访问的NFS客户端(共享权限参数)】的格式来维护,比如我们现在要将88.11上的/home/lipengchao/nfsdir共享给192.168.88.0/20的所有主机,并且让他们都拥有读写权限
[[email protected] nfsdir]# vim /etc/exports
/home/lipengchao/nfsdir 192.168.88.*(rw,sync,root_squash)
权限参数说明
4 开启服务,和端口
[[email protected] nfsdir]# systemctl restart rpcbind 先启动依赖服务
systemctl start nfs-server 启动自己服务
添加到防火墙,添加服务好像并不管用
[[email protected] nfsdir]#firewall-cmd --permanent --add-service=nfs
我们需要看下使用的端口
[[email protected] nfsdir]# netstat -lntup|grep rpc 或者
但是这里有个问题就是每次启动nfs-server的时候,默认向rpc注册的端口都是变化的,我们来修改配置文件vim /etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
重启服务,继续查看
[[email protected] nfsdir]# systemctl restart rpcbind
[[email protected] nfsdir]# systemctl restart nfs-server
[[email protected] nfsdir]# rpcinfo -p
发现mountd已经修改成设置的了,但是nolockmgr还是不对
[[email protected] nfsdir]# vim /etc/sysctl.conf
加入配置
fs.nfs.nlm_tcpport = 30002
fs.nfs.nlm_udpport = 30002
[[email protected] nfsdir]# sysctl -p 刷新配置
[[email protected] nfsdir]# systemctl restart rpcbind 再次重启服务
[[email protected] nfsdir]# systemctl restart nfs-server
[[email protected] nfsdir]# rpcinfo -p 再次查看已经修改过来了
增加防火墙
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=30001-30004/tcp
firewall-cmd --permanent --add-port=30001-30004/udp
[[email protected] nfsdir]# firewall-cmd --reload
5 客户端的配置
5.1 查看NFS服务器给的共享主机范围
[[email protected]_src1 ~]# showmount -e 192.168.88.11
Export list for 192.168.88.11:
/home/lipengchao/nfsdir 192.168.88.*
[[email protected]_src1 ~]# showmount -a # 显示本机挂载文件资源情况
All mount points on ogg_src1:
5.2 创建一个挂载点,使用mount进行挂载,如果长期fstab中记载
[[email protected]_src1 ~]# mkdir server11
mount -t nfs 192.168.88.11:/home/lipengchao/nfsdir /root/server11
查看目录已经可以看到了,当然客户端新建后,主机也是可以看到的
[[email protected]_src1 ~]# ls server11/
readme.txt
============= autofs自动挂载服务
1 介绍:这个比起mount和fstab的好处是,mount太麻烦,fstab每次开机就要挂载消耗资源过大,autofs是当用户去访问的时候才会自动去挂载
2 yum install autofs 安装
3 维护配置文件
3.1 [[email protected] nfsdir]# vim /etc/auto.master
需要新增一条对应关系,格式【挂载目录 子配置文件】
3.2 维护子配置文件
子配置文件要按照【挂载子目录 挂载文件类型及权限 :设备名称】的格式,如果需要看例子,可以看系统给出的auto.misc
[[email protected] nfsdir]# vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
3.3 重启服务以及配置服务,并且把我们fstab里的设置注销
[[email protected] nfsdir]# systemctl restart autofs.service
[[email protected] nfsdir]# systemctl enable autofs
3.4 查看效果,我们一重启下设备
默认没有挂载光盘,然后我们进入/media/iso 目录看看
[[email protected] lipengchao]# ls /media/iso/ 虽然没有iso目录,但是不影响用
============ 顺便写一下 dns 这部分内容,这个只要搞清原理即可,基本很少有机会陪配置dns服务器
三层结构:
1 主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对
应关系。
2 从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器
宕机等情况。
3 缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并
将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率
访问流程:
安装 bind 服务程序
yum install bind-chroot
然后各种配置文件修改,这里不再记录。