Ceph permezz ta' iSCSI - jew skiing waqt li tkun wieqfa f'hammock

Hemm dawk fostna (tsefovodov) li ma jħobbux "estrem professjonali"?

Huwa improbabbli - inkella ma nkunux naqtgħu ma' dan il-prodott estremament interessanti u umoristiċi.

Ħafna minn dawk li kienu involuti fl-operat ta 'Ceph iltaqgħu ma' wieħed mhux frekwenti ħafna (jew aħjar saħansitra mhux frekwenti ħafna) iżda kultant f'każ ta 'talba - li jgħaqqdu Ceph permezz ta' iSCSI jew FC. Għalxiex? Ukoll, per eżempju, ibgħat immaġni minn Ceph għal server Windows jew Solaris li għadu ma ġiex virtwalizzat għal xi raġuni. Jew waħda virtwalizzata, iżda bl-użu ta 'hypervisor li ma jistax jagħmel Ceph - u, kif nafu, hemm ħafna minnhom. Pereżempju? Ukoll, per eżempju, HyperV jew ESXi, li huma użati b'mod attiv. U jekk jinqala' l-kompitu li jservi immaġni minn Ceph lil magna mistieden, dan jinbidel f'kompitu eċċitanti ħafna.

Allura, minħabba:

  1. cluster Ceph li diġà qed jaħdem
  2. immaġini diġà eżistenti li trid tiġi moqdija permezz tal-iSCSI
  3. Isem tal-pool mypool, isem l-immaġni immaġni tiegħi

Tibda?

L-ewwelnett, meta nitkellmu dwar FC jew iSCSI, għandna entitajiet bħal inizjatur u mira. Target huwa attwalment server, l-inizjatur huwa klijent. Il-kompitu tagħna huwa li nissottomettu l-immaġni Ceph lill-inizjatur bi sforz minimu. Dan ifisser li rridu nespandu l-mira. Imma fejn, fuq liema kompjuter?

Fortunatament, fi cluster Ceph għandna mill-inqas komponent wieħed li l-indirizz IP tiegħu huwa ffissat u li fuqu wieħed mill-aktar komponenti importanti ta 'Ceph huwa kkonfigurat, u dak il-komponent huwa l-monitor. Għaldaqstant, aħna ninstallaw mira iSCSI fuq il-monitor (u initatur fl-istess ħin, għall-inqas għat-testijiet). Għamilt dan fuq CentOS, iżda s-soluzzjoni hija adattata wkoll għal kwalunkwe distribuzzjoni oħra - għandek bżonn biss li tinstalla l-pakketti bil-mod li huwa aċċettabbli fid-distribuzzjoni tiegħek.

# yum -y install iscsi-initiator-utils targetcli

X'inhu l-iskop tal-pakketti installati?

  • targetcli — utilità għall-ġestjoni tal-mira SCSI mibnija fil-kernel tal-Linux
  • iscsi-initiator-utils — pakkett b'utilitajiet użati biex jimmaniġġjaw l-inizjatur iSCSI mibni fil-kernel tal-Linux

Sabiex tissottometti immaġni permezz tal-iSCSI lill-inizjatur, hemm żewġ għażliet għall-iżvilupp tal-avvenimenti - uża l-backend tal-ispazju tal-utent tal-mira jew qabbad l-immaġni bħala apparat blokk viżibbli għas-sistema operattiva u esportaha permezz tal-iSCSI. Se mmorru fit-tieni triq - il-backend tal-ispazju tal-utent għadu fi stat "sperimentali" u kemmxejn mhux lest għal użu produttiv. Barra minn hekk, hemm nases magħha, li dwarhom tista 'titkellem ħafna u (o orrur!) targumenta.

Jekk nużaw anki distribuzzjoni kemmxejn stabbli b'ċiklu ta 'appoġġ twil, allura l-qalba li għandna hija xi verżjoni antika u antika. Pereżempju, f'CentOS7 huwa 3.10.*, f'CentOS8 huwa 4.19. U aħna huma interessati fil-qalba ta 'mill-inqas 5.3 (jew aħjar 5.4) u aktar ġodda. Għaliex? Minħabba li b'mod awtomatiku l-immaġini Ceph għandhom sett ta 'għażliet attivati ​​li mhumiex kompatibbli ma' kernels anzjani. Dan ifisser li aħna nikkonnettjaw repożitorju b'kernel ġdid għad-distribuzzjoni tagħna (per eżempju, għal CentOS dan huwa elrepo), ninstallaw il-kernel il-ġdid u nibdew mill-ġdid is-sistema biex taħdem mal-kernel il-ġdid:

  • Qabbad mal-monitor magħżul għall-esperiment
  • Aħna ngħaqqdu repożitorji elrepo skont l-istruzzjonijiet - elrepo.org/tiki/tiki-index.php
  • Installa l-qalba: yum -y —enablerepo=elrepo-kernel install kernel-ml
  • Reboot is-server bil-monitor (għandna tliet monitors, hux?)

