solaris 10 虚拟机下安装双机

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

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

二、软件版本
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。这样才能保证两边都可以正常切换。
   测试过程中如果发现什么错误,可以在/var/VRTSvcs/log/目录下查看日志。

6) 总结
   有这么一套VCS虚拟双机还是不错滴,在上面可以慢慢玩,不用担心别人和你抢双机环境了!
   就是很耗内存,机器不够强劲的,请谨慎安装。
      
 

你可能感兴趣的:(虚拟机,Solaris,职场,休闲)