GlusterFS 3.4.2 安装记录

2024-06-12 03:08
文章标签 3.4 安装 记录 glusterfs

本文主要是介绍GlusterFS 3.4.2 安装记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前一个偶然的机会,老师让学习GlusterFS,便简单学习了一遍,搭建了一个简单的集群环境,在这里简单记录下来。

分区:http://www.duyumi.net/301.html

系统环境:centos6.4  glusterfs3.4.2
三台虚拟机,两台作为集群节点,一台作为客户端节点,两台集群节点分配两块硬盘,一块装系统,一块用于glusterfs的存储磁盘。客户端节点一块磁盘即可。

一、系统安装:
      先对集群节点进行安装。      

 1.下载地址:http://download.gluster.org/pub/

2、rpm安装:
               下载RPM包,运行 rpm -ivh glusterfs-*.rpm
3、tar安装:
               下载tar压缩包,解压后进行编译:(编译过程中会出现一些依赖关系错误,缺少什么就安装什么即可)
                         (1) ./configure
                         (2)make
                        (3)make install


4.启动gluser服务以及自启动设置:

 
service glusterd start
chkconfig glusterd on


 
             
二、集群规划与配置:
1.系统配置:
两节点都一样的配置。


先设置主机名:/etc/hosts

节点一:192.168.30.159 server1
节点二:192.168.30.160 server2

然后设置DNS:/etc/resolve.conf
关闭防火墙:service iptables stop; chkconfig iptables off。
设置selinux:
/etc/selinux/config:   SELINUX=disabled
设置ip:/etc/sysconfig/network-scripts/



2.磁盘配置,选用一块20g大小的磁盘(大小不定):

 
查看磁盘:parted -l

(/dev/sda 为系统盘,/dev/sdb为将使用的磁盘。)

 
先对磁盘进行分区(整块磁盘作为一个分区使用):    
[root@server1 ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4):
Value out of range.
Partition number (1-4): 1

First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610):
Using default value 2610

Command (m for help): w

格式化分区:  mkfs.ext4 -L /NODE1 /dev/sdb1  

(节点一:NODE1 节点二:NODE2)

挂载磁盘:
创建磁盘挂载目录:mkdir /NODE1


挂载新磁盘:mount -L  /NODE1  /NODE1  (使用label来挂载)


写入配置文件:/etc/fstab设置自启动:

LABEL=/NODE2    /NODE2   ext4   defaults    0  0


 自动挂载:mount -a
查看挂载情况:df -h


3.组建集群:
添加集群(任一节点都可添加其他节点到集群中),选择server1作为当前集群节点:

gluster peer probe server2

查看集群状态:

gluster peer status

删除集群节点:
gluster peer detach server2


三。卷操作(gluster的文件系统)任一节点上操作都行:

 
三种基本卷类型: (1)哈希卷(默认)
                   (2)复制卷(replica)
                   (3)条带卷(stripe)
复合卷:哈希+复制  哈希+条带  复制+条带  哈希+复制+条带

卷的网络类型:TCP(默认) RDMA
创建卷时先确定:卷类型,创建卷的brick列表,网络类型

1、查看卷信息:
gluster volume info

2、创建新的卷:

gluster volume create help 查看参数:(缺省状态默认创建哈希卷,网络类型为TCP)


(1)创建哈希卷dht1(两节点上分别创建一个brick):

gluster volume create dht1 transport tcp server1:/NODE1/dht_brick1(brick名) server2:/NODE2/dht_brick2





gluster volume info :


需要使用卷先启动卷:

gluster volume start dht1




查看卷状态:
gluster volume status dht1



(2)创建复制卷afr1:(两个brick同时生成相同的文件)

gluster volume create afr1 replica 2 server1:/NODE1/afr_brick1  server2:/NODE2/afr_brick2



gluster volume info arf1


启动卷:

gluster volume start afr1:




(3)创建条带卷:

gluster volume create stp1 stripe 2 server1:/NODE1/stp_brick1  server2:/NODE2 /stp_brick2

启动并查看状态:




(4)创建复合卷(哈希+复制)dht_afr_1(两对brick分别存在于两个节点,每对brick是复制卷,一一组成复制关系):

