Linux as4上安装 OCFS2集群文件系统

本文详细介绍Oracle集群文件系统OCFS2的安装、配置过程,包括组件包安装、O2CB集群服务配置、OCFS2文件系统格式化及挂载等关键步骤。

一 : 组件包安装 :

下载 ocfs2 软件包

http://oss.oracle.com/projects/ocfs2-tools/files/

http://oss.oracle.com/projects/ocfs2/files/


安装:

$ su -
# rpm -Uvh ocfs2-2.6.9-42.EL-1.2.3-1.i686.rpm \
ocfs2console-1.2.1-1.i386.rpm \
ocfs2-tools-1.2.1-1.i386.rpm
Preparing... ############################## [100%]
1:ocfs2-tools ############################## [ 33%]
2:ocfs2-2.6.9-42.EL ######################### [ 67%]
3:ocfs2console ############################# [100%]
禁用 SELinux ( RHEL4 U2 以及更高版本)

向 RHEL4 U2 以及更高版本( CentOS 4.4 基于 RHEL4 U2 )的用户提供一个建议,即 OCFS2 当前无法在启用 SELinux 的情况下运行。如果您使用的是 RHEL4 U2 或更高版本(由于我们使用的是 CentOS 4.4 ,因此我们也包括在内),则您需要禁用 SELinux (使用工具 system-config-securitylevel )才能执行 O2CB 服务。
IXDBA.NET技术社区

要禁用 SELinux ,运行 “Security Level Configuration”GUI 实用程序:

# /usr/bin/system-config-securitylevel &



现在,单击 SELinux 选项卡并取消选中 “Enabled” 复选框。单击 [OK] 后,将显示一个警告对话框。只需单击 “Yes” 确认该警告。禁用 SELinux 选项,

在集群中的两个节点上进行此更改后,将需要重新引导每个节点以实施更改:在继续配置 OCFS2 之前,必须禁用 SELinux !

# init 6
配置 OCFS2

下一步是在集群中的两个节点上生成和配置 /etc/ocfs2/cluster.conf 文件。完成此操作最简单的方法是运行 GUI 工具 ocfs2console 。在本节中,我们不但使用 ocfs2console 创建和配置 /etc/ocfs2/cluster.conf 文件,而且还创建和启动集群堆栈 O2CB 。如果 /etc/ocfs2/cluster.conf 文件不存在(本示例中便是这种情况), ocfs2console 工具将创建该文件以及一个默认集群名为 ocfs2 的新集群堆栈服务 (O2CB) 。您将需要以 root 用户帐户在集群中的两个节点上执行该操作:

$ su -# ocfs2console &

使用 ocfs2console GUI 工具执行以下步骤:

选择 [Cluster] -> [Configure Nodes...] 。这将启动 OCFS2 集群堆栈 并显示 “Node Configuration” 对话框。
在 “Node Configuration” 对话框上,单击 [Add] 按钮。
这将显示 “Add Node” 对话框。
在 “Add Node” 对话框中,输入集群中第一个节点的 Host name 和 IP address 。将 IP Port 设置为默认值 7777 。在我的示例中,我添加了两个节点,即使用 linux1 / 192.168.1.100 表示第一个节点,并使用 linux2 / 192.168.1.101 表示第二个节点。
单击 “Node Configuration” 对话框上的 [Apply] — 所有节点现在将处于 “Active” 状态.
单击 “Node Configuration” 对话框上的 [Close] 。
确认所有值均正确后,使用 [File] -> [Quit] 退出应用程序。需要在集群的两个节点上执行该操作。




退出 ocfs2console 后,将获得一个类似如下所示的 /etc/ocfs2/cluster.conf 。需要在集群中的两个节点上完成该过程,并且所有节点的 OCFS2 配置文件必须完全相同:

node: ip_port = 7777

ip_address = 192.168.1.100

number = 0

name = linux1

cluster = ocfs2node:

  ip_port = 7777

ip_address = 192.168.1.101

number = 1

name = linux2

cluster = ocfs2cluster:

node_count = 2

name = ocfs2
二 :O2CB 集群服务

在使用 OCFS2 执行任何操作(如格式化或挂载文件系统)之前,我们需要先运行 OCFS2 的集群堆栈 O2CB (它将是以上执行的配置过程的结果)。此堆栈包含以下服务:

