RHCS之用css_tool命令创建HA集群及创建gfs2集群文件系统

准备环境

node1:192.168.139.2

node2:192.168.139.4

node4:192.168.139.8

node5:192.168.139.9

node1 作为target端

node2 node4 node5 作为initiator端

并且将node2 node4 node5安装cman+rgmanager后配置成一个三节点的RHCS高可用集群,因为gfs2为一个集群文件系统,必须借助HA高可用集群将故障节点Fence掉,及借助Message Layer进行节点信息传递。

因为要将发现并登入的target做成集成文件系统,所以必须在node2 node4 node5上安装gfs2-utils

先将原来用luci/ricci创建的集群服务stop掉(我以前实验做的一个集群服务,与此实验无关)

[[email protected] mnt]# clusvcadm -d Web_Service

Local machine disabling service:Web_Service...

[[email protected] mnt]# clustat

Cluster Status for zxl @ Wed Dec 21 17:55:46 2016

Member Status: Quorate

Member Name                  ID   Status

------ ----                  ---- ------

node2.zxl.com                1 Online, Local, rgmanager

node4.zxl.com

2 Online, rgmanager

Service Name        Owner (Last)      State

------- ----        ----- ------      -----

service:Web_Service   (node2.zxl.com)    disabled

[[email protected] mnt]#  service rgmanager stop

[[email protected] mnt]#  service cman stop

[[email protected] mnt]#  service rgmanager stop

[[email protected] mnt]#  service cman stop

[[email protected] mnt]# rm -rf /etc/cluster/cluster.conf

[[email protected] mnt]# rm -rf /etc/cluster/cluster.conf

每次配置文件改变都会有备份也删掉

[[email protected] mnt]# ls /etc/cluster/

cluster.conf.bak  cman-notify.d

[[email protected] mnt]# rm -f /etc/cluster/*

如果没有装cman,rgmanager,执行如下命令

[[email protected] mnt]#yum  -y install cman rgmanager

用css_tool命令创建一个集群,集群名称mycluster

[[email protected] mnt]# ccs_tool create mycluster

[[email protected] mnt]# cat /etc/cluster/cluster.conf

<?xml version="1.0"?>

<cluster name="mycluster" config_version="1">

<clusternodes>

</clusternodes>

<fencedevices>

</fencedevices>

<rm>

<failoverdomains/>

<resources/>

</rm>

</cluster>

添加Fence设备(RHCS集群必须有)

[[email protected] mnt]# ccs_tool addfence meatware fence_manual

[[email protected] mnt]# ccs_tool lsfence

Name             Agent

meatware         fence_manual

-v 指定节点拥有票数

-n 指定节点标识符

-f 指定Fence设备名称

添加三个节点,RHCS集群至少要有三个节点

[[email protected] mnt]# ccs_tool addnode -v 1 -n 1 -f meatware node2.zxl.com

[[email protected] mnt]# ccs_tool addnode -v 1 -n 2 -f meatware node4.zxl.com

[[email protected] mnt]# ccs_tool addnode -v 1 -n 3 -f meatware node5.zxl.com

查看集群节点

[[email protected] mnt]# ccs_tool lsnode

Cluster name: mycluster, config_version: 5

Nodename                        Votes Nodeid Fencetype

node2.zxl.com                      1    1    meatware

node4.zxl.com                      1    2    meatware

node5.zxl.com                      1    3    meatware

复制配置文件,RHCS集群会借助cssd进程自动同步

[[email protected] mnt]# scp /etc/cluster/cluster.conf node4:/etc/cluster/

[[email protected] mnt]# scp /etc/cluster/cluster.conf node5:/etc/cluster/

每个节点启动cman rgmanager

[[email protected] mnt]# service cman start

[[email protected] mnt]# service rgmanager start

[[email protected] mnt]# service cman start

[[email protected] mnt]# service rgmanager start

[[email protected] mnt]# service cman start

[[email protected] mnt]# service rgmanager start

[[email protected] mnt]# clustat

Cluster Status for mycluster @ Wed Dec 21 18:40:26 2016

Member Status: Quorate

Member Name           ID   Status

------ ----           ---- ------

node2.zxl.com         1 Online, Local

node4.zxl.com         2 Online

node5.zxl.com         3 Online

[[email protected] mnt]# rpm -ql gfs2-utils

/etc/rc.d/init.d/gfs2

/sbin/fsck.gfs2

/sbin/mkfs.gfs2 \\格式化创建gfs2文件系统的

/sbin/mount.gfs2 \\挂载gfs2文件系统的

/usr/sbin/gfs2_convert

mkfs.gfs2命令的使用

-j 指定日志区域个数,有几个就能被几个节点挂载,因为格式化为集群文件系统后,每个节点都要有日志记录

-J 指定日志大小,默认128M

-p {lock_dlm|lock_nolock} 分布式锁管理|不用锁

-t <name> 指定锁表的名称

注:一个集群可以有多个文件系统,如一个集群中共享了两个磁盘,两个磁盘可以是gfs2和ocfs2文件系统,不同的文件系统进行加锁时,要用不同的锁表进行唯一标示,所以每个锁都要有锁名称

锁表名称的格式

cluster_name:锁表名

如:mycluster:lock_sda

-D 显示详细的Debug信息

登入target,并格式化为gfs2文件系统

[[email protected] mnt]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

[[email protected] mnt]# mkfs.gfs2 -j 2 -p lock_dlm -t mycluster:lock_sde1 /dev/sde1

Are you sure you want to proceed? [y/n] y

Device:                 /dev/sde1

Blocksize:               4096

Device Size              3.00 GB (787330 blocks)

Filesystem Size:           3.00 GB (787328 blocks)

Journals:                2

Resource Groups:           13

Locking Protocol:          "lock_dlm"

Lock Table:              "mycluster:lock_sde1"

UUID:                  9ebdc83b-9a61-9a4a-3ba7-9c80e59a0a2d

格式化完成,挂载测试

[[email protected] mnt]# mount -t gfs2 /dev/sde1 /mnt

[[email protected] mnt]# cd /mnt

[[email protected] mnt]# ll

total 0

[[email protected] mnt]# cp /etc/issue ./

[[email protected] mnt]# ll

total 8

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue

ok,换node4

[[email protected] ~]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

node4不用再次格式化,直接挂载

[[email protected] ~]# mount -t gfs2 /dev/sdc1 /mnt

[[email protected] ~]# cd /mnt

[[email protected] mnt]# ll \\可以看到node1复制的文件

total 8

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue

node4创建一个文件a.txt,会立马通知给其他节点,让其看到,这就是集群文件系统gfs2的好处

[[email protected] mnt]# touch a.txt

[[email protected] mnt]# ll

total 16

-rw-r--r--. 1 root root  0 Dec 21 19:10 a.txt

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue

在加一个节点node5

[[email protected] ~]# iscsiadm -m node -T iqn.2016-12.com.zxl:store1.disk1 -p 192.168.139.2 -l

挂载不上去,因为只创建了两个集群日志文件,有几个日志几个节点就能挂载

[[email protected] ~]# mount -t gfs2 /dev/sdc1 /mnt

Too many nodes mounting filesystem, no free journals

添加日志

[[email protected] mnt]# gfs2_jadd -j 1 /dev/sde1 \\-j 1 增加一个日志

Filesystem:            /mnt

Old Journals           2

New Journals           3

[[email protected] mnt]# gfs2_tool journals /dev/sde1 \\此命令可以查看有几个日志,每个默认大小128M

journal2 - 128MB

journal1 - 128MB

journal0 - 128MB

3 journal(s) found.

[[email protected] ~]# mount -t gfs2 /dev/sdc1 /mnt \\node5挂载成功

