Ceph via iSCSI - oder Ski beim Stand an enger HĂ€ngematt

Ginn et déi ënnert eis (tsefovodov), déi net gÀr "professionell extrem"?

Et ass onwahrscheinlech - soss géife mir net mat dësem extrem interessanten a witzege Produkt tummelen.

Vill Ceph-Benotzer sinn op e manner heefege (oder vlÀicht souguer ganz raren), awer heiansdo nëtzlechen Asazfall gestouss: Ceph iwwer iSCSI oder FC verbannen. Firwat? Zum Beispill, en Ceph-Image op e Server ze liwweren, deen nach net virtualiséiert ass. Windows Oder Solaris. Oder e virtualiséierten, awer mat engem Hypervisor, deen Ceph net ënnerstëtzt - an, wéi mir wëssen, gëtt et vill dovun. Zum Beispill? Gutt, zum Beispill HyperV oder ESXi, déi aktiv benotzt ginn. A wann d'Aufgab entsteet, e Ceph-Image op eng Gaaschtmaschinn ze liwweren, gëtt dat eng ganz interessant Erausfuerderung.

Also, gitt:

  1. e scho lafende Ceph StÀrekoup
  2. e scho bestehend Bild dat via iSCSI zerwéiert muss ginn
  3. Pool Numm mypool, Bild Numm meng Bild

FĂ€nken un?

Als éischt, wa mir iwwer FC oder iSCSI schwÀtzen, hu mir sou Entitéite wéi Initiator an Zil. Zil ass tatsÀchlech e Server, Initiator ass e Client. Eis Aufgab ass d'Ceph Bild dem Initiateur mat minimalem Effort ofzeginn. Dëst bedeit datt mir Zil musse vergréisseren. Mee wou, op wéi engem Computer?

GlĂ©cklecherweis hu mir an engem Ceph Cluster mindestens eng Komponent mat enger fixer IP-Adress an eng vun de wichtegsten Ceph-Komponenten, dĂ©i drop konfigurĂ©iert sinn: de Monitor. Dofir hu mir en iSCSI-Zil um Monitor opgeriicht (an en Initiator, zumindest fir Testzwecker). Ech hunn dat gemaach op CentOS, awer d'LĂ©isung funktionĂ©iert och fir all aner Verdeelung - installĂ©iert d'Packagen einfach op dĂ©i ManĂ©ier, dĂ©i fir Är Verdeelung akzeptabel ass.

# yum -y install iscsi-initiator-utils targetcli

Wat ass den Zweck vun den installéierten Packagen?

  • targetcli — en Utility fir den agebaute Kernel ze verwalten Linux SCSI-Zil
  • iscsi-initiator-utils — e Pak mat Utilityen, dĂ©i fir d'Verwaltung benotzt ginn, erĂ«m am Kernel integrĂ©iert Linux iSCSI-Initiator

Fir e Bild iwwer iSCSI un den Initiator ofzeginn, ginn et zwou Méiglechkeeten fir d'Entwécklung vun Eventer - benotzt de Userspace Backend vum Zil oder verbënnt d'Bild als e Blockapparat sichtbar fir de Betribssystem an exportéiert et iwwer iSCSI. Mir wÀerten den zweete Wee goen - de Userspace Backend ass nach ëmmer an engem "experimentellen" Zoustand an ass liicht net prett fir produktiv Notzung. Donieft ginn et Falen domat, iwwer déi ee vill schwÀtze kann an (oh Horror!) streiden.

