CentOS7 GlusterFS文件系统部署
一、GlusterFS简介
GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。GlusterFS配置方便,稳定性好,可轻松达到PB级容量,数千个节点。
二、GlusterFS重要概念
birck:GlusterFS的基本元素,以节点服务器目录形式展现;
volume:多个brick的逻辑集合;
metadata:元数据,用于描述文件、目录等的信息;
self-heal:用于后台运行检测副本卷中文件和目录的不一致性并解决这些不一致;
FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接;
Gluster Server:数据存储服务器,即组成GlusterFS存储集群的节点;
Gluster Client:使用GlusterFS存储服务的服务器,如KVM、OpenStack、LB RealServer、HA node。
三、GlusterFS部署
1、环境准备
操作系统:CentOS Linux release 7.6.1810 (Core)
内核版本:3.10.0-957.el7.x86_64
关闭防火墙、关闭selinux,hostname能互相解析
主机:192.168.242.128 node-128
主机:192.168.242.129 node-129
2、软件包安装(两台都执行)
# yum -y install centos-release-gluster
# yum -y install glusterfs glusterfs-server glusterfs-fuse
如果是客户端只需要 glusterfs glusterfs-fuse即可.
3、创建集群
分别启动glusterd服务(并添加开机自启动):
# systemctl start glusterd
# systemctl enable glusterd
# systemctl status glusterd
创建集群(任意节点上执行一下操作,向集群中添加节点):
我这是在node-128执行,将node-129加入到集群中
[root@node- ~]# gluster peer probe node-
peer probe: success.
[root@node- ~]#
如果想从集群中去除节点,可以执行如下命令,但该节点中不能存在卷中正在使用的brick。
gluster peer detach 节点名称
查看集群状态:
[root@node- ~]# gluster peer status
Number of Peers: Hostname: node-
Uuid: 092883d5-df69-42d0-b3d1-c7146469c76b
State: Peer in Cluster (Connected)
创建分布式卷,命令格式如下:
gluster volume create volume_name replica 2 node1:/data/br1 node2:/data/br1
volumn_name:卷名
node1:节点名
replica:文件保存的份数
/data/br1:可以理解为节点上的目录,这个目录最好是一个单独的分区(分区类型最好为逻辑卷的方式,这样易于操作系统级别的存储空间扩展),默认不能使用root分区进行创建卷,如需要root分区创建卷添加force参数
此处,我们使用/opt/brick做为单独分区的挂载目录.
# mkdir /opt/brick
创建2副本的复制卷
[root@node- ~]# gluster volume create app-data replica node-:/opt/brick node-:/opt/brick force
volume create: app-data: success: please start the volume to access data
#列出卷
[root@node- ~]# gluster volume list
app-data
启动这个卷:
[root@node- ~]# gluster volume start app-data
volume start: app-data: success
[root@node- ~]#
# 查看卷信息
[root@node- ~]# gluster volume info app-data Volume Name: app-data
Type: Replicate
Volume ID: cced03e1-e40a-4f67-ac98-101c5bb00ee5
Status: Started
Snapshot Count:
Number of Bricks: x =
Transport-type: tcp
Bricks:
Brick1: node-:/opt/brick
Brick2: node-:/opt/brick
Options Reconfigured:
transport.address-family: inet
storage.fips-mode-rchecksum: on
nfs.disable: on
performance.client-io-threads: off
[root@node- ~]#
#打开GlusterFs磁盘限额,此处限制大小是10G,也可以不用设置.
[root@node- ~]# gluster volume quota app-data enable
volume quota : success [root@node- ~]# gluster volume quota app-data limit-usage / 10GB
volume quota : success
[root@node- ~]#
查看这个卷的信息:
[root@node- ~]# gluster volume status
Status of volume: app-data
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node-:/opt/brick Y
Brick node-:/opt/brick Y
Self-heal Daemon on localhost N/A N/A Y
Quota Daemon on localhost N/A N/A Y
Self-heal Daemon on node- N/A N/A Y
Quota Daemon on node- N/A N/A Y
配置客户端使用卷
Glusterfs client端有三种客户端使用方式:Native mount,NFS,Samba
---此处使用Native mount挂载gluster volume 到node-128和node-129节点的本地目录/gfs-share下:
#mount -t glusterfs node-:app-data /gfs-share
查看挂载情况:
[root@node- ~]# df -h | grep gfs-share
node-:app-data 10G 10G % /gfs-share
设置开机自动挂载
vim /etc/fstab node-:/app-data /gfs-share glusterfs defaults
使用mount -a检测并挂载测试
[root@node- ~]#cd /gfs-share
[root@node- ~]#touch file{..}.txt #分别在node- 和node-129上验证,发现在两个节点的brick里面都存在9个测试文件: [root@node- ~]# ls -l /gfs-share/ | grep -v total | wc -l [root@node- ~]# [root@node- ~]# ls -l /gfs-share/ | grep -v total | wc -l [root@node- ~]#
至此,GFS复制卷创建完成,gfs有多种卷方式,以后使用在研究...
参考文档:
https://www.cnblogs.com/fansik/p/9868831.html
CentOS7 GlusterFS文件系统部署的更多相关文章
- GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)
GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...
- FastDFS 分布式文件系统部署实战及基本使用
FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...
- CentOS7.4安装部署openstack [Liberty版] (一)
一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...
- centos7 下zookeeper 部署 单机多实例模式
centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...
- centos7 下 安装部署nginx
centos7 下 安装部署nginx 1.nginx安装依赖于三个包,注意安装顺序 a.SSL功能需要openssl库,直接通过yum安装: #yum install openssl b.gzip模 ...
- CentOS7.4下部署hadoop3.1.1
CentOS7.4下部署hadoop3.1.1 契机 由于工作原因要部署hadoop的集群,习惯使用最新的稳定版本2018年的时候由于时间紧破部署了2.7.2版本,最新由于又要部署有研究了一下3.x的 ...
- Lustre文件系统部署和应用探索
1. Lustre文件系统概述 2. Lustre文件系统部署 2.1 基本环境 本篇博客将在KVM虚拟机中部署Lustre文件系统. 操作系统版本为CentOS6.5_x86_64.Lustre软件 ...
- Hadoop生态圈-CentOs7.5单机部署ClickHouse
Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...
- CentOS7.4安装部署openstack [Liberty版] (二)
继上一篇博客CentOS7.4安装部署openstack [Liberty版] (一),本篇继续讲述后续部分的内容 一.添加块设备存储服务 1.服务简述: OpenStack块存储服务为实例提供块存储 ...
随机推荐
- window和 linux 在一起 ios和 android在一起 net和js在一起
step 1: Windows 10 的 Linux Bash 支持「并不是使用虚拟机/模拟器」实现的,而是嵌入一个完整的 Ubuntu Linux 环境.技术上是实时将 Linux 的系统调用转换为 ...
- Python3之json文件操作
json函数 使用json函数之前,首先需要导入json模块,import json 1).json.dumps()函数 该函数是将 Python 对象编码成 JSON 字符串,例如: import ...
- 计算机网络基础:TCP和UDP
UDP(用户数据报协议) 应用场景:一个数据包就能完成数据通信:不需要建立会话和流量控制:多播.广播:是一种不可靠传输.(例如QQ聊天,屏幕广播) UDP协议特点: UDP是无连接的,即发送数据之前不 ...
- ros之发布者和订阅者协同工作
前面的例子显示了单个发布者/单个订阅者的情况,但是一个节点也可以同时是一个发布者和订阅者,或者拥有多个订阅和发布. 实际上,ROS节点最常做的事情是传递消息,并在消息上进行运算. 例doubler.p ...
- [实用分享]Kindle电子书格式AZW3转换为MOBI
[实用分享]Kindle电子书格式AZW3转换为MOBI 思路:先拆解成源文件再转换成 MOBI 推荐首选这种方法.此方法的思路是,首先用 KindleUnpack 把 azw3 文件拆解成源文件,然 ...
- Codeforces_803
A. 填k个1,使矩阵主对角线对称,相同情况选择上面1数量多的. #include<bits/stdc++.h> using namespace std; ][] = {}; int ma ...
- HDU_1175_dfs
http://acm.hdu.edu.cn/showproblem.php?pid=1175 dfs(x,y,i,num),xy表示位置,i表示方向,num表示转向次数,num=2时候的剪枝很重要. ...
- Go语言实现:【剑指offer】二叉树的镜像
该题目来源于牛客网<剑指offer>专题. 操作给定的二叉树,将其变换为源二叉树的镜像. 示例: 输入: 4 / 2 7 / \ / 1 3 6 9 输出: 4 / 7 2 / \ / 9 ...
- Go语言实现:【剑指offer】剪绳子
该题目来源于牛客网<剑指offer>专题. 给你一根长度为n的绳子,请把绳子剪成整数长的m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],-,k[ ...
- python学习(1)python的基本概念
1.python是世界上最流行的程序语言之一,用途广泛. 2.python是解释型语言,与C++编译类语言相比,python扩展性强,简单易上手.但是缺点也很明显,执行速度慢. 3.python定义中 ...