IT 运维中大家经常会面临这样的问题,很多数据或文件很重要,需要备份但嫌它太占空间,想进行压缩但又担心压缩过程较长且消耗较多系统 CPU 、 IO 资源,进而影响到整个系统对外服务的响应速度。好不容易定个备份策略,比如每周 / 每月定期全量备份,中间再再来几次增量备份。可一旦天灾人祸的故障来临时,发现可用备份离故障时间点都比较远,需要较长时间才能恢复,有时还会悲催的发现没有可用备份。
或许 POWER9 独有的 NXGZIP 硬件压缩加速技术能帮助解决这部分烦恼。这里以金融等领域用的较多的 DB2 数据库为例,看一个在高端服务器上 DB2 数据库备份的例子:
从上表可以看出,数据库自身压缩功能备份耗时太长,先备份再用普通 CPU gzip 压缩耗时也较长,而且很耗 CPU (高达 18% ),不压缩的备份空间消耗又大好几倍。采用 NXGZIP 硬件压缩加速技术即得到了同样不错的压缩比( 6.1 倍 ),而且仅消耗很少 CPU 资源,速度比不压缩时还快,耗时仅分别是普通 gzip 压缩和数据库自身压缩的 (90/294=30% ) 和 (90/1509=6% ) 。
NXGZIP 压缩备份同时做到了省空间省时间,为备份工作释放了更多 CPU 和 IO 资源,或许不用像以前做备份时战战兢兢,能更从容的优化备份策略了。
NXGZIP 硬件压缩加速效果这么好,它是如何做到的?还能用于什么场景?
l 它集成在 CPU 片内,零成本,低功耗
l 是目前业界带宽最高的片上压缩(达 7GB+/s ) / 解压缩( 8GB+/s )引擎
l 可以 Bypass kernel ,用户态可直接访问,支持多用户和多线程
l 与 zlib 兼容, 方便应用集成
l 可用于:各类文件、数据库、大数据和分布式存储等多类应用
环境要求 :
ü OS 版本要求: AIX 7.2TL4 ;
ü POWER9 固件建议使用 FW940.01 以上版本( 01/09/20 发布),以支持 NX GZIP 和 XIVE 功能;
ü 注意 LPAR 分区的处理器兼容模式必须选择为 POWER9 模式(而不是 POWER9_base ,需要在分区 profile 手工修改);否则不能激活 NX GZIP 功能。
软件安装包 :
zlibNX 安装包在 AIX 扩展安装盘中; xgzip 命令行工具需要通过“ AIX Web Download Pack Program ”下载:
https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=aixbp **
附录:
用 xgzip 替代 gzip 压缩,加速日常维护操作:
命令 xgzip 命令行选项与 gzip 命令是相同的,可以直接用来替换 gzip 命令操作,而取得十多倍的压缩速度提升。如下是使用 xgzip 与普通 gzip 压缩、解压相同文件耗时的对比:
xgzip 耗时:
解压: db1:root:[/data]#time xgzip -d dataset.pax.gz
real 1m36.43s
user 0m7.04s
sys 0m23.40s
加压: db1:root:[/data]#time xgzip dataset.pax
real 0m48.43s
user 0m1.48s
sys 0m12.27s
gzip 耗时:
解压: db1:root:[/data]#time gunzip dataset.pax.gz
real 2m24.99s
user 0m28.87s
sys 0m17.41s
加压: db1:root:[/data]#time gzip dataset.pax
real 10m28.60s
user 3m11.38s
sys 0m11.07s
db1:root:[/data]#ls -l dataset.pax*
-rw-r--r-- 1 root system 2620784309 Mar 17 22:50 dataset.pax.gz
上述 DB2 数据库 NXGZIP 压缩加速试验环境说明:
备份脚本示例如下
export BDR=/db2/db2backup;
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 并行 16
do
mkfifo $BDR/fifo$i
/usr/opt/xgzip/bin/xgzip -9 < $BDR/fifo$i > $BDR/xgzdir/tpcc_backup_slice_$i.gz &
done
time db2 backup database test online to \
$BDR/fifo1,$BDR/fifo2,$BDR/fifo3,$BDR/fifo4,$BDR/fifo5,$BDR/fifo6,$BDR/fifo7,$BDR/fifo8,$BDR/fifo9,$BDR/fifo10,$BDR/fifo11,$BDR/fifo12,$BDR/fifo13,$BDR/fifo14,$BDR/fifo15,$BDR/fifo16 \
with 16 BUFFERS BUFFER 16384 PARALLELISM 16
参考链接:
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞1
添加新评论0 条评论