将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 768|回复: 1
收起左侧

Ceph iSCSI gateway 安装和配置

[复制链接]
发表于 2021-7-9 18:18:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?开始注册

x
使用ANSI配置ISCSI TARGET6 Z, {: h+ }  p" U
Ceph iSCSI gateway是iSCSI target node,也是Ceph client node。 Ceph iSCSI gateway可以是独立节点,也可以位于Ceph Object Store Disk (OSD) node上。 完成以下步骤,将安装Ceph iSCSI gateway并将其配置为基本操作。0 h& J/ `# f3 @( x8 {
要求:# y* N4 X0 y, n
正在运行的Ceph Luminous(12.2.x)集群或更高版本$ O, q. Q" m# |% T! ~# M# ^  ]# y
Red Hat Enterprise Linux/CentOS 7.5(或更高版本); Linux内核v4.16(或更高版本)
' s' J. Q1 [4 R' N在所有iSCSI gateway节点上安装ceph-iscsi package, O# q, R7 k0 K5 c* R
安装:) R  g( ^* t0 j7 {  O9 I6 b' z
在Ansible installer节点(可以是管理节点也可以是专用部署节点)上,执行以下步骤:+ m7 T  H# E! g$ P
1、以root用户身份安装ceph-ansible package:
6 M7 @# U6 }9 i* m; F# yum install ceph-ansible, n& g4 y3 h' T2 Z5 Q- u) q: \
2、在/etc/ansible/hosts文件中为gateway group添加一个entry:
1 H0 M/ a$ I" g+ X[iscsigws]
. Z6 R5 z6 K8 H6 y$ ^9 kceph-igw-19 f. }/ C, c/ S: p9 x
ceph-igw-2
/ j/ A$ o8 E7 }/ e' ?- G, A. }注意如果将iSCSI gateway与OSD部署同一节点,则将OSD节点添加到[iscsigws] section。( e; c8 \1 Y' V4 D/ O4 m# J- x- c) z
配置:8 K  |* {. c: }- w# j
ceph-ansible package在/usr/share/ceph-ansible/group_vars/目录中放置了一个名为iscsigws.yml.sample的文件。 创建此示例文件的副本iscsigws.yml。 查看以下Ansible变量和说明,并进行相应更新。 有关高级变量的完整列表,请参见iscsigws.yml.sample。
/ d. L' a1 |9 r2 ]. Y% p7 n3 _/ kVariable(变量) Meaning/Purpose(含义/目的)
8 x, l$ W  W6 ^seed_monitor 每个gateway都需要访问ceph集群以进行rados和rbd calls。 这意味着iSCSI gateway必须已定义适当的/etc/ceph/目录。 seed_monitor host用于填充iSCSI gateway的/etc/ceph/目录。9 C/ \4 Q+ h/ _, b8 u- ]9 i
cluster_name 自定义存储集群名称(默认为ceph)
9 o. Y- Y( ]/ v: L4 Sgateway_keyring Define a custom keyring name.- Z' r6 y5 n! \7 L% l. t9 x0 a
deploy_settings 如果设置为true,则在运行playbook时deploy the settings。; x! s/ r" g. S0 e( U7 `) H
perform_system_checks 这是一个布尔值,用于检查每个gateway上的multipath和lvm configuration settings。 必须至少在第一次运行时将其设置为true,以确保正确配置了multipathd和lvm。9 q# q3 a' P( q2 G' r/ V5 y7 p
api_user API的用户名。 默认值为admin。) Q. F' [9 A& ?0 U  @  n2 D
api_password 使用API的密码。 默认值为admin。
) M, k7 E, ^9 L/ I3 T$ g. g; Papi_port 使用API的TCP端口号。 默认值为5000。9 S+ E: p4 m7 q4 M$ R/ ^
api_secure 如果必须使用TLS,则为True。 默认为false。 如果为true,则用户必须创建必要的certificate和key files。 有关详细信息,请参见gwcli man文件。
2 v  u, g& f- l, a& ?trusted_ip_list 有权访问API的IPv4或IPv6地址的列表。 默认情况下,只有iSCSI gateway节点可以访问。9 A2 A. e% A. H) F7 }$ ~- q. m
Deploying:( b  b: P! F& a" V. A
在Ansible installer节点上,执行以下步骤。9 Z! r' U3 @# ]/ M
1、以root用户身份执行Ansible playbook:
, z  d( M9 L, d+ v# cd /usr/share/ceph-ansible4 J+ {( X# Y# V' h, @! f
# ansible-playbook site.yml --limit iscsigws% P+ Z& E$ G3 I! P! L% y/ d* i4 e
注意Ansible playbook将处理RPM dependencies,设置daemons并安装gwcli,因此可用于创建iSCSI targets并将RBD images导出为LUN。 在以前的版本中,iscsigws.yml可以定义iSCSI target和其他objects,如clients, images和LUNs, 但现在不再支持该功能。* L7 ^( D" I5 M, o9 E. F1 `, e
2、从iSCSI gateway节点验证配置:
1 n( A9 E- S( g8 M$ e( [# gwcli ls% S- R9 n, c% g! l- {* t
请参阅Configuring the iSCSI Target using the Command Line Interface,使用gwcli工具创建gateways, LUNs和clients。$ n% Q& T. u6 d( @. i1 p9 k' \. c8 _
重要提示尝试使用targetcli工具更改配置将导致以下问题,例如ALUA配置错误和路径故障转移问题。 可能会损坏数据,configuration across iSCSI gateways不匹配,WWN information不匹配,这将导致client multipath问题。
& {  P8 ^0 T+ M  h% A% ZService Management:
  A4 w" ~8 Z9 b' d4 W6 @: u0 r. kceph-iscsi package安装configuration management logic和一个名为rbd-target-api的Systemd service。启用Systemd service后,rbd-target-api将在引导时启动,并将恢复Linux IO状态。Ansible playbook会在部署期间禁用target service。以下是与rbd-target-api Systemd服务交互命令。
) q$ S3 R0 E. D* ^) t0 R7 J# systemctl <start|stop|restart|reload> rbd-target-api  h4 v4 s! P! k
reload' Q9 W+ |! }. Y
reload request将强制rbd-target-api重新读取配置并将其应用于当前正在运行的环境。 通常不需要这样做,因为changes是从Ansible并行部署到所有iSCSI gateway节点的。2 }" X; D  _3 N; C  i* D7 P
stop
' ?- G& A7 K/ O2 |6 u" O9 \; fstop request将关闭gateway的portal interfaces,断开与客户端的连接,并从内核中清除当前的LIO配置。这将使iSCSI gateway返回到clean状态。 当客户端断开连接时,客户端multipathing layer会将active I/O(活动的I/O)重新安排到其他iSCSI gateways。$ c( z1 M1 Y) w6 F! A2 m! D
Removing the Configuration:
0 {: v. ?7 x5 U" w6 @ceph-ansible package提供了Ansible手册,可删除iSCSI gateway配置和相关的RBD images。 Ansible playbook是/usr/share/ceph-ansible/purge_gateways.yml。 运行此Ansible playbook时,系统会提示您执行清除的类型:2 J2 p, @: O3 y. x6 |
lio :
/ V* N+ s$ q1 V/ `在此模式下,将在已定义的所有iSCSI gateways上清除LIO配置。 在Ceph storage集群中,创建的Disks保持不变。
$ Z, `: D& D6 d0 |all :
- m, Z2 u4 V! V! H. z选择all后,将删除LIO配置以及在iSCSI gateway环境中定义的所有RBD images,其他不相关的RBD images将不会删除。4 p' R/ Y: a+ {/ g' R. M
警告清除操作是对iSCSI gateway环境的破坏性操作。
  M+ Y" C' I: e' F" |; q# x警告如果RBD images具有snapshots或clones并通过Ceph iSCSI gateway导出,则清除操作将失败。2 u8 A; p1 x# j; d. J+ f
[root@rh7-iscsi-client ceph-ansible]# ansible-playbook purge_gateways.yml
3 }+ q0 i; m' ]2 s+ _/ DWhich configuration elements should be purged? (all, lio or abort) [abort]: all6 b1 {$ u$ }1 t) o8 X* |- \
: V: _5 x/ O# i9 S. [/ |7 k
PLAY [Confirm removal of the iSCSI gateway configuration] *********************
! f2 e/ L1 J* C2 ~% m0 X; p8 _  @& p) U0 e9 k4 \
GATHERING FACTS ***************************************************************
9 z2 }3 `" E& \! o% Pok: [localhost]
$ G& U3 k$ ^9 k- \3 M. b. w) A4 q9 i  K# K% u- e# n. }; R
TASK: [Exit playbook if user aborted the purge] *******************************. x( [4 P1 J6 Q' X' O" u
skipping: [localhost]
3 t* F3 u: k7 A* K( k
' j% U# b7 f% X  g) i7 w# ~& jTASK: [set_fact ] *************************************************************
; y( C$ a- k$ ~5 X7 @% iok: [localhost]
' w; n+ F/ t0 Q
  D$ n* ~' T$ H. a* [+ D% ]- y' D5 E% HPLAY [Removing the gateway configuration] *************************************) r+ g) k. S: h6 D! j& m: C
5 P" D, h3 {6 y* X
GATHERING FACTS ***************************************************************
2 t0 U# T, e/ Y- ^2 _# _0 Cok: [ceph-igw-1]
3 Y  p! v+ P6 C  F5 B3 h/ k6 `ok: [ceph-igw-2]
. _8 W+ r1 q; d4 J
5 u4 l9 ]: C. v4 aTASK: [igw_purge | purging the gateway configuration] *************************
8 M" p+ G- [  v# {changed: [ceph-igw-1]
6 U; D! H) W% R" Z/ ochanged: [ceph-igw-2]8 j( b" J' q; U

) Q3 b$ d% U3 T3 `TASK: [igw_purge | deleting configured rbd devices] ***************************; H  S; t+ _* \! x) A
changed: [ceph-igw-1]
1 `; `6 p/ Q& kchanged: [ceph-igw-2]
0 G; ]: ]! E8 D6 D8 S" u" Z9 G: b1 I' z) L7 b7 i
PLAY RECAP ********************************************************************
7 L+ l; F# j+ \1 T  Rceph-igw-1                 : ok=3    changed=2    unreachable=0    failed=0
5 s, v% `/ R, B3 uceph-igw-2                 : ok=3    changed=2    unreachable=0    failed=0
& o3 y1 n% ?% o8 slocalhost                  : ok=2    changed=0    unreachable=0    failed=0
4 r- [5 N9 c% f1 U, N0 m使用COMMAND LINE INTERFACE配置ISCSI TARGET, u% j7 Q- I& x+ }& |: B
Ceph iSCSI gateway是iSCSI target节点,也是Ceph client节点。 Ceph iSCSI gateway可以是独立节点,也可以位于Ceph Object Store Disk (OSD)节点上。 完成以下步骤,将安装Ceph iSCSI gateway并将其配置为基本操作。
) _" k. M% y1 `% h2 S& [Requirements:. }2 E# U! y& q# o1 p
正在运行的Ceph Luminous(12.2.x)集群或更高版本  \# G- M* l% t" U# g3 e
Red Hat Enterprise Linux/CentOS 7.5(或更高版本); Linux内核v4.16(或更高版本); F( |9 \4 B* l' u0 k
必须从Linux发行版的软件repository中安装以下软件包:
9 b& S$ N+ `; A' }1 C7 W( ?targetcli-2.1.fb47 or newer package) O0 K$ W: b4 f  |
python-rtslib-2.1.fb68 or newer package6 q- T. b* w$ O7 m% Q. Y1 {
tcmu-runner-1.4.0 or newer package
- j4 p' j4 ]; {' I9 m$ d" g8 Jceph-iscsi-3.2 or newer package# s3 |; ]* K/ i; h' C1 {$ V
重要说明:如果存在这些packages的先前版本,则必须在安装较新版本之前首先将其删除。
8 [9 x3 r1 L, v+ w在继续Installing section之前,请在Ceph iSCSI gateway节点上执行以下步骤:9 q5 g, y; ^8 U+ C& O/ X
1、如果Ceph iSCSI gateway未在OSD节点上,则将/etc/ceph/中的Ceph配置文件复制到iSCSI gateway 节点。 Ceph配置文件必须存在于/etc/ceph/下的iSCSI gateway节点上。. w& O# u7 a' c; |. l/ H2 Z
2、安装和配置Ceph Command-line Interface  s7 F* j* c; }6 r
3、请在防火墙上打开TCP端口3260和5000。* j. ^2 P$ X  o8 L) I
注意对端口5000的访问应仅限于受信任的内部网络或仅使用gwcli或正在运行ceph-mgr daemons的单个主机。
5 T% v% T0 h9 O! [1 S4、创建一个新的或使用现有的RADOS Block Device (RBD)。
$ B# W' [+ W+ ?( |& h  C, u' i. y0 nInstalling:* `% q1 i) p, ?
如果您使用upstream ceph-iscsi package,请遵循 manual install instructions。
* u' {3 @; w* t7 b& v+ V对于基于rpm的指令,请执行以下命令:
9 i3 m  p9 |/ @( n1、以root用户身份,在所有iSCSI gateway节点上,安装ceph-iscsi package:/ M1 K9 Z% n$ E9 n2 s5 S3 T
# yum install ceph-iscsi
4 y* \4 {& |2 w7 X; L4 F* i& G2、以root用户身份,在所有iSCSI gateway节点上,安装tcmu-runner package:
4 h; k) m4 T- S, g" p8 \9 L# yum install tcmu-runner
) u. @; a) _* H* T, D! L9 `Setup:5 F! v, u8 m" I3 B* b1 w0 f
1、gwcli需要一个名称为rbd的pool,因此它可以存储iSCSI配置之类的元数据。 要检查是否已创建此pool,请运行:
3 I; A9 {- M  d' ]6 R# ceph osd lspools
" t" l1 G! {5 V9 b如果不存在,则可以在RADOS pool operations page上找到创建pool的说明。0 u; r$ e, j! x' w( w7 r
2、在iSCSI gateway节点上,以root身份在/etc/ceph/目录中创建一个名为iscsi-gateway.cfg的文件:
  d9 T- E7 D  V/ U" |# touch /etc/ceph/iscsi-gateway.cfg( z; V. o/ r$ q$ [% f+ H: r
2.1、编辑iscsi-gateway.cfg文件并添加以下行:
$ _) u4 H: |# Z8 @9 @2 W[config]
7 k2 ?7 H; O* m; B! T& y: Y7 [3 C3 m# Name of the Ceph storage cluster. A suitable Ceph configuration file allowing; f+ X" O; H. _, B0 z; }4 N! W; }! U& L) b
# access to the Ceph storage cluster from the gateway node is required, if not1 g/ V( {* q  Z- f
# colocated on an OSD node.
" x* X  Q+ _; s" Y! Fcluster_name = ceph8 I" Q& ~; R3 T0 `) g
# Place a copy of the ceph cluster's admin keyring in the gateway's /etc/ceph6 u  H0 h8 t. G4 h7 D* Q
# drectory and reference the filename here
" m1 o* U7 m( Y" G4 T- }gateway_keyring = ceph.client.admin.keyring/ g0 g" ], [. Q. X) e/ E& u$ |

