本文记录了centos7下安装并使用glusterfs的过程。
安装CentOS7
此次安装是采用的虚拟机镜像安装,centos7镜像名为CentOS-7-x86_64-DVD-1603-02.iso。
安装过程基本都是采用默认点击下一步,选择的是最小安装。
服务启停
我们使用一个linux系统一般首先想到的是用ssh登录。以前用redhat系统习惯了如下命令启停ssh服务:
1 | /etc/init.d/sshd start #启动 |
到了centos7下居然不行,搞得我还以为这个最小安装连ssh服务都省了。再试试用service命令:
1 | service sshd start |
这样是可以的,说明ssh服务是安装了的。下面以启停防火墙的命令演示一下centos7下更常用的服务启停方式:
1 | systemctl start firewalld #启动 |
既然说到防火墙了,有必要记录下linux下如何启停selinux:
1 | getenforce #查看selinux状态 |
这里标注一下:在需要建网络连接的环境下最好把防火墙和selinux都关了,不然要设置防火墙规则还挺费劲。
设置镜像yum源
centos7安装完成后,登录系统,输入ifconfig居然提示命令不存在,看来最小安装把这个都省略了。再试试yum命令,这个有装,那就先用yum把ifconfig装上吧。
这时又面临另一个问题:当前系统根本没联网。那怎么用yum安装相关应用呢?这时就需要那个centos安装镜像了。linux下一切皆文件,设备也不例外,一般光驱设备对应的是/dev/sr0,挂载之:
1 | mount -o loop /dev/sr0 /mnt |
接着要修改yum配置使从本地源安装,修改/etc/yum.repos.d/CentOS-Media.repo文件内容如下:
1 | [c7-media] |
先把yum其他的配置都移走,执行yum update命令更新一下yum安装源。这时可以用yum安装ifconfig了,但是忘了ifconfig命令是哪个包的了,试试如下命令:
1 | yum search ifconfig |
这样能查出来ifconfig是属于net-tools包的,那就执行yum install net-tools安装之。安装后再执行ifconfig命令就可以看到网卡运行情况了。
设置ip
下面是设置连接互联网,修改/etc/sysconfig/network-scripts/ifcfg-enp0s3后重启系统。修改后的内容如下:
1 | TYPE=Ethernet |
设置国内yum源
上面有的是配置文件中默认的,不用改。配置文件名也要根据实际网卡实际名称定。 重新登录系统后用ifconfig查看一下果然生效了,测试一下是否能连通外网ping www.163.com,连通后就可以设置163的yum源了,因为国外的太慢。设置过程如下:
1 | cd /etc/yum.repos.d/ |
更新了一堆东西,不管了,能用就行。 为什么要添加yum源?因为要安装glusterfs服务,这是在centos镜像中没有的。设置yum源后再看看能否安装glusterfs不:
1 | yum search centos-release-gluster |
执行上面命令后如果出现相应结果,说明就可以进入glusterfs安装阶段了。
安装GlusterFS
环境准备
GlusterFS是一个分布式文件系统。所谓分布式文件系统,我的理解就是一份文件可以存到多台机器上,一个机器挂了只要还有正常的就不影响文件继续存储。既然是分布式就需要多台电脑才能看效果,这里直接粘上/etc/hosts的部分内容:
1 | 192.168.51.231 master1 |
其中master1和master2作为glusterfs的服务端负责创建分布式文件系统,client作为glusterfs的客户端只需要把glusterfs服务器上创建的存储卷挂载到本地,然后对文件操作者来说就是透明的了。注意每个机器上都要修改/etc/hosts添加上面的两行,client行是不需要加的,这里写上只是为了表示一下glusterfs的工作关系。
安装GlusterFS服务端
在master1和master2上分别执行命令:
1 | yum install centos-release-gluster |
启动GlusterFS服务
在master1和master2上分别执行命令:
1 | systemctl start glusterd.service #启动gluster服务 |
安装GlusterFS客户端
glusterfs客户端的安装就简单了,在client机器上运行yum install glusterfs glusterfs-fuse就可以了,后面看如何使用glusterfs。
使用GlusterFS
创建GlusterFS集群
在一台机器如master1上执行命令:
1 | gluster peer probe master1 |
成功的话会输出peer probe: success。然后分别在master1和master2上执行命令查看一下集群状态:
1 | gluster peer status |
这时master1和master2已经互为主从节点了。
如果想卸载某个节点GlusterFS磁盘则执行命令gluster peer detach master2。
创建存储卷volume
在master1和master2上分别执行命令:
1 | mkdir -p /opt/gluster/data #创建数据存储目录 |
执行上面的命令时要着重强解释一下models和replica,其中models是存储卷的名字,原则上可以随便起,而replica则代表存储卷的类型为复制模式,表示每个glusterfs服务节点上都保存一份文件(后面会演示)。可以创建其他类型的存储卷,可以参考A和B这两篇文章。
存储卷的启停
在master1和master2上分别执行命令:
1 | gluster volume list #列出glusterfs中的所有存储卷 |
客户端挂载服务端存储卷
在client机器上执行命令:
1 | mkdir -p /opt/gfsmnt #创建挂载存储卷的目录 |
挂载成功后使用df -h命令查看一下挂载情况。然后在/opt/gfsmnt目录下随便建立几个文件看看效果。反复挂载、卸载看是不是达到了分布式存储的目的。
总结
这篇就是个GlusterFS的入门操作记录,要想学习更高级的操作可以搜索glusterfs 安装 配置。