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

易陆发现论坛

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

Ceph iSCSI gateway 安装和配置

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

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

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

x
使用ANSI配置ISCSI TARGET
5 n' D& T* \  f' t. y" YCeph iSCSI gateway是iSCSI target node,也是Ceph client node。 Ceph iSCSI gateway可以是独立节点,也可以位于Ceph Object Store Disk (OSD) node上。 完成以下步骤,将安装Ceph iSCSI gateway并将其配置为基本操作。, C+ J. |, T7 {2 e. r3 ~5 w7 e- L
要求:
3 l3 `$ S1 y2 [* t- ^( i正在运行的Ceph Luminous(12.2.x)集群或更高版本
$ ]) G+ B$ N9 x3 c$ Q  LRed Hat Enterprise Linux/CentOS 7.5(或更高版本); Linux内核v4.16(或更高版本)
! \# H, k5 o& R5 p. \2 \在所有iSCSI gateway节点上安装ceph-iscsi package
, A4 N# O6 j% ]* F- t" C* U安装:! [' T+ H1 S0 Y% S3 i6 _
在Ansible installer节点(可以是管理节点也可以是专用部署节点)上,执行以下步骤:
7 s# S, t. z; t" e: i7 }9 f1、以root用户身份安装ceph-ansible package:
4 j1 ~# x7 j7 Q4 }) ?/ o# yum install ceph-ansible
' E; y+ e' i- \7 |8 R2、在/etc/ansible/hosts文件中为gateway group添加一个entry:# D5 a+ P6 {  o; J
[iscsigws]0 B$ Q( `* @% p, Q! ]# g
ceph-igw-1
* _& p$ i3 v! Q3 d" C- ~  cceph-igw-2
; W8 L# r- {% N& [注意如果将iSCSI gateway与OSD部署同一节点,则将OSD节点添加到[iscsigws] section。# x$ ?  [9 _# B6 f
配置:  B1 `" [0 f" P8 ~3 F3 F2 W8 ]' n
ceph-ansible package在/usr/share/ceph-ansible/group_vars/目录中放置了一个名为iscsigws.yml.sample的文件。 创建此示例文件的副本iscsigws.yml。 查看以下Ansible变量和说明,并进行相应更新。 有关高级变量的完整列表,请参见iscsigws.yml.sample。; h  F6 g* n; R% I" u6 a9 O
Variable(变量) Meaning/Purpose(含义/目的)8 H1 \  p" P' i8 w
seed_monitor 每个gateway都需要访问ceph集群以进行rados和rbd calls。 这意味着iSCSI gateway必须已定义适当的/etc/ceph/目录。 seed_monitor host用于填充iSCSI gateway的/etc/ceph/目录。
9 b- v( ~; w5 ^cluster_name 自定义存储集群名称(默认为ceph)
7 i" z! s! Y' j8 t" D/ \, Vgateway_keyring Define a custom keyring name.# \( }& {2 c6 R. F) v$ H& I& g, g: E
deploy_settings 如果设置为true,则在运行playbook时deploy the settings。
5 [6 k4 G( f+ F7 eperform_system_checks 这是一个布尔值,用于检查每个gateway上的multipath和lvm configuration settings。 必须至少在第一次运行时将其设置为true,以确保正确配置了multipathd和lvm。
  \6 w: V# h$ S4 y) k+ Oapi_user API的用户名。 默认值为admin。
8 G  ^; ~. g& f2 `# uapi_password 使用API的密码。 默认值为admin。: G, L1 l* s3 l3 N4 t+ R# F
api_port 使用API的TCP端口号。 默认值为5000。. q8 h" I2 l. q. Y& z* X/ q
api_secure 如果必须使用TLS,则为True。 默认为false。 如果为true,则用户必须创建必要的certificate和key files。 有关详细信息,请参见gwcli man文件。
2 o# c4 ^. f! C( A2 rtrusted_ip_list 有权访问API的IPv4或IPv6地址的列表。 默认情况下,只有iSCSI gateway节点可以访问。
/ m: i4 T6 i$ F* v2 iDeploying:3 d* g$ J, `8 `5 E  B- O
在Ansible installer节点上,执行以下步骤。
8 J6 Z: M8 F* Q$ ?1、以root用户身份执行Ansible playbook:
1 \1 ?5 J1 _' k8 k# cd /usr/share/ceph-ansible
2 N, P5 r. t3 m' G/ @# ansible-playbook site.yml --limit iscsigws- U" N  K& W; j/ W+ P+ z( s
注意Ansible playbook将处理RPM dependencies,设置daemons并安装gwcli,因此可用于创建iSCSI targets并将RBD images导出为LUN。 在以前的版本中,iscsigws.yml可以定义iSCSI target和其他objects,如clients, images和LUNs, 但现在不再支持该功能。
& n' x: N/ ?5 q3 T; Q5 i2、从iSCSI gateway节点验证配置:" F7 B3 V" R' {/ k1 J, v9 D
# gwcli ls' N" n) h& J* v/ C; A8 Y: Z
请参阅Configuring the iSCSI Target using the Command Line Interface,使用gwcli工具创建gateways, LUNs和clients。
; p( N) v0 B( d2 w2 D重要提示尝试使用targetcli工具更改配置将导致以下问题,例如ALUA配置错误和路径故障转移问题。 可能会损坏数据,configuration across iSCSI gateways不匹配,WWN information不匹配,这将导致client multipath问题。
2 W# W- I+ w7 `5 WService Management:
5 R2 X! i& I% f- }  s  f" p5 Aceph-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服务交互命令。  G% H2 c7 f/ R3 E' N
# systemctl <start|stop|restart|reload> rbd-target-api$ v% v3 x" J7 h( T. x0 j
reload
/ n# {% n1 t/ i8 k/ @* F/ Hreload request将强制rbd-target-api重新读取配置并将其应用于当前正在运行的环境。 通常不需要这样做,因为changes是从Ansible并行部署到所有iSCSI gateway节点的。
2 B6 U8 N* e5 m5 estop% V# J: l* w) I# w/ o  x2 F
stop request将关闭gateway的portal interfaces,断开与客户端的连接,并从内核中清除当前的LIO配置。这将使iSCSI gateway返回到clean状态。 当客户端断开连接时,客户端multipathing layer会将active I/O(活动的I/O)重新安排到其他iSCSI gateways。
8 k4 e5 G2 Y) VRemoving the Configuration:
' r4 I7 V6 X9 p. A! v. @8 g. n9 {ceph-ansible package提供了Ansible手册,可删除iSCSI gateway配置和相关的RBD images。 Ansible playbook是/usr/share/ceph-ansible/purge_gateways.yml。 运行此Ansible playbook时,系统会提示您执行清除的类型:
. \0 X6 \  F5 ]) e' Y8 hlio :
& i2 u" ]1 W) d5 [8 {3 [) O6 O9 O在此模式下,将在已定义的所有iSCSI gateways上清除LIO配置。 在Ceph storage集群中,创建的Disks保持不变。8 L' W/ m8 G% G* I. y/ w- a: g
all :) d5 ?6 y) A4 a( O6 `0 d. O8 u: |
选择all后,将删除LIO配置以及在iSCSI gateway环境中定义的所有RBD images,其他不相关的RBD images将不会删除。
9 j4 i4 Q- V: k- a7 c; d7 H警告清除操作是对iSCSI gateway环境的破坏性操作。
% M$ K& G9 u' ~6 @警告如果RBD images具有snapshots或clones并通过Ceph iSCSI gateway导出,则清除操作将失败。# @( r, N4 R8 y) S1 m
[root@rh7-iscsi-client ceph-ansible]# ansible-playbook purge_gateways.yml
- l; j( m. f# r( b- ~* bWhich configuration elements should be purged? (all, lio or abort) [abort]: all+ q; C& Y$ y$ v  Y5 J
9 M) q2 |2 q$ Y( b. k
PLAY [Confirm removal of the iSCSI gateway configuration] *********************" h* [7 }$ W; t1 v
7 \$ j: }6 b3 I6 P$ Z0 o
GATHERING FACTS ***************************************************************
+ X5 g. o! |% g/ {0 B, E' E9 |7 yok: [localhost]
: X$ {* C) ~8 Z# V8 F& L& n2 e0 `
TASK: [Exit playbook if user aborted the purge] *******************************
4 x8 o5 s; \1 yskipping: [localhost]
' u' _9 O# `, D: N* l2 r7 l4 X( z: n" D! ?: u! w  ?, {8 J1 K
TASK: [set_fact ] *************************************************************" Y+ V, z  Y# [% m" O+ t
ok: [localhost]
6 E0 ^0 ^+ s7 M' [. Y6 w- A! f, X1 E
& f4 m- B* {$ c" V5 o# I0 VPLAY [Removing the gateway configuration] *************************************
. A' }+ ^5 B) s, D9 ?( P/ L4 s' a4 ?( e# T  i2 c' l' y; h
GATHERING FACTS ***************************************************************
4 Q; q1 K6 A! ^8 t- r5 t0 vok: [ceph-igw-1]
2 r9 _& B6 K1 hok: [ceph-igw-2]
& h# }2 K4 j0 B& j, i) b4 \' e* q4 x" ^. N4 Q- c
TASK: [igw_purge | purging the gateway configuration] *************************7 u! o* k6 q1 |
changed: [ceph-igw-1]0 c0 ^% K/ J0 P
changed: [ceph-igw-2]
% k* @( u! U9 @  i) ~
: N$ I: k3 h- l$ S8 L$ B2 NTASK: [igw_purge | deleting configured rbd devices] ***************************' [3 {& C8 q3 W6 x7 [. J! C7 h
changed: [ceph-igw-1]
* ]2 }6 S! i0 T  i0 Ochanged: [ceph-igw-2]: i2 _' b/ [! M' c/ C1 D+ P

# J# q6 d: E5 C: o! vPLAY RECAP ********************************************************************3 S9 m' h; d7 N; }) J+ Y+ Y4 E
ceph-igw-1                 : ok=3    changed=2    unreachable=0    failed=0
* T% g) F2 A( T, K* Y# y! g* rceph-igw-2                 : ok=3    changed=2    unreachable=0    failed=0
! }. t' j* {8 |% x* P0 ]/ }, tlocalhost                  : ok=2    changed=0    unreachable=0    failed=0& H" R1 o: x' L* m+ c( Y0 h) D0 m
使用COMMAND LINE INTERFACE配置ISCSI TARGET
6 }5 z5 M" B3 h0 l9 _/ v: KCeph iSCSI gateway是iSCSI target节点,也是Ceph client节点。 Ceph iSCSI gateway可以是独立节点,也可以位于Ceph Object Store Disk (OSD)节点上。 完成以下步骤,将安装Ceph iSCSI gateway并将其配置为基本操作。  L, d/ L1 u/ C8 u" q  G% f
Requirements:' J# g! e7 `% }  m( l
正在运行的Ceph Luminous(12.2.x)集群或更高版本( W  u+ T' L; L3 W5 J- U7 `  v
Red Hat Enterprise Linux/CentOS 7.5(或更高版本); Linux内核v4.16(或更高版本)
+ Y! q. `/ @/ `1 j0 R必须从Linux发行版的软件repository中安装以下软件包:
, E' U, ?$ Z/ f7 Q  gtargetcli-2.1.fb47 or newer package1 O& R: H; t7 ?3 y7 k8 g
python-rtslib-2.1.fb68 or newer package
$ }; g/ a+ h! h# m! Atcmu-runner-1.4.0 or newer package0 V2 Z9 a7 m8 E! }/ g, N- Y8 l  E
ceph-iscsi-3.2 or newer package/ q, q+ v8 o6 w: |& U: H% |1 ]
重要说明:如果存在这些packages的先前版本,则必须在安装较新版本之前首先将其删除。
# d, j/ D) e3 Z. y7 x8 W! ~在继续Installing section之前,请在Ceph iSCSI gateway节点上执行以下步骤:/ Y& h; T7 Y2 B+ E  h  o% r8 R; W
1、如果Ceph iSCSI gateway未在OSD节点上,则将/etc/ceph/中的Ceph配置文件复制到iSCSI gateway 节点。 Ceph配置文件必须存在于/etc/ceph/下的iSCSI gateway节点上。; x% l0 ^1 o) T* V- V5 e
2、安装和配置Ceph Command-line Interface* @5 l' F- @8 w% S' g
3、请在防火墙上打开TCP端口3260和5000。% Z0 W6 d( h; E. d
注意对端口5000的访问应仅限于受信任的内部网络或仅使用gwcli或正在运行ceph-mgr daemons的单个主机。. N+ F2 G  L* \  G' |
4、创建一个新的或使用现有的RADOS Block Device (RBD)。! o( r& h0 \$ N% u: V) O
Installing:' t0 a# l, H2 z5 q) L
如果您使用upstream ceph-iscsi package,请遵循 manual install instructions。
, T5 S2 l. u% F/ M* y对于基于rpm的指令,请执行以下命令:1 P- k& g( Z) N. g
1、以root用户身份,在所有iSCSI gateway节点上,安装ceph-iscsi package:8 C  m, X! e# ]2 t. y, w
# yum install ceph-iscsi
1 p- }5 |7 r4 W1 Y, |% q( n2、以root用户身份,在所有iSCSI gateway节点上,安装tcmu-runner package:
# @$ x* p# h% D+ d# yum install tcmu-runner
9 a- _7 }# T* S* \# C( }7 X' BSetup:
/ G& E* r: d) A& a1、gwcli需要一个名称为rbd的pool,因此它可以存储iSCSI配置之类的元数据。 要检查是否已创建此pool,请运行:
' y5 h8 F' l0 R3 i$ _# ceph osd lspools
% e0 z2 |; O3 a5 ~1 |  A如果不存在,则可以在RADOS pool operations page上找到创建pool的说明。
) D$ k) _" N$ S  {. p6 X8 X6 G2、在iSCSI gateway节点上,以root身份在/etc/ceph/目录中创建一个名为iscsi-gateway.cfg的文件:
+ j2 k4 `+ L$ M5 _" \* t# touch /etc/ceph/iscsi-gateway.cfg
4 R7 j7 ^' ^: `1 Q9 u2.1、编辑iscsi-gateway.cfg文件并添加以下行:
8 e+ u7 R4 q; @+ d[config]
* n* y! O5 s( h* b7 C0 e+ q. J# Name of the Ceph storage cluster. A suitable Ceph configuration file allowing
* T6 t5 s; D* J% @/ l4 S# access to the Ceph storage cluster from the gateway node is required, if not
1 f' n" {, L5 U0 z! B" t# colocated on an OSD node.% P* d2 b+ e9 Z/ u0 G1 n7 }( R! K3 G
cluster_name = ceph6 ~/ _! ?- d" I1 Y8 {# o
# Place a copy of the ceph cluster's admin keyring in the gateway's /etc/ceph
6 B! B, ~7 h! V6 K$ o7 |# drectory and reference the filename here8 ~  e; d8 K5 J4 k$ `
gateway_keyring = ceph.client.admin.keyring
% N" }; w, U" i2 l
- V" j) J* j6 B+ ?; E4 a# API settings.: u0 d/ V% O! D& M
# The API supports a number of options that allow you to tailor it to your
! q" C& d( N4 |* _+ @7 O. q, B0 s# local environment. If you want to run the API under https, you will need to: P8 g2 p/ r2 l' f
# create cert/key files that are compatible for each iSCSI gateway node, that is# z% W! v0 s0 ^( @5 B" l- }$ O
# not locked to a specific node. SSL cert and key files *must* be called$ `+ [5 l5 V* I4 s( f
# 'iscsi-gateway.crt' and 'iscsi-gateway.key' and placed in the '/etc/ceph/' directory* M4 g# ^. Z1 L  s
# on *each* gateway node. With the SSL files in place, you can use 'api_secure = true'
0 F- t0 b) K8 d- s$ m) R. ^# to switch to https mode.* {. ?" G* I! ?% X
# To support the API, the bear minimum settings are:1 B: H5 ]+ M0 ~% d
api_secure = false( M3 N9 ~1 q. l" E5 N7 {$ K
# Additional API configuration options are as follows, defaults shown.
/ z8 N; W2 Q9 }' o# api_user = admin4 R; E9 w3 j' Z. `# d, @/ @6 A' j
# api_password = admin
# D; B6 h$ S! j" n" F% |# api_port = 5001
" n2 j8 K; u9 `4 y# trusted_ip_list = 192.168.0.10,192.168.0.11& E4 ^4 E: i+ G% a4 `1 t