Tqabbad l-immaġni bħala mezz ta 'blokk

# rbd map mypool/myimage
/dev/rbd0

Kulma jibqa 'huwa li jiġi kkonfigurat il-mira. F'dan l-eżempju, jien se kkonfigurat il-mira fl-hekk imsejħa. modalità demo - mingħajr awtentikazzjoni, viżibbli u aċċessibbli għal kulħadd. F'ambjent ta 'produzzjoni, x'aktarx trid tikkonfigura l-awtentikazzjoni - iżda dan huwa daqsxejn barra mill-ambitu għall-eżerċizzju tal-lum biss għall-gost.

Oħloq backend bl-isem disk1 assoċjat mal-fajl /dev/rbd/mypool/myimage. Il-fajl speċifikat huwa rabta simbolika maħluqa awtomatikament mid-demon udev għal /dev/rbd0. Aħna nużaw rabta simbolika minħabba li l-isem tal-apparat rbd jista 'jinbidel skont l-ordni li fiha l-immaġini Ceph huma konnessi mal-host.

Oħloq backend:

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

Oħloq mira iSCSI:

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

Aħna ngħaqqdu l-backend bħala LUN mal-mira:

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

Ejja kkonfiguraw il-mira għall-modalità 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

Issejvja l-konfigurazzjoni:

# targetcli saveconfig

Iċċekkja l-preżenza tal-mira:

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

Aħna ngħaqqdu l-mira:

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

Jekk għamilt kollox b'mod korrett, diska ġdida se tidher fuq is-server, li tidher qisha apparat SCSI, iżda fil-fatt hija immaġni minn Ceph, aċċessata permezz ta 'mira iSCSI. Biex tevita problemi tal-but, huwa aħjar li tneħħi d-disk konness u l-mira misjuba mill-inizjatur lokali:

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

Li jibqa 'huwa li tippersisti l-konfigurazzjoni sabiex l-immaġni tkun konnessa awtomatikament u, wara l-konnessjoni, il-mira tkun stratifikata. It-tnedija ta' mira tikkonsisti f'żewġ passi - li tgħaqqad l-RBD u fil-fatt titnieda l-mira.

L-ewwel, ejja kkonfigurat il-konnessjoni awtomatika ta 'immaġini RBD lill-host. Dan isir billi żżid il-linji li ġejjin mal-fajl /etc/ceph/rbdmap:

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

Ir-restawr tal-konfigurazzjoni fil-mira huwa ftit aktar ikkumplikat - għandna bżonn niktbu unità għal systemd li tirrestawra l-konfigurazzjoni:

# 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

It-test finali huwa li terġa 'tibda l-monitor tagħna (issa hija mira iSCSI). Għandu jiġi nnutat li kieku ma kklerjajniex id-database tal-inizjatur bil-kmand iscsiadm -n discoverydb -o ħassar... tista' tispiċċa b'server li ma jgħabbix jew jieħu ħafna ħin biex jitgħabbi.

X'fadal?

Ikkonfigura l-inizjatur fuq is-server fejn irridu nibagħtu l-mira.

Kif niżguraw it-tolleranza tal-ħsarat tal-mira tagħna?

Tista' bl-istess mod tikkonfigura miri fuq monitors oħra u twaqqaf multipath (vmware jifhem dan u anke jaħdem, Hyper-V mhux se jifhem - jeħtieġ serraturi SCSI). Peress li l-klijent Ceph mill-kernel ma jużax il-caching, dan huwa pjuttost operabbli. Jew għażla oħra hija li tinħoloq riżors ta' cluster ta' tliet komponenti - indirizz IP mira dedikat u servizzi rbdmap u scsi-target, u timmaniġġja din ir-riżorsa permezz ta' għodod ta' clustering (min qal pacemaker?)

Minflok l-epilogu

Kif jidher ċar, dan l-artikolu huwa daqsxejn ta 'ċajta - iżda fih ippruvajt "malajr u b'eżempji" nikkunsidra diversi suġġetti pjuttost popolari fl-istess ħin - mira iSCSI, li mhux bilfors tesporta immaġini Ceph - iżda pereżempju, esporta volumi LVM, il-baŜi ta 'ħidma ma' inizjatur iSCSI (kif tiskennja mira, kif tikkonnettja ma 'mira, skonnettja, ħassar dħul fil-mira mid-database), tikteb l-unità tiegħek għal systemd u xi oħrajn

Nittama li anki jekk ma tirrepetix dan l-esperiment kollu kollu, tal-inqas xi ħaġa minn dan l-artikolu tkun utli għalik.

Sors: www.habr.com

Żid kumment