Ceph via iSCSI - vel skiing dum stans in tabernaculum unius noctis

Suntne illi apud nos qui "extremum professionalem" non amant?

Verisimile est - aliter non cum hoc valde interesting et ridiculo productum circumvoluti essemus.

Multi eorum, qui operationi Ceph versabantur, unum non admodum frequentem (vel potius etiam infrequentem) offendunt, sed interdum in casu exigente - connectens Ceph per iSCSI vel FC. Quod? Puta, exempli gratia, imaginem a Ceph in Windows vel Solaris servientis exhibe, quae nondum aliqua de causa virtualizata est. Vel virtualizata, sed hypervisore utens qui facere non potest Ceph - et multa, ut scimus, eorum sunt. Exempli gratia? Puta, exempli gratia, HyperV vel ESXi, quae active utitur. Et si negotium oritur serviendi imago a Ceph ad machinam hospitem, hoc fit in negotium valde excitando.

Ita dedit;

  1. iam currentem ad Ceph botrum portassent
  2. iam exsistens imago, quae serviri debet per iSCSI
  3. stagnum nomen mypool, imago nominis myimage

Incipe?

Imprimis, cum de FC vel iSCSI loquimur, talia principia habemus et scopum. Target est actu cultor, principiator clientis est. Nostrum munus est Ceph imaginem initiatori minimo conatu submittere. Hoc modo scopum augere debemus. Sed ubi, quo computatrum?

Fortunate in Ceph botro unum saltem habemus componentem, cuius IP oratio fixa est et in qua una ex maximis Ceph partibus configuratur, eaque pars est monitor. Proinde scopum iSCSI in monitorem instituimus (et initatorem simul, saltem ad probationes). CentOS hoc feci, sed solutio etiam apta est ad quamlibet aliam distributionem - tantum opus est ut sarcinas instituas modo acceptabile in distributione tua.

# yum -y install iscsi-initiator-utils targetcli

Quod ad packages installed?

  • targetcli - utilitas ad scopum SCSI administrandi constructum in nucleo Linux
  • iscsi principians-utils - a sarcina cum utilitate administrandi iSCSI initiator in nucleo Linux constructum

Ut imaginem per iSCSI initiatori subiciant, duae optiones ad progressionem eventuum sunt - utere spatii usoris scopo vel iungo imaginem ut fabrica fabricae rationi operanti visibile et educendo per iSCSI. Ibimus alterum iter - usoris statio in statu "experimentali" adhuc est et ad usum fructuosum parum paratus est. Praeterea sunt laquei cum eo, de quo multum loqui potes, et (proh nefas) disputare.

Si cum longo cycli subsidio utimur etiam aliquantum stabili distributione, nucleum habemus vetustum et antiquam versionem. Exempli gratia, in CentOS7 est 3.10.*, in CentOS8 est 4.19. Et nucleum interro- gamus saltem 5.3 (vel potius 5.4) et recentiorem. Quare? Quia per defaltam Ceph imagines copia optionum habentium capacia quae cum nucleis vetustioribus non compatiuntur. Hoc significat repositorium cum novo nucleo coniungi ad nostram distributionem (exempli gratia: CentOS hoc elrepo), novum nucleum instituere et systema reboare ad novum nucleum operandum;

  • Coniungere ad monitor delectus experimentum
  • Elrepo repositoria iuxta instructiones connectimus - elrepo.org/tiki/tiki-index.php
  • nucleum institue: yum -y β€”enablerepo=elrepo-kernel install kernel-ml
  • Reboot servo cum monitore (habemus tres monitores recte?)

Connectens imaginem ut obstructionum fabrica

# rbd map mypool/myimage
/dev/rbd0

Reliquum est scopo configurare. Hoc exemplum scopo sic dictos configurabo. demo modus - sine authentica, visibilis et omnibus pervia. In ambitu productionis, verisimiliter vis authenticas configurare, sed hoc breve est scopo pro exercitio hodierno pro-fun.

Facere backend nomine disk1 consociata cum tabella /dev/rbd/mypool/myimage. Scapus specificatus est nexus symbolica ab udev daemone ad /dev/rbd0 automatice creata. Symbolica ligamine utimur, quia fabricae nomen rbd variari potest secundum ordinem quo imagines Ceph hospes connectuntur.

Facere backend:

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

Create an iSCSI scopum:

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

Coniungimus backend sicut LUN ad scopum:

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

Configurare in scopum pro demo modus:

# 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

Servo configurationem:

# targetcli saveconfig

Reperiens coram scopo:

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

Nos scopum coniungere:

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

Si omnia recte fecistis, novus orbis in calculonis apparebit, qui speciem SCSI notat, sed imago revera est ex Ceph, per scopum iSCSI accessum. Ad difficultates violentas vitandas, melius est disci connexum et scopum detectum ab initiatore locali removere;

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

Quidquid restat, perseveret configurationem ut imago statim connexa sit et, post connexionem, scopo struatur. Scopum immittens duobus gradibus constat - RBD connectens et scopum actu deducendo.

Primum, connexionem automatis RBD imaginum ad exercitum configuremus. Hoc fit addendo lineas sequentes ad fasciculi /etc/ceph/rbdmap:

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

Configuratio scopo restituenda est paulo magis complicata - scribere oportet unitatem pro systemate quod configurationem restituet;

# 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

Testis ultimus est monitorem nostrum iterum reboot (nunc scopus iSCSI est). Notandum quod si database principiatoris non purgavimus cum mandato iscsiadm -n discoverydb -o delere ... posses finire cum servo qui non aperiat vel diu oneret.

Quid reliqui?

Configurare initiatorem in servo ubi scopum mittere volumus.

Quomodo culpa tolerantiae nostrae scopum praestat?

Eodem modo scuta in alios monitores configurare potes et multipathum erigere (vmware hoc intelleget et etiam opus, Hyper-V non intelleget - SCSI crines requirit). Cum client Ceph a nucleo caching non utitur, hoc est satis operabile. Vel alia optio creare est botrum subsidia trium partium - signum dedicatum IP inscriptionis et rbdmap ac scsi-scoporum operarum, et hoc subsidium per instrumenta ligatura (qui dixit pacemaker) administrare?

pro epilogando

Ut patet, hic articulus est aliquid ioci - sed in eo conatus sum "cito et cum exemplis" aliquot argumenta popularia simul considerare - iSCSI scopo, qui non necessario exportant imagines Ceph - sed exempli gratia; LVM volumina exportare, elementa operandi cum principiante iSCSI (quomodo scopo scandi, quomodo scopo, disiungo, scopo ingressu a datorum delere), scribendo tuam unitatem pro systemate et nonnullis aliis.

Spero quod etiam si totum hoc experimentum in integrum non repetas, aliquid saltem ex hoc articulo tibi utile erit.

Source: www.habr.com