iSCSI рджреНрд╡рд╛рд░реЗ Ceph - рдХрд┐рдВрд╡рд╛ рд╣реЕрдореЙрдХрдордзреНрдпреЗ рдЙрднреЗ рдЕрд╕рддрд╛рдирд╛ рд╕реНрдХреАрдЗрдВрдЧ

рдЖрдкрд▓реНрдпрд╛рдордзреНрдпреЗ рдЕрд╕реЗ рдХрд╛рд╣реА рдЖрд╣реЗрдд рдХрд╛ (рддреНрд╕реЗрдлреЛрд╡реЛрдбреЛрд╡реНрд╣) рдЬреНрдпрд╛рдВрдирд╛ тАЬрд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЯреЛрдХрд╛рдЪреАтАЭ рдЖрд╡рдбрдд рдирд╛рд╣реА?

рд╣реЗ рд╕рдВрднрд╡рдиреАрдп рдирд╛рд╣реА - рдЕрдиреНрдпрдерд╛ рдЖрдореНрд╣реА рдпрд╛ рдЕрддреНрдпрдВрдд рдордиреЛрд░рдВрдЬрдХ рдЖрдгрд┐ рдордЬреЗрджрд╛рд░ рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╣ рдЧрдбрдЧрдбрдгрд╛рд░ рдирд╛рд╣реА.

Ceph рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрдкреИрдХреА рдмрд░реЗрдЪ рдЬрдг рд╡рд╛рд░рдВрд╡рд╛рд░ (рдХрд┐рдВрд╡рд╛ рдЕрдЧрджреА рдХреНрд╡рдЪрд┐рддрдЪ) рдкрдг рдХрдзреА рдХрдзреА рдорд╛рдЧрдгреАрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд - Ceph рд▓рд╛ iSCSI рдХрд┐рдВрд╡рд╛ FC рджреНрд╡рд╛рд░реЗ рдЬреЛрдбрдгрд╛рд░реЗ рдЖрдврд│рд▓реЗ рдЖрд╣реЗрдд. рдХрд╢рд╛рд╕рд╛рдареА? рдареАрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реЗрдл рд╡рд░реВрди рд╡рд┐рдВрдбреЛрдЬ рдХрд┐рдВрд╡рд╛ рд╕реЛрд▓рд╛рд░рд┐рд╕ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдПрдХ рдкреНрд░рддрд┐рдорд╛ рд╕рдмрдорд┐рдЯ рдХрд░рд╛ рдЬреА рдЕрджреНрдпрд╛рдк рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рдЖрднрд╛рд╕реАрдХрд░рдг рдХреЗрд▓реЗрд▓реА рдирд╛рд╣реА. рдХрд┐рдВрд╡рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдЗрдЬреНрдб, рдкрд░рдВрддреБ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рд╡рд╛рдкрд░рдгреЗ рдЬреЗ Ceph рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА - рдЖрдгрд┐, рдЬрд╕реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рддреНрдпрд╛рдкреИрдХреА рднрд░рдкреВрд░ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде? рдареАрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, HyperV рдХрд┐рдВрд╡рд╛ ESXi, рдЬреЗ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. рдЖрдгрд┐ рдЬрд░ рд╕реЗрдлрдХрдбреВрди рдЕрддрд┐рдереА рдорд╢реАрдирд╡рд░ рдкреНрд░рддрд┐рдорд╛ рджреЗрдгреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рдЙрджреНрднрд╡рд▓реЗ рддрд░ рд╣реЗ рдПрдХ рдЕрддрд┐рд╢рдп рд░реЛрдорд╛рдВрдЪрдХ рдХрд╛рд░реНрдп рдмрдирддреЗ.

рддрд░, рджрд┐рд▓реЗ:

  1. рдЖрдзреАрдЪ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓рд╛ Ceph рдХреНрд▓рд╕реНрдЯрд░
  2. рдЖрдзреАрдЪ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддрд┐рдорд╛ рдЬреА iSCSI рджреНрд╡рд╛рд░реЗ рджрд┐рд▓реА рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
  3. рддрд▓рд╛рд╡рд╛рдЪреЗ рдирд╛рд╡ рдорд╛рдпрдкреВрд▓, рдкреНрд░рддрд┐рдореЗрдЪреЗ рдирд╛рд╡ рдорд╛рдпрдореЗрдЬ