& j) V& K- ~2 _, x$ F# ------------------------------------------------------0 S: g& f# `7 e  A
# 翻译如下( I0 v9 g2 b3 U' u
[config]
' m! D  s4 Z) ~, g9 I+ d" p#Ceph存储集群的名称。如果不位于OSD节点上,则需要一个合适的Ceph配置文件,该文件允许从gateway节点访问Ceph存储群集。
& c7 z2 B( P6 Y' Q8 lcluster_name = ceph+ h6 u; Y8 s" ^, m3 l
#将ceph集群的admin keyring的副本放置在gateway的/etc/ceph文件夹中,并在此处引用filename
6 D' O8 ^" g8 |; K; y, jgateway_keyring = ceph.client.admin.keyring, ?7 m- K: f* _# ^: s4 d" O

0 M! s0 x# h2 O) L) K1 U7 y+ k. Z#API设置。
# S2 W! `% K% i1 B#API支持许多选项,可让您根据本地环境进行定制。如果要在https下运行API,则需要为每个iSCSI gateway节点创建兼容的cert/key文件,该节点未锁定到特定节点。必须将SSL cert和key文件命名为'iscsi-gateway.crt'和'iscsi-gateway.key',并放置在每个gateway节点上的'/etc/ceph/'目录中。放置好SSL文件后,您可以使用'api_secure = true'切换到https模式。
5 K' p, \; a: X6 L" Q* L! v$ a#为了支持API,至少需要配置如下:* f+ E5 y+ m# H6 ~( `
api_secure = false
" E0 Q9 ]& r. `, b9 e% d#其他API配置选项如下,显示的默认值。(trusted翻译为信任)! c* J* ^5 y/ e# t" J! i
# api_user = admin% x" E6 }) B* A* H2 @
# api_password = admin; I' t1 ?/ `5 D
# api_port = 5001' W/ ]0 |9 k" Q4 Q5 }6 |5 i
# trusted_ip_list = 192.168.0.10,192.168.0.113 J, f2 f$ X1 {2 E  x
注意trusted_ip_list是每个iscsi gateway上IP地址的列表,将用于管理操作,如创建target,lun导出等。该IP可以与用于iSCSI data的IP相同,例如与RBD image之间的READ/WRITE命令,但建议使用单独的IP。/ c: ^8 F/ K* e# e! L: }" Q8 Q
重要说明:在所有iSCSI gateway节点上,iscsi-gateway.cfg文件必须相同。
# [7 P0 \, a* ^& M4 G. v2.2、以root用户身份将iscsi-gateway.cfg文件复制到所有iSCSI gateway节点。
. |( f: r  v) J9 r; a2.3、以root用户身份,在所有iSCSI gateway节点上,启用并启动API服务:; r7 E8 a1 O' ^) P1 m: `
# systemctl daemon-reload
0 {$ K) `3 U, B7 n" w- ]. f6 Y# systemctl enable rbd-target-api; G! p/ ?7 X3 g, L5 Q; u9 D# {% a4 i
# systemctl start rbd-target-api! n2 X4 [8 J( }6 O
Configuring:
- B2 U$ L) Q$ e, l$ i7 Pgwcli将创建和配置iSCSI target和RBD images,并在上一部分中的gateways设置之间复制配置。 较低级别的工具(例如targetcli和rbd)可用于查询本地配置,但不应用于对其进行修改。 下一节将演示如何创建iSCSI target并将RBD image导出为LUN 0。
  h. A. m# I$ D/ \3 b: O; d1、以root用户身份,在iSCSI gateway节点上,启动iSCSI gateway command-line interface:
2 A; X6 P* h7 E: S) V- Z1 L8 _# gwcli
# h' Q7 ?. g* e5 Q1 L8 X+ |* Q( D2、转到iscsi-targets并创建名为iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw的目标:3 H: ~0 v: K7 i6 L( g5 E
> /> cd /iscsi-target
' y4 F: R3 L: q; ^1 p; c# H5 L) X> /iscsi-target>  create iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw
( p* C2 e' x. ^7 s; t5 C7 t3、创建iSCSI gateways。 下面使用的IP是用于iSCSI data(如READ和WRITE命令)的IP。 它们可以是trusted_ip_list中列出的用于管理操作相同的IP,但是建议使用不同的IP。
9 n9 Y* L+ Z/ L# p$ d> /iscsi-target> cd iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/gateways
! _) Q# r5 f4 P4 \, ~9 n> /iscsi-target...-igw/gateways>  create ceph-gw-1 10.172.19.21
5 m! X5 V# r0 N' M# l# f> /iscsi-target...-igw/gateways>  create ceph-gw-2 10.172.19.22! e5 _5 R& o/ U) v' t! j4 G: Y( ~
如果不使用RHEL/CentOS或使用upstream或ceph-iscsi-test kernel,则必须使用skipchecks=true参数。 这将避免Red Hat kernel和rpm checks:
  L( y+ s! [3 m> /iscsi-target> cd iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/gateways
; C! a9 o) G/ J6 Q9 z% g> /iscsi-target...-igw/gateways>  create ceph-gw-1 10.172.19.21 skipchecks=true$ m1 @! J. q$ {6 O' j) I0 e
> /iscsi-target...-igw/gateways>  create ceph-gw-2 10.172.19.22 skipchecks=true
4 O( }3 {! c8 \4、在rbd pool中添加名称为disk_1的RBD image:
' _' R% ]. l8 _  r* Q> /iscsi-target...-igw/gateways> cd /disks) R4 D- w7 J( R" l4 w
> /disks> create pool=rbd image=disk_1 size=90G
- C! m" O; ]/ a" z7 R4 b5、创建一个客户端,使用initiator名称iqn.1994-05.com.redhat:rh7-client:- s# v7 P, D  e2 D5 N5 Q' b. |
> /disks> cd /iscsi-target/iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/hosts
% g; a" H7 y4 q6 ^1 h% c> /iscsi-target...eph-igw/hosts>  create iqn.1994-05.com.redhat:rh7-client2 v, {) A& l# r9 b6 D
6、将客户端的CHAP用户名设置为myiscsiusername,将密码设置为myiscsipassword:
4 {5 g0 W6 [9 l& R! N9 c> /iscsi-target...at:rh7-client>  auth username=myiscsiusername password=myiscsipassword; A( e: b( o# K5 H
警告必须始终配置CHAP。 如果没有CHAP,target将拒绝任何登录请求。: _# b4 |% B. S! |2 c* r
7、将disk添加到客户端:
1 u& @( _" C( F9 z) Z4 I> /iscsi-target...at:rh7-client> disk add rbd/disk_19 ~" @9 o8 S+ S% ]7 C6 ~* c" ^
下一步是配置iSCSI initiators。
! m# X& m+ G- a9 ]6 Z手动安装CEPH-ISCSI( F3 j3 ^1 N6 L9 W4 l
Requirements
9 C! l- N( K) d+ W) D# ]' }" m要完成ceph-iscsi的安装,有4个步骤:
3 l- [  }1 E4 S/ y' Q; H6 I1、从Linux发行版的软件repository安装common packages# z% X  x% v2 b" ~; j
2、安装Git以直接从其Git repositories中获取其余packages
$ \. ^! B" b9 |% r& Z) z( u" N3、确保使用兼容的kernel7 ?7 N+ i' C( }' H. [% l
4、安装ceph-iscsi的所有组件并启动相关的daemons:
* K# c0 V* A% e8 M& Vtcmu-runner1 L: }1 r) o- a0 r+ a# A& z1 H8 d
rtslib-fb
; f  ]) r0 f7 J4 J; x3 M( C$ \configshell-fb
" A" s7 l# X( j* Z$ y: Itargetcli-fb5 s  Y" ~+ m7 e
ceph-iscsi, D3 Q) t0 U  @* K' S! M
1、安装COMMON PACKAGES9 f- |. Y+ [  K0 _
ceph-iscsi和target工具将使用以下packages。 必须从Linux发行版的软件repository中将它们安装在将成为iSCSI gateway的每台计算机上:! B6 _" }* p9 y
libnl38 N- n0 _& l3 g8 i
libkmod4 N; e/ h$ ?% R2 o! N- q4 k) U6 b
librbd1
+ x1 L2 H& B" `+ ^pyparsing8 ~* c0 G  U! m; M
python kmod
7 c1 K2 L1 h3 `" p7 E/ |9 ipython pyudev. @) n4 g2 o$ t8 I6 V
python gobject
' ?3 Y; z& ?) Ppython urwid( w' E( x6 S: v- t3 D
python pyparsing- {4 X* L* A. n6 l( E( T, p
python rados
! H/ a% L) O1 d. |! W! H6 Z- U  z' ]python rbd- T4 X+ \0 E* ~$ }
python netifaces, C; q$ {# {! T  ]$ E% N
python crypto
' ~; d( Z2 s2 G7 H/ O! u. cpython requests
4 r$ S% H. i& Lpython flask/ [/ l* j1 r6 P( {: K
pyOpenSSL
  J# J6 S6 j0 O' n+ P. h7 n2、安装GIT
, K) l6 G$ Z0 X9 F1 ~# U为了安装使用Ceph运行iSCSI所需的所有packages,您需要使用Git直接从其repository中下载它们。 在CentOS/RHEL上执行:
7 Q% f4 }- M# e  |> sudo yum install git
1 `- o% k) ]- {, c6 Y在Debian/Ubuntu上执行:
" a- r4 V% `! K: e> sudo apt install git! z+ G& z% E; H0 s3 g
要了解有关Git及其工作方式的更多信息,请访问https://git-scm.com, _0 k( z+ m7 i  k- Z7 L9 g) j
3、确保使用了兼容的KERNEL
$ w# [" D' v, U/ }7 B确保使用支持Ceph iSCSI patches的kernel:- c$ a* i* k" ?: X6 @
具有内核v4.16或更高版本的所有Linux发行版
" t, {5 P1 Q2 A, @Red Hat Enterprise Linux或CentOS 7.5更高版本4 x6 T) C( B" E: a' ], M% c# q
如果您已经在使用兼容的kernel,则可以转到下一步。 但是,如果您不使用兼容的kernel,请查看发行版的文档以获取有关如何构建此kernel的特定说明。 唯一的Ceph iSCSI特定要求是必须启用以下构建选项:4 K) S' a( g* K" ~9 t9 Z8 Y0 V
CONFIG_TARGET_CORE=m0 @, F- Z- @5 H0 B+ `
CONFIG_TCM_USER2=m
' G- @% V# s1 U8 X) }/ \3 m' z! eCONFIG_ISCSI_TARGET=m  Z" d" W7 L( j  E+ W
4、安装CEPH-ISCSI4 a) G! g: E* G2 [) f
最后,可以直接从其Git repositories中获取其余工具,并启动其相关服务+ K, l0 I, n$ p; [( Y
TCMU-RUNNER
) H6 i7 D5 `8 ^Installation:
6 {5 R5 ~- u* j3 K> git clone https://github.com/open-iscsi/tcmu-runner9 ^5 T: }" ?# Q, D) n7 ]/ c
> cd tcmu-runner9 B. r9 R$ T- B2 T
运行以下命令以安装所有必需的依赖项:3 }  V( I2 Z: z5 D/ I( R" K
> ./extra/install_dep.sh4 }- Y/ f( `! k+ L2 W' \2 Z" D
现在,您可以构建tcmu-runner。 为此,请使用以下构建命令:! ~9 Y* z- r  @! v7 V
> cmake -Dwith-glfs=false -Dwith-qcow=false -DSUPPORT_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX=/usr
+ m3 A% r$ E5 d7 R! \5 }! r> make install
* m0 s' k8 f4 z  o启用并启动守护程序:9 m' I8 `8 c9 i
> systemctl daemon-reload- j; U4 R; z0 I. ~8 V
> systemctl enable tcmu-runner: l! S( C3 X  U' k) G, k
> systemctl start tcmu-runner# u( d) D9 y+ J5 f/ j0 {
RTSLIB-FB
4 r* e; P- h* K" T, U$ B. o# vInstallation:0 J% @. I' q+ |3 Q
> git clone https://github.com/open-iscsi/rtslib-fb.git6 E! `+ R! v6 i  z2 H4 b6 v3 Z/ u
> cd rtslib-fb: B6 ^) b/ Q0 {' J. q
> python setup.py install. \% q: \0 T; s, f: L4 Z' ^
CONFIGSHELL-FB
) Y; w7 x  j# bInstallation:
7 ~3 z; d, l" F1 Y2 w> git clone https://github.com/open-iscsi/configshell-fb.git1 M8 m" S. Q* g  s7 f9 Y8 r
> cd configshell-fb
5 i# A, L( O/ o; R' E, v& l3 T1 R> python setup.py install! c% `+ ?+ I2 a5 g9 J
TARGETCLI-FB
" Z. o& R: l- e: V: dInstallation:3 `4 U4 R6 K$ k
> git clone https://github.com/open-iscsi/targetcli-fb.git; h3 C$ J# U+ @. w1 B
> cd targetcli-fb
6 w9 F/ N' g- m- V3 J$ U> python setup.py install& a" A4 s; q! k: ?: H
> mkdir /etc/target/ M4 H5 C6 x6 x
> mkdir /var/target8 \) @  {" V  g; m4 k
警告ceph-iscsi工具假定它们正在管理系统上的所有targets。 如果已设置targets并由targetcli管理,则必须禁用targets服务。
8 v) ]1 }6 H+ N' TCEPH-ISCSI5 U" C+ w' N* u* I/ n
Installation:
; x( D: c- ]- U) I8 Z; h> git clone https://github.com/ceph/ceph-iscsi.git
0 V8 }" m% F" |+ g( U! z% z6 R! g  m1 A> cd ceph-iscsi
  j2 w! l  @( @2 M> python setup.py install --install-scripts=/usr/bin4 |' c4 p, P0 m% P8 s2 D7 ^! n
> cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
+ N9 U2 x8 U- x5 U1 q> cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system
' }0 W8 ^8 a8 k! f) T4 V启用并启动daemon:4 y0 p( L, ^. j& Y) u$ \  T+ f" l6 x
> systemctl daemon-reload6 I4 ]% \2 W+ O( T, w; k6 l
> systemctl enable rbd-target-gw
7 u8 l6 U) ^$ {) s$ Q$ a; r> systemctl start rbd-target-gw
+ Y# M- I; F2 A% H> systemctl enable rbd-target-api
7 E4 G0 m) T9 _1 O4 y8 F> systemctl start rbd-target-api
' P2 a( B7 ?1 ~: u安装完成。 进入main ceph-iscsi CLI page上的setup部分。
3 b5 @. F% D+ P% h/ v
 楼主| 发表于 2021-7-10 17:12:53 | 显示全部楼层