NM :用于跟踪 cluster.conf 中的所有节点的节点管理器
HB :当节点加入或离开集群时向上 / 向下发出通知的心跳服务
TCP :处理节点之间的通信
DLM :用于跟踪所有锁、这些锁的所有者和状态的分布式锁管理器
CONFIGFS :在 /config 中挂载的用户空间驱动的配置文件系统
DLMFS :用户空间与内核空间 DLM 的接口
已将以上所有集群服务打包到 o2cb 系统服务 (/etc/init.d/o2cb) 中。以下是 o2cb 系统服务的某些更有用的命令和选项的简要列表。

注意:以下命令仅用于演示目的,不应在安装和配置 OCFS2 时运行!

/etc/init.d/o2cb status
Module "configfs": Not loaded

Filesystem "configfs": Not mounted

Module "ocfs2_nodemanager": Not loaded

Module "ocfs2_dlm": Not loaded

Module "ocfs2_dlmfs": Not loaded

Filesystem "ocfs2_dlmfs": Not mounted
   注意,本示例未加载所有服务。我在执行 “status” 选项之前执行了 “unload” 。如果要在使用 ocfs2console 实用程序配置 OCFS2 后立即检查 o2cb 服务的状态,则将加载所有这些服务。
  /etc/init.d/o2cb load
Loading module "configfs": OK

Mounting configfs filesystem at /config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

加载所有 OCFS2 模块
/etc/init.d/o2cb online ocfs2
Starting cluster ocfs2: OK
以上命令将使我们创建的集群 ocfs2 处于联机状态。

/etc/init.d/o2cb offline ocfs2
Unmounting ocfs2_dlmfs filesystem: OK

Unloading module "ocfs2_dlmfs": OK

Unmounting configfs filesystem: OK

Unloading module "configfs": OK
以上命令将使我们创建的集群 ocfs2 处于脱机状态。

/etc/init.d/o2cb unload
Cleaning heartbeat on ocfs2: OK

Stopping cluster ocfs2: OK
以上命令将卸载所有 OCFS2 模块。

三 : 将 O2CB 配置为在引导时启动

您现在需要配置 OC2B 驱动程序的引导属性,以便在每次引导时将启动集群堆栈服务。需要在集群的所有节点上执行本节中的所有任务。

注意: OCFS2 1.2.1 之前的版本中 包含一个错误,即不会在每次引导时加载驱动程序,即使将引导属性配置为执行此操作后也是如此。 OCFS2 1.2.1 版中已经修复了该错误,本文不再赘述。然而,如果您使用的是 OCFS2 1.2.1 之前的版本,请参阅疑难解答一节以获取有关该错误的变通方法。
按如下所示设置引导属性:

# /etc/init.d/o2cb offline ocfs2

# /etc/init.d/o2cb unload

# /etc/init.d/o2cb configure

Configuring the O2CB driver.This will configure the on-boot properties of the O2CB driver.The following questions will determine whether the driver is loaded onboot. The current values will be shown in brackets ('[]'). Hitting<ENTER> without typing an answer will keep that current value. Ctrl-Cwill abort.Load O2CB driver on boot (y/n) [n]: y

Cluster to start on boot (Enter "none" to clear) [ocfs2]: ocfs2

Writing O2CB configuration: OK

Loading module "configfs": OK

Mounting configfs filesystem at /config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

Starting cluster ocfs2: OK

四 : 格式化 OCFS2 文件系统

$ su -
# mkfs.ocfs2 -b 4K -C 32K -N 4 -L webdatafile /dev/sdf6

mkfs.ocfs2 1.2.1
Filesystem label=oracrsfiles
Block size=4096 (bits=12)
Cluster size=32768 (bits=15)
Volume size=2145943552 (65489 clusters) (523912 blocks)
3 cluster groups (tail covers 977 clusters, rest cover 32256 clusters)
Journal size=67108864
Initial number of node slots: 4
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Formatting Journals: done
Writing lost+found: done
mkfs.ocfs2 successful
五 : 挂载 OCFS2 文件系统

现在已经创建了此文件系统,接下来我们便可以载入它了。首先,使用命令行进行挂载,然后我将介绍如何将它包含在 /etc/fstab 中以在每次引导时挂载它。

注意:需要使用 OCFS2 标签 webdatafile 以 root 用户帐户在集群中的两个节点上执行文件系统挂载!

首先,此处介绍了如何从命令行手动挂载 OCFS2 文件。注意,需要以 root 用户帐户执行该操作:

$ su –