, L! K) c' U5 F7 A1 F# API settings.
1 I' Z( A: m( m% [$ C# The API supports a number of options that allow you to tailor it to your  I! O5 y5 h# c6 S7 a8 B
# local environment. If you want to run the API under https, you will need to/ s, t# k. m! V
# create cert/key files that are compatible for each iSCSI gateway node, that is+ Q! k  u- `1 H0 {9 y. N
# not locked to a specific node. SSL cert and key files *must* be called
- ]8 G2 W7 R* i; K# 'iscsi-gateway.crt' and 'iscsi-gateway.key' and placed in the '/etc/ceph/' directory
+ R" D8 v. k% U. ~! {& h  Y# on *each* gateway node. With the SSL files in place, you can use 'api_secure = true'
9 k! p0 C" Y4 l2 N# to switch to https mode.! X0 C3 Y% o% M/ a' m1 q) Y/ d
# To support the API, the bear minimum settings are:! ~5 B9 N; o: `9 J  g
api_secure = false
5 d# Y# \+ T5 B! g: u2 K6 l# Additional API configuration options are as follows, defaults shown.
" C& l6 y) _) U; v  A0 y0 D# api_user = admin
' W3 `. D! M, M( y2 q, [3 Y# api_password = admin
8 h5 U, j! @2 ^2 @" {& B2 a# api_port = 5001
% _* L; L- i8 q( z# H* e# trusted_ip_list = 192.168.0.10,192.168.0.114 H% g( ?4 L4 v( {; E

( w, [2 A% `6 _: E5 p( V# ------------------------------------------------------
" Y; R& {" o& b0 F0 q* U9 Q! ?- U' H# 翻译如下7 |5 ]8 \  e* @! R5 i
[config]
5 U1 ^0 b& b2 B  X' K#Ceph存储集群的名称。如果不位于OSD节点上,则需要一个合适的Ceph配置文件,该文件允许从gateway节点访问Ceph存储群集。/ W5 i4 q7 b4 ?: a- i- G
cluster_name = ceph
1 C3 M- l+ F8 u0 Y1 g#将ceph集群的admin keyring的副本放置在gateway的/etc/ceph文件夹中,并在此处引用filename0 O0 k% [3 x) q+ }/ g1 q, p
gateway_keyring = ceph.client.admin.keyring3 B- V- c1 I0 v2 o3 g* ]# |

3 |. A; u) i; v1 f+ Z, {- U#API设置。
" U' X8 M: O' E, r* |- I, V& `5 T#API支持许多选项,可让您根据本地环境进行定制。如果要在https下运行API,则需要为每个iSCSI gateway节点创建兼容的cert/key文件,该节点未锁定到特定节点。必须将SSL cert和key文件命名为'iscsi-gateway.crt'和'iscsi-gateway.key',并放置在每个gateway节点上的'/etc/ceph/'目录中。放置好SSL文件后,您可以使用'api_secure = true'切换到https模式。# ?2 [3 ?6 B5 ~
#为了支持API,至少需要配置如下:/ e! Z* y: G4 e* J+ A, t, @  e1 \
api_secure = false
1 R, F' ?8 m" \, G( I, D' u4 N& L#其他API配置选项如下,显示的默认值。(trusted翻译为信任)" T3 P9 b# B( @2 t) c) l
# api_user = admin
& l2 l! y8 C+ c$ G3 b# api_password = admin+ i' w2 ?3 \  T" t+ g
# api_port = 5001  x% y! X6 b. \" O
# trusted_ip_list = 192.168.0.10,192.168.0.11# j4 O; v5 P! q: z# d
注意trusted_ip_list是每个iscsi gateway上IP地址的列表,将用于管理操作,如创建target,lun导出等。该IP可以与用于iSCSI data的IP相同,例如与RBD image之间的READ/WRITE命令,但建议使用单独的IP。
- ?6 |$ P, ?) e) s重要说明:在所有iSCSI gateway节点上,iscsi-gateway.cfg文件必须相同。
4 \, d4 T- j# o( p0 B- ^2.2、以root用户身份将iscsi-gateway.cfg文件复制到所有iSCSI gateway节点。
6 D1 }1 f6 H! G+ R7 D2.3、以root用户身份,在所有iSCSI gateway节点上,启用并启动API服务:
$ Z- l/ o" J& l# systemctl daemon-reload
9 q+ i. v9 q$ _3 t7 k& O# systemctl enable rbd-target-api$ {) ]0 W3 I* G) E
# systemctl start rbd-target-api
, f! d- D/ c1 ~8 y: M' zConfiguring:. q3 ?0 `3 Y" f5 y' K
gwcli将创建和配置iSCSI target和RBD images,并在上一部分中的gateways设置之间复制配置。 较低级别的工具(例如targetcli和rbd)可用于查询本地配置,但不应用于对其进行修改。 下一节将演示如何创建iSCSI target并将RBD image导出为LUN 0。
7 A, f9 T; f/ a. t, W1、以root用户身份,在iSCSI gateway节点上,启动iSCSI gateway command-line interface:. o  |- E% Q8 u
# gwcli# E" h# [! w0 k* n6 r
2、转到iscsi-targets并创建名为iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw的目标:( J$ g8 T; w$ H3 S- v! G. s7 M
> /> cd /iscsi-target+ Z8 P, u5 i$ `  ~
> /iscsi-target>  create iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw# `6 V/ \: P4 f: I
3、创建iSCSI gateways。 下面使用的IP是用于iSCSI data(如READ和WRITE命令)的IP。 它们可以是trusted_ip_list中列出的用于管理操作相同的IP,但是建议使用不同的IP。  e! b: y1 I: h5 ?7 r2 T
> /iscsi-target> cd iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/gateways6 k1 a# |% u  a# R2 V  ]
> /iscsi-target...-igw/gateways>  create ceph-gw-1 10.172.19.21" `8 y: q% l! \7 x, ?3 z
> /iscsi-target...-igw/gateways>  create ceph-gw-2 10.172.19.22
1 A/ Y4 G6 A, A. G如果不使用RHEL/CentOS或使用upstream或ceph-iscsi-test kernel,则必须使用skipchecks=true参数。 这将避免Red Hat kernel和rpm checks:
) `! U! C2 j: \7 y5 c5 L> /iscsi-target> cd iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/gateways+ s* A1 p4 o7 ^& v& Z
> /iscsi-target...-igw/gateways>  create ceph-gw-1 10.172.19.21 skipchecks=true
( @" g: r: D5 T; L1 V+ Y> /iscsi-target...-igw/gateways>  create ceph-gw-2 10.172.19.22 skipchecks=true
! |- }. e) K- n4、在rbd pool中添加名称为disk_1的RBD image:3 B* P! I/ u1 A. P& p5 S+ o/ u
> /iscsi-target...-igw/gateways> cd /disks: X, P7 C/ @/ W- k+ p
> /disks> create pool=rbd image=disk_1 size=90G
+ f7 }2 R+ k( F! V) `: j6 L6 j, V/ V5、创建一个客户端,使用initiator名称iqn.1994-05.com.redhat:rh7-client:
: J5 w, H9 N. G% v> /disks> cd /iscsi-target/iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/hosts
2 }: O0 u* p' ^/ |1 x+ ^) _> /iscsi-target...eph-igw/hosts>  create iqn.1994-05.com.redhat:rh7-client+ r: W4 C/ Q# \! ?$ l
6、将客户端的CHAP用户名设置为myiscsiusername,将密码设置为myiscsipassword:
9 i8 n. n4 X( J$ r8 y0 f8 V> /iscsi-target...at:rh7-client>  auth username=myiscsiusername password=myiscsipassword6 K4 Q/ ~' {6 X) h
警告必须始终配置CHAP。 如果没有CHAP,target将拒绝任何登录请求。
5 x3 K2 U3 h2 S* |3 S7、将disk添加到客户端:
+ @" x6 ^, |6 l, H> /iscsi-target...at:rh7-client> disk add rbd/disk_1
4 g" ?* E& {2 I; w9 a: o下一步是配置iSCSI initiators。
6 z0 c1 ]2 B  y) G3 N, P) x手动安装CEPH-ISCSI! V& p' L1 b  v9 G9 ?# a* F2 r$ I
Requirements
$ |. G/ h4 D3 g+ t* f- {" L0 ^要完成ceph-iscsi的安装,有4个步骤:' {3 T# w  k7 W: a& m
1、从Linux发行版的软件repository安装common packages# C- E  ^: V$ V$ I1 N
2、安装Git以直接从其Git repositories中获取其余packages8 k8 Q% Z0 T% c( B
3、确保使用兼容的kernel; q4 ^/ N+ U+ ?7 w) W
4、安装ceph-iscsi的所有组件并启动相关的daemons:
: r/ j) j  `0 L; n& w+ N% P% etcmu-runner
6 \- K; _6 w+ S; r' jrtslib-fb/ ], t; F+ z2 }" O* R/ j( j3 i7 _& e  u
configshell-fb
2 N5 W) S+ A* G: ctargetcli-fb
8 \7 q9 U3 K: L  K( L* L9 Yceph-iscsi
1 _' w, E8 K$ j1 b2 Z1、安装COMMON PACKAGES
7 H) ]) f% n, X8 f4 Qceph-iscsi和target工具将使用以下packages。 必须从Linux发行版的软件repository中将它们安装在将成为iSCSI gateway的每台计算机上:
- n1 u$ e9 V( T, L% `/ H/ t5 Olibnl33 H2 R/ T( a0 d7 l" ?7 F# {
libkmod
/ r4 K6 \4 d4 t- Alibrbd1/ t$ b: A; W7 P, A
pyparsing
3 e9 C, s0 g% C$ b& ]* tpython kmod
- t4 S+ F& q8 bpython pyudev1 z9 G* p' o4 H
python gobject/ ?& ?) T5 O9 s& z/ n% w
python urwid2 ~( Y. `5 `6 _. O9 X& C& `. _4 N
python pyparsing
8 Q6 \, {6 U0 V8 g+ {; Ipython rados
+ A" a: v: h( L1 ^# E8 ypython rbd1 Z* h# W  J% E6 Z6 q1 m% [3 {' _& W
python netifaces% F5 I; Q# e1 W1 d, g) n) R
python crypto
* h0 m7 e% D$ L% R3 B; Ipython requests
, j5 C6 J% x  a0 ?python flask
. U* t" e' x% y' MpyOpenSSL
0 C( Q- Q" J1 E2、安装GIT' t2 Y/ x, ?% P) ]" ~5 v& _9 H6 X
为了安装使用Ceph运行iSCSI所需的所有packages,您需要使用Git直接从其repository中下载它们。 在CentOS/RHEL上执行:
% z5 R% ~9 G) A% ^> sudo yum install git
0 C3 q9 q7 H8 z6 |$ P在Debian/Ubuntu上执行:
/ ~- Z) Q& i4 ]# w& ~> sudo apt install git, C$ s  V2 B; w6 \
要了解有关Git及其工作方式的更多信息,请访问https://git-scm.com4 b! P# B, j: X! r1 x6 J
3、确保使用了兼容的KERNEL
6 ?* Y; [$ P/ R6 s5 @确保使用支持Ceph iSCSI patches的kernel:
5 Z9 \: f  E# {具有内核v4.16或更高版本的所有Linux发行版/ S5 Y5 Y( Y3 W
Red Hat Enterprise Linux或CentOS 7.5更高版本
" ]" s8 z" w% ]- n4 ^如果您已经在使用兼容的kernel,则可以转到下一步。 但是,如果您不使用兼容的kernel,请查看发行版的文档以获取有关如何构建此kernel的特定说明。 唯一的Ceph iSCSI特定要求是必须启用以下构建选项:3 Y7 ~$ q% j; G9 A
CONFIG_TARGET_CORE=m
+ Y+ B7 a1 s) ?) eCONFIG_TCM_USER2=m
! R' n/ B+ Z4 X3 e, b' YCONFIG_ISCSI_TARGET=m+ \* ~) f8 |1 R! w( ?7 F  g
4、安装CEPH-ISCSI
  {8 t, ~( X# N$ {* L最后,可以直接从其Git repositories中获取其余工具,并启动其相关服务2 T1 ?- y6 K% `, a: n" n1 c
TCMU-RUNNER
- Q* S0 I' w! X4 W' t  n9 ?. h0 ]Installation:
9 u* n; K8 e& a; Q& [( w/ k7 [, ?> git clone https://github.com/open-iscsi/tcmu-runner( ^1 e& {7 H8 E
> cd tcmu-runner
0 T3 G+ E$ x- N* E% J& G运行以下命令以安装所有必需的依赖项:
' P% I4 m" f( R+ g1 R> ./extra/install_dep.sh4 R, J) j/ k/ F1 h0 J0 M& Q1 G
现在,您可以构建tcmu-runner。 为此,请使用以下构建命令:
; i" k& z" r3 v> cmake -Dwith-glfs=false -Dwith-qcow=false -DSUPPORT_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX=/usr
1 S! z4 f* W7 r: |3 z> make install
, @' q5 z1 z  o: n+ E( O7 Z; {; o启用并启动守护程序:
, ?0 ~* Y; H- V! H5 _% |* I1 O- s> systemctl daemon-reload  N+ O1 Q; x. b$ d6 r4 W% f
> systemctl enable tcmu-runner
! I$ I# _* N, m; n4 s> systemctl start tcmu-runner
: H! O+ s, }. ]' gRTSLIB-FB; a( m6 l4 Y. c. g9 T/ y5 J1 ?! U
Installation:
+ \( E3 y3 _/ ^' N# s> git clone https://github.com/open-iscsi/rtslib-fb.git3 G$ R  g0 `- f0 h/ `# Q6 d
> cd rtslib-fb$ r% j' S$ B; c% d
> python setup.py install
' x3 H, P/ f* k: v6 }( \CONFIGSHELL-FB" y, L6 T# ]$ W4 O* r
Installation:
& P. |5 V1 `0 E& J: [3 D; y" u> git clone https://github.com/open-iscsi/configshell-fb.git
# x+ H+ v! U/ w, j% d) \5 O& ]> cd configshell-fb- H# N) H) z, K
> python setup.py install1 |( p4 j4 `9 l: _: Y% M
TARGETCLI-FB! J! N, m2 }! M$ B
Installation:; e# a8 K4 r' Z- M: r' D: R" C+ c- e
> git clone https://github.com/open-iscsi/targetcli-fb.git
; j+ Y' Y8 ]  l6 s9 Y2 h) D  \> cd targetcli-fb
! m$ q9 N0 `  i7 S" M7 u> python setup.py install( r) q" ]  S. Q3 Y+ n/ {. n
> mkdir /etc/target3 c. B# k' y) Y9 S4 t0 o" z
> mkdir /var/target( [. J+ k4 k, Z! ^* Z2 h2 P3 c  |
警告ceph-iscsi工具假定它们正在管理系统上的所有targets。 如果已设置targets并由targetcli管理,则必须禁用targets服务。
/ {* i2 G: u5 ~- a$ sCEPH-ISCSI
% f% |6 a; E  _& x. V. ZInstallation:; v3 s* H( \* }
> git clone https://github.com/ceph/ceph-iscsi.git% Z% q3 D+ N1 p3 J( ^
> cd ceph-iscsi" C% |/ S3 V7 X, x0 K$ c; k% @9 s
> python setup.py install --install-scripts=/usr/bin7 E# t* P. s) {7 d( ~, B6 ]1 E
> cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
2 Q; p' [: D% K/ K> cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system
* p  W- N' S& X; A% `8 O3 M* \% }启用并启动daemon:
- _3 Y! F3 ?) R9 A+ y> systemctl daemon-reload6 v' n. t! _7 c
> systemctl enable rbd-target-gw
# E) s/ `2 e1 _! `# Z" v> systemctl start rbd-target-gw
9 R1 q5 ~- Y: r) ~) b> systemctl enable rbd-target-api7 ?4 X4 A, A2 B! ?3 \
> systemctl start rbd-target-api
2 g, x  l" o, m" I# R. G4 |6 L安装完成。 进入main ceph-iscsi CLI page上的setup部分。
  a5 M/ O# C% h. e+ c
 楼主| 发表于 2021-7-10 17:12:53 | 显示全部楼层