рд╕реБрд░реВ?

рд╕рд░реНрд╡рдкреНрд░рдердо, рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг FC рдХрд┐рдВрд╡рд╛ iSCSI рдмрджреНрджрд▓ рдмреЛрд▓рддреЛ, рддреЗрд╡реНрд╣рд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЗрдирд┐рд╢рд┐рдПрдЯрд░ рдЖрдгрд┐ рдЯрд╛рд░реНрдЧреЗрдЯ рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рдВрд╕реНрдерд╛ рдЕрд╕рддрд╛рдд. рдЯрд╛рд░реНрдЧреЗрдЯ рд╣рд╛ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ, рдЗрдирд┐рд╢рд┐рдПрдЯрд░ рд╣рд╛ рдХреНрд▓рд╛рдпрдВрдЯ рдЖрд╣реЗ. рдЖрдордЪреЗ рдХрд╛рд░реНрдп рдХрд┐рдорд╛рди рдкреНрд░рдпрддреНрдирд╛рдд рдЖрд░рдВрднрдХрд░реНрддреНрдпрд╛рд▓рд╛ Ceph рдкреНрд░рддрд┐рдорд╛ рд╕рдмрдорд┐рдЯ рдХрд░рдгреЗ рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЖрдкрдг рд▓рдХреНрд╖реНрдпрд╛рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдкрдг рдХреБрдареЗ, рдХреЛрдгрддреНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░?

рд╕реБрджреИрд╡рд╛рдиреЗ, Ceph рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХрд┐рдорд╛рди рдПрдХ рдШрдЯрдХ рдЕрд╕рддреЛ рдЬреНрдпрд╛рдЪрд╛ IP рдкрддреНрддрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ рдЖрдгрд┐ рдЬреНрдпрд╛рд╡рд░ Ceph рдЪрд╛ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪрд╛ рдШрдЯрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ рдЖрдгрд┐ рддреЛ рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ рдореЙрдирд┐рдЯрд░. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдореЙрдирд┐рдЯрд░рд╡рд░ рдПрдХ iSCSI рд▓рдХреНрд╖реНрдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ (рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдПрдХ рдЖрд░рдВрднрдХрд░реНрддрд╛, рдХрд┐рдорд╛рди рдЪрд╛рдЪрдгреНрдпрд╛рдВрд╕рд╛рдареА). рдореА рд╣реЗ CentOS рд╡рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЙрдкрд╛рдп рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдпреЛрдЧреНрдп рдЖрд╣реЗ - рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рддреБрдордЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рдд рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

# yum -y install iscsi-initiator-utils targetcli

рд╕реНрдерд╛рдкрд┐рдд рдкреЕрдХреЗрдЬреЗрд╕рдЪрд╛ рдЙрджреНрджреЗрд╢ рдХрд╛рдп рдЖрд╣реЗ?

  • targetcli тАФ Linux рдХрд░реНрдирд▓рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ SCSI рд▓рдХреНрд╖реНрдп рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрддрддрд╛
  • iscsi-initiator-utils тАФ Linux рдХрд░реНрдирд▓рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ iSCSI рдЗрдирд┐рд╢рд┐рдПрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдпреБрдЯрд┐рд▓рд┐рдЯрд┐рдЬрд╕рд╣ рдкреЕрдХреЗрдЬ

рдЗрдирд┐рд╢рд┐рдПрдЯрд░рд▓рд╛ iSCSI рджреНрд╡рд╛рд░реЗ рдкреНрд░рддрд┐рдорд╛ рд╕рдмрдорд┐рдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рджреЛрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд - рд▓рдХреНрд╖реНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ рдмреЕрдХрдПрдВрдб рд╡рд╛рдкрд░рд╛ рдХрд┐рдВрд╡рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рджрд┐рд╕рдгрд╛рд░реЗ рдмреНрд▓реЙрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдореНрд╣рдгреВрди рдЗрдореЗрдЬ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛ рдЖрдгрд┐ iSCSI рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рд╛. рдЖрдореНрд╣реА рджреБрд╕рд▒реНрдпрд╛ рдорд╛рд░реНрдЧрд╛рд╡рд░ рдЬрд╛рдК - рдпреВрдЬрд░рд╕реНрдкреЗрд╕ рдмреЕрдХрдПрдВрдб рдЕрдЬреВрдирд╣реА "рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ" рд╕реНрдерд┐рддреАрдд рдЖрд╣реЗ рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдереЛрдбрд╛рд╕рд╛ рддрдпрд╛рд░ рдирд╛рд╣реА. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреНрдпрд╛рдд рдХрд╛рд╣реА рддреЛрдЯреЗ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдмрджреНрджрд▓ рдЖрдкрдг рдЦреВрдк рдмреЛрд▓реВ рд╢рдХрддрд╛ рдЖрдгрд┐ (рдЕрд░реЗ рднрдпрдкрдЯ!) рд╡рд╛рдж рдШрд╛рд▓реВ рд╢рдХрддрд╛.

рдЬрд░ рдЖрдкрдг рджреАрд░реНрдШ рд╕рдорд░реНрдерди рдЪрдХреНрд░рд╛рд╕рд╣ рдХрд╛рд╣реАрд╕реЗ рд╕реНрдерд┐рд░ рд╡рд┐рддрд░рдг рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рдд рдЕрд╕реВ, рддрд░ рдЖрдкрд▓реНрдпрд╛рдЬрд╡рд│ рдЕрд╕рд▓реЗрд▓реЗ рдХрд░реНрдирд▓ рдХрд╛рд╣реА рдкреНрд░рд╛рдЪреАрди, рдкреНрд░рд╛рдЪреАрди рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, CentOS7 рдордзреНрдпреЗ рддреЗ 3.10.* рдЖрд╣реЗ, CentOS8 рдордзреНрдпреЗ рддреЗ 4.19 рдЖрд╣реЗ. рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдХрдореАрддрдХрдореА 5.3 (рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдРрд╡рдЬреА 5.4) рдЖрдгрд┐ рдирд╡реАрди рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ. рдХрд╛? рдХрд╛рд░рдг рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рддрдкрдгреЗ Ceph рдкреНрд░рддрд┐рдорд╛рдВрдордзреНрдпреЗ рдкрд░реНрдпрд╛рдпрд╛рдВрдЪрд╛ рд╕рдВрдЪ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рддреЛ рдЬреЛ рдЬреБрдиреНрдпрд╛ рдХрд░реНрдирд▓рд╢реА рд╕реБрд╕рдВрдЧрдд рдирд╕рддреЛ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА рдирд╡реАрди рдХрд░реНрдирд▓рд╕рд╣ рднрд╛рдВрдбрд╛рд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, CentOS рд╕рд╛рдареА рд╣реЗ elrepo рдЖрд╣реЗ), рдирд╡реАрди рдХрд░реНрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рдирд╡реАрди рдХрд░реНрдирд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд┐рд╕реНрдЯрдо рд░реАрдмреВрдЯ рдХрд░рд╛:

  • рдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдореЙрдирд┐рдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рд╛
  • рдЖрдореНрд╣реА рд╕реВрдЪрдирд╛рдВрдиреБрд╕рд╛рд░ рдПрд▓реНрд░реЗрдкреЛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЬ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ - elrepo.org/tiki/tiki-index.php
  • рдХрд░реНрдирд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛: yum -y тАФenablerepo=elrepo-kernel install kernel-ml
  • рдореЙрдирд┐рдЯрд░рд╕рд╣ рд╕рд░реНрд╡реНрд╣рд░ рд░реАрдмреВрдЯ рдХрд░рд╛ (рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддреАрди рдореЙрдирд┐рдЯрд░реНрд╕ рдЖрд╣реЗрдд, рдмрд░реЛрдмрд░?)

рдмреНрд▓реЙрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдореНрд╣рдгреВрди рдкреНрд░рддрд┐рдорд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдд рдЖрд╣реЗ

# rbd map mypool/myimage
/dev/rbd0

рдлрдХреНрдд рд▓рдХреНрд╖реНрдп рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ. рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдореА рддрдерд╛рдХрдерд┐рдд рдордзреНрдпреЗ рд▓рдХреНрд╖реНрдп рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реЗрди. рдбреЗрдореЛ рдореЛрдб - рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╢рд┐рд╡рд╛рдп, рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рджреГрд╢реНрдпрдорд╛рди рдЖрдгрд┐ рдкреНрд░рд╡реЗрд╢рдпреЛрдЧреНрдп. рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд, рддреБрдореНрд╣реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд╛рд▓ - рдкрд░рдВрддреБ рдЖрдЬрдЪреНрдпрд╛ рдлрдХреНрдд-рдордЬреЗрд╕рд╛рдареА рд╡реНрдпрд╛рдпрд╛рдорд╛рд╕рд╛рдареА рддреЗ рдереЛрдбреЗрд╕реЗ рдмрд╛рд╣реЗрд░ рдЖрд╣реЗ.

/dev/rbd/mypool/myimage рдлрд╛рдЗрд▓рд╢реА рд╕рдВрдмрдВрдзрд┐рдд disk1 рдирд╛рд╡рд╛рдЪрд╛ рдмреЕрдХрдПрдВрдб рддрдпрд╛рд░ рдХрд░рд╛. рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╛рдЗрд▓ рд╣реА udev рдбрд┐рдорди рджреНрд╡рд╛рд░реЗ /dev/rbd0 рд╡рд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реА рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдкреНрд░рддрд┐рдХрд╛рддреНрдордХ рджреБрд╡рд╛ рд╡рд╛рдкрд░рддреЛ рдХрд╛рд░рдг rbd рдЙрдкрдХрд░рдгрд╛рдЪреЗ рдирд╛рд╡ рдЬреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ Ceph рдкреНрд░рддрд┐рдорд╛ рд╣реЛрд╕реНрдЯрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рдмрджрд▓реВ рд╢рдХрддреЗ.

рдмреЕрдХрдПрдВрдб рддрдпрд╛рд░ рдХрд░рд╛:

# targetcli /backstores/block create disk1 /dev/rbd/mypool/myimage

рдПрдХ iSCSI рд▓рдХреНрд╖реНрдп рддрдпрд╛рд░ рдХрд░рд╛:

# targetcli /iscsi create iqn.2020-01.demo.ceph:mypool

рдЖрдореНрд╣реА рдмреЕрдХрдПрдВрдбрд▓рд╛ LUN рдореНрд╣рдгреВрди рд▓рдХреНрд╖реНрдпрд╛рд╢реА рдЬреЛрдбрддреЛ:

# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/luns create /backstores/block/disk1

рдбреЗрдореЛ рдореЛрдбрд╕рд╛рдареА рд▓рдХреНрд╖реНрдп рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ:

# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute demo_mode_write_protect=0
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute generate_node_acls=1
# targetcli /iscsi/iqn.2020-01.demo.ceph:mypool/tpg1/ set
> attribute cache_dynamic_acls=1

рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЬрддрди рдХрд░рд╛:

# targetcli saveconfig

рд▓рдХреНрд╖реНрдпрд╛рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рддрдкрд╛рд╕рдд рдЖрд╣реЗ:

# iscsiadm -m discovery -t st -p 127.0.0.1:3260
127.0.0.1:3260,1 iqn.2020-01.demo.ceph:mypool

рдЖрдореНрд╣реА рд▓рдХреНрд╖реНрдп рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ:

# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] (multiple)
Login to [iface: default, target: iqn.2020-01.demo.ceph:mypool, portal: 127.0.0.1,3260] successful.

рддреБрдореНрд╣реА рд╕рд░реНрд╡рдХрд╛рд╣реА рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдПрдХ рдирд╡реАрди рдбрд┐рд╕реНрдХ рджрд┐рд╕реЗрд▓, рдЬреА SCSI рдЙрдкрдХрд░рдгрд╛рд╕рд╛рд░рдЦреА рджрд┐рд╕рддреЗ, рдкрд░рдВрддреБ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд Ceph рдЪреА рдкреНрд░рддрд┐рдорд╛ рдЖрд╣реЗ, iSCSI рд▓рдХреНрд╖реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдмреВрдЯ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реА рдбрд┐рд╕реНрдХ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдЖрд░рдВрднрдХрд╛рдХрдбреВрди рдЖрдврд│рд▓реЗрд▓реЗ рд▓рдХреНрд╖реНрдп рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ:

