专栏首页力哥聊运维与云计算KVM虚拟化开源高可用方案(三)glusterfs

KVM虚拟化开源高可用方案(三)glusterfs

说明:

设计目的:

1. 集群设计虚拟机容量70-100台,占用1个机柜,全部由1U服务器组成,其中存储服务器6台,300G*8,节点服务器10台;

2. 虚拟机可以在KVM集群宿主机之间迁移;

glusterfs集群架构:

1. 存储服务器和节点服务器组成,存储服务器通过哈希算法,可以弹性增加或者减少,并实现冗余;

2. 存储服务器每台机器至少需要4块网卡,如果机器只有板载的2块网卡,需要在加1块双口网卡,做4块网卡的绑定,这样可以提高网络带宽;

3. KVM集群每台宿主机作为glusterfs客户端,挂载glusterfs集群的文件系统,将虚拟机放置在上面;

glusterfs集群搭建:

存储节点搭建

1 安装相关组件

yum -y install wget fuse fuse-libs

2 下载安装测试

yum -y install wget fuse fuse-libs

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-debuginfo-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-devel-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-geo-replication-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-rdma-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-server-3.3.0-1.el6.x86_64.rpm

yum install glusterfs-* -y

/usr/sbin/glusterfs -V

3 启动glusterd服务

默认安装完成自动启动服务,安装完成后是一个标准的redhat服务,可以启动,停止,重启

/etc/init.d/glusterd start

/etc/init.d/glusterd stop

/etc/init.d/glusterd restart

chkconfig glusterd on

4 添加服务器到存储池

在第一台服务器上执行探测操作

gluster peer probe server1

gluster peer probe server2

gluster peer probe server3

gluster peer probe server4

gluster peer probe server5

校验集群状态

[root@hp246 ~]# gluster peer status

Number of Peers: 4

Hostname: server1

Uuid: 59cd74a9-a555-4560-b98e-a7eaf2058926

State: Peer in Cluster (Connected)

Hostname: server2

Uuid: 278d94f8-cf55-42cc-a4ad-9f84295c140b

State: Peer in Cluster (Connected)

Hostname: server3

Uuid: 7fd840a2-53f5-4540-b455-3e5e7eded813

State: Peer in Cluster (Connected)

Hostname: server4

Uuid: 4bfd8649-7f74-4a9f-9f04-4267cc80a1c3

State: Peer in Cluster (Connected)

…

如果需要移出集群 执行如下命令

gluster peer detach server

5 创建集群卷

1)创建一个分布卷(只是卷连接起来,跨区卷)

gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/

exp4

2)创建一个复制卷(类似raid1)

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2

3)创建一个条带卷(类似raid0)

gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2

4)创建一个分布条带卷(类似raid0+0)

gluster volume create test-volume stripe 4 transport tcp server1:/exp1 server2:/exp2

server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8

5)创建一个复制条带卷(类似raid1然后跨区)

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2

server3:/exp3 server4:/exp4

6)创建一个分部复制条带卷(类似raid10)

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1

server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7

server8:/exp8

7)创建条带复制卷(类似raid01)

gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1

server2:/exp2 server3:/exp3 server4:/exp4

查看卷信息

gluster volume info

启动卷

gluster volume start test-volume

6 客户端挂载

modprobe fuse

Verify that the FUSE module is loaded:

# dmesg | grep -i fuse

fuse init (API version 7.13)

yum -y install wget fuse fuse-libs

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-debuginfo-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-devel-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-geo-replication-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-rdma-3.3.0-1.el6.x86_64.rpm

wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-server-3.3.0-1.el6.x86_64.rpm

yum install glusterfs-* -y

挂载卷

mount -t glusterfs server1:/test-volume /mnt/glusterfs

mount -t glusterfs hp246:/test-volume /gfs

自动挂载

vim fstab

server1:/test-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0

创建虚拟机:略

欢迎加我微信(ID:xiaolikvm)一起交流。欢迎加入云技术社区KVM/QEMU技术交流QQ,请加QQ:502207183,注明姓名,城市,及要加入KVM群。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • KVM虚拟化开源高可用方案(七)GLUSTERFS搭建及常见故障处理

    为了充分保证系统的稳定性和性能,要求所有glusterfs服务器硬件配置尽量一致,尤其是硬盘数量和大小。机器的RAID卡需要带电池,缓存越大,性能越好。一般情况...

    力哥聊运维与云计算
  • 如何管理好IDC机房?(一)

        我入行11年了,做机房管理工作将近6年,就如何管理好IDC机房谈谈自己的体会,希望能够起到抛砖引玉的效果,对从事机房工作的同行有所借鉴,也请同行多指点。

    力哥聊运维与云计算
  • vmware workstation8 linux 版本做端口映射

    力哥聊运维与云计算
  • 玩转Pandas透视表

    在python中我们可以通过pandas.pivot_table函数来实现数据透视表的功能。本篇文章介绍了pandas.pivot_table具体的使用方法,在...

    double
  • vue中 localStorage的使用方法(详解)

    vue中实现本地储存的方法:localStorage,在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了c...

    honey缘木鱼
  • 有点优雅的处理你的 Java 异常

    本文仅按照业务系统开发角度描述异常的一些处理看法.不涉及java的异常基础知识,可以自行查阅 《Java核心技术 卷I》 和 《java编程思想》 可以得到更多...

    芋道源码
  • phpStudy远程RCE漏洞复现以及沦陷主机入侵溯源分析

    各位FreeBuf观众的姥爷大家好,我是艾登——皮尔斯(玩看门狗时候注册的ID),最近安全圈好不热闹,北京时间9月20日“杭州公安”官微发布了“杭州警方通报打击...

    FB客服
  • <Solidity学习系列二>深入理解Solidity之二---Solidity源代码文件结构

    版本Pragma 源文件可以(也应该)用所谓的版本注释来注释,以拒绝被编译为未来可能引入不兼容更改的编译器版本。 我们试图将这种变化保持在绝对最低限度,特别是引...

    用户3539187
  • css3动画代替js脚本实现欢迎页面动画

    两者都能实现类似效果,但是在css3动画中可以实现跟多的细节,通过transition-timing-function是不是可以做跟多的改变呢,现在流行的趋势中...

    天天_哥
  • 自制Monkey语言编译器:解释执行if..else判断语句

    望月从良

扫码关注云+社区

领取腾讯云代金券