昨天终于把虚拟机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虚拟双机还是不错滴,在上面可以慢慢玩,不用担心别人和你抢双机环境了!
就是很耗内存,机器不够强劲的,请谨慎安装。
总结的教训就是没细看随软件包文档,走了一些弯路,特别是配置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虚拟双机还是不错滴,在上面可以慢慢玩,不用担心别人和你抢双机环境了!
就是很耗内存,机器不够强劲的,请谨慎安装。