基于 rbd nbd 的支持抢锁的 rbd docker volume plugin

来源:互联网 发布:淘宝开店交保证金流程 编辑:程序博客网 时间:2024/06/08 02:05

基于 rbd nbd 的支持抢锁的 rbd docker volume plugin

1.注意

本plugin和jewel(10.2.2)一起测试过,需要apply 下面的patch:

ceph-patch/rbd-nbd-ceph-10.2.2.patch

2. 编译rpm包

$ git clone https://github.com/yanghonggang/rbd-docker-plugin-nbd.git rbd-docker-plugin$ cd rbd-docker-plugin$ make rpms...$ls rpmbuild/RPMS/x86_64/rbd-docker-plugin-1.5.2-1.el7.centos.x86_64.rpm  rbd-docker-plugin-debuginfo-1.5.2-1.el7.centos.x86_64.rpm

3. 安装使用

rpm -ivh *.rpmsystemctl enablesystemctl start rbd-docker-plugin

需要重新启动使用了rbd卷的container 或者重启docker daemon

4. docker container 创建参数说明

# docker run --name disk22 --volume-driver rbd -v mpool/disk2@1000:/root/hehe -it anna /bin/bash--volume-driver rbd // 表示要使用 rbd-docker-plugin作为volume的后端-v 中 mpool 为用于创建 image 的 ceph pool     disk2为image的名字     1000为1000MB/root/hehe 为container内部的映射目录

5.所有可配置条目

# rbd-docker-plugin -hUsage of rbd-docker-plugin: -cluster string    xtao ceph cluster (default "xtao") -config string    Xtao ceph cluster config (default "/etc/ceph/xtao.conf") -create    Can auto Create RBD Images (default true) -debug    Debug output -fs string    FS type for the created RBD Image (must be xfs now) (default "xfs") -go-ceph    Use go-ceph library -logdir string    Logfile directory (default "/var/log") -mount string    Mount directory for volumes on host (default "/var/lib/docker-volumes") -name string    Docker plugin name for use on --volume-driver option (default "rbd") -plugins string    Docker plugin directory for socket (default "/run/docker/plugins") -pool string    Default Ceph Pool for RBD operations (default "rbd") -remove value    Action to take on Remove: ignore, delete or rename (default ignore) -size int    RBD Image size to Create (in MB) (default: 20480=20GB) (default 20480) -use-nbd    Use rbd-nbd to map RBD Image (default true) -user string    Ceph user (default "admin") -version    Print version

0 0
原创粉丝点击