免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 11035 | 回复: 1

HP VM实施简介 [复制链接]

论坛徽章:
0
发表于 2012-05-20 22:43 |显示全部楼层
有一位叫XP24000的兄弟是北京HP的高级工程师,他曾经写过一篇关于HP VM 虚拟化实施的BOLG,现在
他的BLOG已经不在了,所以我转发在这里请大家看看。


我想通过之后一系列的文章,记录我整个实验环境搭建的过程和思路。包括:
•        系统规划设计
•        VM搭建
•        MC搭建
•        Oracle Single Instance安装及ECMT集成
•        Oracle RAC安装及ECMT集成
•        DP安装及备份策略
•        备份恢复演练
对于我来说以前全部是从用户的OS,底层硬件架构出发去阐述技术问题和安排培训内容,这次,采用了一种全新的思路,从APP的角度去看硬件架构的部署和如何发挥硬件最大的利用率。
在动手之前,首先画了一张蓝图,梳理思路和规划仅有的4×73GB空间,确实费了不少功夫。譬如说当初考虑使用vgora即做共享数据盘,有做锁盘使用,但是在实际操作过程会发生MC和Oracle争抢VG,有譬如当初想尝试使用ASM Failover包,最终还是失败(其实我认为是可以实现,可能还是和VG的布局有关),有机会在尝试尝试。。等等
  