手动安装CEPH-ISCSI
) ]3 N3 P* _8 J% XRequirements0 B- j* p; D! R
# w% v, h0 F5 l' u
要完成ceph-iscsi的安装,有4个步骤:
  }  N/ H6 x+ d4 i1 t2 `' \1 B5 X) w  H5 N: i+ b! \2 G  h" i
1、从Linux发行版的软件repository安装common packages
( `4 F/ t( A& K7 e7 @2 ]6 k
/ `% K1 L* q4 _- q) @: a6 J: g2、安装Git以直接从其Git repositories中获取其余packages
$ T. A5 C: O9 ~- B8 F' v2 n" T. `; f" q5 J
3、确保使用兼容的kernel* e( T. t# a$ n1 Z$ V  W/ {
; T& s5 v( ?' n0 N" N
4、安装ceph-iscsi的所有组件并启动相关的daemons:
; @, Y- ]0 m0 G0 v7 P) G& c9 A! T' j# K
tcmu-runner1 b$ _! \5 v0 _! G2 g% y
rtslib-fb* _2 z. |. e  q, v1 f  T
configshell-fb; c+ N# ?4 {( m$ k
targetcli-fb
9 f% V1 R- p3 w3 Yceph-iscsi* ~9 d* R" Q" P* C3 @5 n
1、安装COMMON PACKAGES; g% P0 M% {9 s# Z) x" {# F* D
ceph-iscsi和target工具将使用以下packages。 必须从Linux发行版的软件repository中将它们安装在将成为iSCSI gateway的每台计算机上:
' p! T: ]6 V6 B; y9 `
- ?* \0 v" H' S" x( Z) alibnl38 O! y( e6 F3 w$ a: Z
libkmod
8 h6 j- V& k0 x: b+ c. g7 M7 elibrbd1
7 @& Y+ N; j8 Zpyparsing
5 q5 E9 u# U- D  o; Mpython kmod- J- h. E/ h4 V0 P
python pyudev
! u5 ]: ]3 F5 k8 r8 Tpython gobject) y" d; N0 u5 U8 p! J; C9 `
python urwid' f! F, ^1 e+ w# j8 r* g7 @3 f  \# s# z
python pyparsing: y6 Z5 V, O+ W0 N
python rados$ A5 E+ M+ G  Q9 \  V6 b$ {
python rbd0 s- Q6 l1 T7 k3 s5 T, E
python netifaces
. t% T1 o8 X6 O. U  x( Qpython crypto
3 E. d% I1 P7 p* _2 Npython requests: T: ^. W9 b" a1 V" J' T5 U% w
python flask8 R% e, f1 @; E; S# f
pyOpenSSL
% D& W& _% r% \' ]! L2、安装GIT
" z+ u3 b7 b% S( I; v3 q* ]9 g5 P; M为了安装使用Ceph运行iSCSI所需的所有packages,您需要使用Git直接从其repository中下载它们。 在CentOS/RHEL上执行:/ R7 a# i0 v. |+ l. t  C3 ?

1 e0 Z: J' P; d# V: k4 L+ U! p> sudo yum install git
& S1 [, _' h) a9 z& k- d3 H在Debian/Ubuntu上执行:
$ R2 U5 C" q# z( F
5 p" Q% D( m2 S9 @> sudo apt install git- P2 [3 W4 v8 P4 N
要了解有关Git及其工作方式的更多信息,请访问https://git-scm.com
' U- g* A- ^, k2 v! q5 R
% |5 f0 H2 ]* X% s4 f* z& _0 l$ j3、确保使用了兼容的KERNEL
, h% t: x9 r1 m+ o+ k5 g; h确保使用支持Ceph iSCSI patches的kernel:% T. ~3 ^' V8 o* A% }0 }
0 ]  K. o2 A3 q+ Z2 y
具有内核v4.16或更高版本的所有Linux发行版
% a+ }5 V% ]6 P. GRed Hat Enterprise Linux或CentOS 7.5更高版本
1 l3 b' K1 C4 @; f4 V如果您已经在使用兼容的kernel,则可以转到下一步。 但是,如果您不使用兼容的kernel,请查看发行版的文档以获取有关如何构建此kernel的特定说明。 唯一的Ceph iSCSI特定要求是必须启用以下构建选项:
2 V) Z; D) H$ m% z5 Y
1 U( O- b+ a$ q% [! PCONFIG_TARGET_CORE=m
) y. W1 z8 O* U# g  S8 ]0 ZCONFIG_TCM_USER2=m
5 R+ h7 @: ^# A3 z! s1 u7 ZCONFIG_ISCSI_TARGET=m
1 U3 M5 u+ U1 q1 n0 [# `4、安装CEPH-ISCSI' f1 D% S+ T0 t% {! }
最后,可以直接从其Git repositories中获取其余工具,并启动其相关服务+ w- F) _9 J; j- B* B; Q$ K( |9 C! V; J

6 @$ W2 i! {2 Z* Y; f. a# z6 b8 a+ V: kTCMU-RUNNER
2 G0 X/ g6 i& g' L) l9 y  E) y0 t" O7 X9 K9 r0 s
Installation:
2 J9 s# ?( |8 L$ B, l! r6 O, F& j8 ~; D/ q, |3 H8 a
> git clone https://github.com/open-iscsi/tcmu-runner
2 ]6 A; ?" B& m& S> cd tcmu-runner' h& T: ]2 V1 o1 w0 [
运行以下命令以安装所有必需的依赖项:* L) V4 P7 x1 ^# u/ R

6 ]2 A  Z# d% `- L2 G4 l1 I> ./extra/install_dep.sh
( [4 I7 @6 F- y; R& C现在,您可以构建tcmu-runner。 为此,请使用以下构建命令:
3 S  M- b5 r0 c: }: z- o8 b. ]* u' H1 v# B  {/ b6 \
> cmake -Dwith-glfs=false -Dwith-qcow=false -DSUPPORT_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX=/usr
6 V4 Z0 z7 U1 i> make install% O* ~9 y. T' U" F9 a/ X/ P
启用并启动守护程序:3 F7 d$ J& N3 f% p
) C( S0 E' \, N; r
> systemctl daemon-reload
) ]( g) ]0 w' c- V3 P( g> systemctl enable tcmu-runner
4 l& D  I8 g- U% i* D4 V# {> systemctl start tcmu-runner
( O' T# e. |4 R; {RTSLIB-FB
. ^3 l) i, f' ^1 Q+ I5 R  W
3 P5 q- W0 d* B6 L. ~( HInstallation:9 X$ }+ {" A+ O) l; E
* a. I6 P1 f* j1 }7 f' X
> git clone https://github.com/open-iscsi/rtslib-fb.git' C8 j/ N6 X7 O7 V
> cd rtslib-fb
0 b& B/ c( C) R- e, t# y2 K% ?" X> python setup.py install
6 N- u# `2 P8 m+ ]CONFIGSHELL-FB
! [6 Y0 B* x  P2 I8 G8 ?3 }- d3 R2 }$ k( ~7 D. W: T7 M* ]' }
Installation:
3 S$ [$ o3 \3 U4 I" D6 C: N) f, X. C) S
> git clone https://github.com/open-iscsi/configshell-fb.git
8 m5 V. @/ B1 M! H> cd configshell-fb
0 s. F* c: ^5 C  a> python setup.py install5 v3 D; A. T3 c9 f' K' L
TARGETCLI-FB
* R& Y2 o( {4 j- |" U4 K$ {; f
. U9 y* V; L" O4 b# D& Z- vInstallation:$ G( T3 o; x# O+ ~

6 s2 F! P/ E6 ~" K! q> git clone https://github.com/open-iscsi/targetcli-fb.git
/ H- v/ i8 F7 D& b> cd targetcli-fb
$ `9 l: a3 }0 a% V  n* t> python setup.py install% A. x0 B6 E% \* j: a! X
> mkdir /etc/target8 j; }3 ^8 b! U( q
> mkdir /var/target
2 x& q& y+ Q7 o6 n, p- |" k1 r警告ceph-iscsi工具假定它们正在管理系统上的所有targets。 如果已设置targets并由targetcli管理,则必须禁用targets服务。/ k" S9 R, f5 \
/ _+ |2 A% n, p6 W% t; P* `
CEPH-ISCSI7 O! u9 }: t6 e2 x
Installation:
0 \7 }+ b8 [& H8 i1 X. X/ r6 S5 u9 P7 r# W
> git clone https://github.com/ceph/ceph-iscsi.git. {# s& b3 _6 }+ w$ k) }
> cd ceph-iscsi
& \" s0 |4 S* \9 v6 V6 D> python setup.py install --install-scripts=/usr/bin* v2 I( M2 l% [! C: S" h' b
> cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
5 E* f0 W7 C# w% U# s> cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system
6 M4 ]& \: y8 E; O启用并启动daemon:7 M3 j3 S; E2 Z4 e& @" C. ^# V
  n0 H% \( M* O
> systemctl daemon-reload
0 h7 ~1 |( i$ d, z> systemctl enable rbd-target-gw
) ~4 o& j. n5 j% ]- L$ r1 h> systemctl start rbd-target-gw
* h& A  ^6 K4 h/ s$ c> systemctl enable rbd-target-api* x, P+ }& S; ~, O* h1 Q+ K
> systemctl start rbd-target-api
8 k0 S, o5 W& F& [8 V% w, U安装完成。 进入main ceph-iscsi CLI page上的setup部分。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2021-11-28 19:33 , Processed in 0.063678 second(s), 23 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

快速回复 返回顶部 返回列表