# iscsiadm -m node --logout
# iscsiadm -m discoverydb -o delete -t st -p 127.0.0.1:3260

рдмрд╛рдХреА рдлрдХреНрдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЯрд┐рдХрд╡реВрди рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рдкреНрд░рддрд┐рдорд╛ рдЖрдкреЛрдЖрдк рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓ рдЖрдгрд┐ рдХрдиреЗрдХреНрд╢рдирдирдВрддрд░, рд▓рдХреНрд╖реНрдп рд╕реНрддрд░реАрдХреГрдд рд╣реЛрдИрд▓. рд▓рдХреНрд╖реНрдп рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рдордзреНрдпреЗ рджреЛрди рдкрд╛рдпрд▒реНрдпрд╛ рдЕрд╕рддрд╛рдд - RBD рд▓рд╛ рдЬреЛрдбрдгреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рд▓рдХреНрд╖реНрдп рд▓рд╛рдБрдЪ рдХрд░рдгреЗ.

рдкреНрд░рдердо, рд╣реЛрд╕реНрдЯрд▓рд╛ RBD рдкреНрд░рддрд┐рдорд╛рдВрдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВрдпрд╛. рд╣реЗ рдЦрд╛рд▓реАрд▓ рдУрд│реА /etc/ceph/rbdmap рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЬреЛрдбреВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ:

# cat /etc/ceph/rbdmap
# RbdDevice Parameters
mypool/myimage id=admin
# systemctl enable rbdmap

рд▓рдХреНрд╖реНрдп рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреЗ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЖрд╣реЗ - рдЖрдореНрд╣рд╛рд▓рд╛ systemd рд╕рд╛рдареА рдПрдХ рдпреБрдирд┐рдЯ рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЬреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░реЗрд▓:

# cat /usr/lib/systemd/system/scsi-target.service
[Unit] Description=Start iSCSI target

After=network-online.target rbdmap.service
Before=remote-fs-pre.target
Wants=network-online.target remote-fs-pre.target

[Service] Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/targetcli restoreconfig

[Install] WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl enable scsi-target

рдЕрдВрддрд┐рдо рдЪрд╛рдЪрдгреА рдореНрд╣рдгрдЬреЗ рдЖрдордЪреЗ рдореЙрдирд┐рдЯрд░ рдкреБрдиреНрд╣рд╛ рд░реАрдмреВрдЯ рдХрд░рдгреЗ (рд╣реЗ рдЖрддрд╛ iSCSI рд▓рдХреНрд╖реНрдп рдЖрд╣реЗ). рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛рд╡реЗ рдХреА рдЬрд░ рдЖрдореНрд╣реА рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рдЗрдирд┐рд╢рд┐рдПрдЯрд░рдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд╛рдл рдХреЗрд▓рд╛ рдирд╕рддрд╛ iscsiadm -n discoverydb -o рд╣рдЯрд╡рд╛ ... рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдЕрд╕рд╛ рд╕рд░реНрд╡реНрд╣рд░ рдорд┐рд│реВ рд╢рдХрддреЛ рдЬреЛ рд▓реЛрдб рд╣реЛрдд рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рд▓реЛрдб рд╣реЛрдгреНтАНрдпрд╛рд╕ рдмрд░рд╛рдЪ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ.

рдХрд╛рдп рдмрд╛рдХреА рдЖрд╣реЗ?

рдЖрдореНрд╣реА рд▓рдХреНрд╖реНрдп рдкрд╛рдард╡реВ рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрд░рдВрднрдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛.

рдЖрдордЪреНрдпрд╛ рд▓рдХреНрд╖реНрдпрд╛рдЪреА рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХрд╢реА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рд╛рд╡реА?

