Glusterfs初试
Gluster的模式及介绍在此不表,这里只记录安装及配置过程。
1.整体环境
server1 : gfs1.cluster.com
server2 : gfs2.cluster.com
Client:
2.安装Gluster
- 下载软件
https://access.redhat.com/downloads/content/186/ver=3/rhel---7/3.4/x86_64/product-software
下载 Red Hat Gluster Storage Server 3.4 on RHEL 7 Installation DVD
安装RHEL 7.6的最小软件安装,将iso文件mount成cdrom, 然后修改yum源
- mkdir -p /repo/base
- mount /dev/cdrom /repo/base
- vi /etc/yum.repos.d/base.repo
- [rhel7.]
- name=rhel7.
- baseurl=file:///repo/base/
- enabled=
- gpgcheck=
- 安装
- yum install -y redhat-storage-server
- systemctl start glusterd
- systemctl enable glusterd
systemctl status glusterd验证一下
- [root@gfs1 mnt]# systemctl status glusterd
- ● glusterd.service - GlusterFS, a clustered file-system server
- Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled)
- Active: active (running) since Fri -- :: CST; 6min ago
- Process: ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=/SUCCESS)
- Main PID: (glusterd)
- Tasks:
- CGroup: /system.slice/glusterd.service
- ├─ /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
- ├─ /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/lo...
- └─ /usr/sbin/glusterfsd -s gfs1.cluster.com --volfile-id gv0.gfs1.cluster.com.data-gluster-gv0 -p /var/run/gluster/vols/gv0/...
- Feb :: gfs1.cluster.com systemd[]: Starting GlusterFS, a clustered file-system server...
- Feb :: gfs1.cluster.com systemd[]: Started GlusterFS, a clustered file-system server.
- 配置防火墙
简单起见直接关闭了,以后补充开放具体网段
- systemctl stop firewalld
- systemctl disable firewalld
- 修改主机名以及/etc/hosts
每台机器执行,并修改/etc/hosts
- hostnamectl set-hostname gfs1.cluster.com
- 添加存储
在每台glusterfs的server上加入一块存储盘,并进行初始化
- fdisk /dev/sdb
- mkfs.ext4 /dev/sdb1
在每个节点上运行以下命令挂载
- mkdir -p /data/gluster
- mount /dev/sdb1 /data/gluster
- echo "/dev/sdb1 /data/gluster ext4 defaults 0 0" | tee --append /etc/fstab
3.配置Glusterfs
在节点1上运行
- gluster peer probe gfs2.cluster.com
验证
- [root@gfs1 mnt]# gluster peer status
- Number of Peers:
- Hostname: gfs2.cluster.com
- Uuid: 818cc628-85a7-4f5e-bd4e-34932c05de97
- State: Peer in Cluster (Connected)
- [root@gfs1 mnt]# gluster pool list
- UUID Hostname State
- 818cc628-85a7-4f5e-bd4e-34932c05de97 gfs2.cluster.com Connected
- dbcc01fc-3d2c-466f--57c46a9974be localhost Connected
volume和brick的概念
3.1 复制卷
创建GFS卷gv0并配置复制模式
- mkdir -p /data/gluster/gv0(在gfs1和gfs2上都建立brick)
- gluster volume create gv0 replica gfs1.cluster.local:/data/gluster/gv0 gfs2.cluster.local:/data/gluster/gv0
启动gv0卷
- gluster volume start gv0
- gluster volume info gv0
- [root@gfs1 mnt]# gluster volume info gv0
- Volume Name: gv0
- Type: Replicate
- Volume ID: 26d05ac6---ada4-5a423793fa20
- Status: Started
- Snapshot Count:
- Number of Bricks: x =
- Transport-type: tcp
- Bricks:
- Brick1: gfs1.cluster.com:/data/gluster/gv0
- Brick2: gfs2.cluster.com:/data/gluster/gv0
- Options Reconfigured:
- performance.client-io-threads: off
- nfs.disable: on
- transport.address-family: inet
3.2 分布式卷(Distributed volume)
- mkdir -p /data/gluster/brick
- gluster volume create gv1 gfs1.cluster.com:/data/gluster/brick gfs2.cluster.com:/data/gluster/brick
- gluster volume start gv1
- [root@gfs1 mnt]# mkdir -p /data/gluster/brick
- [root@gfs1 mnt]# gluster volume create gv1 gfs1.cluster.com:/data/gluster/brick gfs2.cluster.com:/data/gluster/brick
- volume create: gv1: success: please start the volume to access data
- [root@gfs1 mnt]# gluster volume start gv1
- volume start: gv1: success
- [root@gfs1 mnt]# gluster volume info gv1
- Volume Name: gv1
- Type: Distribute
- Volume ID: 4782dd87-a411-44b3--70dfb072b5d0
- Status: Started
- Snapshot Count:
- Number of Bricks:
- Transport-type: tcp
- Bricks:
- Brick1: gfs1.cluster.com:/data/gluster/brick
- Brick2: gfs2.cluster.com:/data/gluster/brick
- Options Reconfigured:
- transport.address-family: inet
- nfs.disable: on
3.3 条带化卷(Stripe Volume)
- mkdir -p /data/gluster/stripebrick
- gluster volume create gv3 stripe transport tcp gfs1.cluster.com:/data/gluster/stripebrick gfs2.cluster.com:/data/gluster/stripebrick
- gluster volume start gv3
- [root@gfs1 mnt]# mkdir -p /data/gluster/stripebrick
- [root@gfs1 mnt]# gluster volume create gv3 stripe transport tcp gfs1.cluster.com:/data/gluster/stripebrick gfs2.cluster.com:/data/gluster/stripebrick
- volume create: gv3: success: please start the volume to access data
- [root@gfs1 mnt]# gluster volume start gv3
- volume start: gv3: success
- [root@gfs1 mnt]# gluster volume info gv3
- Volume Name: gv3
- Type: Stripe
- Volume ID: c25a10b8-a943-4c40-93be-088b972cbbaa
- Status: Started
- Snapshot Count:
- Number of Bricks: x =
- Transport-type: tcp
- Bricks:
- Brick1: gfs1.cluster.com:/data/gluster/stripebrick
- Brick2: gfs2.cluster.com:/data/gluster/stripebrick
- Options Reconfigured:
- transport.address-family: inet
- nfs.disable: on
3.4 分布式复制卷
更详细拓扑结构和管理说明参考官方文档,值得你阅读
https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3/html/administration_guide/
4.客户端配置
支持的客户端协议
- yum install -y glusterfs-client
- mkdir -p /mnt/glusterfs
- mount -t glusterfs gfs1.cluster.com:/gv0 /mnt/glusterfs
验证挂载
- [root@master ~]# df -hP /mnt/glusterfs
- Filesystem Size Used Avail Use% Mounted on
- gfs1.cluster.com:/gv0 .8G 136M .2G % /mnt/glusterfs
在node1和node2上也mount上glusterfs gv0,便于查看里面内容
- [root@gfs1 ~]# mount -t glusterfs gfs2.cluster.com:/gv0 /mnt
- [root@gfs2 ~]# mount -t glusterfs gfs1.cluster.com:/gv0 /mnt
然后基于客户端进行文件创建删除,同时将node1进行停机的高可用测试。
Glusterfs初试的更多相关文章
- CentOS 6 部署GlusterFS
首先需要关闭CentOS的防火墙和selinux,否则glusterfs将可能无法正常工作. /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着. /etc/in ...
- Ubuntu Server 12.04下部署glusterfs
1.安装环境 Linux:Ubuntuserver 12.04.1 LTS 64bit 2台 分布式文件系统:Gluster 测试环境:一台作文件服务器端(192.168.56.133),一台作客户端 ...
- glusterFS系统中文管理手册(转载)
GlusterFS系统中文管理手册 1文档说明 该文档主要内容出自 www.gluster.org 官方提供的英文系统管理手册<Gluster File System 3.3.0 A ...
- caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题
之前已经配置过一次caffe环境了: Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境 但其中也提到,编译时,用到了cuda6.5,但 ...
- centos7 搭建GlusterFS
centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...
- glusterfs 中的字典查询
glusterfs文件系统是一个分布式的文件系统,但是与很多分布式文件系统不一样,它没有元数服务器,听说swift上也是应用了这个技术的.glusterfs中每个xlator的配置信息都是用dict进 ...
- glusterfs 内存管理方式
glusterfs中的内存管理方式: 首先来看看glusterfs的内存管理结构吧: struct mem_pool { struct list_head list; int hot_count; i ...
- 初试Nodejs——使用keystonejs创建博客网站2(修改模板)
上一篇(初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs))讲了keystonejs的安装.安装完成后,已经具备了基本的功能,我们需要对页面进行初步修改,比如,增加 ...
- 项目中初试PHP单元测试
只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...
随机推荐
- Linux下光盘镜像生成和刻录
mkiosfs命令如在/root/下有文件file1 file2 file3maiosfs -o img.ios file1 file2 file3该命令将file1 file2 file3放入到im ...
- CSUOJ 1808 地铁
Description Bobo 居住在大城市 ICPCCamp. ICPCCamp 有 n 个地铁站,用 1,2,-,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci ...
- Python 中的面向对象和异常处理
在之前我们已经说过了 Python 中内置的主要的几种对象类型,(数,字符串,列表,元组和字典).而面向对象的核心人物还没出场呢 .那么我们常说的对象是什么类型的呢,其实他的类型就是“类”.继承封装和 ...
- zoj 3983 Crusaders Quest 思维+枚举
题目链接 这道题意思是: 给你一个长度为9的字符串,且只有3个a.3个g.3个o 问,你可以选择删除一段连续的串或者单个的字符也可以不删,最多会出现几个三子相连的子串 比如:agoagoago只有将两 ...
- [转载] 你所不知道的TIME_WAIT和CLOSE_WAIT
前言 本文转载自 https://mp.weixin.qq.com/s/FrEfx_Yvv0fkLG97dMSTqw.很久前看到Vincent Bernat在博客中写了一遍关于TCP time-wai ...
- Win10如何配置Jdk环境变量
对于每一位做Java开发的朋友来说,Jdk是必须要安装的,安装好了Jdk,其实并没有结束,还需要配置Jdk的环境变量,系统在不断地更新,小编给大家介绍一下如何在Win10下配置Jdk,并检测是否配置成 ...
- Django的Form机制小问题
使用Django,我们可以以声明式的方式来定义一个Form,如下: 1 2 3 4 5 # -*- coding: utf-8 -*- from django import forms class S ...
- DataGridView、List<T>相关操作
一.DataGridView数据转成DataTable 1.已绑定过数据源:DataTable dt = (dataGridView1.DataSource as DataTable) 2.未绑定过数 ...
- Shell 学习笔记之运算符
基本运算符 算术运算符 val = expr 2 + 2 需要注意的是 表达式和运算符之间需要有空格(比如2 + 2,不能是2+2) 两边最外面的字符是`,在esc键下面,不是引号哦 乘号* 前面必须 ...
- poj 2623 Sequence Median 堆的灵活运用
I - Sequence Median Time Limit:1000MS Memory Limit:1024KB 64bit IO Format:%I64d & %I64u ...