Single Instance的规划大致是以上的样子。接下来就是“VM搭建”。
Ignite Configuration Step by Step…
0909 DCOE – 8,406,856
1. DVD Disk 1
/opt/ignite/bin/make_depot –s /cdrom –d /var/opt/ignite/depots/Rev_B_11_31/core_media
2. DVD Disk 2&3
swcopy –s /cdrom \* @ /var/opt/ignite/depot/Rev_B_11_31/core_media
3. make config file
/opt/ignite/bin/make_config –s /var/opt/ignite/depots/Rev_B_11_31/core_media –c /var/opt/ignite/depot/Rev_B_11_31/DCOE_11.31_0909
4. update INDEX file
/opt/ignite/bin/manage_index -n "HP-UX B.11.31 Default" -c "HP-UX B.11.31 DCOE 0909"
/opt/ignite/bin/manage_index -a -f /var/opt/ignite/depots/Rev_B_11_31/DCOE_11.31_0909 -c "HP-UX B.11.31 DCOE 0909"
5. Verify and modify config file
/opt/ignite/bin/manage_index -x -c "HP-UX B.11.31 DCOE 0909"
/opt/ignite/bin/manage_index -c "HP-UX B.11.31 DCOE 0909" -y "HP-UX B.11.31 DCOE on 0909"
6. Start Ignite server and config bootpd service
a) /opt/ignite/lbin/setup_server –n
b) remove “bootps” rows in /etc/inetd.conf
c) inetd –c
7. Add Ignite Client info
#vi /etc/bootptab
///////////////////////////////////////////////////////////////////////////
基于我们上次搭建的系统架构,我们开始准备VM的配置。
【准备】在安装之前首先了解一下VM软件包的组成部分:
• T2767CC — B.04.10 Integrity VM
• T8718AC — B.04.10 Integrity VM 联机迁移软件包,作为一个单独产品在 Application Software (AR) DVD 中提供。
• VMGuestLib — B.04.10 Integrity VM Guest Support Libraries,作为 HP-UX VSE-OE 的一部分安装,它是 Integrity VM 必需的软件。
• VMGuestSW — B.04.10 Integrity VM Guest 虚拟机支持软件
• VMProvider — 用于 Integrity VM 的 B.04.10 WBEM Provider,允许使用 HP Integrity VM Manager 管理 VM 主机
• VMKernelSW — B.04.10 Integrity VM 内核软件
• PRM-Sw Krn — 作为 HP-UX VSE-OE 的一部分安装,对于 Integrity VM 而言是必需的
• B8465BA — 用于 HP-UX 的 HP WBEM Services,作为 VSE-OE 的一部分安装,对于 Integrity VM 而言是必需的
安装好以上软件包以后,可以通过hpvminfo或hpvmstatus进行验证。
【创建虚拟机】
#[/]machinfo      /*Rx2660配置*/
CPU info:
1 Intel(R) Itanium 2 9000 series processor (1.59 GHz, 18 MB)
532 MT/s bus, CPU version C2
2 logical processors (2 per socket)
Memory: 8170 MB (7.98 GB)
Firmware info:
Firmware revision: 04.04
FP SWA driver revision: 1.18
IPMI is supported on this system.
BMC firmware revision: 5.23
Platform info:
Model: "ia64 hp server rx2660"
Machine ID number: 5308cc47-xxxx-xxxx-xxxx-9f4a56188d07
Machine serial number: SGHxxxxxxx
OS info:
Nodename: demo
Release: HP-UX B.11.31
Version: U (unlimited-user license)
Machine: ia64
ID Number: 1393085511
vmunix _release_version:
@(#) $Revision: vmunix: B.11.31_LR FLAVOR=perf
#hpvmnet -c -S sw01 -n 0   /*创建并启动VSwitch*/
#hpvmnet -S sw01 -b
/*创建Guest,lvol1作为根盘25GB,lvol3作为oradata,存放oracle本地程序5GB*/
#hpvmcreate -P vm01 -O HPUX -c 1 -r 2G -a network:avio_lan::vswitch:sw01 -a disk:avio_stor::lv:/dev/vg01/rlvol1 -a disk:avio_stor::lv:/dev/vg01/rlvol3
#hpvmcreate -P vm02 -O HPUX -c 1 -r 2G -a network:avio_lan::vswitch:sw01 -a disk:avio_stor::lv:/dev/vg01/rlvol2 -a disk:avio_stor::lv:/dev/vg01/rlvol4
#hpvmmodify -P vm01 -a network:lan:0,2:vswitch:sw01  /*添加私有心跳NIC并配置VLAN1000*/
#hpvmmodify -P vm01 -a network:lan:0,2:vswitch:sw01
#hpvmnet -S sw01 -u portid:3:vlanid:1000
#hpvmnet -S sw01 -u portid:4:vlanid:1000
Guest创建完毕,可以通过hpvmstatus检查状态,通过hpvmstart/hpvmstop启动和停止VM,使用hpvmconsole切换Host/Guest console.
【安装OS】
使用hpvmmodify -P vm01 -a dvd:scsi::file:/data/5014-1445.iso,将OS安装文件添加给Guest,便可以通过EFI安装OS,如果VM Gueat数量较多,可以使用Ignite Server的方式或Clone OS的方式进行安装,我以前好像写过一个Ignite的配置过程。
安装好两台VM以后,需要准备一下他们之间的共享存储,以便配置MC。
在配置共享存储之前,先说说VM都支持存储类型:
虚拟Disk--独立的Disk或LUN,MC唯一可以支持的共享存储类型
虚拟LV--Host系统中LV可以作为Guest的虚拟LV设备,需要使用字符设备文件名
虚拟File--Host系统中以文件的形式出现,但不支持NFS
虚拟DVD/FileDVD--Guset通过Host的DVD或Host中的iso文件,访问光盘或安装介质
虚拟外设--Tape等,其他外设
VM外设所支持的驱动类型:
scsi -- VM bundle的标准驱动类型
avio_stor -- 需要单独安装的驱动程序包,可以明显的提升存储访问的性能,同理还有avio_lan的驱动
#swlist|grep -i avio
  GuestAVIOStor                 B.11.31.0909   HPVM Guest AVIO Storage Software
  GuestAvioLan                  B.11.31.0909   HPVM Guest AVIO LAN Software
  HostAVIOStor                  B.11.31.0909   HPVM Host AVIO Storage Software
  HostAvioLan                   B.11.31.0909   HPVM Host AVIO LAN Software
【配置】
#hpvmdevmgmt -a gdev:/dev/rdisk/disk?
#hpvmdevmgmt -m gdev:/dev/vg01/rlvrdisk/disk?:attr:SHARE=YES
#hpvmdevmgmt -l all      /*确认vmdev表已经记录并更新了该共享设备*/
#hpvmmodify –P vm01 –a disk:avio_stor::disk:/dev/rdisk/disk?
#hpvmmodify –P vm02 –a disk:avio_stor::disk:/dev/rdisk/disk?
【原理】
为什么只有Disk/Lun才可以支持MC的共享存储?
因为共享存储需要在Guest之间进行访问(激活)的切换,只有VG级别的设备可以完成Active/Deavtive的动作。
Guest使用共享 I/O 体系结构这种方式来访问Host提供的完全虚拟化的存储子系统,Guest存储子系统模拟Host的实际硬件,同时与Host交互来完成对Host存储实
体的I/O 操作。Host于Guest之间的连接有共享IO和连接IO的区别,只有共享IO可以完全控制整个Host的IO子系统,从而完成VG级别的操作。
存储多路径的支持?
只能在 VM Host上对所有虚拟 I/O 进行负载均衡和多路径管理,以实现最佳的总体性能,Guest不建议也无法支持多路径管理,对于硬件路径错误,VM Host不会向 Guest返回具体的错误。

继续。。。进入MC的实施阶段,先说些题外话,其实MC在经历很多版本以后,并没有发生很大的变化,我记得最在接触时是11.0x版本,然后是07,09,13,14印象中都接触过,最新的版本是11.18和11.19,同时在MC的周围也衍生出了很多插件产品,简单理解插件=“复杂脚本”,产品=“可以卖钱”,从最早的MC for NFS, Fast Failover, OPS到比较新的for RAC,SAP,再到一些脚本的集合譬如ECMT,产品集合SMS等等。。。在整个MC软件的演变和发展过程中,基本的HA理念和HA架构没有任何的变化(忽略架构的介绍,又兴趣可以google一下,类似的资料很多),只不过是产品越来越细分,但是到了11.18以后出现了multi-package和dependance-package,出现了lagency和modular package的概念,同时对第三方产品的集成能力进一步加强,同时也增加了对MC配置的要求,个人认为已经完全脱离以前的配置方法,完全应该站在App的角度去考虑和部署,还像以前那种quary/modify/apply的三板斧已经完全过时了。。。
在配置MC之前,先配置QS(Quorum Server),用于节点间的心跳枚举,以代替两节点集群中的锁盘。我们将QS部署在VM Host中。
【QS下载】
下载地址:https://h20392.www2.hp.com/porta ... oductNumber=B8467BA
【配置QS】
1) Insure the quorum server allows "hacl" traffic on network port 1238.
2) Verify the quorum server entry in /etc/inittab:
   qs:345:respawn:/usr/lbin/qs >> /var/adm/qs/qs.log 2>&1
