验证iscsi设备和客户端是否可以进行文件共享功能
Posted kiroct
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证iscsi设备和客户端是否可以进行文件共享功能相关的知识,希望对你有一定的参考价值。
环境:
X86、centos7.4\\core4.19.237
服务器:141.155 8c-32g-600ssd;完成iscsi服务器的配置
客户端:141.156 8c-32g-600ssd;完成iscsi客户端的配置+完成k8s单master+worknode节点配置,集群运行正常
客户端:141.157 8c-32g-600ssd;完成iscsi客户端的配置
所有设备都挂载了iscsi服务器155的/dev/sdb1 到/test1中
目的:
验证iscsi设备的/dev/sdb1分区(xfs),里面创建的文档是否可以在三个机子里进行实时同步
过程
1、首先是使用141.156挂载/dev/sdb1目录到/test1中,然后在这个单k8s节点中创建pod使用host映射来把/test1映射到pod里面的/usr/share/nginx/html中。
测试sicsi的/test1目录设备到156设备/test1的目录是否有实时同步特性。
```html/xml
首先是在k8s里面创建一个hostpath映射
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- name: test
image: nginx
volumeMounts:- name: test
mountPath: /usr/share/nginx/html/
readOnly: false
volumes: - name: test
hostPath:
path: /test1 #这边的目录是宿主机挂载sicsi盘的目录
type: DirectoryOrCreate验证思路:在k8s集群中做好和/dev/sdb1的映射后,分别在155设备的/test1(挂载dev/sdb1的)上进行文档删除读写操作。然后在156的宿主机/test1(挂载dev/sdb1的)上进行文档删除读写操作。最后在156的k8s集群的pod里面(挂载dev/sdb1的)上进行文档删除读写操作。从而判断三者是否有文档的实时同步特性。
- name: test
结论:如果只有两台设备,一台设备(155)是iscsi设备,另一台设备(156)挂载了sicsi的卷。然后这台设备(156)的k8s集群里面的pod做了一个host映射宿主机(156)的挂载目录/test1(dev/sdb1的)。发现设备156的/test1目录和pod里面映射的目录/usr/share/nginx/html里面的文档可以进行实时同步,但是iscsi服务端(155)只能单独提供一个存储设备而已
2、创建另外一台设备157(iSCSI客户端),同样挂载/dev/sdb1 /test1目录下,检查2台客户端之间是否可以进行文件实时同步。
在157客户端安装完成并且/dev/sdb1 /test1 挂载完毕后发现/test1目录下会同步156客户端里面的文件,进行一些增删改查操作后,再次查看156和157两个客户端的/test1目录下的文件,发现并不同步(似乎只有在进行mount挂载相同分区/dev/sdb1的时候才会进行唯一的一次同步操作)。
解除157设备/dev/sdb1 /test1的挂载,重新挂载一遍mount /dev/sdb1 /test1 之后,可以发现,157会重新同步/dev/sdb1磁盘里面的所有内容文件
建议:多个分区可以挂载到1个服务器上面,但是一个分区、共享存储别挂载到多个服务器上。非常容易会出bug.
总结:sicsi服务端只能单纯提供一个共享存储设备而已,而客户端之间在这个共享存储设备当中进行存储的数据,会有持久化存储的效果。
以上是关于验证iscsi设备和客户端是否可以进行文件共享功能的主要内容,如果未能解决你的问题,请参考以下文章