# mount -t ocfs2 -o datavolume,nointr -L "webdatafile" /webdata
如果挂载成功,您将只是获得提示。但我们应运行以下检查来确保文件系统挂载正确。

首先,使用 mount 命令确保成功挂载了新文件系统。应在集群的两个节点上执行该操作:

# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
cartman:SHARE2 on /cartman type nfs (rw,addr=192.168.1.120)
configfs on /config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sde1 on /u02/oradata/orcl type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local)

注意:请记下我挂载新文件系统所使用的 datavolume 选项。 Oracle 数据库用户必须使用 datavolume 挂载选项安装任何将包含表决磁盘文件、集群注册表 (OCR) 、数据文件、重做日志、归档日志以及控制文件的卷,以确保 Oracle 进程打开包含 o_direct 标志的文件。 nointr 选项确保 I/O 不会由于信号而中断。

不应使用该挂载选项挂载任何其他类型的卷,其中包括 Oracle 主目录(本指南未使用它)。

为什么挂载卷需要花费这么长的时间?挂载一个卷大约需要 5 秒钟。它这样做是为了使心跳线程保持稳定。在以后的版本中, Oracle 计划增加对全局心跳(这将使大多数挂载瞬间完成)的支持。
六 : 将 OCFS2 配置为在启动时自动挂载

让我们了解一下到目前为止已经执行的操作。您下载并安装了 OCFS2 ,它将用于存储集群管理器 文件所需的文件。安装后,您将 OCFS2 模块加载到内核中,然后对集群文件系统进行了格式化。最后,您使用 OCFS2 标签 “webdatafile ” 挂载了新建的文件系统。本节将逐步完成在每次使用 OCFS2 标签引导计算机时负责挂载新 OCFS2 文件系统的步骤。

首先将以下行添加到集群中两个节点上的 /etc/fstab 文件中:

LABEL= webdatafile /webdata  ocfs2 _netdev,datavolume,nointr 0 0
注意用于挂载此文件系统的 “_netdev” 选项。 OCFS2 卷必须使用 _netdev 挂载选项。该挂载选项指示将在网络启动后挂载该卷,在关闭网络前卸载该卷。

现在,让我们确保已经加载了 ocfs2.ko 内核模块,并确保将在引导过程中安装文件系统。


配置过程可能出现的问题

# /etc/init.d/o2cb online ocfs2

Starting cluster ocfs2: Failed

Cluster ocfs2 created

o2cb_ctl: Configuration error discovered while populating cluster ocfs2. None of its nodes were considered local. A node is considered local when its node name in the configuration maches this machine's host name.

Stopping cluster ocfs2: OK
 

主机名问题,检查 more /etc/ocfs2/cluster.conf 以及 /etc/hosts 文件信息,修改相应的主机名即可,

注意:为了保证开机能自动挂载ocfs2文件系统,需要在/etc/fstab加入自动启动选项后,必须在/etc/hosts中加入两个节点的主机名和ip的对应解析,主机名和   /etc/ocfs2/cluster.conf配置的主机名一定要相同。

Matlab基于粒子群优化算法及鲁棒MPPT控制器提高光伏并网的效率内容概要:本文围绕Matlab在电力系统优化与控制领域的应用展开,重点介绍了基于粒子群优化算法(PSO)和鲁棒MPPT控制器提升光伏并网效率的技术方案。通过Matlab代码实现,结合智能优化算法与先进控制策略,对光伏发电系统的最大功率点跟踪进行优化,有效提高了系统在不同光照条件下的能量转换效率和并网稳定性。同时,文档还涵盖了多种电力系统应用场景,如微电网调度、储能配置、鲁棒控制等,展示了Matlab在科研复现与工程仿真中的强大能力。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事新能源系统开发的工程师;尤其适合关注光伏并网技术、智能优化算法应用与MPPT控制策略研究的专业人士。; 使用场景及目标:①利用粒子群算法优化光伏系统MPPT控制器参数,提升动态响应速度与稳态精度;②研究鲁棒控制策略在光伏并网系统中的抗干扰能力;③复现已发表的高水平论文(如EI、SCI)中的仿真案例,支撑科研项目与学术写作。; 阅读建议:建议结合文中提供的Matlab代码与Simulink模型进行实践操作,重点关注算法实现细节与系统参数设置,同时参考链接中的完整资源下载以获取更多复现实例,加深对优化算法与控制系统设计的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值