Solaris上数据保护的一些考虑

Solaris操作系统是基于Unix SVR4版本,有很多传统Unix操作系统上做数据备份和恢复的方法,如ufsdump/ufsrestore、tar、cpio、和dd等命令,利用这些命令操作磁带机可对数据备份和恢复。这些方法好的地方是简单,属Unix基本操作,会Unix的人都会,而且磁带介质便宜和容量大,还能可异地分开存放,不好的地方是通常系统往往需离线,且磁带机操作需人工换带,常见系统管理员在夜深人静做系统备份时,睡眼惺忪地备完一盘又换一盘带,备份速度慢,如DAT磁带机是3MB/s、SDLT 600磁带机是36MB/s,LTO 3磁带机是80MB/s等,弄不好就备份到天亮了,多少系统管理员变成孤男寡女,当然少数企业级磁带机如T10000可达120MB/s,但价格较高,若想采用自动换带的设备,又能按备份策略自动的在线备份数据,则升级为企业级备份,需增加花费去购置磁带库及备份软件,如Sun StorageTek磁带库和Veritas Netbackup软件,当然这又能保护数据又能让系统管理员省下时间去追求人生真谛,只有关键业务的企业才会有这样的考虑,也是企业必花的代价。

Solaris中包含Solaris Volume Manager(SVM)卷管理软件和ZFS文件系统,都能做RAID组,都能提供数据的在线保护,例如使用SVM做2硬盘镜像d1:

# metadb -a -f -c 3 /dev/rdsk/c2t4d0s7
# metainit d11 1 1 c2t4d0s3
# metainit d12 1 1 c2t4d0s4
# metainit d1 -m d11
# metattach d1 d12
# mount /dev/md/dsk/d1 /data

使用Solaris ZFS文件系统做镜像简单些,一个命令完成,也更快,即时完成:

# zpool create -f data mirror c2t4d0s3 c2t4d0s4

SVM软件和ZFS文件系统二者都在实际企业中有应用,共同好处是都是Solaris中的功能,因Solaris开源而免费,不同是SVM是卷管理软件,需将硬盘组成逻辑卷,而文件系统建立在逻辑卷上,而传统UFS文件系统并不保证不会崩溃,因某些原因系统崩溃后重启需用修复文件系统,如用fsck命令,或设置时加日志做logging,而且应用对硬盘的操作是通过卷管理软件这个中间层进行的,性能会有而外的开销,另外既然是软件,也需系统管理员去学习,所有这些缺点却是ZFS文件系统所没有的,无卷管理层、硬盘总是有效,完全在线维护,
使用简单。二者共同的缺点也是明显的,就是都基于硬盘,数据保护都常在本地,如看到系统管理员提着一兜子沉甸甸的硬盘在两地间奔波,别人或许认为在运金条呢。

当然RAID保护可由服务器硬件和磁盘阵列硬件完成,此种情况又升级为企业级数据保护,如所有Sun x64服务器和Sun StorageTek磁盘阵列都有这样的特性,其它厂家也有类似的产品,需要硬件保护数据的企业应考虑这样的花费。

Solaris上有种软件可以动态的提供本地的数据保护 - 即时数据复制,和远程的数据拷贝 - 远程镜像,即Sun StorageTek Availability Suite,目前版本是4.0:

http://www.sun.com/storagetek/management_software/data_protection/availability/

安装简单:

1。检查Solaris操作系统版本:

# more /etc/release
                       Solaris 10 6/06 s10s_u2wos_09a SPARC
           Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                             Assembled 09 June 2006

3。安装软件,只需回答两个问题,显示和接受软件许可:

s6a# ./install.sh -a

Display software license agreement [y,n,?] y
...
Do you agree to the terms and conditions stated in software license
agreement [y,n,?] y
...

装完重新启动:

# shutdown -y -i6 -g0

3。做本地硬盘数据的保护:

如保护data目录所对应的硬盘c0t2d0s3,可设c0t2d0s4为其即时复制的硬盘,再准备另一硬盘c0t2d0s5放变动的数据,即:

Master volume - c0t2d0s3
Shadow volume - c0t2d0s4
Bitmap volume - c0t2d0s5
# iiadm -e ind /dev/rdsk/c0t2d0s3 /dev/rdsk/c0t2d0s4 /dev/rdsk/c0t2d0s5

即对data目录(硬盘c0t2d0s3)的任何操作,都被实时的复制到第二个硬盘上(c0t2d0s4),如有一天第一个硬盘坏掉,第二个硬盘仍有全部的第一个硬盘的数据,其变化被记录在第三个硬盘(c0t2d0s5)上,与镜像的区别是,如做镜像,那第二个硬盘一定要至少和被保护的硬盘一样大,但即时复制的硬盘不一定,除非被保护的系统数据100%的变化,可看各硬盘实际需要的大小,如:

# dsbitmap -p /dev/rdsk/c0t2d0s3
Point in Time bitmap sizing

Data volume (/dev/rdsk/c0t2d0s3) size: 104004 blocks    
Required bitmap volume size:
  Independent shadow: 48 blocks
  Full size dependent shadow: 48 blocks
  Compact dependent shadow: 560 blocks

即显示出,被保护的盘上有104004数据块,记录的变化才48个数据块。

4。如做远程镜像,即本机硬盘数据实时复制到远方的服务器硬盘上:

本地被保护的服务器准备如下:

primary volume – c0t2d0s6 - 被保护本地数据硬盘
primary bitmap – c0t2d0s7  - 本地数据硬盘的变化记录
远端的服务器准备如下:

secondary volume – c0t0d0s6 - 远端数据硬盘
secondary bitmap – c0t0d0s7 - 远端数据硬盘的变化记录
在本地服务器上enable远程复制:

a# sndradm -e s6a /dev/rdsk/c0t2d0s6 /dev/rdsk/c0t2d0s7 /
s7a /dev/rdsk/c0t0d0s6 /dev/rdsk/c0t0d0s7 ip sync
Enable Remote Mirror? (Y/N) [N]: Y

在远端服务器上enable远程复制:

# sndradm -e s6a /dev/rdsk/c0t2d0s6 /dev/rdsk/c0t2d0s7 /
s7a /dev/rdsk/c0t0d0s6 /dev/rdsk/c0t0d0s7 ip sync
Enable Remote Mirror? (Y/N) [N]: Y

检查两地数据同步的状态:

s6a# sndradm -p
/dev/rdsk/c0t2d0s6      ->      s7a:/dev/rdsk/c0t0d0s6

或干脆本地数据强行同步到远方服务器:

# sndradm -m s7a:/dev/rdsk/c0t0d0s6
Overwrite secondary with primary? (Y/N) [N]: Y

当然,如利用多地点的远程复制,还可继续远跳多点,以应付多地点同时故障:

或结合备份,做无中断远程备份:

或结合集群软件,提供不同级别的关于数据保护的服务,当然服务水平越高,保护数据的所需的花费越大:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值