Ceph ka iSCSI - kapa ski ha u ntse u eme ka hammock

Na ho na le ba har'a rona (tsefovodov) ba sa rateng "profeshenale e feteletseng"?

Ho ke ke ha etsahala - ho seng joalo re ka be re sa kopane le sehlahisoa sena se khahlang haholo le se qabolang.

Bongata ba ba neng ba kentse letsoho ts'ebetsong ea Ceph ba fumane e seng khafetsa (kapa ho e-na le hoo e bile e sa tloaelehang haholo) empa ka linako tse ling e le maemong a batloang - ho hokahanya Ceph ka iSCSI kapa FC. Molelmong oa eng? Ka mohlala, fana ka setšoantšo ho tloha ho Ceph ho ea ho seva sa Windows kapa Solaris se e-s'o ka se etsoa ka lebaka le itseng. Kapa e ntlafalitsoeng, empa e sebelisa hypervisor e sa khoneng ho etsa Ceph - mme, joalo ka ha re tseba, ho na le tse ngata tsa tsona. Ka mohlala? Hantle, ho etsa mohlala, HyperV kapa ESXi, tse sebelisoang ka mafolofolo. 'Me haeba mosebetsi o hlaha oa ho sebeletsa setšoantšo ho tloha Ceph ho ea mochine oa baeti, sena se fetoha mosebetsi o monate haholo.

Kahoo, ho fanoa ka:

  1. sehlopha se seng se ntse se sebetsa sa Ceph
  2. setšoantšo se seng se ntse se le teng se tlamehang ho fanoa ka iSCSI
  3. Lebitso la letamo mypool, lebitso la setšoantšo mypiso/

QALA?

Pele ho tsohle, ha re bua ka FC kapa iSCSI, re na le mekhatlo e kang mothehi le sepheo. Sepheo ke seva, mothehi ke moreki. Mosebetsi oa rona ke ho fana ka setšoantšo sa Ceph ho motho ea qalang ka boiteko bo fokolang. Sena se bolela hore re tlameha ho eketsa sepheo. Empa kae, khomphuteng efe?

