Nhom 6_OpenStack

download Nhom 6_OpenStack

of 17

description

OpenStack Oveview

Transcript of Nhom 6_OpenStack

Image Service (Glance)

Bo co bi tp mn:

CC VN HIN I V CNG NGH PHN MM

ti:

CCH THC HOT NG CA CC MODULE TRONG OPENSTACK

Ni dung nghin cu:

Compute (Nova): chy my o, cu hnh mng Image Service (Glance): Cc kin trc, cch truy vn hnh nh a o. Object Storage (Swift): lu d liu, c th m rng v chu li bngcch sao lu d liu.GVHD: TS. V nh Hiu

Hc vin: Cung Cng i

Phm Th My

Hong Th Hu

MC LC2MC LC

3Image Service (Glance)

31.Gii thiu

32. Kin trc Glance

53. Image Support

64. API support

75. Installation

9Ti liu tham kho

10Swift (OpenStack Object Storage)

10I. Gii thiu Swift

10II. c im v li ch ca Swift

102.1. c im:

112.2. Li ch ca Swift:

112.2.1. i vi cc nh pht trin ng dng:

122.2.2. i vi cc nhm IT:

12III. Swift Architectural Overview (kin trc)

123.1. Building Blocks

133.2. Proxy Servers

133.3. Ring

143.4. Zone: Failure Boundaries (khng ranh gii)

143.5. Accounts & Containers

15a, Container Server

15b, Account Server

153.6. Object Server

153.7. Partitions (Phn vng)

163.8. Replication(to bn sao)

163.9. Updaters

173.10. Auditors (Kim ton vin)

17IV. Ti liu tham kho:

Image Service (Glance)

1.Gii thiu

Image Service (hay c gi l Glance) l dch v OpenStack mi nht.u tin ra mt trong bn pht hnh Bexar, Glance cung cp mt dch v danh mc lu tr v truy vn hnh nh a o.Glance c thit k l mt dch v c lp cho nhng ngi cn phi t chc tp hp ln cc hnh nh a o. Tuy nhin, khi c s dng cng vi Nova v Swift, n cung cp mt gii php end-to-end cho qun l a hnh nh m my.

Hnh 1-1 OpenStack Computer2. Kin trc GlanceC ba phn kin trc: glance-api, glance-registry, v image store. Nh bn c th on, Glance-api chp nhn cuc gi API, ging nh nova-api, v cc m mu hnh nh thc t c t trong kho lu tr hnh nh. Cc lu tr Glance-registry v siu d liu ly v nhng hnh nh. Cc l tr hnh nh c th l mt s cc lu tr i tng khc nhau, bao gm c Swift. Hnh 3-1 minh ha kin trc lgic Glance.

Glance-api l tng t nh chc nng nova-api, trong n chp nhn yu cu API n v sau giao tip vi cc thnh phn khc (Glance-registry v hnh nh lu tr) to iu kin truy vn, ly ln, ti ln, hoc xa hnh nh. Theo mc nh, Glance-api lng nghe trn cng 9292.

Glance-registry qu trnh lu tr v truy xut siu d liu v nhng hnh nh. Phin bn i km vi Glance ch c coi l mt thc hin tham chiu.Cc phin bn ti liu tham kho s dng SQLite 3 lu tr cc siu d liu v Glance-api cho thng tin lin lc. Theo mc nh, Glance- registry lng nghe trn cng 9191.

Hnh 2-1. Kin trc logic ca Glance

C s d liu Glance cha ch c hai bng: Image v Image Property. Bng Image i din cho hnh nh trong kho d liu (nh dng a, cha nh dng, kch thc, ...), trong khi bng Image Property cha siu d liu hnh nh ty chnh. Trong khi cc i din Image v siu d liu hnh nh c lu tr trong c s d liu, nhng hnh nh thc t c lu tr trong cc image stores.

Image stores l cc a im lu tr cho tp tin nh a o v c mt s la chn khc nhau. Image stores hin ang c h tr c th hin trong bng 3-1.Bng 2-1. Ty chn Glance Image Store

Image StoreM t

File systemLu tr, xa, v nhn c hnh nh t mt th mc h thng tp tin c quy nh trong file cu hnh (filesystem_store_datadir ty chn). iu ny c th l mt h thng tp tin trn mt a chia s (v d, NFS).

HTTPLy hnh nh t mt URL. N ch c hnh nh ty chn lu tr. Hnh nh s cn phi c lu vo URL thng qua c ch khc.

SwiftLu tr, xa, v nhn c hnh nh t mt ci t Swift. Yu cu mt s ty chn cu hnh trong glance.conf.

S3Xa hoc ly hnh nh (nhng khng phi lu tr) t dch v S3 ca Amazon.

Mi ty chn ny u c nhng im mnh v im yu ca h. Tuy nhin, hu ht cc phn ci t s s dng Swift, trong khi ci t nh hn c th s dn n s n gin ca cc ty chn h thng tp tin vi mt my ch chia s NFS. S3 hoc HTTP lu tr hnh nh c l ch hu ch cho vic tham kho cc hnh nh c cng b cng khai. Vi ci nhn tng quan v Glance, c r rng nh th no Glance cung cp "s kt hp" gia Swift v Nova. Hnh 3-2 cho thy s tng tc gia cc d n OpenStack cho vic lu tr v phc hi hnh nh a o.

Hnh 2-2. H OpenStack Image3. Image SupportGlance h tr mt mng ln ca a o v cc nh dng container. a o tng t a khi ng ca mt my ch vt l, ch tm gn li mt tp tin. Cng ngh o ha khc nhau h tr cc nh dng a khc nhau. Glance h tr cc nh dng a nh th hin trong bng 3-1.

Bng 3-1. Glance h tr cc nh dng a

Glance cng h tr cc khi nim nh dng ni cha, trong m t cc nh dng tp tin v bao gm thm c siu d liu. Glance h tr hai nh dng cha cng nh s vng mt ca mt nh dng cha (trng), nh th hin trong bng 3-3.

Bng 3-2. Glance Container Formats

Container FormatsCh thch

OVFMt tiu chun m phn phi mt hoc hnh nh my o hn.

aki, ari, ami Amazon kernel, RAM disk, hoc my nh.

BareKhng cha hnh nh.

4. API supportGlance API l mt REST API n gin cho cc truy vn siu d liu hnh nh hoc lu tr hoc ly hnh nh thc t. D liu c tr v nh mt nh x JSON-encoded (truy vn) hoc nh phn (hnh nh truy hi). Di y l mt v d v truy vn Glance bng cch s dng curl bit thm chi tit v tt c cc hnh nh:$ curl http://localhost:9292/images

{"images":

[{"name": "natty-uec",

"container_format": "ami",

"disk_format": "ami",

"checksum": "b420e097baf54cd32af5970b3f0cb93b",

"id": 6,

"size": 1476395008}]

}

Trong v d ny, Glance cho thy rng ch c mt hnh nh trong registry. Danh sch v hnh nh chi tit danh sch cc hm gi hnh nh c th tr v mt lng ln d liu cho cc kho hnh nh ln, nh l khng c bn ghi lc no tn ti rong phin bn ny ca Glance.

Chi tit Glance API c th gi trong bng 3-4.

Bng 4-1. Glance API Calls

Action API Call Description

5. Installation

Nu bn ang trn Ubuntu 11.04 hoc phinbn sau , Glance c th c ci t vi mt n gin apt-get

$ sudo apt-get install glance python-glance-doc

Glance i hi mt s lng ln cc ph thuc. Sau khi ci t, n cn phi c bt u vi cc tin ch kim sot Glance.$ sudo glance-control all startGlance sn sng ti ln v truy vn cc hnh nh a o. Cc lnh ch Glance cho thy tt c cc hnh nh a o hin trong Glance.

$ glance index

No public images found.Nh bn c th nhn thy t v d trn, Glance hin ti l rng . Hy t mt hnh nh vo n.Lnh Glance-upload t mt bn ghi hnh nh vo glance-registry v lu tr cc tp tin d liu trong kho lu tr hnh nh. N i hi mt nh dng a v cha nh dng nh l mt tp ti thiu ca cc i s. Trong v d ny, a o c nh dng nh mt AMI t kho lu tr hnh nh Ubuntu Enterprise Cloud.

$ glance-upload natty-server-uec-amd64.img natty-uec --disk-format ami \

--container-format ami

