ProHoster > Blog > Rianachd > Ceph tro iSCSI - no sgitheadh fhad ‘s a tha e na sheasamh ann an hamag
Ceph tro iSCSI - no sgitheadh fhad ‘s a tha e na sheasamh ann an hamag
A bheil an fheadhainn nar measg (tsefovodov) nach eil dèidheil air “fìor proifeasanta”?
Tha e eu-coltach - air neo cha bhiodh sinn a’ dol mun cuairt leis an toradh air leth inntinneach is èibhinn seo.
Tha mòran den fheadhainn a bha an sàs ann an gnìomhachd Ceph air tighinn tarsainn air fear nach robh glè thric (no eadhon gu math tric) ach uaireannan ann an cùis iarrtas - a’ ceangal Ceph tro iSCSI no FC. Airson dè? Uill, mar eisimpleir, cuir a-steach ìomhaigh bho Ceph gu frithealaiche Windows no Solaris nach deach a dhèanamh brìgheil fhathast airson adhbhar air choireigin. No fear brìgheil, ach a’ cleachdadh hypervisor nach urrainn Ceph a dhèanamh - agus, mar a tha fios againn, tha gu leòr dhiubh ann. Mar eisimpleir? Uill, mar eisimpleir, HyperV no ESXi, a tha air a chleachdadh gu gnìomhach. Agus ma dh 'èiricheas an obair a bhith a' frithealadh ìomhaigh bho Ceph gu inneal aoigheachd, bidh seo na obair inntinneach.
Mar sin, air a thoirt seachad:
braisle Ceph a tha a’ ruith mu thràth
ìomhaigh a tha ann mar-thà a dh’ fheumar a fhrithealadh tro iSCSI
Ainm an amar-snàmh mypool, ainm ìomhaigh m' ìomhaigh
Tòisich?
An toiseach, nuair a bhios sinn a’ bruidhinn mu dheidhinn FC no iSCSI, tha leithid de bhuidhnean againn mar neach-tòiseachaidh agus targaid. Is e frithealaiche a th’ ann an targaid gu dearbh, is e neach-tòiseachaidh a th’ ann an neach-tòiseachaidh. Is e an obair againn ìomhaigh Ceph a chuir a-steach don neach-tòiseachaidh gun mòran oidhirp. Tha seo a’ ciallachadh gum feum sinn an targaid a leudachadh. Ach càite, dè an coimpiutair?
Gu fortanach, ann an cruinneachadh Ceph tha co-dhiù aon phàirt againn aig a bheil an seòladh IP stèidhichte agus air a bheil aon de na pàirtean as cudromaiche de Ceph air a rèiteachadh, agus is e am pàirt sin an monitor. Mar sin, bidh sinn a’ stàladh targaid iSCSI air an monitor (agus neach-tòiseachaidh aig an aon àm, co-dhiù airson deuchainnean). Rinn mi seo air CentOS, ach tha am fuasgladh cuideachd freagarrach airson cuairteachadh sam bith eile - cha leig thu leas ach na pacaidean a chuir a-steach san dòigh a tha iomchaidh nad chuairteachadh.
# yum -y install iscsi-initiator-utils targetcli
Dè an adhbhar a tha aig na pacaidean stàlaichte?
targaidcli - goireas airson an targaid SCSI a riaghladh a chaidh a thogail a-steach don kernel Linux
iscsi-initiator-utils - pasgan le goireasan air an cleachdadh gus an neach-tòiseachaidh iSCSI a riaghladh a chaidh a thogail a-steach don kernel Linux
Gus ìomhaigh a chuir a-steach tro iSCSI chun neach-tòiseachaidh, tha dà roghainn ann airson tachartasan a leasachadh - cleachd backend spacespace an targaid no ceangail an ìomhaigh mar inneal bloca a chithear don t-siostam obrachaidh agus às-mhalairt e tro iSCSI. Thèid sinn an dàrna slighe - tha backend an luchd-cleachdaidh fhathast ann an staid “deuchainneach” agus beagan gun a bhith deiseil airson cleachdadh cinneasach. A bharrachd air an sin, tha duilgheadasan ann, air am faod thu mòran bruidhinn agus (oh uabhas!)
Ma chleachdas sinn eadhon cuairteachadh beagan seasmhach le cearcall taic fada, is e dreach àrsaidh, àrsaidh a th’ anns an kernel a th’ againn. Mar eisimpleir, ann an CentOS7 tha e 3.10.*, ann an CentOS8 tha e 4.19. Agus tha ùidh againn ann an kernel co-dhiù 5.3 (no an àite 5.4) agus nas ùire. Carson? Leis gu bheil seata de roghainnean aig ìomhaighean Ceph gu gnàthach nach eil co-chòrdail ri seann kernels. Tha seo a’ ciallachadh gum bi sinn a’ ceangal stòr-tasgaidh le kernel ùr airson ar cuairteachadh (mar eisimpleir, airson CentOS is e seo elrepo), stàlaich an kernel ùr agus ath-thòisich an siostam gus obrachadh leis an kernel ùr:
Ceangail ris an monitor a chaidh a thaghadh airson an deuchainn
Stàlaich an kernel: yum -y -enablerepo = elrepo-kernel stàlaich kernel-ml
Ath-thòisich am frithealaiche leis an monitor (tha trì sgrùdairean againn, ceart?)
A 'ceangal an ìomhaigh mar inneal bloca
# rbd map mypool/myimage
/dev/rbd0
Chan eil air fhàgail ach an targaid a rèiteachadh. San eisimpleir seo, rèitichidh mi an targaid anns an t-ainm ris an canar. modh demo - gun dearbhadh, follaiseach agus ruigsinneach don h-uile duine. Ann an àrainneachd cinneasachaidh, is dòcha gum bi thu airson dearbhadh a rèiteachadh - ach tha sin beagan taobh a-muigh raon eacarsaich dìreach airson spòrs an-diugh.
Cruthaich backend ainmichte disk1 co-cheangailte ris an fhaidhle / dev/rbd/mypool/myimage. Tha am faidhle ainmichte na cheangal samhlachail a chaidh a chruthachadh gu fèin-ghluasadach leis an daemon udev gu / dev/rbd0. Bidh sinn a’ cleachdadh ceangal samhlachail oir faodaidh ainm an inneal rbd atharrachadh a rèir an òrdugh anns a bheil na dealbhan Ceph ceangailte ris an òstair.
Feuch an rèiteachadh sinn an targaid airson modh 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
Sàbhail an rèiteachadh:
# targetcli saveconfig
A’ dèanamh cinnteach gu bheil an targaid ri fhaighinn:
# iscsiadm -m discovery -t st -p 127.0.0.1:3260
127.0.0.1:3260,1 iqn.2020-01.demo.ceph:mypool
Bidh sinn a 'ceangal an targaid:
# 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.
Ma rinn thu a h-uile càil ceart, nochdaidh diosc ùr air an fhrithealaiche, a tha coltach ri inneal SCSI, ach a tha dha-rìribh na ìomhaigh bho Ceph, a gheibhear thuige tro thargaid iSCSI. Gus duilgheadasan bròg a sheachnadh, tha e nas fheàrr an diosc ceangailte agus an targaid a chaidh a lorg a thoirt air falbh bhon neach-tòiseachaidh ionadail:
Chan eil air fhàgail ach an rèiteachadh a leantainn gus am bi an ìomhaigh ceangailte gu fèin-ghluasadach agus, às deidh ceangal, tha an targaid air a shreapadh. Tha cur air bhog targaid air a dhèanamh suas de dhà cheum - a 'ceangal an RBD agus a' cur air bhog an targaid.
An toiseach, leig dhuinn ceangal fèin-ghluasadach ìomhaighean RBD ris an aoigh a rèiteachadh. Tha seo air a dhèanamh le bhith a’ cur na loidhnichean a leanas ris an fhaidhle /etc/ceph/rbdmap:
Is e an deuchainn mu dheireadh an monitor againn ath-thòiseachadh a-rithist (tha e a-nis na thargaid iSCSI). Bu chòir a thoirt fa-near mura robh sinn air stòr-dàta an neach-tòiseachaidh a ghlanadh leis an àithne iscsiadm -n discoverydb -o sguab às ... dh'fhaodadh tu crìoch a chur air frithealaiche nach eil a' luchdachadh no a bheir ùine mhòr ri luchdachadh.
Dè tha air fhàgail?
Dèan rèiteachadh air an neach-tòiseachaidh air an fhrithealaiche far a bheil sinn airson an targaid a chuir.
Ciamar a nì sinn cinnteach à fulangas lochdan ar targaid?
Faodaidh tu cuideachd targaidean a rèiteachadh air sgrùdairean eile agus multipath a stèidheachadh (tuigidh vmware seo agus eadhon obraichidh e, cha tuig Hyper-V - feumaidh e glasan SCSI). Leis nach eil an neach-dèiligidh Ceph bhon kernel a’ cleachdadh caching, tha seo gu math obrachail. No is e roghainn eile goireas brabhsair de thrì phàirtean a chruthachadh - seòladh IP targaid sònraichte agus seirbheisean rbdmap agus scsi-target, agus an goireas seo a riaghladh tro innealan cruinneachadh (cò thuirt pacemaker?)
An àite post-dealain
Mar a tha soilleir, tha an artaigil seo beagan fealla-dhà - ach ann an sin dh’ fheuch mi ri “gu sgiobalta agus le eisimpleirean” beachdachadh air grunn chuspairean mòr-chòrdte aig an aon àm - targaid iSCSI, a dh’ fhaodadh nach eil gu riatanach às-mhalairt ìomhaighean Ceph - ach mar eisimpleir, às-mhalairt leabhraichean LVM, bunaitean obrachadh le neach-tòiseachaidh iSCSI (mar a nì thu sganadh air targaid, mar a cheanglas tu ri targaid, dì-cheangail, cuir às do inntrigeadh targaid bhon stòr-dàta), a’ sgrìobhadh an aonad agad fhèin airson systemd agus cuid eile
Tha mi an dòchas, eadhon mura dèan thu an deuchainn slàn seo a-rithist gu h-iomlan, gum bi co-dhiù rudeigin bhon artaigil seo feumail dhut.