通过Ceph RBD实现ISCSI挂载支持

一、前提准备

由于业务的需求,需要对现有的windows系统扩容磁盘,而我的环境中有一套ceph存储集群,可以通过iscsi方式,实现硬盘挂载。

本文只讲解如何通过ceph rbd实现iscsi的挂载支持,如需了解ceph集群的搭建过程,请查阅作者的另一篇文章《通过ceph-deploy搭建ceph 13.2.5 mimic》。

1.1、两台 Linux 服务器(主机名分别为ceph-iscsi-node1、ceph-iscsi-node2),作为iscsi网关,可以是集群中的主机。

1.2、一台 Windows 主机,作为 Windows 系统下的客户端。

二、配置ceph-iscsi网关

2.1、修改osd配置

# 在 /etc/ceph.conf 文件中加入如下参数
[osd] 
osd heartbeat grace = 20 
osd heartbeat interval = 5 

2.2、新建repo文件(已有ceph iscsi rpm包可跳过该步)

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=1
gpgcheck=0

2.3、将yum源的rpm包下载到本地源(已有ceph iscsi rpm包可跳过该步)

shell> cd /usr/local/src/
shell> yum install --downloadonly --downloaddir=yum/ceph-iscsi/ targetcli python-rtslib tcmu-runner ceph-iscsi
shell> createrepo -p -d -o yum/ yum/

2.4、ceph-iscsi网关初始配置

如果使用的不是集群内的节点作为ceph-iscsi网关,那么就需要进行一些初始的配置。

# 安装ceph
shell> yum install -y ceph-common librados2 librados2-devel librbd1 python-rados python-rbd 
shell> yum install -y cmake make gcc \
libnl3 libnl3-devel glib2 glib2-devel zlib zlib-devel kmod kmod-devel \
glusterfs-api glusterfs-api-devel python-setuptools python2-cryptography
shell> yum install -y libkmod pyparsing python-kmod python-pyudev python-gobject \
python-urwid python-pyparsing python-netaddr python-netifaces \
python-crypto python-requests python-flask pyOpenSSL
# 从集群中的一台机器上拷贝 ceph.conf 到本机的 /etc/ceph/ceph.conf
# 从集群中的一台机器上拷贝 ceph.client.admin.keyring 到本机的 /etc/ceph/ceph.client.admin.keyring
# 在两台机器上分别绑定host
shell> cat /etc/hosts
10.20.63.241 ceph-iscsi-node1
10.20.63.245 ceph-iscsi-node2

三、安装配置iscsi

3.1、安装rpm包

shell> cd /usr/local/src
shell> wget http://dlsw.91donkey.com/software/source/ceph/ceph-iscsi/ceph-iscsi-3.2-8.g88f3f67.el7.noarch.rpm
shell> wget http://dlsw.91donkey.com/software/source/ceph/ceph-iscsi/python-rtslib-2.1.fb68-1.noarch.rpm
shell> wget http://dlsw.91donkey.com/software/source/ceph/ceph-iscsi/python-configshell-1.1.fb23-5.el7.noarch.rpm
shell> wget http://dlsw.91donkey.com/software/source/ceph/ceph-iscsi/tcmu-runner-1.4.1-0.el7.centos.x86_64.rpm
shell> rpm -ivh *.rpm

3.2、新建iscsi-gateway配置文件

# 两台ceph-iscsi节点的配置要保持一致
shell> cat >> /etc/ceph/iscsi-gateway.cfg << EOF
[config]
cluster_name = ceph
pool = iscsi_pools
cluster_client_name = client.admin
api_secure = false
# 填写ceph mon节点的IP地址
trusted_ip_list = 10.20.72.191,10.20.72.192,10.20.72.193
EOF

3.3、创建rbd pool

shell> ceph osd pool create iscsi_pools 128 128
shell> ceph osd pool application enable iscsi_pools rbd

3.4、启动ceph iscsi服务

shell> systemctl daemon-reload
shell> systemctl enable rbd-target-api 
shell> systemctl start rbd-target-api && systemctl status rbd-target-api
shell> systemctl start rbd-target-gw && systemctl status rbd-target-gw

3.5、配置ceph-iscsi(在其中一台网关配置即可)

shell> gwcli
gwcli /> cd /iscsi-targets
gwcli /> create iqn.2019-06.com.91donkey.iscsi-gw:iscsi-gw
gwcli /> cd /iscsi-targets/iqn.2019-06.com.91donkey.iscsi-gw:iscsi-gw/gateways
gwcli /> create skipchecks=true ceph-iscsi-node1 10.20.63.241
gwcli /> create skipchecks=true ceph-iscsi-node2 10.20.63.245
gwcli /> cd /disks
gwcli /> create pool=iscsi_pools image=disk01 size=100G
gwcli /> cd /iscsi-targets/iqn.2019-06.com.91donkey.iscsi-gw:iscsi-gw/hosts
gwcli /> create iqn.2019-06.com.91donkey:iscsi-client
gwcli /> auth username=myiscsiusername password=myiscsipassword
gwcli /> disk action=add disk=iscsi_pools/disk01 

四、Windows客户端配置

4.1、以win2008r2为例,添加多路径支持,防止单点故障,在 控制面板 -> 管理工具 -> 服务器管理器 -> 功能 -> 添加功能

通过Ceph RBD实现ISCSI挂载支持

4.2、在 控制面板 -> 管理工具 -> iSCSI发起程序

通过Ceph RBD实现ISCSI挂载支持

4.3、修改发起程序名称

通过Ceph RBD实现ISCSI挂载支持

4.4、添加发现目标门户

通过Ceph RBD实现ISCSI挂载支持

4.5、可以看到出现目标

通过Ceph RBD实现ISCSI挂载支持

4.6、连接到该目标

通过Ceph RBD实现ISCSI挂载支持

4.7、修改高级设置

通过Ceph RBD实现ISCSI挂载支持

4.8、可以看到已连接

通过Ceph RBD实现ISCSI挂载支持

4.9、在磁盘管理中看到磁盘已连接

通过Ceph RBD实现ISCSI挂载支持

作者:龍龍小宝

原文:https://www.cnblogs.com/91donkey/p/11400967.html


分享到:


相關文章: