部署glusterfs

简单介绍:

        glusterfs是一个可扩展的网络文件系统,适用于数据密集型任务,如云存储与媒体流。是免费开源软件。

官网地址:www.gluster.org

glusterfs yum源需要的安装包:SpecialInterestGroup/Storage - CentOS Wiki

安装下面两个包:

本文部署的是复制卷,类似于磁盘阵列的raid1

第一步:环境准备:

至少准备三个节点,每个节点都做(除了系统盘以外额外添加至少一块硬盘,这里我添加了两块硬盘)

关闭防火墙与selinux三个节点都做

配置主机名、IP地址、及主机名解析(三个节点都做)

vim  /etc/hosts

配置免密登录(在server1上做)

[root@server1 ~]# ssh-keygen

[root@server1 ~]# ssh-copy-id  server2

[root@server1 ~]# ssh-copy-id  server3

配置yum源(三个节点都做)

[root@server1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

[root@server1 ~]# yum  -y  install centos-release-gluster

第二步:安装glusterfs软件包并设置开机自启(三个节点都做)

[root@server1 ~]#  yum  -y   install   glusterfs-server

[root@server1 ~]# systemctl  enable  glusterd.service  --now

第三步:配置磁盘分区并格式化挂载(每个节点都做)

配置分区

[root@server1 ~]# fdisk /dev/sdb

[root@server1 ~]# fdisk /dev/sdc

创建挂载点目录

[root@server1 ~]# mkdir  -p /data/brick1

[root@server1 ~]# mkdir  -p /data/brick2

格式化文件系统

[root@server1 ~]# mkfs.xfs -i size=512 /dev/sdb1

[root@server1 ~]# mkfs.xfs -i size=512 /dev/sdc1

配置开机自动挂载并挂载(三个节点都做)

[root@server1 ~]# echo '/dev/sdb1 /data/brick1 xfs defaults 0 0 ' >> /etc/fstab

[root@server1 ~]# echo '/dev/sdc1 /data/brick2 xfs defaults 0 0' >> /etc/fstab

[root@server1 ~]# mount -a

第四步:配置受信任池(在server1执行就行)

[root@server1 ~]# gluster peer probe server2

[root@server1 ~]# gluster peer probe server3

查看服务器的对等状态,在任意节点都可以看到有两个对等节点

[root@server1 ~]# gluster peer  status

第五步:设置glusterfs卷

在所有节点执行

[root@server1 ~]# mkdir /data/brick1/gv0

[root@server1 ~]# mkdir /data/brick2/gv0

在server1 节点执行

[root@server1 ~]# gluster volume create gv0 replica 3 server1:/data/brick1/gv0  server2:/data/brick1/gv0  server3:/data/brick1/gv0  server1:/data/brick2/gv0  server2:/data/brick2/gv0   server3:/data/brick2/gv0  force

第六步:启动新的卷并查看信息

启动创建的卷

[root@server1 ~]# gluster volume start gv0

查看卷的信息

[root@server1 ~]# gluster volume info

最后:测试glusterfs卷

[root@server1 ~]# mount -t glusterfs server1:/gv0   /mnt

[root@server1 ~]# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done

[root@server1 ~]# ls -lA /mnt/copy* | wc -l

因为是三副本存储,所以每个节点上的文件数量都是100

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Kubernetes 部署 GlusterFS,需要进行以下步骤: 1. 安装 GlusterFS 在 Kubernetes 集群中的每个节点上安装 GlusterFS,可以使用以下命令: ```shell $ sudo apt-get install software-properties-common -y $ sudo add-apt-repository ppa:gluster/glusterfs-7 -y $ sudo apt-get update $ sudo apt-get install glusterfs-server -y ``` 2. 创建 GlusterFS 卷 可以使用 GlusterFS 的命令行工具 `gluster` 创建卷。首先需要创建一个 GlusterFS 集群,可以使用以下命令: ```shell $ sudo gluster peer probe <node1> $ sudo gluster peer probe <node2> ``` 其中,`<node1>` 和 `<node2>` 是 Kubernetes 集群中的两个节点。然后可以使用以下命令创建 GlusterFS 卷: ```shell $ sudo gluster volume create <volume-name> replica 2 <node1>:/data/glusterfs <node2>:/data/glusterfs force ``` 其中,`<volume-name>` 是卷的名称,`<node1>` 和 `<node2>` 是 GlusterFS 集群中的两个节点,`/data/glusterfs` 是 GlusterFS 的存储目录。 3. 创建 Kubernetes 存储类 可以使用以下 YAML 文件创建 Kubernetes 存储类: ```yaml kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: glusterfs-storage provisioner: kubernetes.io/glusterfs parameters: resturl: "http://<node1>:24007" restauthenabled: "false" restuser: "" secretNamespace: "default" secretName: "heketi-secret" ``` 其中,`<node1>` 是 GlusterFS 集群中的一个节点。 4. 创建 Kubernetes PV 和 PVC 可以使用以下 YAML 文件创建 Kubernetes PV 和 PVC: ```yaml kind: PersistentVolume apiVersion: v1 metadata: name: glusterfs-pv spec: storageClassName: glusterfs-storage capacity: storage: 1Gi accessModes: - ReadWriteMany glusterfs: endpoints: glusterfs-cluster path: <volume-name> readOnly: false --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: glusterfs-pvc spec: storageClassName: glusterfs-storage accessModes: - ReadWriteMany resources: requests: storage: 1Gi ``` 其中,`<volume-name>` 是 GlusterFS 卷的名称。 5. 使用 PVC 创建 Pod 可以使用以下 YAML 文件创建 Kubernetes Pod: ```yaml apiVersion: v1 kind: Pod metadata: name: glusterfs-pod spec: containers: - name: glusterfs-container image: nginx volumeMounts: - name: glusterfs-volume mountPath: /var/www/html volumes: - name: glusterfs-volume persistentVolumeClaim: claimName: glusterfs-pvc ``` 这个 Pod 会自动挂载 GlusterFS 存储卷到 `/var/www/html` 目录。 以上就是使用 Kubernetes 部署 GlusterFS 的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值