环境:ubuntu14.04,内核4.04

uname -a

Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

克隆项目:

git clone https://github.com/SymbioticLab/Infiniswap.git

1. 客户端守护进程安装

  1. 客户端编译安装:

    cd setup
    ./install daemon
  2. 运行客户端守护程序:

    cd ../infiniswap_daemon
    ./infiniswap-daemon 192.168.2.221 9400

    ip地址 192.168.2.221 是客户端所在主机 ib网卡的地址。

2. 服务端块设备(交换分区)安装

  1. 进入 setup 目录,修改 install.h

    cd setup
    vim install.h
  2. 修改内容主要是以下两个:

    #have the kernel patch for lookup_bdev()

    #(HAVE_LOOKUP_BDEV_PATCH), default is undefined

    have_lookup_bdev_patch=1

    #name of physical backup disk

    #(BACKUP_DISK), default is "/dev/sda4"

    backup_disk="/dev/vdb"

    如果以上两项未修改正确,无法编译通过。

  3. 服务端编译生成内核模块:

    cd setup
    ./install bd
  4. 服务端配置 portal.list

    vim portal.list

    1

    192.168.2.221:9400

    第一行为daemon的数量,后面每行为一个daemon的 ip:port

  5. 服务端安装块设备,设置为交换分区:

    ./infiniswap_bd_setup.sh
    
    

    如果执行 ./infiniswap_bd_setup.sh出错,可以一步一步执行,该文件内容如下:

       modprobe infiniswap
    mount -t configfs none /sys/kernel/config nbdxadm -o create_host -i 0 -p $PWD/portal.list #portal.list
    nbdxadm -o create_device -i 0 -d 0 ls /dev/infiniswap0
    mkswap /dev/infiniswap0
    swapon /dev/infiniswap0

    成功挂载为交换分区后,打印的内核日志:

    [ 94.543854] IS_create_configfs_files

    [ 99.157269] IS_session_make_group, name=infiniswaphost0

    [ 99.157330] portal_attr_store, buf=1,192.168.2.221:9400,

    [ 99.157335] In IS_session_create() with portal: rdma://1,192.168.2.221:9400,

    [ 99.157527] rdma://1,192.168.2.221:9400,

    [ 99.157879] portal: 192.168.2.221, 9400

    [ 99.158040] IS_create_conn with cpu: 0

    [ 99.158042] IS_create_conn with cpu: 1

    [ 102.866554] IS_device_make_group, name=infiniswap0

    [ 102.866612] device_attr_store

    [ 102.866616] In IS_create_device(), dev_name:infiniswap0

    [ 102.866619] IS: st_size = 12884901888

    [ 102.866621] IS_register_block_device

    [ 102.867318] IS_init_hctx called index=0 xq=ffff880079327e80

    [ 102.867323] IS_init_hctx called index=1 xq=ffff880079327e98

    [ 102.867349] IS_register_block_device, dev_name infiniswap0

    [ 102.867543] IS: init done

    [ 102.868987] stackbd: init done

    [ 102.868995] Opened /dev/vdb

    [ 102.869010] stackbd: Device real capacity: 29360128

    [ 102.869013] stackbd: Max sectors: 8

    [ 102.869053] stackbd: done initializing successfully

    [ 112.873800] rdma_trigger

    [ 211.265717] kernel_cb_init, created cm_id ffff88003633a000

    [ 211.265842] cma_event type 0 cma_id ffff88003633a000 (parent)

    [ 211.266119] cma_event type 2 cma_id ffff88003633a000 (parent)

    [ 211.266161] rdma_resolve_addr - rdma_resolve_route successful

    [ 211.266641] created pd ffff880078b8b5c0

    [ 211.267343] created cq ffff880036338800

    [ 211.269382] created qp ffff880036338c00

    [ 211.269388] IS: IS_setup_buffers called on cb ffff88007a9b5000

    [ 211.269391] IS: size of IS_rdma_info 392

    [ 211.269394] IS: cb->mem=1

    [ 211.269396] IS: IS_setup_buffers, in cb->mem==DMA

    [ 211.269619] IS: allocated & registered buffers...

    [ 211.282962] cma_event type 9 cma_id ffff88003633a000 (parent)

    [ 211.282974] ESTABLISHED

    [ 211.282990] rdma_connect successful

    [ 211.285548] IS_ctx_dma_setup, setup_ctx_dma

    [ 211.285734] evict_handler, waiting for STOP msg

    [ 211.463865] Received rkey 80709 addr 7fd423fff000 from peer

    [ 211.517175] Received rkey 80608 addr 7fd3e3ffd000 from peer

    [ 239.423567] Adding 12582908k swap on /dev/infiniswap0. Priority:-1 extents:1 across:12582908k SSFS

  6. 在Infiniswap目录编写了服务端启动脚本 r_bd.sh

    #!/bin/bash
    
    pwd=111111
    swaps='/dev/vda5' cd setup
    echo $pwd | sudo -S swapon -s for i in $swaps; do
    echo $pwd | sudo -S swapoff $i
    done ./infiniswap_bd_setup.sh
    echo $pwd | sudo -S swapon -s

    其中, swaps的值 /dev/vda5 使通过 swapon -s查看到的交换分区名字,可设置多个,如:'/dev/vda5 /dev/vda6',pwd 是登录账号的密码。

    添加可执行权限:

    chmod +x r_bd.sh

    运行bd:

    ./r_bd.sh

infiniswap安装的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  3. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  9. tLinux 2.2下安装Mono 4.8

    Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...

  10. 工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

    如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATI ...

随机推荐

  1. not in 和 not exists 比较和用法

    尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ...

  2. 自定义Ollama安装路径

    由于Ollama的exe安装软件双击安装的时候默认是在C盘,以及后续的模型数据下载也在C盘,导致会占用C盘空间,所以这里单独写了一个自定义安装Ollama安装目录的教程. Ollama官网地址:htt ...

  3. 3 x 2 + 1 !安 全 能 力 权 威 认 可 !

    近日,由XOps大会组委会主办的"2024第三届XOps产业创新发展论坛"在北京召开.大会主论坛公布了2024上半年XOps最新评估结果,天翼云顺利通过ITU DevOps国际标准 ...

  4. NOIP 游记

    前情提要:color \(100\to 0\),arena \(92/100\to 36\). 最后一场模拟赛喜提 0+0+100+0,挺乐的. Day 0 晚上九点睡,然而还是很早就醒了,但是时间体 ...

  5. 2025年,Fantastic-admin 这款后台框架将继续引领潮流

    前言 大言不惭的取了这个标题,但作为开发了 4 年多的 Fantastic-admin 的作者,回顾这一路走来,从一开始被指责抄袭,到现在拥有数百名付费用户和几十家付费企业.我认为我的开发理念应该是得 ...

  6. 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!

    前言 腾讯元宝AI产品于2025年2月13日在应用商店发布更新,正式接入了DeepSeek R1模型,并宣布该模型已联网.满血上线,DeepSeek+腾讯混元,好用不卡机. 腾讯元宝介绍 腾讯元宝是依 ...

  7. 【BUUCTF】Ping Ping Ping

    [BUUCTF]Ping Ping Ping (命令执行绕过总结) 题目来源 收录于:BUUCTF GXYCTF2019 题目描述 提示较为明确,get方法传参127.0.0.1后结果如下 比较容易想 ...

  8. Windows上安装MySQL详细教程

    1.MySQL简介 MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系 ...

  9. vue2打包部署到nginx,解决路由history模式下页面空白问题

    项目使用的是vue2,脚手架vue-cli 4. 需求:之前项目路由使用的是hash,现在要求调整为history模式,但是整个过程非常坎坷,遇到了页面空白问题.现在就具体讲一下这个问题. 首先,直接 ...

  10. k8s:The connection to the server localhost:8080 was refused - did you specify the right host or port?

    前言 k8s 集群 node节点报错:The connection to the server localhost:8080 was refused - did you specify the rig ...