LINSTOR reposita et integratio eius cum OpenNebula

LINSTOR reposita et integratio eius cum OpenNebula

Haud ita pridem, latinae ex LINBIT novam solutionem SDS suam praesentaverunt - Linstor. Haec est repositio omnino libera secundum probatas technologias: DRBD, LVM, ZFS. Linstor simplicitatem et bene dispositam architecturam coniungit, quae te permittit ut firmitatem consequi et consequitur satis impressive.

Hodie de ea paulo subtilius loqui velim et ostendere quam facile cum OpenNebula integrari possit utens linstor_un - novus agitator quem ad hoc specialiter evolvit.

Linstor in compositione cum OpenNebula permittit ut nubes ieiunium et certas aedifices quae facile in infrastructura tua explicari possunt.

Architectura Linstor

Linstor nec ratio fasciculi nec per se impedimentum reposita est, Linstor orchestrator est qui iacuit abstractionem praebet qui te permittit automate creationem voluminum in LVM vel ZFS et replicare utentes DRBD9.

Fractio stereotypes

Sed expecta, DRBD? - Cur automate et quomodo etiam operari potest?

Praeterita meminerimus, cum DRBD8 valde popularis fuit. Usus eius commodus involvit unum magnum fabricam fabricando et in multas particulas secans, eodem utens LVM. Quadam mdadm RAID-1 sed replicatione retis.

Accessus hic non sine suis incommodis est, ac propterea, adveniente DRBD9, principia consiliorum repositionis mutata sunt, nunc DRBD fabrica separata ad singulas machinas virtuales creatur.

Accessus cum machinis independens technis melius utendo spatii in botro permittit, et etiam plures addit notas additas. Exempli gratia, pro unaquaque tali fabrica numerum replicationum determinare potes, situm et singula loca. Facile sunt creare/delete, snapshots sume, resize, encryption efficiat et multo amplius. Notatu dignum est quod DRBD9 etiam quorumre subsidia, quae te permittit ad condiciones scindendas cerebri vitandas.

Resources et backends

Cum novam fabricam scandali creando, Linstor ponit requisitum numerum replicationum in nodi diversis in botro. Vocabimus unamquamque talem imaginem a resource DRBD.

Duo sunt genera facultatum;

  • Data resource β€” fabrica DRBD ad nodi sita in lacu LVM vel ZFS sunt.
    In momento pluribus subsidiis adiuvatur eorumque numerus constanter augetur. Adsunt LVM, ThinLVM et ZFS. Duo postrema permittunt te creare et uti snapshots.
  • Diskless resource - fabrica DRBD in nodo sine supremo posita est, sed permittens eam ut regularis fabricae clausus tractari sinit, omnes operationes scribentes ad notitias facultates redigendae erunt. Artissimum analogum ad opes disculorum est iSCSI LUN.

Singulae DRBD resource possunt usque ad 8 replicas habere, et una tantum earum per defaltam agere potest. Primary, omnis alius erit secundarium et usus eorum erit impossibilis quamdiu ad minimum unum Primarium est, hoc est, datam inter se simpliciter replicare.

Instruendo machinam DRBD in systema, statim fit Primaryita etiam in terminologia DRBD subsidio Discus esse potest Prima.

Cur igitur Linstor opus est?

Linstor omnia opera intensiva nucleo committens est applicatio ordinaria Javae essentialiter quae te facile automate creationem facultatum DRBD permittit.
Praeterea, unaquaeque subsidia ab eo creata erit botrus DRBD independens, qui independenter agit, cuiuscumque status gubernationis plani et aliarum DRBD facultatum.

Linstor ex duobus tantum consistit;

  • Linstor-controller - Praecipua moderatoris, quae API ad opes creandas et administrandas praebet. Cum satellitibus etiam communicat, spatium liberum in eis reprimens, negotia mittit ad novas facultates creandas et delendas. Una instantia decurrit et utitur database, quod vel internum (H2) vel externum esse potest (PostgreSQL, MySQL, MariaDB)
  • Linstor-satellite - Omnibus nodis repositionis inauguratus et moderatorem informationes de spatio liberae praebet, ac etiam munera a moderatore accepta facit ut nova volumina et cogitationes DRBD super eas condat ac deleat.