Stored image. Got identifier: {u'checksum': u'b420e097baf54cd32af5970b3f0cb93b',

u'container_format': u'ami',

u'created_at': u'2011-07-06T00:54:23.600181',

u'deleted': False,

u'deleted_at': None,

u'disk_format': u'ami',

u'id': 6,

u'is_public': True,

u'location': u'file:///var/lib/glance/images/6',

u'name': u'natty-uec',

u'properties': {u'type': u'raw'},

u'size': 1476395008,

u'status': u'active',

u'updated_at': u'2011-07-06T00:55:01.901066'}

By gi l mt hnh nh c ti ln, Glance s hin th thng qua lnh ch Glance.

$ glance index

Found 1 public images...

IDName Disk Format Container FormatSize

6natty-uec ami ami1476395008

Lnh show Glance: c th hin th thng tin chi tit v hnh nh mi c ti ln

$ glance show 6

URI: http://0.0.0.0/images/6

Id: 6

Public: Yes

Name: natty-uec

Size: 1476395008

Location: file:///var/lib/glance/images/6

Disk format: ami

Container format: ami

Property 'type': raw

Hnh nh ny c th s dng.Ti liu tham kho[1] Openstask.org

[2] Deploying OpenStack - Reilly.[3] OS image service devguide Diablo (22/10/2011)Swift (OpenStack Object Storage)I. Gii thiu Swift

Swift l m ngun m pht hnh theo giy php Apache 2.0. Swift sao lu web, ni dung di ng v bt k d liu phi cu trc khc, c th pht trin m khng b rng buc. Swift: a ngi dng (multi-tenant) c kh nng m rng cao, h thng lu tr d phng i tng bn vng c thit k lu tr mt lng ln d liu phi cu trc vi chi ph thp thng qua mt http RESTful API."Kh nng m rng cao" c ngha l n c th m rng n hng ngn my vi hng chc ngn ca a cng.Swift c thit k c kh nng m rng theo chiu ngang. Swift l l tng lu tr v phc v cho nhiu ngi, nhiu ngi s dng ng thi - mt c im phn bit n vi cc h thng lu tr khc.

"D phng" c ngha l swift lu tr nhiu bn sao ca mi thc th trong h thng. Mi bn sao c lu tr sn trong khu vc vt l ring bit, nhng tht bi ph bin nh cc vn v cng, mng khng gy kh khn, khng gy mt d liu hoc thi gian cht.

"Lu tr d liu phi cu trc" c ngha l Swift lu tr theo cc bits.Swift khng phi l mt c s d liu, khng phi l mt h thng lu tr khi cp,Swift lu tr blobs (Binary large Object) ca d liu.Ngoi ra, v Swift m bo rng cc object s c sn d liu ngay khi chng c ghi thnh cng, nn Swift c th c s dng lu tr cc ni dung thay i thng xuyn. thch ng vi nhng nhu cu thay i, h thng lu tr phi c kh nng x l khi lng cng vic quy m web vi ng thi nhiu reader v writer lu tr d liu.Mt s d liu thng vit ra v tm kim, chng hn nh: cc tp tin c s d liu v hnh nh my o,d liu khc nh: vn bn, hnh nh, ti liu (v sao lu thng c ghi mt ln v him khi truy cp).Web v cc d liu di ng cng cn phi c truy cp qua web thng qua mt URL h tr web / ng dng di ng.

S khc bit Swift vi nhiu h thng lu tr khc l n c ngun gc trong mt mi trng sn xut quy m ln, c ngha l n c thit k chu c cc li phn cng m khng cn bt k thi gian cht v cung cp cc nhm hot ng cc phng tin duy tr, nng cp v tng cng mt cluster.Swift c quy m tuyn tnh hot ng c th thm dung lng lu tr khi cn thit m khng cn lo lng v chi ph.

II. c im v li ch ca Swift

2.1. c im:

Cc c tnh quan trng ca Swift bao gm:

Tt c cc i tng c lu tr trong Swift c mt URL

Tt c cc i tng c lu tr c nhn rng 3x trong cc zone (coi nh l duy nht), c th c nh ngha l mt nhm cc a, mt nt, mt rack.

Tt c cc i tng c siu d liu ca ring mnh

Cc nh pht trin tng tc vi h thng lu tr i tng thng qua mt HTTP RESTful API