рддреБрдореНрд╣реА рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ рдЗрддрд░ рдореЙрдирд┐рдЯрд░реНрд╕рд╡рд░ рдЯрд╛рд░реНрдЧреЗрдЯреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдорд▓реНрдЯреАрдкрд╛рде рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛ (vmware рд╣реЗ рд╕рдордЬреЗрд▓ рдЖрдгрд┐ рдХрд╛рд░реНрдп рджреЗрдЦреАрд▓ рдХрд░реЗрд▓, Hyper-V рд╕рдордЬрдгрд╛рд░ рдирд╛рд╣реА - рдпрд╛рд╕рд╛рдареА SCSI рд▓реЙрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд). рдХрд░реНрдирд▓рдордзреАрд▓ Ceph рдХреНрд▓рд╛рдпрдВрдЯ рдХреЕрд╢рд┐рдВрдЧ рд╡рд╛рдкрд░рдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рд╣реЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдХрд┐рдВрд╡рд╛ рджреБрд╕рд░рд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгрдЬреЗ рддреАрди рдШрдЯрдХрд╛рдВрдЪреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрд╕рд╛рдзрди рддрдпрд╛рд░ рдХрд░рдгреЗ - рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд▓рдХреНрд╖реНрдп IP рдкрддреНрддрд╛ рдЖрдгрд┐ rbdmap рдЖрдгрд┐ scsi-рд▓рдХреНрд╖реНрдп рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдЯреВрд▓реНрд╕рджреНрд╡рд╛рд░реЗ рд╣реЗ рд╕рдВрд╕рд╛рдзрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ (рдкреЗрд╕рдореЗрдХрд░ рдХреЛрдгреА рд╕рд╛рдВрдЧрд┐рддрд▓реЗ?)

рдРрд╡рдЬреА рдЙрдкрдЦрдВрдбрд╛рдРрд╡рдЬреА

рдЬрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ, рд╣рд╛ рд▓реЗрдЦ рдереЛрдбрд╛ рд╡рд┐рдиреЛрджрд╛рдЪрд╛ рдЖрд╣реЗ - рдкрд░рдВрддреБ рддреНрдпрд╛рдордзреНрдпреЗ рдореА "рддреНрд╡рд░реАрдд рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдгрд╛рдВрд╕рд╣" рдПрдХрд╛рдЪ рд╡реЗрд│реА рдмрд░реНтАНрдпрд╛рдЪ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рд╖рдпрд╛рдВрд╡рд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ - iSCSI рд▓рдХреНрд╖реНрдп, рдЬреЗ рдХрджрд╛рдЪрд┐рдд Ceph рдкреНрд░рддрд┐рдорд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдирд╛рд╣реА - рдкрд░рдВрддреБ рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдПрд▓рд╡реНрд╣реАрдПрдо рд╡реНрд╣реЙрд▓реНрдпреВрдо, рдЖрдпрдПрд╕рд╕реАрдПрд╕рдЖрдп рдЗрдирд┐рд╢рд┐рдПрдЯрд░рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА (рд▓рдХреНрд╖реНрдп рдХрд╕реЗ рд╕реНрдХреЕрди рдХрд░рд╛рд╡реЗ, рд▓рдХреНрд╖реНрдпрд╛рд╢реА рдХрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рд╛рд╡реЗ, рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рд▓рдХреНрд╖реНрдп рдПрдВрдЯреНрд░реА рдХрд╢реА рд╣рдЯрд╡рд╛рд╡реА), systemd рдЖрдгрд┐ рдХрд╛рд╣реА рдЗрддрд░рд╛рдВрд╕рд╛рдареА рдЖрдкрд▓реЗ рд╕реНрд╡рддрдГрдЪреЗ рдпреБрдирд┐рдЯ рд▓рд┐рд╣рд╛.

рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рдпрд╛ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдпреЛрдЧрд╛рдЪреА рд╕рдВрдкреВрд░реНрдг рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХреЗрд▓реА рдирд╛рд╣реА рддрд░реА, рдпрд╛ рд▓реЗрдЦрд╛рддреАрд▓ рдХрд╛рд╣реА рддрд░реА рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