手动安装CEPH-ISCSI
& c7 v! f2 n% y6 y; @/ eRequirements
5 S% ~% E$ V6 b% L' ?7 K1 G8 w, @" g
要完成ceph-iscsi的安装,有4个步骤:
# L* B1 j' _5 u' O" F0 w
; ]5 g. H% ?0 \; M( {) `, P8 z5 f  a/ j1、从Linux发行版的软件repository安装common packages
0 W" H* F8 a5 J8 @3 a- ]
4 M- v- |' Y; u8 e! s) R6 D* R6 j9 s" R1 \2、安装Git以直接从其Git repositories中获取其余packages# M8 u6 @+ v$ x
& F( X  C$ L; T' F- P8 [) z: R
3、确保使用兼容的kernel8 E5 `; p, {0 s3 u3 V0 J! J

; k. I; b; @0 Y9 B) d1 h" l& H. q4 A4、安装ceph-iscsi的所有组件并启动相关的daemons:
2 Y" x3 m: ~/ D% |! r
7 _- C0 d. U( W- X2 otcmu-runner. {$ Y6 h# i- s/ v
rtslib-fb
8 U# b  U, B6 O: N( P' kconfigshell-fb& O7 d4 J4 \( L& x5 R
targetcli-fb
8 h; G! |& \8 h: Dceph-iscsi; c7 x% T) b4 S; R
1、安装COMMON PACKAGES
( y( Y/ g7 I2 ~- k. Lceph-iscsi和target工具将使用以下packages。 必须从Linux发行版的软件repository中将它们安装在将成为iSCSI gateway的每台计算机上:
* s7 Q- I$ U8 X2 q" i- x$ d$ R# r8 ?! v# N3 {" ?+ L
libnl38 o/ h; h8 B# z' b: C$ P" j. x3 E2 j
libkmod, p- W5 Q# ~3 J" c2 f; g9 }, @8 @
librbd1/ Y# V( z$ [# v/ b" F  z2 g
pyparsing
8 e4 t0 b8 w' t6 m9 s* `3 N( xpython kmod, }9 j4 X  H. ^) e1 b  [2 L
python pyudev
8 \6 u( O, W0 J  s/ O" c; U' }python gobject2 D; x1 G! X1 D. _8 {4 z* T
python urwid
/ }7 l' s1 x! r! f& N7 B4 @python pyparsing6 J1 P, [2 w- d% o3 {& c" ^
python rados
7 |# S0 G3 ?4 J7 v/ G4 l+ i, Q4 Gpython rbd
4 |% w( W; a4 p: spython netifaces% {( \( d. |" d2 w( D
python crypto
# y: N: N7 Y2 T4 apython requests7 d! Q% q# ?1 _1 o1 J# u3 Q! V9 ^% ]
python flask& _, M, q0 i% n$ _4 v# m2 o$ P
pyOpenSSL2 B1 u; a( \1 n& z& G
2、安装GIT
8 ^7 a% |! r1 t, v2 @为了安装使用Ceph运行iSCSI所需的所有packages,您需要使用Git直接从其repository中下载它们。 在CentOS/RHEL上执行:" r7 j! W* M; f, i3 g

$ B" ~! Y1 Y9 `- Z) o> sudo yum install git
. E  E9 n1 p- D& l+ h9 n5 x在Debian/Ubuntu上执行:
8 H" u" j" H) ?1 a2 {& @% ^2 @! B+ P
> sudo apt install git
% a$ \* q5 T. N3 d$ K要了解有关Git及其工作方式的更多信息,请访问https://git-scm.com
$ J' o8 `. F: u& V; h
3 H( c/ K) J3 H3、确保使用了兼容的KERNEL
/ F3 h1 Z4 s6 J$ H1 x确保使用支持Ceph iSCSI patches的kernel:( Y) e* ~* I2 J3 ?3 y3 t  _
8 H; Z, K' G* M5 S) J
具有内核v4.16或更高版本的所有Linux发行版  n2 L7 X1 a1 E8 U0 Z8 n: s
Red Hat Enterprise Linux或CentOS 7.5更高版本
- U9 G0 e- E, s& d" B如果您已经在使用兼容的kernel,则可以转到下一步。 但是,如果您不使用兼容的kernel,请查看发行版的文档以获取有关如何构建此kernel的特定说明。 唯一的Ceph iSCSI特定要求是必须启用以下构建选项:: M* s0 z6 h8 i9 c

% ^5 P2 Z' M! @; S( j) pCONFIG_TARGET_CORE=m
+ N+ i% P; ?. p) [+ ^2 t# wCONFIG_TCM_USER2=m5 S7 @! D" m* Q/ A( t( {
CONFIG_ISCSI_TARGET=m
: p4 V! d& c( u: H$ c( Z6 ]9 Z4、安装CEPH-ISCSI) K: s/ B7 m1 x( V9 |5 y
最后,可以直接从其Git repositories中获取其余工具,并启动其相关服务) s; @. z  ], Q, q* i  F8 z+ s+ O
5 V- r* q7 Q$ l8 `
TCMU-RUNNER
0 a5 F4 i/ F, x0 S5 ]2 O3 L% m/ s& H9 ]# [+ [2 P
Installation:
+ H9 w$ M. s5 l& ~5 ]1 D/ u8 {# n8 W
> git clone https://github.com/open-iscsi/tcmu-runner
% P2 v8 N( @1 ^5 \3 ]> cd tcmu-runner
& V  D. p3 @: g运行以下命令以安装所有必需的依赖项:8 O: Y" \2 }2 g3 I; }
) |0 T5 X4 R8 D8 L% I; B* n5 G
> ./extra/install_dep.sh
2 T( {: b8 }( F现在,您可以构建tcmu-runner。 为此,请使用以下构建命令:
; t8 j, n& K& h5 d. j% g5 c
: v+ K9 E9 b. t5 s> cmake -Dwith-glfs=false -Dwith-qcow=false -DSUPPORT_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX=/usr
' V7 J3 ]' h9 Z> make install" o. D- ]: F: S9 g0 l' g
启用并启动守护程序:( z" C. c1 H0 W7 j$ Y( U* v
( D2 h. q5 T# [0 h' l& E( v+ {* A1 T
> systemctl daemon-reload1 \! d4 K, m, q/ n- F* I: i
> systemctl enable tcmu-runner7 f% p8 S: I* Y  |, J) q
> systemctl start tcmu-runner
3 f5 B6 E7 q4 aRTSLIB-FB
$ ~5 d! u2 m' x) A5 B  k9 J1 h4 b& W/ H0 u* y" F: b; ]* O8 U( ?
Installation:
6 h! d: M. u+ s& j" Y. G! I+ i( a. S+ F0 N/ U# N! i: E( F  |
> git clone https://github.com/open-iscsi/rtslib-fb.git- E+ ]. G$ d( q9 Q, _- A
> cd rtslib-fb
3 r" m3 N% X- d( i/ o' h> python setup.py install
2 `- S3 z' R9 S. D7 K: p2 ^CONFIGSHELL-FB
' i4 h! U) A% a4 d# t: }+ h3 [2 ?$ s1 c! O. X
Installation:& B% b9 u+ F4 m; ~3 S/ [# o' [% B7 h
* h0 F4 n  k/ k7 R8 D& @$ z
> git clone https://github.com/open-iscsi/configshell-fb.git
. Y6 z0 l3 |' n: E> cd configshell-fb# g: _6 Y: p1 v% ^  `4 R
> python setup.py install$ A- H7 J$ h1 T' E# t+ \8 F
TARGETCLI-FB) L4 B2 \" P/ w& f' B  r
- h8 Q* {3 ~2 k2 g
Installation:6 B' z: V$ D( q7 c# y9 m- w+ I
8 I8 X' H7 T; {$ |8 ]/ n
> git clone https://github.com/open-iscsi/targetcli-fb.git
& s" N4 X; I/ Z2 c' V' X> cd targetcli-fb+ ^9 E2 b  j. I4 G
> python setup.py install
  `, j" I1 t8 P) r: T. H> mkdir /etc/target
/ V# x  ~6 A: B1 Z8 X> mkdir /var/target
3 @+ H1 |( `, _警告ceph-iscsi工具假定它们正在管理系统上的所有targets。 如果已设置targets并由targetcli管理,则必须禁用targets服务。) J) O* e# E. E& W

! @4 w6 A+ G% a4 v5 X0 r$ s: SCEPH-ISCSI" A6 o3 d- d/ ]% z1 j0 ^/ Q
Installation:+ [' l7 Z7 y0 b1 {! w1 W! }5 c
( g; W! ]; r, R: ~3 y
> git clone https://github.com/ceph/ceph-iscsi.git
. F* d6 P# F! J7 ~3 e3 }> cd ceph-iscsi
' B7 F+ b8 A% ~> python setup.py install --install-scripts=/usr/bin
" k6 d2 c( i" V5 ~- R4 S( @0 \> cp usr/lib/systemd/system/rbd-target-gw.service /lib/systemd/system
0 ?) k! q9 G- Z/ n4 y> cp usr/lib/systemd/system/rbd-target-api.service /lib/systemd/system
, ~$ M/ G2 ^, V1 j' B7 x" |启用并启动daemon:
9 J+ Z# B! v5 g) q& |# l
( k+ U2 Q* h% U0 W/ s: n2 p> systemctl daemon-reload
4 m5 O; G) ^( B6 M# q> systemctl enable rbd-target-gw' K3 ?. [/ b; P6 `& y( t& l, t
> systemctl start rbd-target-gw9 Q; F( ?" r: d  r
> systemctl enable rbd-target-api
6 }7 W5 ]* E; q7 T2 [* P/ y1 n> systemctl start rbd-target-api5 U& a( \# B% g2 p. ~* U) I  E
安装完成。 进入main ceph-iscsi CLI page上的setup部分。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

如有购买积分卡请联系497906712

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

GMT+8, 2021-9-27 03:34 , Processed in 0.051382 second(s), 23 queries .

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

© 2012-2022 Comsenz Inc.

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