D liu object c th c t bt c ni no trong cluster. Cluster m rng bng cch thm cc nt b sung m khng hy sinh hiu sut, cho php nng cp hiu qu chi ph lu tr m rng tuyn tnh.

D liu khng phi di chuyn n mt h thng lu tr hon ton mi

Cc nt mi c th c thm vo cluster m khng c thi gian cht

Cc nt v a b hng c th c hon i vi thi gian ngh dng

Chy trn phn cng tiu chun cng nghip, chng hn nh Dell, HP, Supermicro

c c mt danh sch ca tt c cc container trong mt account, s dnglnhGETtrn ti khon:

GET http://swift.example.com/v1/account/

to container mi, s dnglnh PUT vi tn ca cc container mi:

PUT http://swift.example.com/v1/account/new_container

lit k tt c cc i tng trong mt container, s dnglnhGETtrn container:

GET http://swift.example.com/v1/account/container/

to cc i tng mi vi mtPUTtrn i tng:

PUT http://swift.example.com/v1/account/container/new_object

Lnh POST c s dng thay i siu d liu container v objects2.2. Li ch ca Swift:

2.2.1. i vi cc nh pht trin ng dng:

D liu c lu tr v phc v trc tip qua HTTP

Truy cp lu tr trong vi pht.

Mt h thng lu tr multi-tenant (a ngi dng) cho tt c cc ng dng. Mt h sinh thi phong ph ca cc cng c v th vin

2.2.2. i vi cc nhm IT:

S dng chi ph thp, my ch v a tiu chun cng nghip

Qun l nhiu d liu hn v cc case s dng mt cch d dng

Kch hot cc ng dng mi mt cch nhanh chng

Kin trc bn cao.

Khng c nh cung cp lock-in

III. Swift Architectural Overview (kin trc)3.1. Building Blocks

Cc thnh phn cho php Swift cung cp tnh sn sng cao, bn cao v ng thi cao l:

Proxy Servers:x l tt c cc yu cu API.

Rings:Maps tn logic ca d liu n cc a im trn a c th.

Zones:Mi Zone c lp d liu t cc zone khc.Mt tht bi trong mt zone khng nh hng n phn cn li ca cluster v d liu c nhn rng trn cc zone.

Accounts & Containers:Mi ti khon v container l c s d liu c nhn c phn phi trn cluster.Mt c s d liu Account c cha danh sch cc Containers trong Account .Mt c s d liu Container cha danh sch cc i tng trong Container .

Objects:Cc d liu ca chnh cc i tng.

Partitions:phn vng lu tr cc i tng, c s d liu Account v c s d liu container.y l mt trung gian 'vng cha' gip qun l v tr, ni d liu sng trong cluster.

Swift cung cp cc nhm tn min khng gian trong ti khon nh container.

Swift s dng cc nhm server lu tr d liu tnh, chng hn nh ti liu, hnh nh hnh nh, trn c s lu di. H thng hot ng bng cch s dng mt thut ton bm cung cp mt nh danh duy nht cho mi i tng hoc tp tin, c lu tr trn mt node/server d liu.Vic b sung cc node / server mi cho php cc h thng m rng theo chiu ngang.

Siu d liu cho tng object thng tr trn tt c cc server trong cluster vphn mm OpenStack m bo sao chp d liu.File yu cu i ti Swift,Swift y quyn server, server dch cc yu cu, xc nh v tr cc i tng theo cc th bm v siu d liu ca h, sau ly cc i tng v cc tp tin.

Administrators ch nh mt hoc nhiu server ti mt zone, v mi zone c mt bn sao ca mi i tng.H thng yu cu ti thiu l ba zone m bo mt s cn bng ti u gia hiu qu chi ph v phng chng mt d liu (theo Beth Cohen, mt kin trc s m my cao cp ti Boston-Cloud Technology Partners Inc (cloudTP))3.2. Proxy Servers

Proxy Server l giao din chung ca Swift v x l cc yu cu n tt c cc API, c trch nhim lin kt cc phn cn li ca kin trc Swift.Vi mi yu cu, n s tm kim v tr ca account, container, hoc object trong Ring v nh tuyn theo yu cu cho ph hp.Cc API cng cng cng c tip xc thng qua Proxy Server.

Khi mt Proxy Server nhn c yu cu, n s xc nh cc nt lu tr da trn URL ca i tng, v d nh:

https://swift.example.com/v1/account/container/objectMt s lng ln nhng failure cng c x l trong cc Proxy Server.V d, nu mt server l khng c sn cho mt object PUT, n s yu cu Ring cho mt handoff server (chuyn giao server khc) v tuyn ng c thay th.

Khi i tng c trc tip n hoc t mt object server th s c truyn trc tip thng qua proxy server.

Proxy Servers s dng mt kin trc c chia s v c th m rng khi cn thit trn c s khi lng cng vic d kin.C t nht hai my ch Proxy cn c trin khai d phng.Nu mt my ch proxy tht bi, nhng my khc s ginh quyn iu khin.

3.3. Ring

Mt Ring i din cho mt nh x gia tn ca cc thc th c lu tr trn a v v tr a l ca chng.C Ring ring bit cho cc account, container, v cc object.Khi cc thnh phn khc cn phi thc hin bt k hot ng trn mt container, object, hoc account, th cn phi tng tc vi Ring thch hp xc nh v tr ca n trong cluster.

Cu trc d liu Ring bao gm ba phn chnh: mt danh sch cc thit b trong cluster, mt danh sch cc danh sch id thit b phn vng tp thit b, v mt s nguyn cho bit s bit tnh ton bm phn vng.

D liu c th c c lp vi ni dung ca zone trong Ring.Mi bn sao ca mt phn vng c m bo thng tr trong mt zone khc nhau.Mt zone c th i din cho mt a, mt server, cabinet, mt switch, hoc thm ch mt trung tm d liu.

Cc phn vng ca Ring c chia u gia tt c cc thit b trong qu trnh ci t Swift.Khi phn vng cn phi c di chuyn xung quanh (v d nu mt thit b c thm vo cluster), Ring m bo rng mt s lng ti thiu cc phn vng c chuyn ti mt thi im, v ch c mt bn sao ca mt phn vng c di chuyn ti mt thi im.

Trng lng c th c s dng cn bng s phn b ca cc phn vng trn a trn cluster.iu ny c th hu ch, v d, khi a c kch thc khc nhau c s dng trong mt cluster.

Ring c s dng bi cc Proxy Server v mt s tin trnh nn (nh sao chp).

Bn Ring phn vng n cc a im vt l trn a. Ring duy tr lp bn ny bng cch s dng cc zone, thit b, phn vng, v bn sao.Mi phn vng trong Ring c ti bn, theo mc nh, 3 ln qua cluster, v cc a im cho mt phn vng c lu tr trong cc Map.Ring cng chu trch nhim xc nh nhng thit b c s dng cho handoff (bn giao) khi failure.

Bn Ring phn vng n cc a im vt l trn a.3.4. Zone: Failure Boundaries (khng ranh gii)

Swift cho php zone c cu hnh c lp cc ranh gii tht bi.Mi bn sao ca d liu nm trong mt zone ring bit, nu c th. cp nh nht, mt zone c th l mt a n hay nhm ca mt vi a.Nu c nm object servers lu tr, th mi my ch s i din cho zone ring ca mnh.Pht trin ln hn th s c mt rack (hoc nhiu rack) ca object servers, mi rack i din cho mt zone.Mc tiu ca zone l cho php cc cluster chu mt cc object server quan trng m khng b mt tt c cc bn sao ca d liu.

Tt c mi th trong Swift c lu gi, theo mc nh l ba bn sao.Swift s t mi bn sao "nh l duy nht" va m bo tnh sn sng cao v bn cao. iu ny c ngha l khi la chn mt v tr bn sao, Swift s la chn mt my ch trong khu vc khng s dng, v trong khu vc c mt bn sao ca d liu.

Khi mt a hng, bn sao d liu c t ng phn phi cho cc zone khc m bo c ba bn sao ca d liu3.5. Accounts & Containers

Mi account v container l mt c s d liu SQLite ring l c phn phi trn cluster.Mt account database c cha danh sch cc container trong account .Mt c s d liu container cha danh sch cc i tng trong container .

theo di v tr ca d liu object, mi account trong h thng c mt c s d liu, c s d liu tham chiu n tt c cc container, v mi c s d liu container tham chiu n mi object

a, Container ServerCng vic chnh Server container l x l danh sch cc i tng.N khng bit v i tng, m ch cn bit cc i tng ang trong mt container c th.Danh sch c lu tr nh l cc tp tin c s d liu SQLite, v nhn rng trn cc cluster ging nh i tng nh th no, lun theo di thng k tng s cc i tng, v tng dung lng s dng cho container .

SQLitel h thngc s d liu quan hnh gn, hon chnh, c th ci t bn trong cctrnh ng dngkhc. SQLite c Richard Hipp vit di dngth vinbng ngn ng lp trnhC.

b, Account ServerAccount Server3.6. Object ServerServer Object l mt blob lu tr server m c th lu tr, truy xut v xa cc i tng c lu tr trn cc thit b a phng.i tng c lu tr nh cc tp tin nh phn trn filesystem vi siu d liu c lu tr trong cc thuc tnh m rng ca tp tin (xattrs).iu ny i hi: filesystem la chn cho cc object servers h tr xattrs trn cc tp tin.Mt s filesystem, nh ext3, c xattrs tt theo mc nh.

Mi i tng c lu tr bng cch s dng mt ng dn c ngun gc t d liu hng ca tn i tng v du thi gian ca hot ng.Ln ghi cui lun thnh cng, v m bo rng i tng phin bn mi nht s c phc v.Xa l mt version (th h) ca tp tin.iu ny m bo rng cc tp tin xa c nhn rng mt cch chnh xc v cc phin bn c hn khng xut hin tr li do cc failure.

3.7. Partitions (Phn vng)

Phn vng l mt tp hp cc d liu c lu tr, bao gm databases account, databases Container, v cc object.Phn vng l ct li h thng sao chp.

Xem mt phn vng nh l mt thng di chuyn qua mt nh kho trung tm.n t hng ring l c t vo thng.H thng x l rng thng ny nh mt thc th gn kt khi n di chuyn trn ton h thng.Mt thng y s tit kim c cc pha hot ng trn ton h thng.

Replication v update object hot ng trn phn vng.Khi h thng quy m hn, s lng ca phn vng l mt s c nh.

Vic thc hin cc phn vng l khi nim rt n gin - mt phn vng ch l mt th mc trn mt a vi mt bng bm tng ng ca nhng g n cha.

Phn vng Swift c cha tt c cc d liu trong h thng.

3.8. Replication(to bn sao)Replication c thit k gi cho h thng trong mt trng thi n nh khi i mt vi cc iu kin li tm thi nh mt mng hoc a tht bi.

Cc qu trnh Replication so snh local data vi mi bn sao t xa m bo tt c Replication u c cha phin bn mi nht.i tng sao chp s dng mt danh sch bm nhanh chng so snh cc phn ph ca mi phn vng.

Replication cng m bo vic d liu c xa khi h thng, khi mt mc (object, container, hoc account) b xa, th tombstone c thit lp nh l phin bn mi nht ca item .Replication cho thy nhng tombstone v m bo rng mc c xa khi ton b h thng.

Nu mt Zone c du hiu hng, mt trong cc nt c cha bn sao s thng bo v ch ng sao chp d liu n mt a im bn giao3.9. UpdatersKhi d liu container hoc account khng th c cp nht ngay lp tc, iu ny thng xy ra trong cc failure hoc khong thi gian load ln.Nu bn cp nht khng thnh cng, cp nht c xp hng i ti local trn filesystem, v update s x l cc bn update khng thnh cng trc .y l ni cui cng c kh nng i vo hot ng.V d: gi s mt container server ti v mt object mi c a vo h thng.Cc object ngay lp tc c sn cho ln c ngay sau khi cc proxy server p ng cho client.Tuy nhin, cc container server khng cp nht danh sch object, do , bn cp nht s c xp hng i cho mt bn cp nht sau .V th danh sch Container c th ti thi im khng c cc object mi c a vo h thng.

3.10. AuditorsAuditors thu thp d liu local server kim tra tnh ton vn ca cc object, container, v account.Nu sai xt c tm thy (trong trng hp ca bit rot (mc nt, hng)), tp tin c cch ly, v replication s thay th cc tp tin li bng bn sao khc.IV. Ti liu tham kho:

1. http://swift.openstack.org2. http://swiftstack.com/3. http://docs.openstack.org/developer/swift/

PAGE Page 9