Linstor operatur cum sequentibus praecipuis notionibus:

  • nodi - corporis cultor in quo facultates DRBD creabuntur et adhibebuntur.
  • Repono Pool β€” LVM vel ZFS stagnum creatum in nodo quo opes DRBD locabuntur. Piscina orbita etiam fieri potest - haec piscina est in qua solum opes orbis vacuae locabuntur.
  • Resource Definition - Definitio subsidii essentialiter exemplar est quod nomen et omnes proprietates eius describit.
  • Volumen Definition β€” Editio definitionis. Unaquaeque res ex pluribus voluminibus consistere potest, unumquodque volumen magnitudinem habere debet.
  • resource - Instantia stipis fabricata, singula subsidia collocari debent in certo nodo et in aliqua piscinae repositione.

Linstor institutionem

Commendo uti Ubuntu ut ratio, quia... existit ad eam paratus PPA:

add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update

Vel Debian, ubi Linstor institui potest ex repositorio officiali pro Proxmox:

wget -O- https://packages.linbit.com/package-signing-pubkey.asc | apt-key add -
PVERS=5 && echo "deb http://packages.linbit.com/proxmox/ proxmox-$PVERS drbd-9.0" > 
    /etc/apt/sources.list.d/linbit.list
apt-get update

moderatoris

Omnia hic simplicia sunt;

apt-get install linstor-controller linstor-client
systemctl enable linstor-controller
systemctl start linstor-controller

Repono nodis

Linux nucleus aute naves cum nucleo in arbore moduli DRBD8, proh dolor nobis non convenit ac nos oportet instituere DRBD9:

apt-get install drbd-dkms

Ut praxis ostendit, maxime difficultates oriuntur praecise quod modulus DRBD8 in systematis onustus sit, non DRBD9. Fortunate, hoc facile est cursu compescere;

modprobe drbd
cat /proc/drbd

Si vides versio, 9 - quod est omne quod pulchrum, si versio, 8 - significat aliquid errasse et necesse est alias gradus ad rationes invenire.

Nunc lets install linstor satellitum ΠΈ drbd-utils:

apt-get install linstor-satellite drbd-utils
systemctl enable linstor-satellite
systemctl start linstor-satellite

Botrus crea

Repono lacus ac lymphaticorum

Ut backend tollemus ThinLVM, quod id est simplicissimus et snapshots sustentat.
install lvm2si antea non antea, ThinLVM piscinam in omnibus nodis repositionis nostris crearem:

sudo vgcreate drbdpool /dev/sdb
sudo lvcreate -L 800G -T drbdpool/thinpool

Omnes actiones ulteriores directe peragi possunt in moderatore:

Nodos nostros adde:

linstor node create node1 127.0.0.11
linstor node create node2 127.0.0.12
linstor node create node3 127.0.0.13

Faciamus piscinas repono:

linstor storage-pool create lvmthin node1 data drbdpool/thinpool
linstor storage-pool create lvmthin node2 data drbdpool/thinpool
linstor storage-pool create lvmthin node3 data drbdpool/thinpool

Nunc lacus creatas reprehendo:

linstor storage-pool list

Si omnia recte aguntur, tum aliquid simile videamus;

+------------------------------------------------ -------------------------------------------------- ----+ | StoragePool | Node | Driver | PoolName | FreeCapacity | TotalCapacity | SupportsSnapshots | |------------------------------------------------ - ------------------------------------------------- - ---| | data | node1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | verum | | data | node2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | verum | | data | node3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | verum | +------------------------------------------------ -------------------------------------------------- ----+

DRBD opibus

Nunc scriptor experiri novum DRBD resource creare:

linstor resource-definition create myres
linstor volume-definition create myres 1G
linstor resource create myres --auto-place 2

Reprehendo facultates creatae:

linstor resource list 

+------------------------------------------------ -------------------------------------------------- ----+ | Node | Resource | StoragePool | VolumeNr | MinorNr | DeviceName | RELATUM | InUse | State | |-------------------------------------------------- | ------------------------------------------------- - --| | node1 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | insolens | UpToDate | | node2 | myres | data | 0 | 1084 | /dev/drbd1084 | 52 KiB | insolens | UpToDate | +------------------------------------------------ -------------------------------------------------- ---+

Magna! - videmus quod subsidia in duobus primis nodis creatum est, etiam experiri possumus subsidia in tertia creari indiscretam;

linstor resource create --diskless node3 myres

In nodis semper invenies hanc machinam sicut /dev/drbd1084 aut /dev/drbd/by-res/myres/0

Haec quomodo operatur Linstor, plus informationes accipere potes e officialis documenta.

Nunc dicam tibi quomodo eam integrare cum OpenNebulae

Profecta OpenNebula

Non nimis profunde in "Processuum setup OpenNebula", quia... omnes gradus singillatim describuntur officialis documentaquam commendo tibi contactum, tantum tibi dicam de integratione OpenNebulae cum Linstor.

linstor_un

Ad hanc solvendam quaestionem, coegi mea scripsi. linstor_un, in promptu est ut plugin et separatim institui debet.

Tota installationis in nodis OpenNebulae anterioribus exercetur nec actiones additas in nodi computatoriis requirit.

Imprimis opus fac nos habere jq ΠΈ linstor-clientis:

apt-get install jq linstor-client

bigas linstor node list indicet nodis. Omnes OpenNebula nodi computati ad botrum Linstoris adiciendi sunt.

Download and install the plugin:

curl -L https://github.com/OpenNebula/addon-linstor_un/archive/master.tar.gz | tar -xzvf - -C /tmp

mv /tmp/addon-linstor_un-master/vmm/kvm/* /var/lib/one/remotes/vmm/kvm/

mkdir -p /var/lib/one/remotes/etc/datastore/linstor_un
mv /tmp/addon-linstor_un-master/datastore/linstor_un/linstor_un.conf /var/lib/one/remotes/etc/datastore/linstor_un/linstor_un.conf

mv /tmp/addon-linstor_un-master/datastore/linstor_un /var/lib/one/remotes/datastore/linstor_un
mv /tmp/addon-linstor_un-master/tm/linstor_un /var/lib/one/remotes/tm/linstor_un

rm -rf /tmp/addon-linstor_un-master

Nunc opus est addere illud config in OpenNebulae, ut hoc facere sequamur simplices gradus descriptos hic.

Tunc sileo OpenNebula:

systemctl restart opennebula

Et nostri datastores adde, rationem:

cat > system-ds.conf <<EOT
NAME="linstor-system"
TYPE="SYSTEM_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
CLONE_MODE="snapshot"
CHECKPOINT_AUTO_PLACE="1"
BRIDGE_LIST="node1 node2 node3"
TM_MAD="linstor_un"
EOT

onedatastore create system-ds.conf

et statuae copia;

cat > images-ds.conf <<EOT
NAME="linstor-images"
TYPE="IMAGE_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
BRIDGE_LIST="node1 node2 node3"
DISK_TYPE="BLOCK"
DS_MAD="linstor_un"
TM_MAD="linstor_un"
EOT

onedatastore create images-ds.conf

  • parametri AUTO_PLACE numerum ostendit replicationum notitiarum quae ad imaginem novam in OpenNebula creabuntur.
  • parametri CLONE_MODE exacte indicat quomodo imagines iungentur cum novis machinis virtualibus creando; snapshot - Snapsum imaginis creabit et virtualem machinam e snapshoto explicabit; copy β€” completum exemplar imaginis unicuique virtuali machinae dabo.
  • Π’ BRIDGE_LIST Commendatur denotare omnes nodos qui ad operationes exquisitas imaginis praestandas adhibebuntur.

Ad integram indicem parametri fulti, vide README exertus.

Hoc setup perficit, nunc aliquod instrumentum e officiali excipere potes OpenNebula Marketplace et fac inde machinas virtuales.

Project link:
https://github.com/OpenNebula/addon-linstor_un

Source: www.habr.com