`
rooi
  • 浏览: 53690 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
  • rooi: int statusCode =  response.getS ...
    RTC
  • rooi: package com.coamctech.bxloan.co ...
    RTC
  • rooi: establishConnectionTimeout
    RTC
  • rooi: http://www.cnblogs.com/admol/ar ...
    RTC
  • rooi: https://github.com/qbektrix/xml ...
    RTC

VCS

 
阅读更多
#!/bin/sh
#

Maskin1="vxcluster1"
Maskin2="vxcluster2"
cluster="vxcluster"
cluster_IP="10.102.64.155"
cluster_NM="255.255.248.0"
Volume="nfsvol01"
Device="hme0"
DG="nfsDG"
Mountpoint="/nfs01"
hagrp="hanfs"

make_it () {
haconf -makerw
hagrp -add hanfs
hagrp -modify hanfs SystemList $Maskin1 1 $Maskin2 2
hagrp -autoenable hanfs -sys $Maskin1

### hares -add   nfsNIC NIC $hagrp
### hares -modify nfsNIC Enabled 1
### hares -modify nfsNIC Device hme0
#-----------------------------------------------------------
### hares -add nfsIP IP $hagrp
### hares -modify nfsIP Enabled 1
### hares -modify nfsIP Device $Device
### hares -modify nfsIP Address $cluster_IP"  
### hares -modify nfsIP NetMask $cluster_NM"  
### hares -modify nfsIP IfconfigTwice 1
#---------------------------------------------------------
hares -add nfsIPMultiNIC IPMultiNIC $hagrp
hares -modify nfsIPMultiNIC Enabled 1
hares -modify nfsIPMultiNIC Address $cluster_IP
hares -modify nfsIPMultiNIC NetMask $cluster_NM
hares -modify nfsIPMultiNIC IfconfigTwice 1
hares -modify nfsIPMultiNIC MultiNICResName nfsMultiNICA
#---------------------------------------------------------
hares -add nfsMultiNICA MultiNICA $hagrp
hares -local nfsMultiNICA Device
hares -modify nfsMultiNICA NetMask $cluster_NM
hares -modify nfsMultiNICA ArpDelay 5
hares -modify nfsMultiNICA IfconfigTwice 1
hares -modify nfsMultiNICA Device hme0 10.102.64.151 qfe3 10.102.64.151 -sys vxcluster1
hares -modify nfsMultiNICA Device hme0 10.102.64.152 qfe3 10.102.64.152 -sys vxcluster2
hares -modify nfsMultiNICA Enabled 1

#---------------------------------------------------------
hares -add nfsDG DiskGroup $hagrp
hares -modify nfsDG Enabled 1
hares -modify nfsDG DiskGroup $DG
hares -modify nfsDG StartVolumes 0
#---------------------------------------------------------
hares -add nfsVOL Volume $hagrp
hares -modify nfsVOL Enabled 1
hares -modify nfsVOL Volume $Volume
hares -modify nfsVOL DiskGroup $DG
#---------------------------------------------------------
hares -add nfsMOUNT Mount $hagrp
hares -modify nfsMOUNT Enabled 1
hares -modify nfsMOUNT MountPoint $Mountpoint
hares -modify nfsMOUNT BlockDevice /dev/vx/dsk/$DG/$Volume
hares -modify nfsMOUNT Type vxfs
#---------------------------------------------------------
hares -add nfsNFS NFS $hagrp
hares -modify nfsNFS Enabled 1
hares -modify nfsNFS Nservers 24
#----------------------------------------------------------
hares -add nfsSHARE Share $hagrp
hares -modify nfsSHARE Enabled 1
hares -modify nfsSHARE PathName $Mountpoint
hares -modify nfsSHARE OnlineNFSRestart 1
hares -modify nfsSHARE Options " -o rw,root=lillesand"
#----------------------------------------------------------
#
#Through with config, making links and mountpoints
mkdir $Mountpoint
rsh $Maskin2 mkdir $Mountpoint
# single interface  :   hares -link nfsIP nfsNIC
# single interface  :   hares -link nfsSHARE nfsIP
# Multiple Inerface:
hares -link nfsIPMultiNIC nfsMultiNICA
hares -link nfsSHARE nfsIPMultiNIC
hares -link nfsVOL nfsDG
hares -link nfsMOUNT nfsVOL
hares -link nfsSHARE nfsMOUNT
hares -link nfsSHARE nfsNFS

haconf -dump -makero
}

#Now, lets do the job...
make_it
#done !

#----------------------------------------------------------
#
# Making "root" as a user in hagui
vxcluster1# haconf -makerw    
vxcluster1# hauser -add root
Enter Password:
Enter Again:
vxcluster1# haconf -dump -makero



















1. First create the virtual IP

# ifconfig hme0:1 192.168.9.150 netmask 255.255.255.0 up

2. Create a disk group shared1

# vxdg init shared1 c1t80d0s2

# vxdg -g shared1 c1t81d0s2 c1t82d0s2 c1t83d0s2

# vxassist -g shared1 make code_vol 10g

# mkdir /home

3. Deport the disk group

# vxdg deport shared1

4. Now add the services and resources to the services

Add the service group

# haconf -makerw

# hagrp -add NFS_group1

# hagrp -modify NFS_group1 SystemList sparc1 0 sparc2 1

# hagrp -modify NFS_group1 AutoStartList sparc1 sparc2

Add the resources

# hares -add DG_shared DiskGroup NFS_group1

# hares -modify DG_shared DiskGroup shared1

# hares -add IP_nfs IP NFS_group1

# hares -modify IP_nfs Device hme0

# hares -modify IP_nfs Address "192.168.9.150"

# hares -modify IP_nfs Enabled 1

# hares -add Mount_sourcecode Mount NFS_group1

# hares -modify Mount_sourcecode MountPoint "/home"

# hares -modify Mount_sourcecode BlockDevice "/dev/vx/dsk/shared1  /code_vol"

# hares -modify Mount_sourcecode MountOpt rw

# hares -modify Mount_sourcecode FSType vxfs

# hares -modify Mount_sourcecode FsckOpt %-y

# hares -modify Mount_sourcecode Enabled 1

# hares -add share_sourcecode Share NFS_group1

# hares -modify share_sourcecode PathName "/home"

# hares -modify share_sourcecode Enabled 1

# hares -add NFS_group2_16 NFS NFS_group1

# hares -modify NFS_group2_16 Enabled 1

# hares -add NIC_group_hme0 NIC NFS_group1

# hares -modify NIC_group_hme0 Device hme0

# hares -modify NIC_group_hme0 NetworkType ether

# hares -modify NIC_group_hme0 Enabled 1

Create the dependencies

# hares -link IP_nfs share_sourcecode

# hares -link IP_nfs NIC_group_hme0

# hares -link Mount_sourcecode DG_shared

# hares -link share_sourcecode NFS_group2_16

# hares -link share_sourcecode Mount_sourcecode

Close the configuration and push the changes.

# haconf -dump -makero

5. Create the mount directroy on sparc2

# mkdir /home on sparc2

6. Enable the resources from sparc1

# haconf -makerw

Enable all the resoureces and bring the service group online

# hagrp -online NFS_group1 -sys sparc1

Check the status of the service , it should be online

# hastatus - summary

Switch the service group from one system to another

# hagrp -switch NFS_group1 to -sparc2

# hastatus - summary

You will see its online on sparc2





昨天终于把虚拟机vmware下的solaris 10 x86 + vxvm + vcs 双机给安装起来了,还测试了一把NFS failover服务!折腾到半夜1点多,
总结的教训就是没细看随软件包文档,走了一些弯路,特别是配置NFS 服务组的时候,online 资源发现一些问题,
现在都已经完美解决了!废话少说,把整个过程总结如下。

一、硬件环境配置
1). 笔记本, AMD Turion 64 CPU, 3G内存,至少留20G空间安装solaris x86 虚拟机.

二、软件版本[/color]
1). VMWare workstation 6.5 for windows ---->网上可下载
2). solaris 10 x86 u6 版本 --->SUN网站下载
3). Veritas Storage Foundation HA 5.0 for solaris x86-64. 软件包包含了VCS和VxVM. ---> Symantec 网站可以下载试用版。
   需要另外具备vcs和vxvm liense key.

三、最终安装结果
1). 虚拟出共享阵列/磁盘,并让VxVM控制管理,在DG上划出一个Volume,作为VCS双机下NFS双机共享目录,实现Failover 机制。


四、安装与配置过程

1 前提条件:
1). 如果机器CPU不是支持64位的,Veritas套件肯定是无法安装起来的,我在symantec网站查阅过版本信息,目前还没有支持x86 32位
的版本,如果您机器不是64位的,请立刻放弃这个想法,所有的后续安装都是徒劳无功的。
2). 具备第一条件后,还需要vcs和vxvm的license,没license就没得用,不一定要正式的,demo的也行。

2 安装Solaris系统,配置共享磁盘
按照常规步骤安装Solaris,一共装2个做双机。一个个安装,复制的方式大概也行,我没试过,很多人说不能用,
也许引起了冲突。所以安装solaris别怕麻烦,耐心地安装出2个系统。
2个系统都装完后参考以下配置,没列出的基本是默认,不指明了。简称A,B机

1) 增加网卡
   A,B机配置
    分别有4个虚拟网卡,全部Custom模式,选择一个虚拟网络,配置成host-only.
2) 创建虚拟共享磁盘/阵列
   A,B系统全部停掉,在A系统上增加若干个磁盘,比如我增加了9个,挺爽!
   最好都选scsi接口,并分配空间。然后在B系统上导入这些增加的磁盘,参数都选默认。
   接下来要修改虚拟系统的参数,首先退出vmware,进入到A,B系统的存放目录,打开后缀名为 .vmx文件,
   修改配置如下, 下面的配置只挑其中一个说明,另外一个参考此文件很容易改了。
  
说明:虚线内的内容复制到vmx文件
----------------
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
----------------


scsi0.sharedBus = "virtual"
scsi0:1.present = "TRUE"
scsi0:1.fileName = "D:\shared_disks\coordinator01.vmdk"
说明:虚线内的内容复制到vmx文件
------------------------------
scsi0:1.mode = "persistent"
scsi0:1.shared = "TRUE"
scsi0:1.redo = ""
------------------------------

  第二处增加的内容要针对增加的scsi硬盘的挂载位置做相应修改。比如你增加的硬盘内容如下
 
  scsi1:3.present = "TRUE"
  scsi1:3.fileName = "D:\shared_disks\coordinator01.vmdk"
 
  那么就增加下面的三行
  scsi1:3.mode = "persistent"
  scsi1:3.shared = "TRUE"
  scsi1:3.redo = ""

全部修改完成后,这些增加的虚拟硬盘就是作为共享阵列了!还弄不明白的,请搜索一下vmware相关资料。
启动solaris系统,vmware会报什么cluster功能不支持的错误,别管它,照样玩的通!


3.安装VxVM
最省时间的方法就是一次对A,B俩系统同时开始安装VxVM,5.0版本是支持这样做到。具体的配置说明这里就
不说了,总结一下就是
1) 要配置ssh 认证,修改/etc/ssh/sshd_config,允许root登录,另外服务sftp是正常的。
    PermitRootLogin yes
    Subsystem       sftp    /usr/lib/ssh/sftp-server
2) 在存放安装包的系统,假设是A,生成dsa 验证码,并存到B上,这样只要在A上开始安装vxvm,B也可以被照顾到了。
    # ssh-genkey -t dsa
    把/.ssh/id_dsa.pub 文件传到B上,内容复制到/.ssh/authorized_keys 文件。
   
    A系统执行如下2个命令
    # exec /usr/bin/ssh-agent $SHELL
    # ssh-add
    在A系统验证ssh是否无需密码可以直接登录
    # ssh -l root solB uname -a
    如果上面的命令没有提示密码,恭喜!可以开始安装VxVM了。请参考指导书安装。
3) 安装之后发现A,B两个系统识别的共享盘有错误,A正常,B在vxdisk list显示 udid_mismatch, 查证veritas
    资料说是bug,要安装MP3补丁,安装之后果然都好了。
4)另外创建dg和划volume都不说了吧,大把资料可以查,不是这里讲的重点。划出个vol1,然后A,B都deport,import
    一下dg,同步信息。
       
4.安装VCS
其实VxVM和VCS可以同时安装,Storage Foundation的安装菜单已经有这样的选项了,我担心一个安装不成功会干扰其他的,
所以是分开装的。对ssh配置修改和VxVM的安装是一模一样的。指定了cluster的一些参数,比如cluster name,心跳网卡,
安装起来还是挺顺利的。不知道为什么Windows Console客户端连接不上VCS了,这个问题没解决。web方式也联不上,应该是
配置没做好.
总结:心跳网卡一定要A,B各指定2个。


5.配置NFS双机服务

NFS双机服务是VCS完全支持的功能,系统自带了agent,不需要额外再去写启动脚本了,唯一要做的就是把这个NFS通过命令
搭建出来。
需要创建、修改的东西
1) A,B两边都创建一个目录,作为共享挂载。
   # mkdir /nfsshare

2) 对卷vol1创建文件系统
   # newfs /dev/vx/dsk/datadg/vol1  

3) A,B系统上要禁止solaris控制nfs 服务,让vcs来控制, 这步很重要,否则NFS双机服务会很不稳定。
   # svccfg delete -f svc:/network/nfs/server:default    

4) 使用脚本创建NFS,参考以下内容, 符号--->后面都是命令解释, 不属于命令一部分.
   # hagrp -add hanfs    ----->创建service group
   # haconf -makerw      ----->配置文件可读写
   # hagrp -modify hanfs SystemList solarisA 1 solarisB 2  ---->group在solarisA和solarisB上运行
   # hagrp -autoenable hanfs -sys solarisA
   # hares -add nfsNIC NIC hanfs
   VCS NOTICE V-16-1-10242 Resource added. Enabled attribute must be set before agent monitors
   # hares -modify nfsNIC Enabled 1
   # hares -modify nfsNIC Device e1000g0  --->指定网卡,NFS的服务IP会挂在这个网卡上
   # hares -modify nfsIP Enabled 1
   # hares -modify nfsIP Device e1000g0
   # hares -modify nfsIP Address 192.168.152.133  --->指定服务IP
   # hares -modify nfsIP IfconfigTwice 1
   # hares -add nfsDG DiskGroup hanfs             ---->DG, 和vxvm的dg联系起来
   VCS NOTICE V-16-1-10242 Resource added. Enabled attribute must be set before agent monitors 
   # hares -modify nfsDG Enabled 1
   # hares -modify nfsDG DiskGroup datadg         ---->配置属性
   # hares -modify nfsDG StartVolumes 0
   # hares -add nfsVOL Volume hanfs              ---->增加一个Volume, vol1映射到这个resource
   # hares -modify nfsVOL Enabled 1
   # hares -modify nfsVOL Volume vol01           --->配置卷vol01
   # hares -modify nfsVOL DiskGroup datadg     
   # hares -add nfsMOUNT Mount hanfs             --->vol01挂载到/nfsshare
   VCS NOTICE V-16-1-10242 Resource added. Enabled attribute must be set before agent monitors
   # hares -modify nfsMOUNT Enabled 1
   # hares -modify nfsMOUNT MountPoint /nfsshare
   # hares -modify nfsMOUNT BlockDevice /dev/vx/dsk/datadg/vol01
   # hares -modify nfsMOUNT FSType ufs          --->指定挂载文件系统类型, 这步曾经漏掉了,结果服务起不来
   # hares -modify nfsMOUNT FsckOpt %-n         ---->挂载上后不要fsck,这个参数也不能漏
   # hares -add nfsNFS NFS hanfs                --->增加一个NFS resource
   VCS NOTICE V-16-1-10242 Resource added. Enabled attribute must be set before agent monitors
   # hares -modify nfsNFS Enabled 1
   # hares -modify nfsNFS Nservers 24
   # hares -add nfsSHARE Share hanfs
   VCS NOTICE V-16-1-10242 Resource added. Enabled attribute must be set before agent monitors
   # hares -modify nfsSHARE Enabled 1
   # hares -modify nfsSHARE PathName /nfsshare
   # hares -modify nfsSHARE Options rw
   # hares -link nfsIP nfsNIC        ---->link确定resource父子关系
   # hares -link nfsVOL nfsDG
   # hares -link nfsMOUNT nfsVOL
   # hares -link nfsSHARE nfsIP
   # hares -link nfsSHARE nfsMOUNT
   # hares -link nfsSHARE nfsNFS
   # haconf -dump -makero

5) 测试NFS服务
   测试过程比较枯燥,首先每个resource要probe一下,然后再online. 例如,
   # hares -probe nfsDG -sys solarisA
   # hares -online nfsDG -sys solarisA  
  
   把所有resource都这么做一次,在A机probe完了还要做B机的probe, 再online。这样才能保证两边都可以正常切换。
   测试过程中如果发现什么错误,可以在/var/VRTSvcs/log/目录下查看日志。

6) 总结
   有这么一套VCS虚拟双机还是不错滴,在上面可以慢慢玩,不用担心别人和你抢双机环境了!
   就是很耗内存,机器不够强劲的,请谨慎安装。
     
分享到:
评论
2 楼 rooi 2012-09-19  
cat /etc/mtab
1 楼 rooi 2012-08-26  
./runInstaller –ignoresysprereqs

相关推荐

    vcs 2018.09 user guide

    VCS(Verilog Compiler Simulator)是由Synopsys公司开发的一款高性能、高容量的Verilog仿真器,它将高级抽象验证技术集成到一个开放的原生平台上。2018.09版本的用户指南提供了关于如何有效利用VCS工具进行数字电路...

    VCS仿真vivado脚本文件

    VCS(Value Change Dump)是一种广泛使用的硬件描述语言(HDL)仿真器,由Synopsys公司提供,它能够对Verilog和SystemVerilog代码进行快速而精确的模拟。VCS仿真器支持全面的验证环境,包括覆盖率分析、调试功能以及...

    linux系统上vivado调用VCS仿真

    ### Linux系统上Vivado调用VCS仿真的详细指南 #### 一、引言 在数字电路设计领域,FPGA(Field Programmable Gate Array,现场可编程门阵列)的设计与验证至关重要。随着设计复杂度的提升,高效的仿真成为确保设计...

    vcs详细安装文档,很详细

    VCS,全称为Verilog Compiler for SystemVerilog,是由Synopsys公司开发的一款强大的系统级硬件描述语言(HDL)编译器。它支持SystemVerilog、Verilog、VHDL等多种语言,广泛应用于集成电路设计的验证环境中。VCS...

    使用vcs配合vivado进行仿真

    "使用VCS配合Vivado进行仿真" 在本文中,我们将详细探讨使用VCS(Virtuoso Cycle Simulator)配合Vivado进行仿真的方法和步骤。 首先,让我们了解什么是VCS。VCS是一种功能强大的仿真工具,广泛应用于数字电路设计...

    2021 vcs userguide

    VCS(Verification ContinuumTM)是Synopsys公司提供的一款先进的集成电路验证工具,主要用于验证数字设计的正确性。2021版的VCS User Guide提供了全面的文档,帮助用户理解和掌握VCS的各种功能和选项,以提高验证...

    VCS-userguide-Q-2020.03-SP2.pdf

    VCS( Verification ContinuumTM)用户指南,Q-2020.03-SP2版,是2020年9月发布的一份详细的手册,由Synopsys公司提供,专注于集成电路验证领域的工具使用。VCS是Synopsys公司的一款先进的仿真器,它在IC设计验证中...

    VCS_User_Guide.pdf

    "VCS_User_Guide.pdf" VCS用户手册是 Synopsis 公司出品的一份重要的用户指南,旨在帮助用户更好地使用VCS(Verification Continuum)工具,实现IC设计的自动化验证。该手册涵盖了VCS的使用指南、功能特点、配置...

    vcs中pli的使用

    在现代数字系统设计中,验证是至关重要的步骤,而VCS(Verilog Comprehensive Simulator)是一款广泛使用的硬件描述语言(HDL)仿真器,它支持多种高级验证方法。PLI(Programmable Logic Interface)是VCS提供的一...

    2019.06VCS SystemC User Guide.pdf

    VCS SystemC联合仿真是一种将VCS(Verilog Compiler Simulator,即Verilog编译器仿真器)和SystemC建模环境结合在一起的仿真技术。这项技术主要用于在Verilog中描述的系统仿真中,同时也支持VHDL和SystemC语言。本...

    vcs工具,使用手册,编译仿真参数

    VCS工具是Synopsys公司推出的一款高性能的功能验证解决方案,被全球前20大半导体公司广泛采用。该工具以其行业领先的性能和容量而著称,特别适合处理当今复杂系统级芯片(SoC)的设计和验证挑战。以下是VCS工具的...

    vcs仿真简介-三种调试模式

    ### VCS仿真简介—三种调试模式详解 #### 一、VCS仿真概述 VCS (Verilog Compiled Simulator) 是Synopsys公司推出的一款高性能Verilog仿真工具,它以其极快的仿真速度和丰富的功能特性而著称。VCS支持多种调用方式...

    VCS+Verdi联合仿真详细教程

    "VCS+Verdi联合仿真详细教程" 本文主要介绍了VCS和Verdi联合仿真的详细教程,旨在帮助读者了解VCS和Verdi的基本概念和操作方法。VCS是一款编译型Verilog模拟器,具有高性能、规模大和高精度的特点,适合从行为级、...

    VCS编程资料,vcs编译,Verilog

    VCS(Value-Change Dump)是一种广泛用于验证数字电路设计的仿真工具,由Synopsys公司提供。在本文中,我们将深入探讨VCS编程、VCS编译过程以及与Verilog语言的结合使用,同时也将提及相关的学习资源,如VCS Lab教程...

    eetop.cn_VCS_command.rar_IC 设计_VCS_command vcs_vcs验证

    在IC设计领域,VCS(Verilog Compiler and Simulator)是一款由Synopsys公司提供的强大的硬件描述语言(HDL)编译器和仿真器。它被广泛用于数字集成电路的设计和验证过程,帮助工程师们确保设计的正确性和功能完整性。...

    VCS利用makefile仿真详细介绍

    在电子设计自动化(EDA)领域,Verilog是广泛使用的硬件描述语言之一,而VCS(Verilog Compiler for SystemVerilog)是由Synopsys公司提供的一个强大的Verilog仿真器。本篇将详细介绍如何利用Makefile在VCS环境中...

    VCS管理指南--VCS管理指南--VCS管理指南

    VCS,全称为Version Control System,是版本控制系统,它用于跟踪和管理软件开发中的源代码和其他文件的变更。VCS管理对于任何项目都是至关重要的,因为它确保了团队成员之间的协作效率,防止了代码冲突,并提供了...

    VCS使用中文教程,vcs怎么使用,LINUX

    VCS,全称为Version Control System,中文通常称为版本控制系统,是一种用于管理软件源代码变更的工具。在Linux环境下,VCS对于开发者来说是至关重要的,它可以帮助团队协作、跟踪代码历史、解决冲突,并确保项目的...

Global site tag (gtag.js) - Google Analytics