ceph iscsi安装
#安装包
- 下载包https://github.com/ceph/ceph-iscsi
- 安装ceph-iscsi配置文件
- 安装rbd-target-api所在的ceph-iscsi-cli包
3.1安装依赖python-configshell,网上
3.2安装包里的python-rtslib(先卸载老版本)
3.3安装包里的ceph-iscsi-config - 安装ceph-iscsi-tools
4.1安装依赖python-pcp,网上
4.2安装依赖pcp-pmda-lio,网上
5.安装libtcmu
6.安装targetcli
6.1安装python-ethtool,网上
7.安装tcmu-runner
8.配置/etc/ceph/iscsi-gateway.cfg
#配置
- iscsi-gateway的api端口可能要改,默认是5000
- gatway数目也可以iscsi-gateway配置文件中修改minimum_gateways,默认为2
- 创建target的时候必须要主机名和ip
- 创建好cinder配置后端所需要的池,比如iscsi池
- 启动rbd-target-api
- target在iscsi-gateway配置文件可以通过ceph_pool,配置gateway.conf文件所在的池
- target在iscsi-gateway配置文件可以通过api_ip,配置rbd-target-api所监听的ip
注意
- 不同的driver的target名字不能一样
- configfs的内容重启可以删除
3.计算节点要安装iscsid,并配置用户名和密码 - 替换自己修改的/usr/bin/rbd-target-api文件
- 可以配置ceph_config_dir设置ceph配置路径
需要修改1 settings文件前提准备
首先看到ceph官网给出的大体结构:
可以看到主要分为ceph集群、rbd、iscsi网关、initiator(也就是客户端)构成。
那么所需的准备就如下:
一个HEALTH_OK的ceph集群,还有剩余的存储空间(给创建的rbd使用)。这里是我所搭建的集群:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$ sudo ceph -s cluster: id: 51e9f534-b15a-4273-953c-9b56e9312510 health: HEALTH_OK services: mon: 3 daemons, quorum node1,node2,node3 mgr: node1(active), standbys: node2, node3 mds: cephfs-1/1/1 up {0=node1=up:active} osd: 6 osds: 6 up, 6 in data: pools: 2 pools, 64 pgs objects: 508 objects, 1.9 GiB usage: 26 GiB used, 6.0 TiB / 6.0 TiB avail pgs: 64 active+clean
两台linux主机,作为iscsi网关,可以是集群中的主机。
一台linux主机,作为linux系统下的客户端。
一台windows主机,作为windows系统下的客户端。
配置ceph-iscsi网关
修改osd配置
安装官网所述,先修改osd的配置:
1 2 3
[osd] osd heartbeat grace = 20 osd heartbeat interval = 5
将上述配置添加到所有ceph节点的
/etc/ceph/ceph.conf
文件中, 当然可以使用ceph-deploy来推送。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$ vim ceph.conf $ cat ceph.conf [global] fsid = 51e9f534-b15a-4273-953c-9b56e9312510 mon_initial_members = node1, node2, node3 mon_host = 192.168.90.233,192.168.90.234,192.168.90.235 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx public_network = 192.168.0.0/16 [osd] osd heartbeat grace = 20 osd heartbeat interval = 5 $ ceph-deploy --overwrite-conf config push node1 node2 node3
下载所需要的相关rpm包
这里直接选择Using the Command Line Interface,感觉这个更靠谱一些。
按照官网所述,yum的repo中需要有以下rpm包:
直接
yum install
试试可以发现,只有targetcli和python-rtslib能装上,而且版本都比官网说的要低,好吧,麻烦来了。经过一段几个小时*的搜索……从下面链接中找到了rpm包:
Build new RPM for 3.0 Missing ceph-iscsi-cli package新建repo文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
$ sudo vim /etc/yum.repo.d/iscsi.repo $ cat /etc/yum.repo.d/iscsi.repo [ceph-iscsi] name=Ceph-iscsi baseurl=https://4.chacra.ceph.com/r/ceph-iscsi/master/88f3f67981c7da15448f140f711a1a8413d450b0/centos/7/flavors/default/noarch/ priority=1 gpgcheck=0 [tcmu-runner] name=tcmu-runner baseurl=https://3.chacra.ceph.com/r/tcmu-runner/master/eef511565078fb4e2ed52caaff16e6c7e75ed6c3/centos/7/flavors/default/x86_64/ priority=1 gpgcheck=0 [python-rtslib] name=python-rtslib baseurl=https://2.chacra.ceph.com/r/python-rtslib/master/67eb1605c697b6307d8083b2962f5170db13d306/centos/7/flavors/default/noarch/ priority=