gluster volume create dht_afr_1  replica 2 server1:/NODE1/dht_afr_brick1   server2:/NODE2/dht_afr_brick1  server1:/NODE1/dht_afr_brick2  server2:/NODE2/dht_afr_brick2

启动并查看信息:
(Brick1和Brick2组成复制关系,Brcik3和Brick4组成复制关系)


创建哈希+条带卷dht_stp_1:

gluster volume create dht_stp_1 stripe 2 server1:/NODE1/dht_stp_brick1 server2:/NODE2/dht_stp_brick1 server1:/NODE1/dht_stp_brick2 server2:/NODE2/dht_stp_brick2


启动并查看信息:


(Brick1和Brick2组成一对条带关系,Brick3和Brick4组成一对条带关系)




四。卷的挂载和访问(通过客户端挂载和访问)
(客户端所安装的gluster与集群节点有所不同,可以同样源码安装所有的glusterfs软件,也可以选择单纯针对客户端的软件):

1.客户端gluster安装:


官网下载相应的rpm包安装:

http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.2/CentOS/epel-6.4/x86_64/

下载以下包即可实现一个基本的客户端功能:


安装好后同样配置系统:
先设置主机名:/etc/hosts

然后设置DNS:/etc/resolve.conf

关闭防火墙:service iptables stop; chkconfig iptables off。
设置selinux:
/etc/selinux/config:   SELINUX=disabled



2.卷的挂载:

为了挂载卷,先创建相应卷的挂载目录/mnt/dht1  /mnt/afr1 /mnt/stp1 /mnt/dht_afr_1:

mkdir  /mnt/dht1  /mnt/afr1 /mnt/stp1 /mnt/dht_afr_1

然后挂载目录(这里选择挂载到server1的卷上,也可选择server2):

mount -t glusterfs(挂载卷类型) server1:/dht1 /mnt/dht1 



同样挂载其他的目录:
mount -t glusterfs server2:/afr1  /mnt/afr1
mount -t glusterfs server1:/dht_afr_1 /mnt/dht_afr_1
mount -t glusterfs server2:/stp1 /mnt/stp1




这样就挂载好了。
3.访问卷:

(1)访问哈希卷:
在/mnt/dht1中创建两个文件hello和test,会以哈希的算法分配到server1和server2上:







创建好后可以在server1和server2查看卷:
server1中:



server2中:


可以看到刚好每个brick分配到一个文件,即使删掉文件或者修改文件内容,同时还是存在于之前分配到的brick上。哈席卷即以文件为分配单位,每一个文件随机分配到某一个brick上,这种卷容量和性能最好,可以把所有的容量利用起来,但如果一个brick down掉后,这一brick中的文件就不能被访问了,不具有高可用性的功能。

如果在客户端上创建目录,两个brick都会有目录,但是目录中的文件还是按照哈希算法随机分配到各brick上:
 
server1上:


 
server2上:
 


 
(2)访问复制卷:

在客户端的复制卷的目录中创建一个文件hello和目录demo(会在两个节点的brick中都生成相同的文件和目录):



server1上:



server2上:


可以看出两个brick形成复制关系,这样一个brick down掉后,另一个brick中的文件还存在,还可访问,如果某一节点的文件丢失或者被修改,可以通过设置恢复,但是容量会只是哈希卷的一半:


(3)访问条带卷(每个节点中生成的目录空间和目录是相同的,但是文件中的内容是不一样的,会分片存在于不同的brick,每一128K的文件内容分片存在于不同的brick):


在客户端上创建一个小文件 test:


server1上:

server2上:


会发现server1和server2的brick中生成相同的文件test,但是server1中有完整的文件内容,server2中为空文件,因为创建的文件小于128K,所以分片之后,内容都存到server1中,server2中没有内容。如果大于128K,分成无数个大小为128K的片,第一片存到第一个节点,第二片存到第二个节点,如此分布到所有的节点上。




(3)访问哈希+复制卷:

在客户端创建文件 hello, test, world,



server1上:


server2上:


因为server1上的brick1和server2上的brick1以及brick2和brick2是复制对,所以他们存到他们当中的文件相同,而每个节点中的两个brick是哈希关系,所以文件随机分配他们当中。即两个哈希节点分配了两个哈希,然后哈希节点内部是复制关系。




这篇关于GlusterFS 3.4.2 安装记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053025

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.