H3CCAS虚拟机支持Oracle集群共享文件系统操作指导书Copyright2015杭州华三通信技术有限公司版权所有,保留一切权利.
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播.
本文档中的信息可能变动,恕不另行通知.
i目录1简介·······························································································································12配置前提·························································································································23配置环境·························································································································23.
1服务器·························································································································23.
2软件···························································································································24组网需求·························································································································35测试步骤·························································································································35.
1准备测试虚拟机·············································································································35.
2添加共享磁盘················································································································95.
3配置OCFS2集群········································································································135.
4激活OCFS2集群········································································································155.
5验证OCFS2集群文件共享····························································································1511简介本文档用于介绍H3CCAS虚拟机支持Oracle集群共享文件系统(OracleClusterFileSystemVersion2,OCFS2)的使用方法和操作步骤.
OCFS2是Oracle开发的一个通用集群文件系统,与EnterpriseLinux内核集成在一起,允许运行在集群中的所有节点通过标准文件系统接口并发访问存储设备.
在由多台主机组成的OracleRAC(RealApplicationClusters,实时应用集群)计算环境中,每个计算节点上运行一个数据库实例(Instance)和一个监听外部请求访问的程序,通过共享存储磁盘访问相同的数据库文件,即所谓的多实例单数据库.
节点之间通过心跳同步网络通信,客户端则通过公共网络访问数据库.
单一节点故障不影响数据库的使用.
通过OracleRAC,不仅实现了数据库的并发访问,而且可以实现用户访问流量的负载均衡.
客户端可以通过任何一个数据库实例访问数据库,实例之间通过安装在实例中的Clusterware内部通信软件保证事务(Transaction)的一致性.
例如,当用户在一个实例上修改数据时,需要对数据加锁,当另一个用户在其它实例中修改同样的数据时,需要等待锁释放.
图1OracleRAC基本架构图在创建OracleRAC集群时,一般来说,Clusterware集群软件和Oracle数据库软件都安装在每个节点的本地文件系统上,而那些需要被所有实例访问的文件则存放在共享的存储设备上,例如,用于记录配置信息的集群注册文件(OracleClusterRegistry,OCR)和用于协调各节点控制权的仲裁磁盘(VotingDisk)等.
共享存储设备可以通过裸磁盘映射(RawDiskMapping,RDM)方式提供,也可以通过OCFS2文件系统方式提供.
本文档通过在多个H3CCAS虚拟机上安装OracleEnterpriseLinux,多个虚拟机之间共享磁盘,验证正在共享磁盘上使用OCFS2分布式文件系统的可行性.
22配置前提本文档中的配置均是在实验室环境下进行的配置和验证,配置前服务器和软件的所有参数均采用出厂时的缺省配置.
如果您已经对被测试对象进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突.
3配置环境3.
1服务器本文档不严格与具体硬件服务器型号对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准.
本文档使用的服务器型号与配置如下表所示,该环境不作为实际部署时的强制环境或推荐环境,只需要服务器能够兼容H3CCAS云计算管理平台即可完成本配置.
配置项说明服务器#0(H3CCASCVM虚拟化管理平台)HPProLiantDL380pGen8CPU:2路8核,IntelXeonE5-26500@2.
00GHz内存:32GB服务器#1(H3CCASCVK虚拟化内核系统)HPProLiantDL380pGen8CPU:2路8核,IntelXeonE5-26500@2.
00GHz内存:32GB服务器#2(H3CCASCVK虚拟化内核系统)H3CFlexServerR390CPU:2路6核,IntelXeonE5-26200@2.
10GHz内存:32GB存储(共享存储设备)HPStoreVirtual47303.
2软件软件版本服务器虚拟化管理软件H3CCAS-D0211(KVMKernel3.
13.
6)虚拟机操作系统OracleEnterpriseLinuxServerRelease5.
964位(内核版本:2.
6.
39-300.
26.
1.
el5uek)34组网需求图2虚拟机Oracle集群共享文件系统逻辑组网图服务器#0安装H3CCASCVM虚拟化管理平台,服务器#1和服务器#2安装H3CCASCVK虚拟化内核系统,并组成虚拟化计算集群.
在HPStoreVirtualP4730(iSCSI)存储设备上划分了一个500GB的LUN,并将这个LUN作为iSCSI共享存储设备挂载到计算集群下.
在服务器#1和服务器#2上分别创建2个虚拟机,安装OracleEnterpriseLinuxServer5.
964位操作系统.
虚拟机序号操作系统主机名IP地址VM#1OracleEnterpriseLinuxServer5.
9.
64位Node1192.
168.
30.
241VM#2OracleEnterpriseLinuxServer5.
9.
64位Node2192.
168.
30.
242VM#3OracleEnterpriseLinuxServer5.
9.
64位Node3192.
168.
30.
243VM#4OracleEnterpriseLinuxServer5.
9.
64位Node4192.
168.
30.
244主要的验证项包括:(1)如何在多个虚拟机操作系统内部构建OCFS2集群文件系统;(2)作为共享存储设备的共享磁盘,是否可以实现在多个虚拟机操作系统内可见可操作.
5测试步骤5.
1准备测试虚拟机步骤1创建虚拟机.
#在H3CCASCVK虚拟化内核系统(服务器#1)上创建1个新的虚拟机,虚拟机配置如下表所示.
4资源大小vCPU2核vMem4GBvDisk1*20GB(用于安装操作系统)vNIC1(Virtio,启用内核加速)虚拟交换机vSwitch0(管理口)网络策略模板Default上述虚拟机资源配置仅为测试环境下的配置,不作为生产环境中业务虚拟机的推荐配置.
生产环境中的虚拟机配置应该根据业务本身对CPU、内存、磁盘和网卡等资源的实际需求进行评估和测试后最终确定.
#通过控制台(VNC)为虚拟机安装OracleEnterpriseLinuxServer5.
964位操作系统,在安装过程中选择安装"Clustering"和"StorageClustering"两个组件.
图3为虚拟机安装操作系统5#操作系统安装完成之后,在操作系统内打开命令行终端,验证OCFS2工具安装情况.
[root@Node1~]$rpm-qa|grepocfsocfs2-tools-1.
8.
0-10.
el5[root@Node1~]$步骤2配置虚拟机静态IP地址.
#在命令行终端上编辑网卡配置文件.
[root@Node1~]$vi/etc/sysconfig/network-scripts/ifcfg-eth0[root@Node1~]$#编辑后的文件如下所示.
#VirtioNetworkDeviceDEVICE=eth0BOOTPROTO=static#静态IP地址HWADDR=0C:DA:41:1D:CF:E6#H3CCASCVM虚拟化管理平台自动分配的MAC地址ONBOOT=yesNETMASK=255.
255.
255.
0#子网掩码IPADDR=192.
168.
30.
241#静态IP地址GATEWAY=192.
168.
30.
1#默认网关TYPE=EthernetUSERCTL=noIPV6INIT=noPEERDNS=yes#保存配置文件退出编辑状态.
步骤3关闭虚拟机操作系统防火墙.
[root@Node1~]#serviceiptablesstopFlushingfirewallrules:[OK]SettingchainstopolicyACCEPT:filter[OK]Unloadingiptablesmodules:[OK][root@Node1~]#步骤4【可选】为虚拟机安装CAStools工具.
#在H3CCASCVM虚拟化管理平台中,在线修改虚拟机,为虚拟机挂载CAStools工具.
6图4为虚拟机挂载CAStools工具#通过控制台(VNC)访问虚拟机,通过命令行终端安装CAStools工具.
[root@Node1~]#mount/dev/cdrom/mediamount:blockdevice/dev/cdromiswrite-protected,mountingread-only[root@Node1~]#rpm-ivh/media/linux/qemu-ga-2.
1.
2.
0-1.
x86_64.
rpmerror:failedtostat/media/castools:NosuchfileordirectoryPreparing.
100%]1:qemu-ga100%]non-SUSEStoppingqemu-gadaemon:[FAILED]Startingqemu-gadaemon:[OK][root@Node1~]#步骤5配置虚拟机的域名查询文件.
#在命令行终端下编辑域名查询文件.
[root@Node1~]#vi/etc/hosts7#编辑后的文件如下所示.
#Donotremovethefollowingline,orvariousprograms#thatrequirenetworkfunctionalitywillfail.
127.
0.
0.
1localhost.
localdomainlocalhost::1localhost6.
localdomain6localhost6192.
168.
30.
241Node1Node1.
192.
168.
30.
242Node2Node2.
192.
168.
30.
243Node3Node3.
192.
168.
30.
244Node4Node4.
步骤6根据虚拟机VM#1克隆虚拟机VM#2~VM#4.
#关闭虚拟机VM#1后,根据VM#1克隆虚拟机VM#2(Node2),目标计算节点为服务器#1(本机)上.
图5在主机内克隆虚拟机#在服务器#2上克隆虚拟机VM#3(Node3)和VM#4(Node4).
8图6在主机间克隆虚拟机步骤7修改克隆虚拟机的主机名和网络参数.
虚拟机克隆时,只会修改虚拟机的名称等信息,并不修改虚拟磁盘中的任何信息,导致克隆后网卡的MAC地址与操作系统中记录的MAC地址不符,因此,克隆完成之后,需要手工在虚拟机操作系统内修改主机名和IP地址.
#启动VM#2,通过操作系统内的命令行终端修改虚拟机主机名为"Node2".
[root@Node~]#vi/etc/sysconfig/network[root@Node~]##修改后的VM#2虚拟机主机文件如下所示.
NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=Node2#修改VM#2虚拟机的网卡MAC地址和IP地址.
[root@Node1~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0[root@Node1~]#9#修改后的VM#2虚拟机网卡配置文件如下所示.
#VirtioNetworkDeviceDEVICE=eth0BOOTPROTO=noneHWADDR=0C:DA:41:1D:0E:72ONBOOT=yesNETMASK=255.
255.
255.
0IPADDR=192.
168.
30.
242GATEWAY=192.
168.
30.
1TYPE=EthernetUSERCTL=noIPV6INIT=noPEERDNS=yes虚拟机的MAC地址是由H3CCASCVM虚拟化管理平台自动分配的,可以在管理界面上查看.
#同理,依次修改VM#3和VM#4虚拟机的主机名和网络参数.
图7准备好的测试虚拟机5.
2添加共享磁盘步骤1增加厚置备共享磁盘.
10#通过SSH客户端连接到H3CCASCVM虚拟化管理平台,在共享存储池上创建一个50GB大小的厚置备文件.
root@cvknode1:~#cd/vms/share/root@cvknode1:/vms/share#ddif=/dev/zeroof=sharedbs=1Mcount=50000oflag=direct50000+0recordsin50000+0recordsout52428800000bytes(52GB)copied,751.
363s,69.
8MB/sroot@cvknode1:/vms/share#步骤2刷新存储池.
#系统管理员登录到H3CCASCVM虚拟化管理平台,在导航菜单中,点击服务器#1,在右侧配置窗口下,选中"存储"标签页,刷新主机挂载的共享存储池.
图8刷新共享存储池#同理,刷新集群下另一台服务器(服务器#2)的共享存储池.
步骤3依次修改VM#1~VM#4虚拟机,将共享存储池中的Virtio类型磁盘(Raw格式)挂载到虚拟机上.
11图9为虚拟机挂载共享磁盘#在H3CCASCVM虚拟化管理平台主机存储上,可以看到,共享磁盘被4个测试虚拟机成功挂载.
图10OCFS2集群节点挂载相同的共享磁盘12步骤4格式化共享磁盘分区(只需要在一个虚拟机上操作即可).
#在虚拟机VM#1命令行终端上,执行fdisk命令查看磁盘分区情况.
[root@Node1~]#fdisk-lDisk/dev/vda:21.
4GB,21474836480bytes#创建VM时分配的系统盘,20GB255heads,63sectors/track,2610cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/vda1*11310439183Linux/dev/vda214261020860402+8eLinuxLVMDisk/dev/dm-0:15.
0GB,15099494400bytes255heads,63sectors/track,1835cylindersUnits=cylindersof16065*512=8225280bytesDisk/dev/dm-0doesn'tcontainavalidpartitiontableDisk/dev/dm-1:6241MB,6241124352bytes255heads,63sectors/track,758cylindersUnits=cylindersof16065*512=8225280bytesDisk/dev/dm-1doesn'tcontainavalidpartitiontableDisk/dev/vdb:52.
4GB,52428800000bytes#刚分配的共享磁盘,50GB16heads,63sectors/track,101587cylindersUnits=cylindersof1008*512=516096bytesDisk/dev/vdbdoesn'tcontainavalidpartitiontable[root@Node1~]##格式化磁盘为OCFS2文件系统.
[root@Node1~]#mkfs.
ocfs2-b4K-C32K-N4-Lsharedisk/dev/vdbmkfs.
ocfs21.
8.
0Clusterstack:classico2cbLabel:sharediskFeatures:sparseextended-slotmapbackup-superunwritteninline-datastrict-journal-superxattrindexed-dirsrefcountdiscontig-bgBlocksize:4096(12bits)Clustersize:32768(15bits)Volumesize:52428800000(1600000clusters)(12800000blocks)Clustergroups:50(tailcovers19456clusters,restcover32256clusters)Extentallocatorsize:16777216(4groups)Journalsize:268435456Nodeslots:4Creatingbitmaps:doneInitializingsuperblock:doneWritingsystemfiles:doneWritingsuperblock:doneWritingbackupsuperblock:3block(s)FormattingJournals:doneGrowingextentallocator:doneFormattingslotmap:done13Formattingquotafiles:doneWritinglost+found:donemkfs.
ocfs2successful[root@Node1~]#参数说明:-b:指定OCFS2文件系统数据块大小,例如,4K.
-C:指定集群单元大小(cluster-size),可选值为4K、8K、16K、32K、64K、128K、256K、512K和1M.
-n:指定OCFS2文件系统可挂载的最大节点数目,有效数字范围为1~255.
-L:指定挂载卷标,可以用卷标替代设备文件标识进行设备的挂载和卸载.
/dev/vdb:表示需要格式化的磁盘.
5.
3配置OCFS2集群步骤1创建OCFS2集群配置文件.
#通过命令行终端,在虚拟机VM#1~VM#4上创建OCFS2集群文件系统配置文件.
[root@Node1~]#mkdir/etc/ocfs2[root@Node1~]#vi/etc/ocfs2/cluster.
conf#编辑后的集群文件系统配置文件如下所示:cluster:node_count=4name=ocfs2node:number=1cluster=ocfs2ip_port=7777ip_address=192.
168.
30.
241name=Node1node:number=2cluster=ocfs2ip_port=7777ip_address=192.
168.
30.
242name=Node2node:number=3cluster=ocfs2ip_port=7777ip_address=192.
168.
30.
243name=Node314node:number=4cluster=ocfs2ip_port=7777ip_address=192.
168.
30.
244name=Node4步骤2配置OCFS2集群服务#通过命令行终端,在虚拟机VM#1~VM#4上启动OCFS2集群服务.
[root@Node1~]#serviceo2cbconfigureConfiguringtheO2CBdriver.
Thiswillconfiguretheon-bootpropertiesoftheO2CBdriver.
Thefollowingquestionswilldeterminewhetherthedriverisloadedonboot.
Thecurrentvalueswillbeshowninbrackets('[]').
Hittingwithouttypingananswerwillkeepthatcurrentvalue.
Ctrl-Cwillabort.
LoadO2CBdriveronboot(y/n)[n]:yClusterstackbackingO2CB[o2cb]:Clustertostartonboot(Enter"none"toclear)[ocfs2]:ocfs2Specifyheartbeatdeadthreshold(>=7)[31]:Specifynetworkidletimeoutinms(>=5000)[30000]:Specifynetworkkeepalivedelayinms(>=1000)[2000]:Specifynetworkreconnectdelayinms(>=2000)[2000]:WritingO2CBconfiguration:OKLoadingfilesystem"configfs":OKMountingconfigfsfilesystemat/sys/kernel/config:OKLoadingstackplugin"o2cb":OKLoadingfilesystem"ocfs2_dlmfs":OKCreatingdirectory'/dlm':OKMountingocfs2_dlmfsfilesystemat/dlm:OKSettingclusterstack"o2cb":OKRegisteringO2CBcluster"ocfs2":OKSettingO2CBclustertimeouts:OK[root@Node1~]##检查OCFS2集群状态.
[root@localhostsbin]#/etc/init.
d/o2cbstatusDriverfor"configfs":LoadedFilesystem"configfs":MountedStackgluedriver:LoadedStackplugin"o2cb":LoadedDriverfor"ocfs2_dlmfs":LoadedFilesystem"ocfs2_dlmfs":MountedCheckingO2CBcluster"ocfs2":OnlineHeartbeatdeadthreshold:31Networkidletimeout:30000Networkkeepalivedelay:2000Networkreconnectdelay:2000Heartbeatmode:LocalCheckingO2CBheartbeat:Notactive15[root@Node1sbin]##此时,由于还没有真正使用共享磁盘,因此,O2CB服务心跳状态为未激活.
5.
4激活OCFS2集群共享磁盘虽然在物理上已经挂载到集群节点(VM#1~VM4)上,但并未真正被OCFS2集群使用,因此,首先需要把共享磁盘mount到本地.
步骤1在VM#1~VM#4虚拟机上,依次将共享磁盘挂载(mount)到本地目录.
[root@Node1~]#mount-tocfs2/dev/vdb/mnt步骤2所有被测试虚拟机全部挂载共享磁盘成功之后,可以查看OCFS2集群状态.
[root@Node1~]#/etc/init.
d/o2cbstatusDriverfor"configfs":LoadedFilesystem"configfs":MountedStackgluedriver:LoadedStackplugin"o2cb":LoadedDriverfor"ocfs2_dlmfs":LoadedFilesystem"ocfs2_dlmfs":MountedCheckingO2CBcluster"ocfs2":OnlineHeartbeatdeadthreshold:31Networkidletimeout:30000Networkkeepalivedelay:2000Networkreconnectdelay:2000Heartbeatmode:LocalCheckingO2CBheartbeat:Active[root@Node1~]#5.
5验证OCFS2集群文件共享步骤1在VM#1~VM#4虚拟机上,查看mount的目录下文件内容情况.
[root@Node2~]#cd/mnt/[root@Node2mnt]#lltotal0drwxr-xr-x2rootroot3896May321:32lost+found步骤2在任意一个虚拟机(如VM#1)的命令行终端中,从远程服务器上SSH下载一个文件到mount目录.
[root@Node1mnt]#scproot@192.
168.
0.
6:/root/stress-1.
0.
4.
tar.
gz/mntroot@192.
168.
0.
6'spassword:stress-1.
0.
4.
tar.
gz100%187KB187.
3KB/s00:00[root@Node1mnt]#lltotal192drwxr-xr-x2rootroot3896May321:32lost+found-rwx------1rootroot191800May321:41stress-1.
0.
4.
tar.
gz16[root@Node1mnt]#步骤3在其它虚拟机的命令行终端中,查看mount目录下的文件情况.
[root@Node2~]#cd/mnt/[root@Node2mnt]#ll#执行共享磁盘文件写之前的目录文件情况total0drwxr-xr-x2rootroot3896May321:32lost+found[root@Node2mnt]#ll#执行共享磁盘文件写之后的目录文件情况total192drwxr-xr-x2rootroot3896May321:32lost+found-rwx------1rootroot191800May321:41stress-1.
0.
4.
tar.
gz[root@Node2mnt]#步骤4继续通过VM#1在共享磁盘上写入文件,同时删除第一次写入的文件.
[root@Node1mnt]#scproot@192.
168.
0.
6:/root/solaris-11-repo-full.
iso/mntroot@192.
168.
0.
6'spassword:solaris-11-repo-full.
iso100%6333MB35.
4MB/s02:59[root@Node1mnt]#lltotal6484768drwxr-xr-x2rootroot3896May321:32lost+found-rw-r--r--1rootroot6640183348May321:58solaris-11-repo-full.
iso-rwx------1rootroot191800May321:41stress-1.
0.
4.
tar.
gz[root@Node1mnt]#rm-rfstress-1.
0.
4.
tar.
gz[root@Node1mnt]#lltotal6484576drwxr-xr-x2rootroot3896May321:32lost+found-rw-r--r--1rootroot6640183348May321:58solaris-11-repo-full.
iso[root@Node1mnt]#步骤5在其它虚拟机上查看共享磁盘文件变化情况.
[root@Node2mnt]#lltotal6484576drwxr-xr-x2rootroot3896May321:32lost+found-rw-r--r--1rootroot6640183348May321:58solaris-11-repo-full.
iso[root@Node2mnt]#
HostNamaste是一家成立于2016年3月的印度IDC商家,目前有美国洛杉矶、达拉斯、杰克逊维尔、法国鲁贝、俄罗斯莫斯科、印度孟买、加拿大魁北克机房。其中洛杉矶是Quadranet也就是我们常说的QN机房(也有CC机房,可发工单让客服改机房);达拉斯是ColoCrossing也就是我们常说的CC机房;杰克逊维尔和法国鲁贝是OVH的高防机房。采用主流的OpenVZ和KVM架构,支持ipv6,免...
一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...
ZJI又上新了!商家是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务。本次商家新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码,优惠后韩国服务器最低每月440元起。韩国一型CPU:Intel 2×E5-2620 十二核二十四线...
clusterware为你推荐
蓝瘦香菇被抢注蓝瘦香菇当事人被质疑炒作称没想红 蓝瘦香菇什么意思怎么查询商标如何查询商标注册access数据库access数据库主要学什么bbs.99nets.com怎么制作RO单机刘祚天DJ这个职业怎么样?地陷裂口天上顿时露出一个大窟窿地上也裂开了,一到黑幽幽的深沟可以用什么四字词语来?www.jjwxc.net有那个网站可以看书?www.jjwxc.net晋江文学网 的网址是什么?同ip域名什么是同主机域名lcoc.topeagle solder stop mask top是什么层
北京租服务器 韩国vps 老域名全部失效请记好新域名 域名抢注工具 美国主机评论 ix主机 20g硬盘 鲜果阅读 evssl证书 个人空间申请 本网站在美国维护 anylink howfile 可外链相册 服务器干什么用的 最好的qq空间 域名与空间 外贸空间 dnspod 东莞服务器托管 更多