3) If the 'qs' daemon is not running, start it:
   # init q
   Verify the quorum server is running:
   # cat /var/adm/qs/qs.log
4) Add the cluster node names to the quorum server's authentication file
   /etc/cmcluster/qs_authfile
5) Make the quorum server re-read the authentication file:
   # /usr/lbin/qs -update

【配置MC】
1) # cmquerycl -c cluster.ascii  -n node1 -n node2 -q <QS IP>
   The cluster ASCII file that is generated contains parameters for defining
   the quorum server.  A portion of the file is shown below:
# Quorum Server Parameters. Use the QS_HOST, QS_POLLING_INTERVAL,
# and QS_TIMEOUT_EXTENSION parameters to define a quorum server.
# The QS_HOST is the host name or IP address of the system
# that is running the quorum server process.  The
# QS_POLLING_INTERVAL (microseconds) is the interval at which
# The optional QS_TIMEOUT_EXTENSION (microseconds) is used to increase
# the time interval after which the quorum server is marked DOWN.
#
# The default quorum server interval is calculated from the
# ServiceGuard cluster parameters, including NODE_TIMEOUT and
# HEARTBEAT_INTERVAL. If you are experiencing quorum server
# timeouts, you can adjust these parameters, or you can include
# the QS_TIMEOUT_EXTENSION parameter.
#
# For example, to configure a quorum server running on node
# "qshost" with 120 seconds for the QS_POLLING_INTERVAL and to
# add 2 seconds to the system assigned value for the quorum server
# timeout, enter:
#
# QS_HOST qshost
# QS_POLLING_INTERVAL 120000000
# QS_TIMEOUT_EXTENSION 2000000
The QS_HOST should be pre-loaded.
If the quorum server is on a different network, it may be helpful to adjust
the QS_POLLING_INTERVAL and, if desired, a QS_TIMEOUT_EXTENSION.
QS_HOST <QS IP>  <--- as specified in the cmquerycl command
QS_POLLING_INTERVAL 120000000   <--- Edit this
QS_TIMEOUT_EXTENSION 2000000   <--- Edit this
2) Customize the rest of the cluster.ascii file:
CLUSTER_NAME            <your cluster name>
NODE_TIMEOUT            8000000  (recommended value)
MAX_CONFIGURED_PACKAGES         <your setting>
3) Apply the cluster.ascii file (with the cluster down):
    cmapplyconf -C cluster.ascii
   (Add references to package configuration files if necessary.)
4) Verify that the cluster recognizes the quorum server:
# cmviewcl
  or
# cmviewconf
接下来需要考虑package的配置了。
我测试的都是基于ASM方式的磁盘管理方式,无论是SI(Sigle Instance)还是RAC。但是在SI的架构中使用的是lagency的包管理方式,在RAC中使用的集成ECMT的modular的包管理方式
【环境】
数据库采用的是Oracle 11g R1 SI ASM+SLVM方式。
数据库应用程序都安装在本地: /app
共享VG:vgora
ASM Disk Group:ASM_Group (/dev/vgora/ora_asm1 5G | /dev/vgora/ora_asm2 5G)
【安装顺序】
配置MC
安装Oracle Software Only
配置asm package /*ASM包作用激活VG,启动ASM Instance*/
#cmmakepkg -m sg/failover -m sg/volume_group –m sg/external asm.conf
#chmod –R 555 /etc/cmcluster/asm
#vi asm.conf
#rcp asm.sh vm02:/etc/cmcluster/asm
#cmapplyconf -P asm.conf
配置ora package /*ORA包作用dependance ASM包,加载浮动ip,启动监听,启动数据库*/
#cmmakepkg -m sg/failover –m sg/dependency –m sg/package_ip –m sg/external ora.conf
#chmod –R 555 /etc/cmcluster/ora
#vi ora.conf
#rcp ora.sh vm02:/etc/cmcluster/ora
#cmapplyconf -P ora.conf
配置之前需要考虑好对应包需要使用的modular,最好不要使用sg/all参数,过多的参数需要维护并不明智,理解清楚每个包的dependance关系。需要调用对应的asm.sh和ora.sh脚本启动和停止应用程序(脚本我是从ECTM脚本中提取的)
【脚本】

切换测试…OK
终于有空继续完成上次的话题了。先说几句题外话,随着Oracle 11gR2 for HPUX的发布,Oracle的野心也越来越显露了,通过ASM去控制Oracle涉及到的所有存储媒介,确实不等不佩服Oracle的切入点,十分的准确,进一步推出自己的ACFS,可以看出Oracle通过控制文件存储的方式成功遏制住所有厂商,逐渐放弃LVM,放弃VxVM,之前的ASM是第一步,而后的ACFS是第二步(IBM已经宣布支持ACFS,HP还在犹豫。。。),同样对于基础架构的渗入也越来越明显,Gird 2.0,OVM渐渐渗透入一些主机虚拟化的解决方案,到时候就会更加有意思了。。。

关于Oracle Rac 10/11g R1 for HPUX:
存储方面基于ASM的管理方式,大致有三种solution,分别是SLVM,Raw Device,CFS方式
网络方面,需要考虑各种HB的组合,以下是一种常见的配置,但是需要注意满足CLUSTER_INTERCONNECT_SUBNET网络的带宽,这个十分重要。

HA方面,大致的包配置组合方式如下,使用MCeRAC+ECMT:

实际简单来说就是ASM MNP + DB MNP, MC负责监控本地网络和其他硬件故障,启动和监控CRS进程,ASM包负责激活存储,启动ASM进程,DB包负责启动监听和数据库实例。这样架构一下就简单多了,当然这只是一个大体的框架,建议使用ECMT的脚本,具体如何使用可以参考ECMT中的Help脚本,建议仔细阅读。

论坛徽章:
0
发表于 2012-05-20 22:45 |显示全部楼层
图片贴不上来,原文在
http://xp24000.spaces.live.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP