iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >初探OCFS2-配置服务
  • 851
分享到

初探OCFS2-配置服务

2024-04-02 19:04:59 851人浏览 八月长安
摘要

初探OCFS2-配置服务2016/11/28目的:研究如何使用 iscsi 存储。 一、认识 据zstack的童鞋们介绍:OCFS2是主流对接 SAN 云存储的方式

初探OCFS2-配置服务

2016/11/28

目的:研究如何使用 iscsi 存储。

一、认识
据zstack的童鞋们介绍:OCFS2是主流对接 SAN 云存储的方式

存储的选择,通常有以下方式:
1、NAS
1)NFS
简单;自建有可靠性问题,商业的 NFS 产品更靠谱;

2)分布式文件系统,以 GlusterFS 为例;
易懂;建议使用 glusterfs 的接口来访问,但也支持通过 nfs 来访问;


2、IP SAN(iscsi)
1)使用iscsiadm 发现一下 target 即可
2)研究 ovirt 是如何使用 iscsi 存储的
看到一个讨论ovirt通过lvm来使用iscsi的方式
Http://users.ovirt.narkive.com/XzD01akX/ovirt-users-shared-storage-with-iscsi

按照字面意思,我的理解(未实验)是:
a、每个 host 挂载 iscsi 存储
b、通过 lvm 划分出 vm disk
c、在运行了 vm 的 host 上 通过 lvchange 来激活指定的 vm disk 
lvchange -ay vol_group/logical_vol

3)通过集群文件系统(cluster filesystem: OCFS2,GFS,etc. )来控制读写 iscsi 存储
这就是本文的初衷,接下来展开记录 OCFS2 是如何使用的。


二、配置
1、准备安装 oracle uek 内核(因为新版本的 ocfs2 内核模块被 uek 整合了)
[root@n149 ~]# wget http://public-yum.oracle.com/public-yum-ol6.repo -O /etc/yum.repos.d/public-yum-ol6.repo
[root@n149 ~]# rpm --import http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
[root@n149 ~]# yum install yum-plugin-downloadonly -y
[root@n149 ~]# mkdir /tmp/ocfs2 && cd /tmp/ocfs2/
[root@n149 ocfs2]# yum install --downloadonly --downloaddir=/tmp/ocfs2/ kernel-uek ocfs2-tools -y


2、安装 uek
[root@n149 ocfs2]# yum localinstall kernel-uek*
使用新的内核,编辑 grub 调整启动顺序:
[root@n149 ocfs2]# vim /etc/grub.conf
重启系统后查看:
[root@n149 ocfs2]# uname -r
2.6.39-400.290.1.el6uek.x86_64

查看 ocfs2 模块是否加载:
[root@n149 ocfs2]# modprobe ocfs2
[root@n149 ocfs2]# lsmod |grep oc
ocfs2                1094439  0 
ocfs2_nodemanager     223253  1 ocfs2
configfs               29308  2 ocfs2_nodemanager
ocfs2_stackglue        11896  1 ocfs2
jbd2                   93114  2 ocfs2,ext4


3、安装 ocfs2-tools
[root@n149 ocfs2]# yum localinstall ocfs2-tools* -y


4、配置 ocfs2 服务
[root@n149 ~]# vim /etc/hosts
10.50.200.149 n149.ocfs2.test
10.50.200.150 n150.ocfs2.test


[root@n149 ~]# service o2cb load
checking debugfs...
Mounting configfs filesystem at /sys/kernel/config: OK
Loading stack plugin "o2cb": OK
Loading filesystem "ocfs2_dlmfs": OK
Creating directory '/dlm': OK
Mounting ocfs2_dlmfs filesystem at /dlm: OK

[root@n149 ~]# service o2cb online
checking debugfs...
Setting cluster stack "o2cb": OK
Checking O2CB cluster configuration : Failed


符合预期,继续配置集群:

[root@n149 ~]# o2cb_ctl -C -n prdcluster -t cluster -a name=prdcluster
[root@n149 ~]# o2cb_ctl -C -n n149.ocfs2.test -t node -a number=0 -a ip_address=10.50.200.149 -a ip_port=11111 -a cluster=prdcluster
[root@n149 ~]# o2cb_ctl -C -n n150.ocfs2.test -t node -a number=1 -a ip_address=10.50.200.150 -a ip_port=11111 -a cluster=prdcluster
[root@n149 ~]# cat /etc/ocfs2/cluster.conf 
node:
        name = n149.ocfs2.test
        cluster = prdcluster
        number = 0
        ip_address = 10.50.200.149
        ip_port = 11111

node:
        name = n150.ocfs2.test
        cluster = prdcluster
        number = 1
        ip_address = 10.50.200.150
        ip_port = 11111

cluster:
        name = prdcluster
        heartbeat_mode = local
        node_count = 2

        
[root@n149 ~]# service o2cb configure
[root@n149 ~]# service o2cb online

上述操作,在每个节点上执行。
其他可选操作:
[root@n149 ~]# service o2cb status       
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Stack glue driver: Loaded
Stack plugin "o2cb": Loaded
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster "prdcluster": Online
  Heartbeat dead threshold: 31
  Network idle timeout: 30000
  Network keepalive delay: 2000
  Network reconnect delay: 2000
  Heartbeat mode: Local
Checking O2CB heartbeat: Not active
Debug file system at /sys/kernel/debug: mounted


另外:确认防火墙放行了对应的端口,本例是 tcp port 11111


5、配置 iscsi 存储
[root@n149 ocfs2]# iscsiadm -m discovery -t st -p 10.50.200.41
[root@n149 ocfs2]# iscsiadm -m node -o delete -T iqn.1984-05.com.dell:powervault.md3800i.600a098000a64d8b0000000057a152ea -p 192.168.131.101
[root@n149 ocfs2]# iscsiadm -m node -o delete -T iqn.1984-05.com.dell:powervault.md3800i.600a098000a64d8b0000000057a152ea -p 192.168.131.102
[root@n149 ocfs2]# iscsiadm -m node -T iqn.1984-05.com.dell:powervault.md3800i.600a098000a64d8b0000000057a152ea --login
[root@n149 ocfs2]# yum install device-mapper-multipath -y
[root@n149 ocfs2]# modprobe dm-multipath
[root@n149 ocfs2]# mpathconf
[root@n149 ocfs2]# cat /etc/multipath.conf
defaults {
    path_grouping_policy    multibus
    path_checker            readsector0
    rr_min_io_rq            10
    max_fds                 8192
    rr_weight               priorities
    failback                immediate
    no_path_retry           fail
    user_friendly_names     yes
}

multipaths {
    multipath {
        wwid                    3600a098000a64d8b000002a4582305f8
        alias                   test_block_a
    }
}
[root@n149 ocfs2]# service multipathd start
[root@n149 ocfs2]# chkconfig multipathd on
[root@n149 ocfs2]# multipath -ll
test_block_a (3600a098000a64d8b000002a4582305f8) dm-0 DELL,MD38xxi
size=100G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 4:0:0:0 sda 8:0   active ready  running
  `- 5:0:0:0 sdb 8:16  active ready  running
  

6、使用 iscsi 存储
挂载参数请参考:man mkfs.ocfs2

[root@n149 ~]# mkfs.ocfs2 -b 4K -C 64K -L testblocka -T datafiles -F /dev/mapper/test_block_a
mkfs.ocfs2 1.8.6
Cluster stack: classic o2cb
Overwriting existing ocfs2 partition.
WARNING: Cluster check disabled.
Proceed (y/N): y
Filesystem Type of datafiles
Label: testblocka
Features: sparse extended-slotmap backup-super unwritten inline-data strict-journal-super xattr indexed-dirs refcount discontig-bg
Block size: 4096 (12 bits)
Cluster size: 65536 (16 bits)
Volume size: 107374182400 (1638400 clusters) (26214400 blocks)
Cluster groups: 51 (tail covers 25600 clusters, rest cover 32256 clusters)
Extent allocator size: 41943040 (10 groups)
Journal size: 33554432
Node slots: 8
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 4 block(s)
FORMatting Journals: done
Growing extent allocator: done
Formatting slot map: done
Formatting quota files: done
Writing lost+found: done
mkfs.ocfs2 successful

[root@n149 ~]# cat <<_EOF >>/etc/fstab
/dev/mapper/test_block_a        /mnt/tba        ocfs2   defaults        0 0
_EOF
[root@n149 ~]# mkdir /mnt/tba
[root@n149 ~]# mount -a
[root@n149 ~]# df -h /mnt/tba
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/test_block_a  100G  586M  100G   1% /mnt/tba


在另一个节点上执行:
[root@n150 ~]# cat <<_EOF >>/etc/fstab
/dev/mapper/test_block_a        /mnt/tba        ocfs2   defaults        0 0
_EOF
[root@n150 ~]# mkdir /mnt/tba
[root@n150 ~]# mount -a
[root@n150 ~]# df -h /mnt/tba
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/test_block_a  100G  586M  100G   1% /mnt/tba


查看对应的日志:
Nov 16 13:46:01 n149 kernel: o2hb: Heartbeat mode set to local
Nov 16 13:46:01 n149 o2hbmonitor: Starting
Nov 16 13:47:42 n149 kernel: OCFS2 1.8.0
Nov 16 13:47:43 n149 kernel: o2dlm: Joining domain 55663D9EA9B0466D80626459E2B6AE9B ( 1 ) 1 nodes
Nov 16 13:47:43 n149 kernel: ocfs2: Mounting device (251,0) on (node 1, slot 0) with ordered data mode.
Nov 16 13:48:16 n149 kernel: o2net: Connection to node n150.ocfs2.test (num 0) at 10.50.200.150:11111 shutdown, state 7
Nov 16 13:48:18 n149 kernel: o2net: Connected to node n150.ocfs2.test (num 0) at 10.50.200.150:11111
Nov 16 13:48:22 n149 kernel: o2dlm: Node 0 joins domain 55663D9EA9B0466D80626459E2B6AE9B ( 0 1 ) 2 nodes


Nov 16 13:45:43 n150 kernel: o2hb: Heartbeat mode set to local
Nov 16 13:45:43 n150 o2hbmonitor: Starting
Nov 16 13:48:18 n150 kernel: o2net: Accepted connection from node n149.ocfs2.test (num 1) at 10.50.200.149:11111
Nov 16 13:48:22 n150 kernel: OCFS2 1.8.0
Nov 16 13:48:22 n150 kernel: o2dlm: Joining domain 55663D9EA9B0466D80626459E2B6AE9B ( 0 1 ) 2 nodes
Nov 16 13:48:22 n150 kernel: ocfs2: Mounting device (251,0) on (node 0, slot 1) with ordered data mode.


2个节点的 heartbeat 的状态也都变成了 Active
[root@n149 ~]# service o2cb status 
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Stack glue driver: Loaded
Stack plugin "o2cb": Loaded
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster "prdcluster": Online
  Heartbeat dead threshold: 31
  Network idle timeout: 30000
  Network keepalive delay: 2000
  Network reconnect delay: 2000
  Heartbeat mode: Local
Checking O2CB heartbeat: Active
Debug file system at /sys/kernel/debug: mounted


7、测试文件读写
【2个节点同时写一个文件】
[root@n149 ~]# for i in `seq 1 9`;do echo "`hostname` -> [`date`]" >>/mnt/tba/1.log;sleep 1s;done
[root@n150 ~]# for i in `seq 1 9`;do echo "`hostname` -> [`date`]" >>/mnt/tba/1.log;sleep 1s;done
[root@n149 ~]# cat /mnt/tba/1.log   

n149.ocfs2.test -> [Wed Nov 16 13:55:20 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:21 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:21 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:22 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:22 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:23 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:23 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:24 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:24 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:25 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:25 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:26 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:26 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:27 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:27 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:28 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:55:28 CST 2016]
n150.ocfs2.test -> [Wed Nov 16 13:55:29 CST 2016]
结论:符合预期。


【一个节点写,另一个节点读】
[root@n149 ~]# for i in `seq 1 9`;do echo "`hostname` -> [`date`]" >>/mnt/tba/1.log;sleep 1s;done
[root@n150 ~]# tail -f /mnt/tba/1.log 

n149.ocfs2.test -> [Wed Nov 16 13:57:42 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:43 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:44 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:45 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:46 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:47 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:48 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:49 CST 2016]
n149.ocfs2.test -> [Wed Nov 16 13:57:50 CST 2016]
^C
结论:符合预期。









三、问题解释
1、cluster 处于 Offline 的状态
[root@n150 ~]# mount -a
mount.ocfs2: Internal logic failure while trying to join the group
[root@n150 ~]# service o2cb status       
Checking O2CB cluster "prdcluster": Offline

则请检查各节点的域名是否能正常解析,ocfs2 要用到 hostname 来提供服务。有一种情况是:
上述节点的 hostname 为:
n149.test.com
n150.test.com
而配置 ocfs2 是在 hosts 中写死了:
10.50.200.149 n149.ocfs2.test
10.50.200.150 n150.ocfs2.test

而实际上,ocfs2 使用的却是 hostname,因而节点之间的连接异常。


2、heartbeat 处于 Not active 状态
挂载卷后 heartbeat 才会启动,因此,先操作后再观察。




ZYXW、参考
1、[ovirt-users] shared storage with iscsi
http://users.ovirt.narkive.com/XzD01akX/ovirt-users-shared-storage-with-iscsi
2、linux : Oracle unbreakable kernel and OCFS2 on Centos/RHEL6
http://www.itechlounge.net/2014/08/linux-oracle-unbreakable-kernel-and-ocfs2-on-centosrhel6/
3、Oracle Linux 6: Create an OCFS2 Cluster and Filesystem
https://www.itfromallangles.com/2013/03/oracle-linux-6-create-an-ocfs2-cluster-and-filesystem/
4、Installing And Configuring An OCFS2 Clustered File System
http://www.shapeblue.com/installing-and-configuring-an-ocfs2-clustered-file-system/
5、解决o2cb status时状态始终为offline(o2cb_ctl: Internal logic failure failed while adding RAC1)
http://www.blogjava.net/KingKong/arcHive/2011/06/06/351826.html
6、O2CB heartbeat: Not active
https://oss.oracle.com/pipermail/ocfs2-users/2009-April/003477.html


您可能感兴趣的文档:

--结束END--

本文标题: 初探OCFS2-配置服务

本文链接: https://www.lsjlt.com/news/52645.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 初探OCFS2-配置服务
    初探OCFS2-配置服务2016/11/28目的:研究如何使用 iscsi 存储。 一、认识 据zstack的童鞋们介绍:OCFS2是主流对接 SAN 云存储的方式...
    99+
    2024-04-02
  • Mac M1/Intel 芯片 Nginx+PHP开发环境配置——初探(一)
    最近因为新买Mac M系列芯片笔记本,一直也没搭建过PHP的开发环境,花了一点时间特意在本机做了一次环境搭建测试具体如下。 软件清单 工具列表如下: Xcode VS Code Homebrew OpenSSL & wge...
    99+
    2023-09-01
    php phpstorm Powered by 金山文档
  • 初始化配置wordpress
    前言:    上文主要讲到的是搭建wordpress的运行环境,本问将主要讲一下如何配置数据库,和wordpress以使此博客系统可以访问。正文: &nbs...
    99+
    2024-04-02
  • Redhat(03):Linux 初始化配置
    一、virbr0虚拟网卡的卸载方法在使用双机软件过程中,如果系统是centos 5.x 默认系统安装完成后为xen内核,那么xen内核引导启动后就会有虚拟网卡(vethx、vif0.x、virbr0、xenbr1等)存在。这就会直接导致双机...
    99+
    2023-06-05
  • h3c交换机初始配置
    新买了一台h3c 5500系列交换机,打开之后初始配置与支持文档所说的配置不一样,下面对初始配置做一个解释。 首先来看下面这个命令:undo ip ttl-expires 官方对这两条命令解释: ip ttl-expires enable...
    99+
    2023-01-31
    交换机 h3c
  • mysql安装与初始配置
    Mysql数据库的第一个版本就是发行在Linux系统上查看mysql安装包:]# rpm -qa | grep mysqlmysql-libs-5.1.73-8.el6_8.x86_64mysql-5.1....
    99+
    2024-04-02
  • Nacos 动态服务发现、配置和服务管理平台初体验
    目录Nacos简介Nacos特性1、服务发现与服务健康检查2、动态配置服务3、动态DNS服务4、服务及其元数据管理安装与启动(1). 启动(2). 访问Nacos配置中心Nacos注...
    99+
    2024-04-02
  • OpenStack容器服务Zun初探与原理分析
    01Zun服务简介Zun是OpenStack的容器服务(Containers as Service),类似于AWS的ECS服务,但实现原理不太一样,ECS是把容器启动在EC2虚拟机实例上,而Zun会把容器直接运行在compute节点上。和O...
    99+
    2023-06-04
  • Ubuntu/Debian系统中Linux服务器的初步配置步骤
    这篇文章主要讲解了“Ubuntu/Debian系统中Linux服务器的初步配置步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu/Debian系统中Linux服务器的初步配置步骤...
    99+
    2023-06-13
  • 阿里云服务器初始配置快速入门指南
    阿里云服务器是阿里云提供的高性能计算服务,提供了丰富的功能和灵活的使用方式。但是,对于初学者来说,阿里云服务器的初始配置可能有些复杂。本文将详细介绍阿里云服务器的初始配置,包括创建服务器、配置安全组、安装操作系统等步骤。 阿里云服务器初始配...
    99+
    2023-11-18
    阿里 入门 快速
  • Redis3 集群功能配置初尝
    又很久很久没有更新博客了,也很久很久没有做云计算了,前期做了一段时间的游戏,现在又回归到常规运维的岗位,最近接触到redis这玩意,也就简单配置了下,至少要熟悉下常规的配置,才能做到运维支撑嘛。现在也没有很多时间完善博客格式什么的,就把一些...
    99+
    2023-01-31
    集群 功能
  • 【Linux下MySQL的初始化和配置】
    Linux下MYSQL的初始化和配置 一、初始准备(一)服务初始化(二)启动MYSQL(三)MYSQL登录 二、设置远程登录(一)确认网络(二)关闭防火墙(三)Linux下修改配置 ...
    99+
    2023-09-11
    linux mysql
  • vue.js移动端app如何初始配置
    这篇文章主要介绍了vue.js移动端app如何初始配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:初始工作:通过vue-cli安装w...
    99+
    2024-04-02
  • Javaspringboot探究配置文件优先级
    目录一、前言二、测试前准备三、模拟部署测试四、总结一、前言 在springboot项目中,我们可以通过在yml文件中设置变量,再通过@Value注解来获得这个变量并使用,但如果这个项...
    99+
    2023-05-14
    Java Springboot配置文件 Springboot配置文件优先级
  • SSH服务配置
    目录  SSH基础 什么是SSH服务器? SSH数据传输原理 SHH客户端: SHH服务器: OpenSSH 配置OpenSSH服务端 1、sshd_config配置文件的常用选项设置 ssh原理 公钥传输原理 ssh远程登录格式 服务端...
    99+
    2023-09-01
    ssh 服务器 linux
  • 初识Java环境变量配置及IDEA
    目录一、JAVA简要概述二、JDK环境变量配置1.JAVA_HOME2.CLASSPATH3.Path4.测试,配置完成后三、java的编译和运行1.cmd命令运行代码2.解决打印汉...
    99+
    2024-04-02
  • WindowsServer2019Web服务器配置IIS站点配置
    目录6. IIS 配置的进阶6.1 配置主目录6.2 配置默认文档6.4 配置MIME类型 MIME6.5 配置虚拟目录 虚拟目录6.6 创建和管理虚拟网站6. IIS 配置的进阶 ...
    99+
    2023-05-20
    IIS站点配置
  • 阿里云nginx配置服务器配置
    简介 在云计算时代,阿里云作为国内领先的云服务提供商,为用户提供了强大的基础设施和丰富的服务。在构建稳定可靠的应用架构时,合理配置Nginx服务器是非常重要的一步。本文将介绍如何在阿里云上配置Nginx服务器,以实现高可用性、负载均衡和安全...
    99+
    2024-01-18
    阿里 服务器配置 nginx
  • Redis连接池配置及初始化实现
    加入db选择后的redis连接池配置代码 public class RedisPoolConfigure { //Redis服务器IP private String ADD...
    99+
    2024-04-02
  • Jenkins初级应用Publish Over SSH插件配置
    目录一、安装Publish Over SSH插件二、配置系统三、配置项目作为Jenkins最基本的应用也是重要的一环就是可以把文件传到服务器上面,或者在服务器上面远程执行命令。一个可...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作