[[email protected] ~]# cd /mnt

[[email protected] mnt]# touch b.txt

[[email protected] mnt]# ll

total 24

-rw-r--r--. 1 root root  0 Dec 21 19:10 a.txt

-rw-r--r--. 1 root root  0 Dec 21 19:18 b.txt

-rw-r--r--. 1 root root 47 Dec 21 19:06 issue

gfs2集群文件系统一般支持的集群数量不能超过16个,超过后,性能直线下降

时间: 2024-10-01 00:31:36

RHCS之用css_tool命令创建HA集群及创建gfs2集群文件系统的相关文章

高可用,多路冗余GFS2集群文件系统搭建详解

2014.06 标签:GFS2 multipath 集群文件系统 cmirror 实验拓扑图: 实验原理: 实验目的:通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和Share Storage之间的多路冗余,最后实现存储的mirror复制达到高可用. GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统.它是由红帽公司开发出来的,允许所有集群节点并行访问.元数据通常会保存在共享

RedHat 6.4 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机HA

环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterprise Linux 6.7 x64 集群环境:RHCS 数据库:Oracle 11g R2 多路径软件:UltraPath for Linux 存储划分 类型 卷 大小 挂载点 用途 备注 内置硬盘 标准 500MB /boot 启动分区 两块内置硬盘作RAID1 LVM 20GB /home 用户分区

kubeadm创建高可用kubernetes v1.12.0集群

节点规划 主机名 IP Role k8s-master01 10.3.1.20 etcd.Master.Node.keepalived k8s-master02 10.3.1.21 etcd.Master.Node.keepalived k8s-master03 10.3.1.25 etcd.Master.Node.keepalived VIP 10.3.1.29 None 版本信息: OS::Ubuntu 16.04 Docker:17.03.2-ce k8s:v1.12 来自官网的高可用架构

为Linux集群创建新账户,并配置hadoop集群

转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策,linux对用户访问权限很严格,新创的hod账户根本无法启动hadoop,而root在hod模式下使用torque是不被建议的,所以只能用hod账户再重新装一遍. 创建用户.设置密码.修改用户.删除用户: useradd testuser   创建用户testuserpasswd testuser

redis集群的创建及其使用

集群配置参数: cluster-enabled yes     //开启集群 cluster-config-file nodes.conf    //保存集群信息的文件 cluster-node-timeout 5000         //集群节点超时时间 集群环境准备: 集群管理工具redis-trib是由ruby语言研发的,需要先安装ruby的依赖关系及环境: redis的源码文件中有一个管理工具,是用ruby写的,所以需要安装ruby相关的软件: yum install ruby rub

创造自己的群集类型----之----创建“包装”类以封装预定义集群类型

第一步:创建"包装"类以封装预定义集群类型 public class EncapsulatePredefinedCluster { private ArrayList students; public EncapsulatePredefinedCluster() { students = new ArrayList(5); } /// <summary> /// 注册新生 /// </summary> /// <param name="s&quo

【翻译自mos文章】尽管指定了目的地,asmcmd cp命令还是在 +DATA/ASM 下创建文件

尽管指定了目的地,asmcmd cp命令还是在  +DATA/ASM 下创建文件 参考原文: ASMCMD Cp Creates Files In +DATA/ASM Instead Of Destination Specified (Doc ID 1488934.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information in this document applies to any

java运行bat命令得到某个windows文件的创建时间

原文:java运行bat命令得到某个windows文件的创建时间 代码下载地址:http://www.zuidaima.com/share/1550463260150784.htm package com.zuidaima.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** *

【翻译自mos文章】虽然指定了目的地,asmcmd cp命令还是在 +DATA/ASM 下创建文件

虽然指定了目的地.asmcmd cp命令还是在  +DATA/ASM 下创建文件 參考原文: ASMCMD Cp Creates Files In +DATA/ASM Instead Of Destination Specified (Doc ID 1488934.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information in this document applies to any