Ka lehlohonolo, sehlopheng sa Ceph re na le bonyane karolo e le 'ngoe eo aterese ea eona ea IP e tsitsitseng le hore na ke efe ea likarolo tsa bohlokoahali tsa Ceph e hlophisitsoeng,' me karolo eo ke leihlo. Ka hona, re kenya sepheo sa iSCSI ho sebali (le sebatli ka nako e le 'ngoe, bonyane bakeng sa liteko). Ke entse sena ho CentOS, empa tharollo e boetse e loketse ho ajoa leha e le efe - o hloka feela ho kenya liphutheloana ka tsela e amohelehang kabong ea hau.

# yum -y install iscsi-initiator-utils targetcli

Morero oa liphutheloana tse kentsoeng ke ofe?

  • targetcli - sesebelisoa sa ho laola sepheo sa SCSI se hahiloeng ka har'a kernel ea Linux
  • lisebelisoa tsa iscsi-initiator - sephutheloana se nang le lisebelisoa tse sebelisoang ho laola iSCSI initiator e hahiloeng ka har'a kernel ea Linux

E le hore u fane ka setšoantšo ka iSCSI ho ea qalang, ho na le likhetho tse peli bakeng sa nts'etsopele ea liketsahalo - sebelisa sebaka sa morao-rao sa sepheo kapa u kopanye setšoantšo e le sesebelisoa sa thibela se bonahalang tsamaisong ea ts'ebetso le ho se romela ka iSCSI. Re tla ea ka tsela ea bobeli - sebaka se ka morao sa basebelisi se ntse se le maemong a "teko" 'me ha se e-so lokele ho sebelisoa hantle. Ho phaella moo, ho na le maraba le eona, eo u ka buang haholo ka eona le (oh ho tšoha!) Khang.

Haeba re sebelisa leha e le kabo e tsitsitseng ka potoloho e telele ea tšehetso, kernel eo re nang le eona ke mofuta oa khale, oa khale. Ka mohlala, ho CentOS7 ke 3.10.*, ho CentOS8 ke 4.19. 'Me re thahasella kernel ea bonyane 5.3 (kapa ho fapana le 5.4) le e ncha. Hobaneng? Hobane ka ho sa feleng litšoantšo tsa Ceph li na le likhetho tse ngata tse nolofalitsoeng tse sa tsamaellaneng le li-kernel tsa khale. Sena se bolela hore re hokela polokelo le kernel e ncha bakeng sa kabo ea rona (mohlala, bakeng sa CentOS ena ke elrepo), kenya kernel e ncha ebe o qala sistimi ho sebetsa le kernel e ncha:

  • Hokela ho sesebelisoa se khethiloeng bakeng sa teko
  • Re hokahanya polokelo ea elrepo ho latela litaelo - elrepo.org/tiki/tiki-index.php
  • Kenya kernel: yum -y -enablerepo=elrepo-kernel kenya kernel-ml
  • Qala seva ka sebali (re na le li-monitor tse tharo, ho joalo?)

Ho hokela setšoantšo joalo ka sesebelisoa sa block

# rbd map mypool/myimage
/dev/rbd0

Sohle se setseng ke ho hlophisa sepheo. Mohlaleng ona, ke tla lokisa sepheo ho seo ho thoeng ke. demo mode - ntle le netefatso, e bonahala ebile e fumaneha ho bohle. Sebakeng sa tlhahiso, o kanna oa batla ho hlophisa netefatso - empa hoo ho batla ho le sieo bakeng sa boikoetliso ba kajeno ba ho ithabisa.

Theha mokokotlo o bitsoang disk1 o amanang le faele /dev/rbd/mypool/myimage. Faele e boletsoeng ke sehokelo sa tšoantšetso se entsoeng ka boiketsetso ke udev daemon ho /dev/rbd0. Re sebelisa sehokelo sa tšoantšetso hobane lebitso la sesebelisoa sa rbd le ka fetoha ho latela tatellano eo litšoantšo tsa Ceph li hokahaneng le moamoheli.

Etsa se ka morao:

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

Theha sepheo sa iSCSI:

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

Re hokahanya backend joalo ka LUN ho sepheo:

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

Ha re hlophise sepheo sa mokhoa oa demo:

# 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

Boloka tlhophiso:

# targetcli saveconfig

Ho hlahloba boteng ba sepheo:

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

Re hokahanya sepheo:

# 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.

Haeba u entse ntho e 'ngoe le e' ngoe ka nepo, ho tla hlaha disk e ncha ho seva, e shebahalang joaloka sesebelisoa sa SCSI, empa ha e le hantle ke setšoantšo se tsoang ho Ceph, se fihletsoeng ka sepheo sa iSCSI. Ho qoba mathata a boot, ho molemo ho tlosa disk e hokahantsoeng le sepheo se bonoeng ho tsoa ho moqali oa lehae:

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

Sohle se setseng ke ho phehella tlhophiso e le hore setšoantšo se hokahane ka bohona, 'me ka mor'a ho hokahanya, sepheo se behiloe stratified. Ho qala sepheo ho na le mehato e 'meli - ho hokahanya RBD le ho qala sepheo.

Taba ea pele, ha re lokiseng khokahano ea othomathike ea litšoantšo tsa RBD ho moamoheli. Sena se etsoa ka ho kenyelletsa mela e latelang ho file /etc/ceph/rbdmap:

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

Ho khutlisetsa tlhophiso ea sepheo ho thata ho feta - re hloka ho ngola yuniti bakeng sa systemd e tla khutlisetsa tlhophiso:

# 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

Teko ea ho qetela ke ho qala sebali sa rona hape (hona joale ke sepheo sa iSCSI). Re lokela ho hlokomela hore haeba re ne re sa hlakola database ea mothehi ka taelo iscsiadm -n discoverydb -o hlakola ... u ka qetella u e-na le seva e sa keneng kapa e nka nako e telele ho e kenya.

Ho setse eng?

Lokisa sebatli ho seva moo re batlang ho romella sepheo.

Joang ho netefatsa mamello ea liphoso ea sepheo sa rona?

Ka mokhoa o ts'oanang, o ka hlophisa lipehelo ho li-monitor tse ling mme oa theha multipath (vmware e tla utloisisa sena mme e sebetse, Hyper-V e ke ke ea utloisisa - e hloka liloko tsa SCSI). Kaha moreki oa Ceph ea tsoang kernel ha a sebelise caching, sena se sebetsa haholo. Kapa khetho e 'ngoe ke ho theha sesebelisoa sa sehlopha sa likarolo tse tharo - aterese ea IP e ikemiselitseng le rbdmap le lits'ebeletso tsa sepheo sa scsi, le ho laola sesebelisoa sena ka lisebelisoa tse kopanyang (ke mang ea itseng pacemaker?)

Ho e-na le ho hlaseloa

Joalo ka ha ho hlakile, sengoloa sena ke motlae hanyane - empa ho eona ke lekile ho "potlakela le ka mehlala" ho nahana ka lihlooho tse 'maloa tse tsebahalang ka nako e le ngoe - sepheo sa iSCSI, se ka' nang sa se ke sa romela litšoantšo tsa Ceph - empa mohlala, romela meqolo ea LVM, metheo ea ho sebetsa le iSCSI initiator (mokhoa oa ho hlahloba sepheo, mokhoa oa ho hokela ho sepheo, ho khaola, ho hlakola sepheo sa hau ho tsoa ho database), ho ngola yuniti ea hau bakeng sa systemd le tse ling.

Ke tšepa hore le haeba u sa phete teko ena kaofela ka botlalo, bonyane ho hong ho tsoang sengolong sena ho tla u tsoela molemo.

Source: www.habr.com

Eketsa ka tlhaloso