网站后台补丁如何做网络销售平台有哪些软件
网站后台补丁如何做,网络销售平台有哪些软件,wordpress清空演示数据,微软公司做网站的软件目录 1、NFS介绍2、NFS服务部署2.1安装nfs服务 (服务端配置)2.2启动NFS服务2.3 服务检查2.4 客户端配置 3、nfs作为存储卷使用3.1 nfs作为volume3.2 nfs存储的缺点3.3 nfs作为PersistentVolum 4、nfs作为动态存储提供5、总结 1、NFS介绍
NFS#xff08;Network File SystemNetwork File System是一种分布式文件系统协议允许客户端远程访问服务器上的文件实现数据共享。它整合多个存储设备为统一文件系统方便数据存储和管理支持负载均衡和故障转移确保服务高可用和可扩展。但需注意NFS依赖网络环境网络状况影响其性能且配置管理需技术经验。 nfs端口2049 RPC端口111w
nfs原理 工作原理主要基于客户端-服务器架构。在NFS环境中服务器端运行NFS服务将本地文件系统中的文件共享给网络上的其他计算机。客户端通过挂载远程NFS共享可以像访问本地文件系统一样访问这些共享文件。 NFS 使用RPC(Remote Procedure Call)的机制进行实现RPC使得客户端可以调用服务端的函数。同时由于有 VFS 的存在客户端可以像使用其它普通文件系统一样使用 NFS 文件系统。经由操作系统的内核将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务。NFS服务器执行相关的操作并将操作结果返回给客户端。 1.首先服务器端启动RPC服务并开启111端口
2.服务器端启动NFS服务并向RPC注册端口信息
3.客户端启动RPCportmap服务向服务端的RPC(portmap)服务请求服务端的NFS端口
4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
NFS服务主要进程包括
rpc.nfsd最主要的NFS进程管理客户端是否可登录rpc.mountd挂载和卸载NFS文件系统包括权限管理rpc.lockd非必要管理文件锁避免同时写出错rpc.statd非必要检查文件一致性可修复文件
nfs的关键工具包括
主要配置文件/etc/exportsNFS文件系统维护命令/usr/bin/exportfs共享资源的日志文件 /var/lib/nfs/*tab客户端查询共享资源命令 /usr/sbin/showmount端口配置 /etc/sysconfig/nfs。
2、NFS服务部署
在NFS服务器端的主要配置文件为/etc/exports时通过此配置文件可以设置共享文件目录。每条配置记录由NFS共享目录、NFS客户端地址和参数这3部分组成格式如下
[NFS共享目录] [NFS客户端地址1(参数1,参数2,参数3……)]
NFS共享目录服务器上共享出去的文件目录 NFS客户端地址允许其访问的NFS服务器的客户端地址可以是客户端IP地址也可以是一个网段(192.168.64.0/24) 访问参数括号中逗号分隔项主要是一些权限选项。 访问权限参数
选项描述ro客户端对于共享文件目录为只读权限。默认设置rw客户端对共享文件目录具有读写权限。
Kubernetes的NFS存储用于将某事先存在的NFS服务器导出export的存储空间挂载到Pod中来供Pod容器使用。与emptyDir不同的是NFS存储在Pod对象终止后仅是被卸载而非删除。另外NFS是文件系统及共享服务它支持同时存在多路挂载请求。定义NFS存储时常用到以下字段。
2.1安装nfs服务 (服务端配置)
#ubuntu部署
sudo apt install nfs-kernel-server#centos部署
yum -y install rpcbind nfs-util#创建要共享的目录
mkdir /data/redis -p #/data/redisNFS服务要共享的目录#编辑NFS配置并加入以下内容
vim /etc/exports #NFS的配置文件默认文件内容为空无任何共享
/data/redis 192.168.31.0/24(rw,sync,no_all_squash,no_subtree_check,no_root_squash)
#载入配置
exportfs -rv/data/redis 192.168.31.0/24(rw,sync,no_all_squash,no_subtree_check,no_root_squash) /data/redis 192.168.31.0/24(rw,no_root_squash) #两者效果一样 #设置/redis为共享目录允许192.168.31.0/24网段的IP地址主机访问,也可以写 * 表示所有地址都可以访问NFS服务 #rw访问到此目录的服务器都具备读写权限 #sync数据同步写入内存和硬盘 默认同步可不写入 #no_all_squash所有用户对根目录具备完全管理访问权限 默认禁用all_squash可不写入 #no_subtree_check不检查父目录的权限 默认禁用subtree_check可不写入 #root_squash选项会将这个root用户映射成一个非特权用户,此处禁用 no_root_squash
2.2启动NFS服务
#ubuntu启动
systemctl start nfs-kernel-server#centos启动
systemctl start rpcbind //一定要先开启rpcbind服务
systemctl start nfs //如服务已启动更改完配置信息后需要重启服务设置开机自启
systemctl enable rpcbindsystemctl enable nfs-server
2.3 服务检查
showmount -e localhost
exportfs -v可以看到redis共享目录信息
2.4 客户端配置
1.1.检查并安装软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
systemctl start rpcbind systemctl start nfs
systemctl enable rpcbind systemctl enable nfs-server2.将共享目录挂载到本地
mount -t nfs 服务端地址:/共享目录 /mnt
showmount -e 服务端地址2.5 服务测试 在服务端共享目录创建文件在客户端挂载目录可以看到
cd /data/redis
echo hello world hello.txtcd /mnt/ cat hello.txt 注也可以客户端写入服务端查看 客户端需要有权限
3、nfs作为存储卷使用
3.1 nfs作为volume
nfs可以直接作为存储卷使用 下面是一个redis部署的YAML配置文件。在此示例中redis在容器中的持久化数据保存在/data目录下存储卷使用nfsnfs的服务地址为192.168.8.150存储路径为/k8s-nfs/redis/data。容器通过volumeMounts.name的值确定所使用的存储卷。
vi redis.yamlapiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:name: redis
spec:selector:matchLabels:app: redisrevisionHistoryLimit: 2template:metadata:labels:app: redisspec:containers:# 应用的镜像- image: redisname: redisimagePullPolicy: IfNotPresent# 应用的内部端口ports:- containerPort: 6379name: redis6379env:- name: ALLOW_EMPTY_PASSWORDvalue: yes- name: REDIS_PASSWORDvalue: redis # 持久化挂接位置在docker中 volumeMounts:- name: redis-persistent-storagemountPath: /datavolumes:# 宿主机上的目录- name: redis-persistent-storagenfs:path: /data/redisserver: 192.168.200/30kubectl apply -f redis.yaml3.2 nfs存储的缺点
基于上述过程可以发现用户在使用nfs或者其他类似的存储时要求较高
1、需要了解底层存储用的是什么
2、需要存储服务器的地址以及因此带来的安全问题
3、在存储服务器创建相应的存储目录 因此为了能够屏蔽底层存储实现的细节方便用户使用 kubernetes引入PV和PVC两种资源对象。
3.3 nfs作为PersistentVolum
在Kubernetes当前版本的中可以创建类型为nfs的持久化存储卷用于为PersistentVolumClaim提供存储卷。在下面的PersistenVolume YAML配置文件中定义了一个名为nfs-pv的持久化存储卷此存储卷提供了5G的存储空间只能由一个PersistentVolumClaim进行可读可写操作。此持久化存储卷使用的nfs服务器地址为192.168.5.150存储的路径为/tmp。
vi nfs-pv.yamlapiVersion: v1
kind: PersistentVolume
metadata: name: nfs-pv
spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle storageClassName: slow mountOptions: - hard - nfsvers4.1# 此持久化存储卷使用nfs插件 nfs:# nfs共享目录为/data/redis path: /data/redis# nfs服务器的地址server: 192.168.200.30通过执行如下的命令可以创建上述持久化存储卷
kubectl create -f nfs-pv.yaml存储卷创建成功后将处于可用状态等待PersistentVolumClaim使用。PersistentVolumClaim会通过访问模式和存储空间自动选择合适存储卷并与其进行绑定。
4、nfs作为动态存储提供
部署nfs-provisioner 实现PV 动态供给StorageClass直通车
5、总结
1.NFS服务多用于局域网内 2.共享目录权限要适应实际生产环境 3.搭建服务时一定要先启动rpc后启动nfs 4.配置文件中的信息格式一定要对否则报错
参考资料 1.《Persistent Volumes》地址https://kubernetes.io/docs/concepts/storage/persistent-volumes/ 2.《Storage Classes》地址https://kubernetes.io/docs/concepts/storage/storage-classes/ 3.《Dynamic Volume Provisioning》地址https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/ 4.《Volums》地址 https://kubernetes.io/docs/concepts/storage/volumes/ 5.《nfs》地址 https://github.com/kubernetes-incubator/external-storage/tree/master/nfs
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88420.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!