linux中RH236 glusterfs存储配置的例子

主机规划

 

其中前四个节点为配置glusterfs 分布式、复制、分布+复制、Geo异地同步等。其中前四个节点用于几种类型存储配置,第五台主机用作client访问、和Geo异常容灾模拟。需要注意的是,如下所有的配置中,我使用的都是IP,现网中建议使用主机名或域名的方式配置,这个IP发生变更时,无需在glusterfs中进行修改,只在dns中修改下指向IP即可。

 

主机名 IP地址
node1 server2-a.example.com 172.25.2.10
node2 server2-b.example.com 172.25.2.11
node3 server2-c.example.com 172.25.2.12
node4 server2-d.example.com 172.25.2.13
node5 server2-e.example.com 172.25.2.14

 

对象存储">

 


  1. [root@server2-a ~]# gluster
  2. gluster> peer probe 172.25.2.10
  3. peer probe: success. Probe on localhost not needed
  4. gluster> peer probe 172.25.2.11
  5. peer probe: success.
  6. gluster> peer probe 172.25.2.12
  7. peer probe: success.
  8. gluster> peer probe 172.25.2.13
  9. peer probe: success.
  10. gluster>

 

[root@server2-a ~]# mkdir -p /bricks/test
[root@server2-a ~]# mkdir -p /bricks/data
[root@server2-a ~]# vgs
  VG        #PV #LV #SN Attr   VSize  VFree
  vg_bricks   1   0   0 wz--n- 14.59g 14.59g
[root@server2-a ~]# lvcreate -L 13G -T vg_bricks/brickspool
  Logical volume "lvol0" created
  Logical volume "brickspool" created