Wa mir eng stabil Verdeelung mat engem laaaange Supportzyklus benotzen, dann ass eise Kernel eng antik-antik Versioun. Zum Beispill, an CentOS7 ass 3.10.*, an CentOS8 ass 4.19. Mee mir interesséiere eis fir Kernel 5.3 (a wahrscheinlech 5.4) oder méi nei. Firwat? Well standardméisseg hunn Ceph-Biller eng Rei vun Optiounen aktivéiert, déi net mat eelere Kernelen kompatibel sinn. Dëst bedeit, datt mir e Repository mat engem neie Kernel fir eis Distributioun aktivéieren (zum Beispill, fir CentOS (Dëst ass elrepo), installéiert den neie Kernel a start de System nei fir mam neie Kernel ze funktionéieren:

  • Connect op de Monitor ausgewielt fir den Experiment
  • Mir verbannen elrepo Repositories no den Instruktioune - elrepo.org/tiki/tiki-index.php
  • InstallĂ©iert de Kernel: yum -y —enablerepo=elrepo-kernel installĂ©iere Kernel-ml
  • Restart de Server mam Monitor (mir hunn drĂ€i Monitore, richteg?)

Verbannen d'Bild als Blockapparat

# rbd map mypool/myimage
/dev/rbd0

Alles wat bleift ass d'Zil ze konfigurĂ©ieren. An dĂ«sem Beispill wĂ€ert ech d'Zil am sougenannte konfigurĂ©ieren. Demo Modus - ouni Authentifikatioun, sichtbar an zougĂ€nglech fir jiddereen. An engem ProduktiounsĂ«mfeld wĂ«llt Dir wahrscheinlech d'Authentifikatioun konfigurĂ©ieren - awer dat ass e bĂ«ssen ausserhalb vum Spillraum fir haut just-for-fun Übung.

Erstellt e Backend mam Numm disk1 verbonne mat der Datei /dev/rbd/mypool/myimage. Déi spezifizéiert Datei ass e symbolesche Link automatesch erstallt vum udev Daemon op /dev/rbd0. Mir benotzen e symbolesche Link, well den Numm vum rbd-Apparat kann ofhÀngeg vun der Uerdnung Ànneren, an dÀr d'Ceph-Biller mam Host verbonne sinn.

Erstellt e Backend:

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

Erstellt en iSCSI Zil:

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

Mir verbannen de Backend als LUN zum Zil:

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

Loosst eis d'Zil fir Demo Modus konfiguréieren:

# 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

SpÀichert d'Konfiguratioun:

# targetcli saveconfig

Iwwerpréift d'Disponibilitéit vum Zil:

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

Mir verbannen d'Zil:

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

Wann Dir alles richteg gemaach hutt, erschéngt eng nei Scheif um Server, deen ausgesÀit wéi e SCSI-Apparat, awer tatsÀchlech e Bild vum Ceph ass, zougÀnglech duerch en iSCSI-Zil. Fir Bootproblemer ze vermeiden, ass et besser de verbonne Disk an dat entdeckten Zil vum lokalen Initiator ze lÀschen:

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

Alles wat bleift ass d'Konfiguratioun ze bestoe fir datt d'Bild automatesch ugeschloss ass an no der Verbindung d'Zil stratifizéiert ass. D'Start vun engem Zil besteet aus zwee Schrëtt - d'RBD verbannen an d'Zil tatsÀchlech starten.

Als éischt, loosst eis d'automatesch Verbindung vu RBD Biller zum Host konfiguréieren. Dëst gëtt gemaach andeems Dir déi folgend Zeilen an d' /etc/ceph/rbdmap Datei addéiert:

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

D'Zilkonfiguratioun restauréieren ass e bësse méi komplizéiert - mir mussen eng Eenheet fir Systemd schreiwen déi d'Konfiguratioun restauréiert:

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

Nom=network-online.target rbdmap.service
Virun=remote-fs-pre.target
Wëllt=network-online.target remote-fs-pre.target

[Service]
Typ = Oneshot
RemainAfterExit = jo
ExecStart=/bin/targetcli Konfiguratiounsdatei restauréieren

[Installéieren]
WantedBy = Multi-user.target

# systemdl daemon-reload
# systemctl scsi-target aktivéieren

De leschten Test ass eise Monitor erëm ze starten (et ass elo en iSCSI Zil). Et sollt bemierkt datt wa mir d'Datebank vum Initiator net mam Kommando gelÀscht hunn iscsiadm -n discoverydb -o lÀschen ... da kënnt Dir mat engem Server ophalen deen net lued oder laang dauert fir ze lueden.

Wat bleift iwwreg?

Konfiguréieren den Initiator op de Server wou mir d'Zil schécken wëllen.

Wéi suerge mir fir Feeler Toleranz vun eisem Zil?

Dir kënnt Àhnlech Ziler op anere Monitore konfiguréieren a Multipathing opsetzen (VMware versteet dat a funktionéiert souguer, awer Hyper-V net, well et SCSI-SpÀren erfuerdert). Well de Ceph Client am Kernel kee Caching benotzt, ass dat perfekt machbar. Eng aner Optioun ass et, eng Clusterressource aus drÀi Komponenten ze kreéieren - eng dedizéiert... IP Adressen target a Servicer rbdmap an scsi-target, a verwalten dës Ressource duerch Clustering-Tools (wien huet Pacemaker gesot?)

Amplaz e Virfeld

WĂ©i kloer ass, ass dĂ«sen Artikel e bĂ«sse Witz - awer an et hunn ech probĂ©iert "sĂ©ier a mat Beispiller" e puer zimlech populĂ€r Themen zur selwechter ZĂ€it ze berĂŒcksichtegen - iSCSI Zil, dat vlĂ€icht net onbedĂ©ngt Ceph Biller exportĂ©iert - awer zum Beispill, exportĂ©ieren LVM BĂ€nn, d'Grondlage fir mat engem iSCSI Initiator ze schaffen (wĂ©i een Zil scannt, wĂ©i ee mat engem Zil verbĂ«nnt, trennt, lĂ€scht eng ZilentrĂ©e aus der Datebank), schreift Är eegen Eenheet fir Systemd an e puer anerer

Ech hoffen, datt och wann Dir dëst ganzt Experiment net voll widderhëlt, op d'mannst eppes aus dësem Artikel wÀert Iech nëtzlech sinn.

Source: will.com

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster