checkpoint-BLCR部署和测试(源码)

1. 概述

checkpoint

2. 部署过程

2.1 源码下载

官方网站:http://crd.lbl.gov/departments/computer-science/CLaSS/research/BLCR/
下载最新版本:blcr-0.8.5.tar.gz

2.2 解压安装

执行命令:tar -zxvf blcr-0.8.5.tar.gz -C /tmp
进入到/tmp/blcr-0.8.5,执行命令:./configure --prefix=/usr/local/globle/softs/blcr/0.8.5/
【报错信息】:configure: error: Directory /boot/ does not appear to contain a Linux kernel build
【原因分析】:由于是在虚拟机console编译安装,console并没有安装内核软件包,因此会造成上面的报错。
【解决方式】:执行命令:yum -y install kernel*,安装完成之后,继续编译安装的操作。

2.3 添加库环境

将安装在全局文件系统上的blcr库目录,/usr/local/globle/softs/blcr/0.8.5/lib,添加至系统库环境中。
执行命令:echo "/usr/local/globle/softs/blcr/0.8.5/lib" > /etc/ld.so.conf.d/blcr.conf
然后执行命令:ldconfig加载生效

2.4 插入内核模块

执行命令:find / -name blcr_imports.ko,查看内核模块放置的位置为:

/usr/local/globle/softs/blcr/0.8.5/lib/blcr/2.6.32-431.el6.x86_64/blcr_imports.ko

执行命令:
insmod /usr/local/globle/softs/blcr/0.8.5/lib/blcr/2.6.32-431.el6.x86_64/blcr_imports.ko
insmod /usr/local/globle/softs/blcr/0.8.5/lib/blcr/2.6.32-431.el6.x86_64/blcr.ko
插入内核模块

3. 测试

3.1 创建测试程序

创建testblcr.c,内容如下:

#include <stdio.h>
int main()
{
    int number = 0,i;
    printf("start process\n");
    for (i = 0; i < 100; i++) {
        printf("%d\n", number);
        sleep(1);
        number++;
    }
    return 0;
}

执行命令:gcc testblcr.c -o testblcr,生成可执行文件testblcr

3.2 功能测试

执行命令:cr_run ./testblcr

注:若上述操作未将blcrt的lib目录添加至系统环境中,并且ldconfig加载,则测试会报错:ERROR: ld.so: object 'libcr_run.so.0' from LD_PRELOAD cannot be preloaded: ignored

然后通过ps -ef | grep cr_run,获取到该程序的pid;然后重开新窗口,执行命令:cr_checkpoint pid,该命令会在当前目录下,生成程序的快照文件。
杀掉查到的pid,在新窗口执行cr_restart context.pid,即可使程序继续运行

4. 参考博客

参考博客地址:https://www.cnblogs.com/Blue-Moon/p/3865737.html

猜你喜欢

转载自www.cnblogs.com/liwanliangblog/p/9220418.html