[root@server2-a ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_a1
  Logical volume "brick_a1" created
[root@server2-a ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_a2
  Logical volume "brick_a2" created
[root@server2-a ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_a1
[root@server2-a ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_a2
[root@server2-a ~]# cat /etc/fstab |grep -v \#
UUID=0cad9910-91e8-4889-8764-fab83b8497b9 /                       ext4    defaults        1 1
UUID=661c5335-6d03-4a7b-a473-a842b833f995 /boot                   ext4    defaults        1 2
UUID=b37f001b-5ef3-4589-b813-c7c26b4ac2af swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/vg_bricks/brick_a1 /bricks/test/  xfs  defaults 0 0
/dev/vg_bricks/brick_a2 /bricks/data/  xfs  defaults 0 0
[root@server2-a ~]# mount -a
[root@server2-a ~]# df -h
[root@server2-a ~]# mkdir -p /bricks/test/testvol_n1
[root@server2-a ~]# mkdir -p /bricks/data/datavol_n1

[root@server2-b ~]# mkdir -p /bricks/test
[root@server2-b ~]# mkdir -p /bricks/data
[root@server2-b ~]# lvcreate -L 13G -T vg_bricks/brickspool
[root@server2-b ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_b1
[root@server2-b ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_b2
[root@server2-b ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_b1
[root@server2-b ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_b2
/dev/vg_bricks/brick_b1 /bricks/test/  xfs  defaults 0 0
/dev/vg_bricks/brick_b2 /bricks/data/  xfs  defaults 0 0
[root@server2-b ~]# mount -a
[root@server2-b ~]# df -h
[root@server2-b ~]# mkdir -p /bricks/test/testvol_n2
[root@server2-b ~]# mkdir -p /bricks/data/datavol_n2

[root@server2-c ~]# mkdir -p /bricks/safe
[root@server2-c ~]# mkdir -p /bricks/data
[root@server2-c ~]# lvcreate -L 13G -T vg_bricks/brickspool
[root@server2-c ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_c1
[root@server2-c ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_c2
[root@server2-c ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_c1
[root@server2-c ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_c2
/dev/vg_bricks/brick_c1 /bricks/safe/  xfs  defaults 0 0
/dev/vg_bricks/brick_c2 /bricks/data/  xfs  defaults 0 0
[root@server2-c ~]# mount -a
[root@server2-c ~]# df -h
[root@server2-c ~]# mkdir -p /bricks/safe/safevol_n3
[root@server2-c ~]# mkdir -p /bricks/data/datavol_n3
bricks-rep

[root@server2-d ~]# mkdir -p /bricks/safe
[root@server2-d ~]# mkdir -p /bricks/data
[root@server2-d ~]# lvcreate -L 13G -T vg_bricks/brickspool
[root@server2-d ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_d1
[root@server2-d ~]# lvcreate -V 3G -T vg_bricks/brickspool -n brick_d2
[root@server2-d ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_d1
[root@server2-d ~]# mkfs.xfs -i size=512 /dev/vg_bricks/brick_d2
/dev/vg_bricks/brick_d1 /bricks/safe/  xfs  defaults 0 0
/dev/vg_bricks/brick_d2 /bricks/data/  xfs  defaults 0 0
[root@server2-d ~]# mount -a
[root@server2-d ~]# df -h
[root@server2-d ~]# mkdir -p /bricks/safe/safevol_n4
[root@server2-d ~]# mkdir -p /bricks/data/datavol_n4

[root@server2-a ~]# gluster
gluster> volume create testvol 172.25.2.10:/bricks/test/testvol_n1  172.25.2.11:/bricks/test/testvol_n2
volume create: testvol: success: please start the volume to access data
gluster> volume start testvol
volume start: testvol: success
gluster> volume set testvol auth.allow 172.25.2.*
gluster> volume list
gluster> volume info testvol 

[root@server2-a ~]# gluster
gluster> volume create safevol replica 2 172.25.2.12:/bricks/safe/safevol_n3  172.25.2.13:/bricks/safe/safevol_n4
gluster> volume start safevol
gluster> volume set testvol auth.allow 172.25.2.*
gluster> volume list
gluster> volume info safevol 

[root@server2-a ~]# gluster
gluster> volume create datavol replica 2 172.25.2.10:/bricks/data/datavol_n4 172.25.2.11:/bricks/data/datavol_n4 172.25.2.12:/bricks/data/datavol_n4 172.25.2.13:/bricks/data/datavol_n4
gluster> volume start datavol
gluster> volume set testvol auth.allow 172.25.2.*
gluster> volume list
gluster> volume info datavol
mount-glusterfs

[root@server2-e ~]# cat /etc/fstab |grep -v \#
UUID=0cad9910-91e8-4889-8764-fab83b8497b9 /                       ext4    defaults        1 1
UUID=661c5335-6d03-4a7b-a473-a842b833f995 /boot                   ext4    defaults        1 2
UUID=b37f001b-5ef3-4589-b813-c7c26b4ac2af swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
172.25.2.10:/testvol    /test                 glusterfs _netdev,acl   0 0
172.25.2.10:/safevol    /safe                 nfs   _netdev   0 0
172.25.2.10:/datavol    /data                 glusterfs _netdev   0 0
[root@server2-e ~]# mkdir /test  /safe /data
[root@server2-e ~]# mount -a
[root@server2-e ~]# df -h

[root@server2-e ~]# mkdir -p /test/confidential
[root@server2-e ~]# groupadd admins
[root@server2-e ~]# chgrp admins /test/confidential/
[root@server2-e ~]# useradd suresh
[root@server2-e ~]# cd /test/
[root@server2-e test]# setfacl -m u:suresh:rwx /test/confidential/
[root@server2-e test]# setfacl -m d:u:suresh:rwx /test/confidential/
[root@server2-e test]# useradd anita
[root@server2-e test]# setfacl -m u:anita:rx /test/confidential/
[root@server2-e test]# setfacl -m d:u:anita:rx /test/confidential/
[root@server2-e test]# chmod o-rx /test/confidential/
glusterfs-quota

[root@server2-e ~]# mkdir -p /safe/mailspool
[root@server2-a ~]# gluster
gluster> volume
gluster> volume quota safevol enable
gluster> volume quota safevol limit-usage /mailspool 192MB
gluster> volume quota safevol list
[root@server2-e ~]# chmod o+w /safe/mailspool
Geo-replication

[root@server2-e ~]# lvcreate -L 13G -T vg_bricks/brickspool
[root@server2-e ~]# lvcreate -V 8G -T vg_bricks/brickspool -n slavebrick1
[root@server2-e ~]# mkfs.xfs -i size=512 /dev/vg_bricks/slavebrick1
[root@server2-e ~]# mkdir -p /bricks/slavebrick1
[root@server2-e ~]# vim /etc/fstab
/dev/vg_bricks/slavebrick1  /bricks/slavebrick1 xfs  defaults 0 0
[root@server2-e ~]# mount -a
[root@server2-e ~]# mkdir -p /bricks/slavebrick1/brick
[root@server2-e ~]# gluster volume create testrep 172.25.2.14:/bricks/slavebrick1/brick/
[root@server2-e ~]# gluster volume start testrep
[root@server2-e ~]# groupadd repgrp
[root@server2-e ~]# useradd georep -G repgrp
[root@server2-e ~]# passwd georep
[root@server2-e ~]# mkdir -p /var/mountbroker-root
[root@server2-e ~]# chmod 0711 /var/mountbroker-root/
[root@server2-e ~]# cat /etc/glusterfs/glusterd.vol
volume management
    type mgmt/glusterd
    option working-directory /var/lib/glusterd
    option transport-type socket,rdma
    option transport.socket.keepalive-time 10
    option transport.socket.keepalive-interval 2
    option transport.socket.read-fail-log off
    option ping-timeout 0
#   option base-port 49152
    option rpc-auth-allow-insecure on
    option mountbroker-root /var/mountbroker-root/
    option mountbroker-geo-replication.georep testrep
    option geo-replication-log-group repgrp
end-volume
[root@server2-e ~]# /etc/init.d/glusterd restart
[root@server2-a ~]# ssh-keygen
[root@server2-a ~]# ssh-copy-id georep@172.25.2.14
[root@server2-a ~]# ssh georep@172.25.2.14
[root@server2-a ~]# gluster system:: execute gsec_create
[root@server2-a ~]# gluster volume geo-replication testvol georep@172.25.2.14::testrep create push-pem
[root@server2-e ~]# sh /usr/libexec/glusterfs/set_geo_rep_pem_keys.sh georep testvol testrep
[root@server2-a ~]# gluster volume geo-replication testvol georep@172.25.2.14::testrep start
[root@server2-a ~]# gluster volume geo-replication testvol georep@172.25.2.14::testrep status
glusterfs-snapshot

[root@server2-a ~]# gluster snapshot create safe-snap safevol

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索配置
glusterfs 对象存储、glusterfs 块存储、rh236、rh2288 sas存储、oracle 存储过程例子,以便于您获取更多的相关知识。

时间: 2024-10-10 05:41:18

linux中RH236 glusterfs存储配置的例子的相关文章

linux中ssh公钥认证配置例子

在两台linux主机上由于环境的需要,经常要配置两台主机之间免密码登录,这就要用到key认证,也就是所谓的公私钥认证.便于理解,我这里指定两台主机为 A 和 B .如果A主机想免密码登录到B主机上,则A主机上存放私钥,B 主机上存放公钥.通过ssh-keygen 命令生成的两个文件为:公钥文件 ~/.ssh/id_rsa.pub: 私钥文件 ~/.ssh/id_rsa .而B主机上存放公钥时,需要将id_rsa.pub的内容存放到~/.ssh/authorized_keys 文件内,并且保证权限

linux中查找php木马程序例子

1.服务器本身的安全 安装denyhost,防止SSH的暴力破解,具体安装方法参考<denyhost防止SSH暴力破解,保护你的linux>一文. 另外对系统的一些重要文件添加一个i权限 比如:  代码如下 复制代码 # chattr +i /etc/passwd # chattr +i /etc/group # chattr +i /etc/shadow # chattr +i /etc/gshadow # chattr +i /etc/ssh/sshd_config 2.nginx和php

linux中挂载数据盘的例子

  最近给Linux服务器升级了,原因在于之前的配置太低了,以至于数据库无法访问.一升级之后,发现分配了一个50G的数据盘,而且需要自己挂载在系统上,所以只好找资料来挂载数据库,并且把网站数据转移到此数据盘上.步骤如下:   说明:   1. 适用系统:Linux(Redhat , CentOS,Debian,Ubuntu)   2. Linux的云服务器数据盘未做分区和格式化   1.查看数据盘   在没有分区和格式化数据盘之前,使用 "df –h"命令,是无法看到数据盘的,可以使用

Linux中imagemagick图片批量压缩例子

 代码如下 复制代码 sudo apt-get install imagemagick       其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:     图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的jpg文件:  代码如下 复制代码 #!/bin/sh for img in `find ./ -name "*.[bB][mM][pP]"`; do         #change up

linux中openshift搭建与使用例子

本篇所在总结的内容本来是一个过时的东西,不过由于当下红帽考试仍使用的这个旧的版本,这里还是简单总结下openshift2.x的配置和使用.openshift是红帽的paas 应用,想要和cloudfoundry之类的paas类产品竞争,不过从当前市场占用份额上来看,cloudfoundry处于行业主宰者,龙头地位.openshit2.x是基于红帽自己搞的gear技术---可以看做是类似沙箱的一种技术,和docker一样也是基于lxc基础上做的封装.当前openshitf3.x 版本较opensh

linux中KVM 虚拟机增加硬盘例子

方法一.常规方式 采用模板的方式可能导致虚拟机的硬盘容量不够,可以通过单独增加一块硬盘来作为数据的存储. 1.首先使用dd命令在默认路径下创建一个大小为10G的映像文件: dd bs=1M count=10240 if=/dev/zero of=/var/lib/libvirt/images/guest1_data.img 另外也可以使用 qemu-img 命令来创建,具体可以参考:centos 6.6 安装 KVM 虚拟机. 2.使用virsh edit 命令来编辑 domain 的配置文件,

linux中RVM安装删除的例子

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 安装: # gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 # curl -L get.rvm.io | bash -s stable # source ~/.bashrc # source ~/.bash_profile 删除: # rvm implode 或者使用脚本: #!/bin/bash /usr/bin/sud

linux中bash读写文件的例子

#!/bin/bash   #读取文件内容到变量中 filecontent=`cat ~/file.txt`    `是TAB键上那个 echo $filecontent   #取得文件内容的每一行 for fileline in $filecontent   do     echo $fileline   done   #写内容到文件中 echo $filecontent >> test.txt bash内置Unix命令 .:执行当前进程环境中的程序.同source. . file:dotU

linux中使用lsof命令使用例子

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能 lsof -Pnl +M -i4 lsof -Pnl +M -i6 ls -i :80 补充:实用命令  代码如下 复制代码 lsof `which httpd` //那个进程在使用apache的可执行文件 lsof /etc/passwd //那个进程在占用/etc/passwd lsof /dev/hda6 //那个进程在占用hda6 lsof