diff --git a/biblio.bib b/biblio.bib index 64d7a734e3ce492d857d88cac80e4795ec10f1d1..447b65b5cedec653ea5f0bcf645028004a735a97 100644 --- a/biblio.bib +++ b/biblio.bib @@ -1,5 +1,5 @@ @misc{hypervisors, - title = {What is a Hypervisor? Types of Hypervisors 1 & 2}, + title = {What is a Hypervisor? Types of Hypervisors 1 & 2 https://phoenixnap.com/kb/what-is-hypervisor-type-1-2}, url = {https://phoenixnap.com/kb/what-is-hypervisor-type-1-2}, urldate = {2022-05-10}, year = {2019}, @@ -7,7 +7,7 @@ } @misc{zfs, - title = {ZFS}, + title = {ZFS https://unixlinux.tmit.bme.hu/ZFS}, url = {https://unixlinux.tmit.bme.hu/ZFS}, author = {Dr. Korn, András}, year = {2012}, @@ -15,20 +15,20 @@ } @misc{sas, - title = {What are IT mode, HBA mode, RAID mode in (SAS) Controllers?}, + title = {What are IT mode, HBA mode, RAID mode in (SAS) Controllers? https://dannyda.com/2021/09/22/what-are-it-mode-hba-mode-raid-mode-in-sas-controllers/}, url = {https://dannyda.com/2021/09/22/what-are-it-mode-hba-mode-raid-mode-in-sas-controllers/}, year = {2021}, urldate = {2022-05-10} } @misc{ansible, - title = {How Ansible Works}, + title = {How Ansible Works https://www.ansible.com/overview/how-ansible-works?hsLang=en-us}, url = {https://www.ansible.com/overview/how-ansible-works?hsLang=en-us}, urldate = {2022-05-10} } @misc{terraform, - title = {What is Terraform?}, + title = {What is Terraform? Elérhető: https://www.terraform.io/intro}, url = {https://www.terraform.io/intro}, urldate = {2022-05-10} } \ No newline at end of file diff --git a/figs/vke.eps b/figs/vke.eps new file mode 100644 index 0000000000000000000000000000000000000000..24bba764a8ba57b68844493cca7a02f949013ea4 --- /dev/null +++ b/figs/vke.eps @@ -0,0 +1,974 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.16.0 (https://cairographics.org) +%%CreationDate: Wed May 11 22:52:36 2022 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 11 12 690 354 +%%EndComments +%%BeginProlog +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_data_source { + CairoDataIndex CairoData length lt + { CairoData CairoDataIndex get /CairoDataIndex CairoDataIndex 1 add def } + { () } ifelse +} def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%BeginResource: font f-0-0 +%!FontType1-1.1 f-0-0 1.0 +11 dict begin +/FontName /f-0-0 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox {-8 -172 824 714 } readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /space put +dup 40 /parenleft put +dup 41 /parenright put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 80 /P put +dup 85 /U put +dup 98 /b put +dup 101 /e put +dup 107 /k put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 114 /r put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 120 /x put +readonly def +currentdict end +currentfile eexec +f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467 +b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de +800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f +2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b +9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799 +69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5 +8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251caf33acb5858037 +6f0aa57249d5c83bbc6da135bcb3ea11806cc49028f19771b4e47d07ea87b30e6a2ff334d88566 +8ba5220ee4131d19453abc7d18e052468462e7ab25f44d0551f599dd5068f5fecdd6c168868966 +5a8c4b3a5003b950be9162efdc831769f06004cd19172409496ddff508193900575a0ede7929dd +783170c010b1ff2b1d57e7c73b4e655bf2a7957d1d21ab9e8ccba654921412924a3a24c03e6fbb +37cc1c91ac8cbfb1d092f100a118f0bfbc39088739569d16a8bfb3f52fa929d965a9a0d63964f3 +22b447fa99e93da927f44911f92ee13002d48ca21f37c3fd379902102a4fffe00a7b27f8d44afb +4f96297345cac1c2f37418187d0ee152adfff664070affaed534cf705e43ebcdcceaf83bb5b6c0 +eb22523550f80ec4597ebd7e6052d4ea816056ba561b4e199977eab04eb6d4fb5337cf0123bda4 +1b2d8b52dbd6d6a1730ab66dcb2b484251d77caaa733c01fd8f5f530d69202c68707f66d3c2db6 +22cccf1de4ac17169b209fd55e12c5e5323ea4e29412f58ec2fd4f10d7fc86a088dd6070c2d938 +cd3c44163afe57906c1889c8eb2da2634c9ae2a8d4c06f7300266b0604e67dd535710779f67e29 +061757a31646e6d55613f0a3b3f3594c7ad567ad838df00c4e75e5c9783c021ddba668db58c10f +0c279b569b25d07d51147bc9ff8d5d17dd97bffe2ab92105e10e478a7ebb1698044ffd3b1c9299 +4dc85f3ccb12b1f86c6335791c9ad6a7fbbab6f6e8b2f6ce436e784450a5b1a3c7bc722f4cb736 +47e8f3efe5ab25186f165fcf7d27cb7f13f32827084db76caf254a42dadbf30cfd25a5782784eb +386e83ba0a0d73836aa07f3cdf567b8837b1ac6bd9e09cdfb81954e660a72ed1c3e5197aee94ae +356f742ec76c74d7869ca1df01351bf561b4e29091f0e8faea4bb7e14237870eacb078543722c7 +b06a4bf8db46fe8bce0134d5718c9fce64ae9fe8c66dfdbdd50b2c8a1b96dca2eb10538a871621 +16bc365fd6c17036630deba4f76a0ad5dfdba63092d28f1b564609beac709d6a40d5266e784213 +c77e58ea518f754b4f6417ae88f51b73446b2a08ae641578590e2f7419872400f53345a19778b5 +4d040d9eb44121987fd4500fb7085567f6ad3f4b8c7381fdef908a4b647a046280d87cad7f2e48 +f0acafa46693b220f09d75627ac95f0dd433992bb3d57db754f0bc976fdebfe1b53cb150e71502 +0967ae3b364a01e49cd015505e83eec01b6bf212ee3c16f4c4ac0ddc37d4c0383b3891da019a5d +9c484ebdcb99584cb55962ae2cb95dc0856acde1df68a8afa7147aca3a42a90db8ef5c2a442553 +1ff2ef5dcc3952a5684caa59c47c906eceb3b68ddd2205a980ffed9b9681169fa73d651cd1bd50 +2c81a2700d07b12e79c51342e4e075f228ac2247c67be008033712ffe159b8c438e5ff622bfc12 +0f8a81bb52c3ca3cdfec513ae9c4a01ca33a046dde373a86e8badb2512d527ae4c58c9150c630e +f4fa7dea582b78efa9b1a2e511e8f283a47f8ad3ec33431c1e67a00fe79d723cdc1537b57ee240 +f336da0ec02550c080d91caf2763dd243e1e8a57aa58a6c8123058aed88bced053764b7313af03 +32b4ed28f8f7be69fb7a171bbed8badd2a70e0e29156c8f3373f5bc6ea04aaae7fd60e9950fa54 +c71879e2f01969029f74072c9b27775bd49c1a90035dab626a33efc3ddf900b48573f0594aa3de +a98a75475acb121ce061fea3784d64da449a1b99201b706d894965fa93f0edb70890fdf339ff4e +765bc49bac328253b2004f97e1e4dff59e8def39434e2ef4be2beeb226bddf40fad1b787c729dd +7fe36d16acc25edf95661bdce1f5be037bd90412685a09eb98d0681c832b183e043b0385bac3f2 +c46c33cd3dc9a4ba106a6a77e68abeee8084e1e9160704a9a1822013c4b64c39a35b3e1c8702eb +20823484bf223944c2795ad949354698d2ae8a74041ae7a2361ee73a139ebf6fdb3b7a7116f557 +f86842cb49fec35225378ae66b945cd2b77c617c8f327f36d55656b1cbc69e96da62b43942b986 +c7aadd2a791ef6fbf994f3c73835ae5142ff21b92c895c3c4f087c14e39c2e57db8adf5ad782aa +7a81ca72f2be904af980f5e910372f3ef7bb75f99e14527720fc4b357d51067c467567b40b3af6 +a46ec14963702de7f389291dcd59919127a02b0466d8d1651f23e82aabc24312f381f42a44affa +dfa2feb3e1fcdf8150deab95c28572130595514f230fb051430dd48a160b22413352e6823ecd84 +6fe8c709b4022da7de3ce0e9805bb92773df817eab148e3e281a20067567fa15aa4840ad7e8f99 +04f6ca1275c76401628fac7c93eab27c055ae9ec357488281daf45914e1531f0aed162a52379c0 +8e4794d42f16205a0356e1d9a71a8546a614954710422ea6a4ece0d7d9bf4b25310655e1b4bf0d +1940421e66bb19e831e068594497233924d7d706b17e3100ca7b248056cda1fd09a342d8d67695 +8b01fdd0b0eaa28f5b5ef5796d0ce4c5e6be3acba847fa0b17687d5bcb112268e1899ec301e26a +867a3b6bdc72bbc509e6e03f5f6fb473e1a6ecc7f3f98389bee121724a398878409259f39caefb +24efe5c7fd42dbc55e64978231480351dd30c90556fb2c6f431280c1b7aef4aaa96146aef68efb +adb2d369028ce12b8d370f8313bc019563278f0f05d77f3e10cda90593c667448c6f844a73dc97 +8ad8bab386dae9ec9c1f5c3eec8b9f5c26d84c42c190dafefb966aa3128d79643e52399bb0b507 +3318f980ee97965c3b86b7422e34b9e08a162436301c9bcc49ea4c1b21ba06c64f0e67a6bfa1ed +1159468bbac06bacb49c4f10668bf30190d8f6bc8302e5da8116107466410e897cea8cfc40557e +571192edee02b4147bf650748cc9294a0b4a1e8ee19eff73a7115ffcb56e5b21bba9a3e26d2f4f +20c677389b7328c9e7485f27db28764d26a8d6b6cbec3ea03ad7ac66fae8080d8b28928041c85f +b1047b9443f3bd9c8a3ebc6797b0afe147b7c05d54053884ef8858c0f1660da4f70859e5e4c135 +344a4de143c2bf2dcfef7ddff1e512350f16226b710f5367ec060814ca9111b0d81a2222e01013 +d8831ddd6b654cdbc62b20b763b38405a1057df6611d4434cb20813ab9c4aba1cb3fc5b21b6b4d +50526bce053b6f5bdded2b5357b749a57544686249d81ad2ba0623abdce3bf71a05a6ee808a6a5 +20d30b2528b1e5b061a4307d427529e1b2717cd0c7ce7a7de8cd2242f07532a5be372f70bb2409 +e500e89d1c1cb5ed309eec66645319e6727b50b46850ee9cc86177ae405c45cc1a820c37d7bfd7 +15b810fa06bcfe756ae2ed6bf9f70bad38d792967c45013656d26cb45cd6a5045f8c71c2f77652 +b675cc00272488b57b3cf0a725569192380d2ebb2027a33b87f52f7c81e62a4cd23b877262794d +25549fbbfd9296681d8c0a61455167017766c12704308655b3d49df67393e886a0614001c00f5d +3652e39bae752863f89149911b527d9cd6ee0d43a4d6802a3238fda67d132ffefb23d79ab8ed50 +093b7b78fbdfbcfc2602b61a43ceb002385b49265a6102e631e65032460289c24b71cee4418913 +22f3d0f45d1e0df677e31770e32de1738be6aa4c8d4cb3481e418e353c1329f91ff6e05ec56c7d +a480a6e685a168d9c76fa0ad65e7e58d46362b29c7e39ca58d030a40073f82181fa0dcc235d5b2 +961c387404c88d442d6a9b742a3a887b22445b73424cc770664b86a62cdc6c39de4588bd745d35 +659462e929a4a9083eddae6cbd28268aab45d9d425255eae26ac9b7b5c96bb95086c09bfdf0969 +e4d16b25684fee56aad13da00a3034fc4ac42696c27c8a8e77bef120a8f789063cc13a6645b12d +bf34bc318be27a9f38a78156714e07ceac77a6c46373c462895732a73d8803d8ef28bad9db9d41 +f4fcd2d39dcdabee44cb9f80d68d63dfd908a75d3f5f719bff15d6591cf584acda963889c511f9 +f9f575ab4d8237ffc2573f94b695cbe9bc44a1bb26ddc6e55627ba16e5197cada519cc7302dbe7 +7f1fe4cf68c558d8f6e2640000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +%%BeginResource: font DejaVuSans +11 dict begin +/FontType 42 def +/FontName /DejaVuSans def +/PaintType 0 def +/FontMatrix [ 1 0 0 1 0 0 ] def +/FontBBox [ 0 0 0 0 ] def +/Encoding 256 array def +0 1 255 { Encoding exch /.notdef put } for +Encoding 49 /one put +Encoding 50 /two put +Encoding 51 /three put +Encoding 52 /four put +Encoding 99 /c put +Encoding 109 /m put +Encoding 110 /n put +Encoding 116 /t put +Encoding 118 /v put +/CharStrings 10 dict dup begin +/.notdef 0 def +/v 1 def +/m 2 def +/one 3 def +/two 4 def +/three 5 def +/four 6 def +/c 7 def +/n 8 def +/t 9 def +end readonly def +/sfnts [ +<0001000000090080000300106376742000691d3900000768000001fe6670676d7134766a0000 +0968000000ab676c7966022c19ba0000009c000006cc686561640ce601d600000a1400000036 +686865610d9f077700000a4c00000024686d7478324b053600000a70000000286c6f63610000 +26c800000a980000002c6d6178700477067100000ac400000020707265703b07f10000000ae4 +0000056800020066fe96046605a400030007001a400c04fb0006fb0108057f0204002fc4d4ec +310010d4ecd4ec301311211125211121660400fc73031bfce5fe96070ef8f27206290001003d +0000047f0460000600fb40270311040504021101020505040211030206000601110000064202 +0300bf0506050302010504000710d44bb00a5458b90000004038594bb014544bb015545b58b9 +0000ffc03859c4173931002fec3239304b5358071005ed071008ed071008ed071005ed592201 +408e48026a027b027f02860280029102a402080600060109030904150015011a031a04260026 +01290329042008350035013a033a043008460046014903490446054806400856005601590359 +0450086600660169036904670568066008750074017b037b0475057a06850085018903890489 +0586069600960197029a03980498059706a805a706b008c008df08ff083e5d005d1333090133 +01233dc3015e015ec3fe5cfa0460fc5403acfba00000000100ba0000071d047b0022005a4026 +061209180f00061d07150c871d2003b81bbc19100700110f0808065011080f501c18081a4623 +10fcec32fcfcfcec11123931002f3c3ce4f43cc4ec32111217393040133024502470249024a0 +24a024bf24df24ff2409015d013e013332161511231134262322061511231134262322061511 +231133153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5 +e2fd5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c000000000100e10000045a05d5 +000a004040154203a00402a005810700a009081f061c03001f010b10d44bb00f5458b9000100 +403859ecc4fcec31002fec32f4ecd4ec304b5358592201b40f030f04025d3721110535253311 +211521fe014afe990165ca014afca4aa047348b848fad5aa0000000100960000044a05f0001c +009e4027191a1b03181c11050400110505044210a111940da014910400a00200100a02010a1c +171003061d10fc4bb015544bb016545b4bb014545b58b90003ffc03859c4d4ecc0c011123931 +002fec32f4ecf4ec304b5358071005ed0705ed01b01c1011173959220140325504560556077a +047a05761b87190704000419041a041b051c74007606751a731b741c82008619821a821b821c +a800a81b115d005d25211521353600373e0135342623220607353e0133320415140607060001 +8902c1fc4c73018d33614da7865fd3787ad458e80114455b19fef4aaaaaa7701913a6d974977 +964243cc3132e8c25ca5701dfeeb00000001009cffe3047305f000280070402e0015130a8609 +1f862013a0150da00993061ca020932391068c15a329161c13000314191c2620101c03141f09 +062910fc4bb016544bb014545b58b90009ffc03859c4c4d4ecf4ec11173939310010ece4f4e4 +ec10e6ee10ee10ee10ee11123930014009641e611f6120642104005d011e0115140421222627 +351e013332363534262b013533323635342623220607353e01333204151406033f91a3fed0fe +e85ec76a54c86dbec7b9a5aeb6959ea39853be7273c959e6010c8e03251fc490ddf22525c331 +32968f8495a67770737b2426b42020d1b27cab0000020064000004a405d50002000d0081401d +010d030d0003030d4200030b07a00501038109010c0a001c0608040c0e10dc4bb00b544bb00d +545b58b9000cffc03859d43cc4ec32113931002fe4d43cec321239304b5358071004c9071005 +c9592201402a0b002a0048005900690077008a000716012b0026012b0336014e014f0c4f0d56 +01660175017a0385010d5d005d09012103331133152311231121350306fe0201fe35fed5d5c9 +fd5e0525fce303cdfc33a8fea00160c3000000010071ffe303e7047b0019003f401b00860188 +040e860d880ab91104b917b8118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee +10f5ee30400b0f1b101b801b901ba01b05015d01152e0123220615141633323637150e012322 +0011100021321603e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cd +cde32b2baa2424013e010e0112013a230000000100ba00000464047b00130036401903090003 +0e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31002f3ce4f4c4ec111217 +3930b46015cf1502015d0111231134262322061511231133153e013332160464b87c7c95acb9 +b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef00010037000002f2059e00130038 +40190e05080f03a9001101bc08870a0b08090204000810120e461410fc3cc4fc3cc432393931 +002fecf43cc4ec3211393930b2af1501015d01112115211114163b0115232226351123353311 +0177017bfe854b73bdbdd5a28787059efec28ffda0894e9a9fd202608f013e000000013500b8 +00cb00cb00c100aa009c01a600b800660000007100cb00a002b20085007500b800c301cb0189 +022d00cb00a600f000d300aa008700cb03aa0400014a003300cb000000d9050200f4015400b4 +009c01390114013907060400044e04b4045204b804e704cd0037047304cd04600473013303a2 +055605a60556053903c5021200c9001f00b801df007300ba03e9033303bc0444040e00df03cd +03aa00e503aa0404000000cb008f00a4007b00b80014016f007f027b0252008f00c705cd009a +009a006f00cb00cd019e01d300f000ba018300d5009803040248009e01d500c100cb00f60083 +0354027f00000333026600d300c700a400cd008f009a0073040005d5010a00fe022b00a400b4 +009c00000062009c0000001d032d05d505d505d505f0007f007b005400a406b80614072301d3 +00b800cb00a601c301ec069300a000d3035c037103db0185042304a80448008f013901140139 +0360008f05d5019a0614072306660179046004600460047b009c00000277046001aa00e90460 +0762007b00c5007f027b000000b4025205cd006600bc00660077061000cd013b01850389008f +007b0000001d00cd074a042f009c009c0000077d006f0000006f0335006a006f007b00ae00b2 +002d0396008f027b00f600830354063705f6008f009c04e10266008f018d02f600cd03440029 +006604ee00730000140000960000b707060504030201002c2010b002254964b040515820c859 +212d2cb002254964b040515820c859212d2c20100720b00050b00d7920b8ffff5058041b0559 +b0051cb0032508b0042523e120b00050b00d7920b8ffff5058041b0559b0051cb0032508e12d +2c4b505820b0fd454459212d2cb002254560442d2c4b5358b00225b0022545445921212d2c45 +442d2cb00225b0022549b00525b005254960b0206368208a108a233a8a10653a2d0000010000 +00025eb8fc9fc9605f0f3cf5001f080000000000d3c22bfc00000000d3c22bfcf7d6fc4c0e59 +09dc00000008000000010000000000010000076dfe1d00000efef7d6fa510e59000100000000 +00000000000000000000000a04cd006604bc003d07cb00ba051700e1051700960517009c0517 +006404660071051200ba032300370000000000000044000001680000022c0000029c0000039c +0000048400000540000005d800000650000006cc00010000000a0354002b0068000c00020010 +0099000800000415021600080004b8028040fffbfe03fa1403f92503f83203f79603f60e03f5 +fe03f4fe03f32503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe +03e93a03e84203e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f03e1 +fe03e0fe03df3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d4 +4705d57d03d44703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05cc +fe03cb1e03ca3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe +03befe03bdfe03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b7 +8004b6b52505b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403 +ad0e03acab2505ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a512 +03a4fe03a3a20e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c039c +9b19059c64039b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a41059596 +0394930e05942803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f5d03 +8f40048e25038dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b038786 +25058764038685110586250385110384fe038382110583fe0382110381fe0380fe037ffe0340 +ff7e7d7d057efe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a0375fe +0374fa0373fa0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369fe03 +687d036711420566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe035a +fe0359580a0559fa03580a035716190557320356fe0355541505554203541503530110055318 +03521403514a130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe034a +4910054a1303491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342bb03 +414b0340fe033ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033afe03 +39fe033837140538fa033736100537140336350b05361003350b03341e03330d0332310b0532 +fe03310b03302f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a2912 +052a25032912032827250528410327250326250b05260f03250b0324fe0323fe03220f032101 +10052112032064031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a420319114205 +19fe031864031716190517fe031601100516190315fe0314fe0313fe031211420512fe031102 +2d05114203107d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe0308 +022d0508fe030714030664030401100504fe03401503022d0503fe0302011005022d03011003 +00fe0301b80164858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00> +] def +/f-1-0 currentdict end definefont pop +%%EndResource +%%BeginResource: font f-2-0 +%!FontType1-1.1 f-2-0 1.0 +11 dict begin +/FontName /f-2-0 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox {0 -252 871 710 } readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 32 /space put +dup 77 /M put +dup 84 /T put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 103 /g put +dup 105 /i put +dup 107 /k put +dup 109 /m put +dup 111 /o put +dup 114 /r put +dup 116 /t put +dup 117 /u put +readonly def +currentdict end +currentfile eexec +f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467 +b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de +800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f +2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b +9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799 +69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5 +8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251caca0829f5fa523 +94d1d13e531ca63f8db4384673433fdb13b6fe358f1b94f0f773b7d545f7d2c8934aae7005f686 +fa6b0f9848dbb44b0a33b71c7cc94fb20075e4d628793c700dc1d721543166ffaa65052dc20a7e +a050ed3eb0d52ed6cb080249f6b8e86aa2eadc50f91175f6b491837bb309def4cad013211be45c +77492109362a700e49407faaf32f73796166071945dbe6385c333bc8f4f43307a1a43e1d02fa50 +c0a3d821d4be3aecac6c1eb7e1fbef3a71eca3f3461e1006946b408e5894a215d9b68fb265189f +60905a285c31004e120340e25565cbd7fad241b28daddb603fd84439db5f28efd955ac4b1294b6 +15d92f7bd70cc96888c4a8e85ab14dde35d079fef649e709150be2e4de5dff19e6fcfb54b2eb7f +eb9018d31d07ea0fe3522cab463854e8f75e93fd7fd819551d5625e2b3422c12a2c4d88fe51313 +4efc4d1d01f9814f7c2d8b84573ec796c6577e6cccbb8a00731da77858e05305fbd1f14e454411 +85b861a7d6aa0b0089d5056cc157b3289bb454300e4bed6a5c48d74d6ed7bc8702ea82ec4bfe85 +647b635b8930230a537d82f611e68b82c201e0ce2e9ef3de510d05f08906b9d3221b91258aa07c +5575a4769bac62973e5ad676c996a65714c6e0ba0b0ed3a7f6ec1f15b4e242fde1e7bc7914abd1 +0b210351d5fbde593f02b5898701a9762bff24e7f6050ebb3cb3a0f96581338cc7fdadbfacc4ac +33087afd786c8ab37ce2a86b93626463204c0b43f32a85786eafab5cd66f00d127b067ec2d86c6 +cf3f7a3b6f099af71723fcfeda1e778353e3d8f1d3287fc6f4529e6bebf6289cea536091e7f48c +b331b971e311fd335820e13d0ae894dff283d223305743d56b7ef9f64ccc25053370152e5a3d20 +8ef93570aa8b70d1de16c13dcd269b245bb208bb9a9646e199d2fa8e368ff7840693d0b16137cc +458707d15952b04a19f1229c6b7e4d4b12328746e325c5e8c0ec7e61b81d2e4be9e9a8d0333e17 +7c22a91205dc439755c8ceaa65bdbe9e0f139309c6c958dd5861126275a33719c6c24a4afa9342 +987adf4ba4ddc774b10a616734537bdd2294d7f9a8ddcfbcf2cd7906b705f131fec5c1d205bc04 +cdca34ab6b2a0a073578a09c5c5f16a92e045f225fa1b6e4caf577f2281cba627161c2d6241474 +1ca321b950c8cb71f51c1511e8af0695d8aac4479122c9f48d499e6f7fed6f3f1dd9e0ecd1ddab +60501e6643cac66de34beaf6446032187d9ba53ab4c0c5bee84d4096221339defdeaa237381161 +00db82fdd0f66bf6e69f4791bcdd767b5a04833d195abec5a9dd1f943d353138c093464f60260d +1517989b1fdec02d1397a38395b78deefe61ff22f601e2ea17ab02276d85a3d447a4d9463d8116 +0f0fafd5d0ca921b4401c932fbfd7e05a0ced7c26e24b03906af76c800a3212609ebb89a78e5f5 +b6fea3461052c0ebcb1b0992b782836fd601a90f832c85daa45ba7edde42e992c0f0ed57affd9e +d1aa34015cb6cf17da43ed68e6c2d7ad899e6d810d3368125e15cab34be54bd21c589167e1744d +f392415e35524326870f0498db229958ab011985f4d2d3ad6a0d36195bb43dd7d8258b2dfa6544 +0873918e3cc999b318609530f12592850d232c800805c116d8dfe85b28a3c344a81e4b78414ba2 +21720f458349e50e8a194dd257b67a17ead5a8b81a5e7ebbf059beceb0fb6be2586acf2d101530 +8a37695de3b91809b66be1ae8810d34c6a4799607c8496913beb0aa4dab4229ef891a44437a91e +6b79bc5b8654f8fb22b1b9080033b21c1240b127c9442d6c35b5c4c47ca31fa82b278a73bcd044 +1e6a00ed831fe52672e6c52efa818f3ee3cca2c44c25211e2bd379393b5810ede39da1cdd2693a +1eb675c0cf9e1f5908c3d5434821674efd4b4899ea791c6d5ae8412e6b282e018b77464063d2a3 +9ffb3a7ee3a519e6f1e7cf7e35d63fed4175fb833509415225c1cd4fd61e0684190d547e4d096f +4a61e2937c9f1466583bba13d0a243206f25481c94c0c934c7fafc34f547b6381124f8fb4b514b +85a0ac2058bcd1bdb7b93eb5aa21a4c0edbc2c48b137b425a6eba4439827e8cf7f9907acdf1f6e +06b663e6a2c8eee48c282506aa06f53578e90e931828b0f489b0eb4672110bc2b72df97efa4892 +e4f8434f9c49d4a0c05e99d04d52cda24125b2c0a7ad3c5297121874032226be55a20e2fc81387 +8083c7d579e97dab21ef64a9008d84c1777701874d06da2afa4567d1229dff665161cd5b2d4076 +f0f586354137d8997e8b5aadcb923a989b440932d02c13cf2c03825b89bf43e84029e2094073b3 +3be898f970f659c90d99e1000dab464f622f513599fc6f6ad8bf7eb6047e0e53c0e3a0b95e3f67 +ce06dbf9d16c7d36ae01a389da8c21a45d95101e241d780d4ff68a84097b7945debe81bb460b26 +41ee8d8b04bcb7f6ad9aab9e7f89c6ff73dfa6706deca8fa81e89f0b25e7720a23daedc9db6a54 +8a036e1dc5e0825f8f124ffc0c3d4821595b529cf785e4336455cd3085b7ef6abb11bd87d47e7d +3258c6dd11120a4cf9d75af8e3b43d45de87ff84195479111951a64fb37a78669220ea19731382 +bb4f4d44b85f812809674e7fa98d0afbcfec0a1c180dc15b2f8b6258ef9c5ce8e18391b580f4a4 +a59ad14c8728abbba1117b41e34002705e749ad063d0ddb3c1b2e06ccd2e4500cddf5baccb90df +aa86d8735094bad6e13f0de261e30062801c26a06639ccb77aa053c654ef18379382f90be28828 +a736de05f802357b268729a5462b4cf87a21b06014b008cc9afa4984e71dc41685a4599093297e +2ad605582d67bf9f29e7d8d863a485217553abbd22d174ef24e4886a324e1d93a29ea6f96fe2ea +5baffc56e294253d9d313a96e1de56200d33d9fe5314437abe536b90a66da0a76f5d864da1b6b9 +668a1f2baa34872103875810fc4aebb7489c68ad1ce6fc38e3d0265b63fbb0fee2582b618f31cd +79b569642b70208a37aa8031727cbb5c1a37183e14fdda1f7d429572b5a36df10fdba8b90a99a2 +8d978dc474e19fca6c6067638cc4eab6577fb0d6298f700a57c7836378fdae4359bbcf09f2f8f9 +4a2cd86b870a4b8ecf0d9c2cafe56d487099b2c0922e3126e509161c1e1b6f9341a8bc77543032 +fe7459fe965d0727e933d876170fba2a54ca3e0f365010bcf0b1e4b4f1dd158cfb5d4fd62ff008 +c6db2aa8d8473e30043baac5e158bbb915b4184f0cec89433af871e4e79352431cfcefc66d1327 +5455e6e39ff66c1daeffbf474713c1eacfcc08da9144858a56b50ba769385a56322007e7930192 +81b30000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 11 12 690 354 +%%EndPageSetup +q 11 12 679 342 rectclip +1 0 0 -1 0 363 cm q +0.945098 g +177 183.23 m 184.5 175.73 l 359.25 175.73 l 359.25 342.074 l 351.75 349.574 + l 177 349.574 l h +177 183.23 m f +0.0941176 g +0.375 w +0 J +0 j +[] 0.0 d +4 M q 1 0 0 1 0 0 cm +177 183.23 m 184.5 175.73 l 359.25 175.73 l 359.25 342.074 l 351.75 349.574 + l 177 349.574 l h +177 183.23 m S Q +0 g +351.75 183.23 m 359.25 175.73 l f +0.0941176 g +q 1 0 0 1 0 0 cm +351.75 183.23 m 359.25 175.73 l S Q +q 1 0 0 1 0 0 cm +177 183.23 m 351.75 183.23 l S Q +q 1 0 0 1 0 0 cm +351.75 183.23 m 351.75 349.574 l S Q +0 g +BT +12 0 0 -12 188.25 203.559746 Tm +/f-0-0 1 Tf +[(v)-61(k)-52(e)-52(2)-52( )-52(\()-52(P)-40(r)-44(o)-28(x)-52(m)-52(o) +-28(x)-52(\))]TJ +ET +0.945098 g +200.25 219.074 m 207.75 211.574 l 251.25 211.574 l 251.25 240.875 l 243.75 + 248.375 l 200.25 248.375 l h +200.25 219.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +200.25 219.074 m 207.75 211.574 l 251.25 211.574 l 251.25 240.875 l 243.75 + 248.375 l 200.25 248.375 l h +200.25 219.074 m S Q +0 g +243.75 219.074 m 251.25 211.574 l f +0.0941176 g +q 1 0 0 1 0 0 cm +243.75 219.074 m 251.25 211.574 l S Q +q 1 0 0 1 0 0 cm +200.25 219.074 m 243.75 219.074 l S Q +q 1 0 0 1 0 0 cm +243.75 219.074 m 243.75 248.375 l S Q +0 g +BT +10.5 0 0 -10.5 211.5 237.800185 Tm +/f-1-0 1 Tf +[(v)101(m)101(1)]TJ +ET +0.945098 g +277.5 219.074 m 285 211.574 l 328.5 211.574 l 328.5 240.875 l 321 248.375 + l 277.5 248.375 l h +277.5 219.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +277.5 219.074 m 285 211.574 l 328.5 211.574 l 328.5 240.875 l 321 248.375 + l 277.5 248.375 l h +277.5 219.074 m S Q +0 g +321 219.074 m 328.5 211.574 l f +0.0941176 g +q 1 0 0 1 0 0 cm +321 219.074 m 328.5 211.574 l S Q +q 1 0 0 1 0 0 cm +277.5 219.074 m 321 219.074 l S Q +q 1 0 0 1 0 0 cm +321 219.074 m 321 248.375 l S Q +0 g +BT +10.5 0 0 -10.5 288.75 237.800185 Tm +/f-1-0 1 Tf +[(v)101(m)101(2)]TJ +ET +0.945098 g +200.25 300.824 m 207.75 293.324 l 251.25 293.324 l 251.25 322.625 l 243.75 + 330.125 l 200.25 330.125 l h +200.25 300.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +200.25 300.824 m 207.75 293.324 l 251.25 293.324 l 251.25 322.625 l 243.75 + 330.125 l 200.25 330.125 l h +200.25 300.824 m S Q +0 g +243.75 300.824 m 251.25 293.324 l f +0.0941176 g +q 1 0 0 1 0 0 cm +243.75 300.824 m 251.25 293.324 l S Q +q 1 0 0 1 0 0 cm +200.25 300.824 m 243.75 300.824 l S Q +q 1 0 0 1 0 0 cm +243.75 300.824 m 243.75 330.125 l S Q +0 g +BT +10.5 0 0 -10.5 211.5 319.550182 Tm +/f-1-0 1 Tf +[(v)101(m)101(3)]TJ +ET +0.945098 g +277.5 300.824 m 285 293.324 l 328.5 293.324 l 328.5 322.625 l 321 330.125 + l 277.5 330.125 l h +277.5 300.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +277.5 300.824 m 285 293.324 l 328.5 293.324 l 328.5 322.625 l 321 330.125 + l 277.5 330.125 l h +277.5 300.824 m S Q +0 g +321 300.824 m 328.5 293.324 l f +0.0941176 g +q 1 0 0 1 0 0 cm +321 300.824 m 328.5 293.324 l S Q +q 1 0 0 1 0 0 cm +277.5 300.824 m 321 300.824 l S Q +q 1 0 0 1 0 0 cm +321 300.824 m 321 330.125 l S Q +0 g +BT +10.5 0 0 -10.5 288.75 319.550182 Tm +/f-1-0 1 Tf +[(v)101(m)101(4)]TJ +ET +0.945098 g +385.5 204.98 m 393 197.48 l 524.25 197.48 l 524.25 320.324 l 516.75 327.824 + l 385.5 327.824 l h +385.5 204.98 m f +0.0941176 g +q 1 0 0 1 0 0 cm +385.5 204.98 m 393 197.48 l 524.25 197.48 l 524.25 320.324 l 516.75 327.824 + l 385.5 327.824 l h +385.5 204.98 m S Q +0 g +516.75 204.98 m 524.25 197.48 l f +0.0941176 g +q 1 0 0 1 0 0 cm +516.75 204.98 m 524.25 197.48 l S Q +q 1 0 0 1 0 0 cm +385.5 204.98 m 516.75 204.98 l S Q +q 1 0 0 1 0 0 cm +516.75 204.98 m 516.75 327.824 l S Q +0 g +BT +12 0 0 -12 396.75 225.309746 Tm +/f-0-0 1 Tf +[(v)-58(k)-49(e)-49(3)-48( )-49(\()-49(U)-59(b)-41(u)-49(n)-41(t)-33(u) +-49(\))]TJ +ET +0.945098 g +403.875 234.074 m 436.875 234.074 l 437.914 234.074 438.75 234.91 438.75 + 235.949 c 438.75 251 l 438.75 252.039 437.914 252.875 436.875 252.875 c + 403.875 252.875 l 402.836 252.875 402 252.039 402 251 c 402 235.949 l 402 + 234.91 402.836 234.074 403.875 234.074 c h +403.875 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +403.875 234.074 m 436.875 234.074 l 437.914 234.074 438.75 234.91 438.75 + 235.949 c 438.75 251 l 438.75 252.039 437.914 252.875 436.875 252.875 c + 403.875 252.875 l 402.836 252.875 402 252.039 402 251 c 402 235.949 l 402 + 234.91 402.836 234.074 403.875 234.074 c h +403.875 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 409.5 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(1)]TJ +ET +0.945098 g +466.875 234.074 m 499.875 234.074 l 500.914 234.074 501.75 234.91 501.75 + 235.949 c 501.75 251 l 501.75 252.039 500.914 252.875 499.875 252.875 c + 466.875 252.875 l 465.836 252.875 465 252.039 465 251 c 465 235.949 l 465 + 234.91 465.836 234.074 466.875 234.074 c h +466.875 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +466.875 234.074 m 499.875 234.074 l 500.914 234.074 501.75 234.91 501.75 + 235.949 c 501.75 251 l 501.75 252.039 500.914 252.875 499.875 252.875 c + 466.875 252.875 l 465.836 252.875 465 252.039 465 251 c 465 235.949 l 465 + 234.91 465.836 234.074 466.875 234.074 c h +466.875 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 472.5 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(2)]TJ +ET +0.945098 g +403.875 297.824 m 436.875 297.824 l 437.914 297.824 438.75 298.66 438.75 + 299.699 c 438.75 314.75 l 438.75 315.789 437.914 316.625 436.875 316.625 + c 403.875 316.625 l 402.836 316.625 402 315.789 402 314.75 c 402 299.699 + l 402 298.66 402.836 297.824 403.875 297.824 c h +403.875 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +403.875 297.824 m 436.875 297.824 l 437.914 297.824 438.75 298.66 438.75 + 299.699 c 438.75 314.75 l 438.75 315.789 437.914 316.625 436.875 316.625 + c 403.875 316.625 l 402.836 316.625 402 315.789 402 314.75 c 402 299.699 + l 402 298.66 402.836 297.824 403.875 297.824 c h +403.875 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 409.5 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(3)]TJ +ET +0.945098 g +466.875 297.824 m 499.875 297.824 l 500.914 297.824 501.75 298.66 501.75 + 299.699 c 501.75 314.75 l 501.75 315.789 500.914 316.625 499.875 316.625 + c 466.875 316.625 l 465.836 316.625 465 315.789 465 314.75 c 465 299.699 + l 465 298.66 465.836 297.824 466.875 297.824 c h +466.875 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +466.875 297.824 m 499.875 297.824 l 500.914 297.824 501.75 298.66 501.75 + 299.699 c 501.75 314.75 l 501.75 315.789 500.914 316.625 499.875 316.625 + c 466.875 316.625 l 465.836 316.625 465 315.789 465 314.75 c 465 299.699 + l 465 298.66 465.836 297.824 466.875 297.824 c h +466.875 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 472.5 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(4)]TJ +ET +0.945098 g +12 204.98 m 19.5 197.48 l 150.75 197.48 l 150.75 320.324 l 143.25 327.824 + l 12 327.824 l h +12 204.98 m f +0.0941176 g +q 1 0 0 1 0 0 cm +12 204.98 m 19.5 197.48 l 150.75 197.48 l 150.75 320.324 l 143.25 327.824 + l 12 327.824 l h +12 204.98 m S Q +0 g +143.25 204.98 m 150.75 197.48 l f +0.0941176 g +q 1 0 0 1 0 0 cm +143.25 204.98 m 150.75 197.48 l S Q +q 1 0 0 1 0 0 cm +12 204.98 m 143.25 204.98 l S Q +q 1 0 0 1 0 0 cm +143.25 204.98 m 143.25 327.824 l S Q +0 g +BT +12 0 0 -12 23.25 225.309746 Tm +/f-0-0 1 Tf +[(v)-58(k)-49(e)-49(1)-48( )-49(\()-49(U)-59(b)-41(u)-49(n)-41(t)-33(u) +-49(\))]TJ +ET +0.945098 g +30.375 234.074 m 63.375 234.074 l 64.414 234.074 65.25 234.91 65.25 235.949 + c 65.25 251 l 65.25 252.039 64.414 252.875 63.375 252.875 c 30.375 252.875 + l 29.336 252.875 28.5 252.039 28.5 251 c 28.5 235.949 l 28.5 234.91 29.336 + 234.074 30.375 234.074 c h +30.375 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +30.375 234.074 m 63.375 234.074 l 64.414 234.074 65.25 234.91 65.25 235.949 + c 65.25 251 l 65.25 252.039 64.414 252.875 63.375 252.875 c 30.375 252.875 + l 29.336 252.875 28.5 252.039 28.5 251 c 28.5 235.949 l 28.5 234.91 29.336 + 234.074 30.375 234.074 c h +30.375 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 36 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(1)]TJ +ET +0.945098 g +93.375 234.074 m 126.375 234.074 l 127.414 234.074 128.25 234.91 128.25 + 235.949 c 128.25 251 l 128.25 252.039 127.414 252.875 126.375 252.875 c + 93.375 252.875 l 92.336 252.875 91.5 252.039 91.5 251 c 91.5 235.949 l +91.5 234.91 92.336 234.074 93.375 234.074 c h +93.375 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +93.375 234.074 m 126.375 234.074 l 127.414 234.074 128.25 234.91 128.25 + 235.949 c 128.25 251 l 128.25 252.039 127.414 252.875 126.375 252.875 c + 93.375 252.875 l 92.336 252.875 91.5 252.039 91.5 251 c 91.5 235.949 l +91.5 234.91 92.336 234.074 93.375 234.074 c h +93.375 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 99 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(2)]TJ +ET +0.945098 g +30.375 297.824 m 63.375 297.824 l 64.414 297.824 65.25 298.66 65.25 299.699 + c 65.25 314.75 l 65.25 315.789 64.414 316.625 63.375 316.625 c 30.375 316.625 + l 29.336 316.625 28.5 315.789 28.5 314.75 c 28.5 299.699 l 28.5 298.66 +29.336 297.824 30.375 297.824 c h +30.375 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +30.375 297.824 m 63.375 297.824 l 64.414 297.824 65.25 298.66 65.25 299.699 + c 65.25 314.75 l 65.25 315.789 64.414 316.625 63.375 316.625 c 30.375 316.625 + l 29.336 316.625 28.5 315.789 28.5 314.75 c 28.5 299.699 l 28.5 298.66 +29.336 297.824 30.375 297.824 c h +30.375 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 36 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(3)]TJ +ET +0.945098 g +93.375 297.824 m 126.375 297.824 l 127.414 297.824 128.25 298.66 128.25 + 299.699 c 128.25 314.75 l 128.25 315.789 127.414 316.625 126.375 316.625 + c 93.375 316.625 l 92.336 316.625 91.5 315.789 91.5 314.75 c 91.5 299.699 + l 91.5 298.66 92.336 297.824 93.375 297.824 c h +93.375 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +93.375 297.824 m 126.375 297.824 l 127.414 297.824 128.25 298.66 128.25 + 299.699 c 128.25 314.75 l 128.25 315.789 127.414 316.625 126.375 316.625 + c 93.375 316.625 l 92.336 316.625 91.5 315.789 91.5 314.75 c 91.5 299.699 + l 91.5 298.66 92.336 297.824 93.375 297.824 c h +93.375 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 99 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(4)]TJ +ET +0.945098 g +550.5 204.98 m 558 197.48 l 689.25 197.48 l 689.25 320.324 l 681.75 327.824 + l 550.5 327.824 l h +550.5 204.98 m f +0.0941176 g +q 1 0 0 1 0 0 cm +550.5 204.98 m 558 197.48 l 689.25 197.48 l 689.25 320.324 l 681.75 327.824 + l 550.5 327.824 l h +550.5 204.98 m S Q +0 g +681.75 204.98 m 689.25 197.48 l f +0.0941176 g +q 1 0 0 1 0 0 cm +681.75 204.98 m 689.25 197.48 l S Q +q 1 0 0 1 0 0 cm +550.5 204.98 m 681.75 204.98 l S Q +q 1 0 0 1 0 0 cm +681.75 204.98 m 681.75 327.824 l S Q +0 g +BT +12 0 0 -12 561.75 225.309746 Tm +/f-0-0 1 Tf +[(v)-58(k)-49(e)-49(4)-48( )-49(\()-49(U)-59(b)-41(u)-49(n)-41(t)-33(u) +-49(\))]TJ +ET +0.945098 g +568.875 234.074 m 601.875 234.074 l 602.914 234.074 603.75 234.91 603.75 + 235.949 c 603.75 251 l 603.75 252.039 602.914 252.875 601.875 252.875 c + 568.875 252.875 l 567.836 252.875 567 252.039 567 251 c 567 235.949 l 567 + 234.91 567.836 234.074 568.875 234.074 c h +568.875 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +568.875 234.074 m 601.875 234.074 l 602.914 234.074 603.75 234.91 603.75 + 235.949 c 603.75 251 l 603.75 252.039 602.914 252.875 601.875 252.875 c + 568.875 252.875 l 567.836 252.875 567 252.039 567 251 c 567 235.949 l 567 + 234.91 567.836 234.074 568.875 234.074 c h +568.875 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 574.5 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(1)]TJ +ET +0.945098 g +631.875 234.074 m 664.875 234.074 l 665.914 234.074 666.75 234.91 666.75 + 235.949 c 666.75 251 l 666.75 252.039 665.914 252.875 664.875 252.875 c + 631.875 252.875 l 630.836 252.875 630 252.039 630 251 c 630 235.949 l 630 + 234.91 630.836 234.074 631.875 234.074 c h +631.875 234.074 m f +0.0941176 g +q 1 0 0 1 0 0 cm +631.875 234.074 m 664.875 234.074 l 665.914 234.074 666.75 234.91 666.75 + 235.949 c 666.75 251 l 666.75 252.039 665.914 252.875 664.875 252.875 c + 631.875 252.875 l 630.836 252.875 630 252.039 630 251 c 630 235.949 l 630 + 234.91 630.836 234.074 631.875 234.074 c h +631.875 234.074 m S Q +0 g +BT +10.5 0 0 -10.5 637.5 247.550185 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(2)]TJ +ET +0.945098 g +568.875 297.824 m 601.875 297.824 l 602.914 297.824 603.75 298.66 603.75 + 299.699 c 603.75 314.75 l 603.75 315.789 602.914 316.625 601.875 316.625 + c 568.875 316.625 l 567.836 316.625 567 315.789 567 314.75 c 567 299.699 + l 567 298.66 567.836 297.824 568.875 297.824 c h +568.875 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +568.875 297.824 m 601.875 297.824 l 602.914 297.824 603.75 298.66 603.75 + 299.699 c 603.75 314.75 l 603.75 315.789 602.914 316.625 601.875 316.625 + c 568.875 316.625 l 567.836 316.625 567 315.789 567 314.75 c 567 299.699 + l 567 298.66 567.836 297.824 568.875 297.824 c h +568.875 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 574.5 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(3)]TJ +ET +0.945098 g +631.875 297.824 m 664.875 297.824 l 665.914 297.824 666.75 298.66 666.75 + 299.699 c 666.75 314.75 l 666.75 315.789 665.914 316.625 664.875 316.625 + c 631.875 316.625 l 630.836 316.625 630 315.789 630 314.75 c 630 299.699 + l 630 298.66 630.836 297.824 631.875 297.824 c h +631.875 297.824 m f +0.0941176 g +q 1 0 0 1 0 0 cm +631.875 297.824 m 664.875 297.824 l 665.914 297.824 666.75 298.66 666.75 + 299.699 c 666.75 314.75 l 666.75 315.789 665.914 316.625 664.875 316.625 + c 631.875 316.625 l 630.836 316.625 630 315.789 630 314.75 c 630 299.699 + l 630 298.66 630.836 297.824 631.875 297.824 c h +631.875 297.824 m S Q +0 g +BT +10.5 0 0 -10.5 637.5 311.300182 Tm +/f-1-0 1 Tf +[(c)47(n)47(t)46(4)]TJ +ET +0.945098 g +316.875 9.98 m 405.375 9.98 l 406.414 9.98 407.25 10.816 407.25 11.855 +c 407.25 37.406 l 407.25 38.445 406.414 39.281 405.375 39.281 c 316.875 +39.281 l 315.836 39.281 315 38.445 315 37.406 c 315 11.855 l 315 10.816 +315.836 9.98 316.875 9.98 c h +316.875 9.98 m f +0.0941176 g +q 1 0 0 1 0 0 cm +316.875 9.98 m 405.375 9.98 l 406.414 9.98 407.25 10.816 407.25 11.855 +c 407.25 37.406 l 407.25 38.445 406.414 39.281 405.375 39.281 c 316.875 +39.281 l 315.836 39.281 315 38.445 315 37.406 c 315 11.855 l 315 10.816 +315.836 9.98 316.875 9.98 c h +316.875 9.98 m S Q +0 g +BT +10.5 0 0 -10.5 322.5 28.706174 Tm +/f-2-0 1 Tf +[(M)-38(i)-49(k)-47(r)-32(o)-44(T)-31(i)-49(k)-44( )-44(r)-32(o)-33(u)-32 +(t)-39(e)-43(r)]TJ +ET +0.0941176 g +0.75 w +q 1 0 0 1 0 0 cm +329.754 39.5 m 329.754 66.434 329.754 125.113 329.754 175.551 c S Q +0 g +BT +9.75 0 0 -9.75 301.25251 104.449505 Tm +/f-2-0 1 Tf +[(m)-130(g)-141(m)-116(t)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +344.496 39.5 m 344.496 66.434 344.496 125.113 344.496 175.551 c S Q +0 g +BT +9.75 0 0 -9.75 323.49749 118.699505 Tm +/f-2-0 1 Tf +[(d)-114(a)-96(t)-119(a)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +392.754 39.5 m 392.754 70.453 392.754 143.348 392.754 197.465 c S Q +0 g +BT +9.75 0 0 -9.75 364.25251 115.407005 Tm +/f-2-0 1 Tf +[(m)-130(g)-141(m)-116(t)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +399.996 39.5 m 399.996 70.453 399.996 143.348 399.996 197.465 c S Q +0 g +BT +9.75 0 0 -9.75 378.99749 129.657005 Tm +/f-2-0 1 Tf +[(d)-114(a)-96(t)-119(a)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +314.797 19.73 m 229.949 19.73 58.254 19.73 58.254 19.73 c 58.254 19.73 +58.254 125.316 58.254 197.293 c S Q +0 g +BT +9.75 0 0 -9.75 69.24 16.6545 Tm +/f-2-0 1 Tf +[(m)-130(g)-141(m)-116(t)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +314.949 29.48 m 241.066 29.48 104.496 29.48 104.496 29.48 c 104.496 29.48 + 104.496 128.445 104.496 197.453 c S Q +0 g +BT +9.75 0 0 -9.75 104.737495 26.404501 Tm +/f-2-0 1 Tf +[(d)-114(a)-96(t)-119(a)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +407.355 19.73 m 487.32 19.73 642.996 19.73 642.996 19.73 c 642.996 19.73 + 642.996 125.316 642.996 197.293 c S Q +0 g +BT +9.75 0 0 -9.75 585.457489 16.6545 Tm +/f-2-0 1 Tf +[(m)-130(g)-141(m)-116(t)]TJ +ET +0.0941176 g +q 1 0 0 1 0 0 cm +407.391 29.48 m 476.016 29.48 596.754 29.48 596.754 29.48 c 596.754 29.48 + 596.754 128.445 596.754 197.453 c S Q +0 g +BT +9.75 0 0 -9.75 565.05748 40.654501 Tm +/f-2-0 1 Tf +[(d)-114(a)-96(t)-119(a)]TJ +ET +Q Q +showpage +%%Trailer +end +%%EOF diff --git a/figs/vke.svg b/figs/vke.svg new file mode 100644 index 0000000000000000000000000000000000000000..7a82f8fde15ba6f0c2c9db07f74b0f4ed171bfda --- /dev/null +++ b/figs/vke.svg @@ -0,0 +1,235 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="483px" preserveAspectRatio="none" style="width:936px;height:483px;background:#FFFFFF;" version="1.1" viewBox="0 0 936 483" width="936px" zoomAndPan="magnify"><defs/><g><!--MD5=[a8d989a1106b4aea2af0f7de1baef343] +entity vke2--><g id="elem_vke2"><polygon fill="#F1F1F1" points="236,244.309,246,234.309,479,234.309,479,456.101,469,466.101,236,466.101,236,244.309" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="469" x2="479" y1="244.309" y2="234.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="236" x2="469" y1="244.309" y2="244.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="469" x2="469" y1="244.309" y2="466.101"/><text fill="#000000" font-family=""Minion Pro"" font-size="16" font-weight="bold" lengthAdjust="spacing" textLength="117" x="251" y="271.413">vke2 (Proxmox)</text><svg x="251" y="276.101"><defs/><g><rect fill="#FFFFFF" style="width:204px;height:181px;background:#FFFFFF;" /> <!--MD5=[f7217f40b8b69eb89454e570d46d4292] +entity vm21--><g id="elem_vm21"><polygon fill="#F1F1F1" points="16,16,26,6,84,6,84,45.0679,74,55.0679,16,55.0679,16,16" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="74" x2="84" y1="16" y2="6"/><line style="stroke:#181818;stroke-width:0.5;" x1="16" x2="74" y1="16" y2="16"/><line style="stroke:#181818;stroke-width:0.5;" x1="74" x2="74" y1="16" y2="55.0679"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="31" y="40.9659">vm1</text></g><!--MD5=[b5cd3d780367a556f1913595eec9a251] +entity vm22--><g id="elem_vm22"><polygon fill="#F1F1F1" points="119,16,129,6,187,6,187,45.0679,177,55.0679,119,55.0679,119,16" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="177" x2="187" y1="16" y2="6"/><line style="stroke:#181818;stroke-width:0.5;" x1="119" x2="177" y1="16" y2="16"/><line style="stroke:#181818;stroke-width:0.5;" x1="177" x2="177" y1="16" y2="55.0679"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="134" y="40.9659">vm2</text></g><!--MD5=[1db7b1867512662772ee4d08fe80fe7d] +entity vm23--><g id="elem_vm23"><polygon fill="#F1F1F1" points="16,125,26,115,84,115,84,154.0679,74,164.0679,16,164.0679,16,125" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="74" x2="84" y1="125" y2="115"/><line style="stroke:#181818;stroke-width:0.5;" x1="16" x2="74" y1="125" y2="125"/><line style="stroke:#181818;stroke-width:0.5;" x1="74" x2="74" y1="125" y2="164.0679"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="31" y="149.9659">vm3</text></g><!--MD5=[48f70a13556801d81435ecac2f819fff] +entity vm24--><g id="elem_vm24"><polygon fill="#F1F1F1" points="119,125,129,115,187,115,187,154.0679,177,164.0679,119,164.0679,119,125" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="177" x2="187" y1="125" y2="115"/><line style="stroke:#181818;stroke-width:0.5;" x1="119" x2="177" y1="125" y2="125"/><line style="stroke:#181818;stroke-width:0.5;" x1="177" x2="177" y1="125" y2="164.0679"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="134" y="149.9659">vm4</text></g><!--MD5=[1fe41a2231a29101cc3e87682116881e] +@startuml + node vm21 as "vm1" + node vm22 as "vm2" + node vm23 as "vm3" + node vm24 as "vm4" +@enduml + +PlantUML version 1.2022.4(Sat Apr 09 15:29:17 CEST 2022) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Default Encoding: UTF-8 +Language: en +Country: GB +--></g></svg></g><!--MD5=[ac616bb4d527f2b0ae99bf54e8aea919] +entity vke3--><g id="elem_vke3"><polygon fill="#F1F1F1" points="514,273.309,524,263.309,699,263.309,699,427.101,689,437.101,514,437.101,514,273.309" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="689" x2="699" y1="273.309" y2="263.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="514" x2="689" y1="273.309" y2="273.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="689" x2="689" y1="273.309" y2="437.101"/><text fill="#000000" font-family=""Minion Pro"" font-size="16" font-weight="bold" lengthAdjust="spacing" textLength="107" x="529" y="300.413">vke3 (Ubuntu)</text><svg x="529" y="305.101"><defs/><g><rect fill="#FFFFFF" style="width:146px;height:123px;background:#FFFFFF;" /> <!--MD5=[65de770b521131bb3c50e72bbf9edbe7] +entity cnt31--><g id="elem_cnt31"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="24.9659">cnt1</text></g><!--MD5=[e74697a125a2575392c4a82dc0c34091] +entity cnt32--><g id="elem_cnt32"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="24.9659">cnt2</text></g><!--MD5=[92cb9d414add7170cd340b454a8b0b6f] +entity cnt33--><g id="elem_cnt33"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="109.9659">cnt3</text></g><!--MD5=[635f7977c500eb2b75c89f702ddbf656] +entity cnt34--><g id="elem_cnt34"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="109.9659">cnt4</text></g><!--MD5=[a8b770e976be418f6c206349a2ab2819] +@startuml + card cnt31 as "cnt1" + card cnt32 as "cnt2" + card cnt33 as "cnt3" + card cnt34 as "cnt4" +@enduml + +PlantUML version 1.2022.4(Sat Apr 09 15:29:17 CEST 2022) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Default Encoding: UTF-8 +Language: en +Country: GB +--></g></svg></g><!--MD5=[8d1728d35b21b0d8522273311c1a1e51] +entity vke1--><g id="elem_vke1"><polygon fill="#F1F1F1" points="16,273.309,26,263.309,201,263.309,201,427.101,191,437.101,16,437.101,16,273.309" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="191" x2="201" y1="273.309" y2="263.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="16" x2="191" y1="273.309" y2="273.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="191" x2="191" y1="273.309" y2="437.101"/><text fill="#000000" font-family=""Minion Pro"" font-size="16" font-weight="bold" lengthAdjust="spacing" textLength="107" x="31" y="300.413">vke1 (Ubuntu)</text><svg x="31" y="305.101"><defs/><g><rect fill="#FFFFFF" style="width:146px;height:123px;background:#FFFFFF;" /> <!--MD5=[2253dd68a6e32ed53bd6fe0e7388def4] +entity cnt11--><g id="elem_cnt11"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="24.9659">cnt1</text></g><!--MD5=[523b0264bc61756beb68c7e4d3c87775] +entity cnt12--><g id="elem_cnt12"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="24.9659">cnt2</text></g><!--MD5=[3ee5575c7c86ac087ec793e20575d80b] +entity cnt13--><g id="elem_cnt13"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="109.9659">cnt3</text></g><!--MD5=[246eb0c2d49294ab7d218a9bb3be700d] +entity cnt14--><g id="elem_cnt14"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="109.9659">cnt4</text></g><!--MD5=[61b83eebe528da6e117d2d56b9f4a22e] +@startuml + card cnt11 as "cnt1" + card cnt12 as "cnt2" + card cnt13 as "cnt3" + card cnt14 as "cnt4" +@enduml + +PlantUML version 1.2022.4(Sat Apr 09 15:29:17 CEST 2022) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Default Encoding: UTF-8 +Language: en +Country: GB +--></g></svg></g><!--MD5=[04ba423cc45a35c722442c8d94dd2d2b] +entity vke4--><g id="elem_vke4"><polygon fill="#F1F1F1" points="734,273.309,744,263.309,919,263.309,919,427.101,909,437.101,734,437.101,734,273.309" style="stroke:#181818;stroke-width:0.5;"/><line style="stroke:#181818;stroke-width:0.5;" x1="909" x2="919" y1="273.309" y2="263.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="734" x2="909" y1="273.309" y2="273.309"/><line style="stroke:#181818;stroke-width:0.5;" x1="909" x2="909" y1="273.309" y2="437.101"/><text fill="#000000" font-family=""Minion Pro"" font-size="16" font-weight="bold" lengthAdjust="spacing" textLength="107" x="749" y="300.413">vke4 (Ubuntu)</text><svg x="749" y="305.101"><defs/><g><rect fill="#FFFFFF" style="width:146px;height:123px;background:#FFFFFF;" /> <!--MD5=[d8dce96b39ac3ff4414bea57ee76aea8] +entity cnt41--><g id="elem_cnt41"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="24.9659">cnt1</text></g><!--MD5=[bef4c64213f00a2ad3081beee41efe3d] +entity cnt42--><g id="elem_cnt42"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="24.9659">cnt2</text></g><!--MD5=[2a5ee6f5d9e7b1830fcda06ed4fb44ca] +entity cnt43--><g id="elem_cnt43"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="7" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="17" y="109.9659">cnt3</text></g><!--MD5=[d62867c546045f4a2ba5efc7dda29731] +entity cnt44--><g id="elem_cnt44"><rect fill="#F1F1F1" height="25.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="49" x="91" y="92"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29" x="101" y="109.9659">cnt4</text></g><!--MD5=[9028b35dc591cd8be57c64c60d3c3976] +@startuml + card cnt41 as "cnt1" + card cnt42 as "cnt2" + card cnt43 as "cnt3" + card cnt44 as "cnt4" +@enduml + +PlantUML version 1.2022.4(Sat Apr 09 15:29:17 CEST 2022) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Default Encoding: UTF-8 +Language: en +Country: GB +--></g></svg></g><!--MD5=[cf4bfc41de78c0fef7f9a001e80e613b] +entity switch--><g id="elem_switch"><rect fill="#F1F1F1" height="39.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="123" x="420" y="13.309"/><text fill="#000000" font-family=""Minion Pro"" font-size="14" lengthAdjust="spacing" textLength="103" x="430" y="38.2749">MikroTik router</text></g><!--MD5=[d71e488186ea4fcb08cc17f52da1344d] +link switch to vke2--><g id="link_switch_vke2"><path d="M439.67,52.669 C439.67,88.579 439.67,166.819 439.67,234.069 " fill="none" id="switch-vke2" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="37" x="401.67" y="139.266">mgmt</text></g><!--MD5=[d71e488186ea4fcb08cc17f52da1344d] +link switch to vke2--><g id="link_switch_vke2"><path d="M459.33,52.669 C459.33,88.579 459.33,166.819 459.33,234.069 " fill="none" id="switch-vke2-1" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="27" x="431.33" y="158.266">data</text></g><!--MD5=[3f8798b681bf6807665649611d7f9008] +link switch to vke3--><g id="link_switch_vke3"><path d="M523.67,52.669 C523.67,93.939 523.67,191.129 523.67,263.289 " fill="none" id="switch-vke3" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="37" x="485.67" y="153.876">mgmt</text></g><!--MD5=[3f8798b681bf6807665649611d7f9008] +link switch to vke3--><g id="link_switch_vke3"><path d="M533.33,52.669 C533.33,93.939 533.33,191.129 533.33,263.289 " fill="none" id="switch-vke3-1" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="27" x="505.33" y="172.876">data</text></g><!--MD5=[132ec594ac5c4998606165ae6d199252] +link switch to vke1--><g id="link_switch_vke1"><path d="M419.73,26.309 C306.6,26.309 77.67,26.309 77.67,26.309 C77.67,26.309 77.67,167.089 77.67,263.059 " fill="none" id="switch-vke1" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="37" x="92.32" y="22.206">mgmt</text></g><!--MD5=[132ec594ac5c4998606165ae6d199252] +link switch to vke1--><g id="link_switch_vke1"><path d="M419.93,39.309 C321.42,39.309 139.33,39.309 139.33,39.309 C139.33,39.309 139.33,171.259 139.33,263.269 " fill="none" id="switch-vke1-1" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="27" x="139.65" y="35.206">data</text></g><!--MD5=[56230ab1cd661644c4b22469e053bb5e] +link switch to vke4--><g id="link_switch_vke4"><path d="M543.14,26.309 C649.76,26.309 857.33,26.309 857.33,26.309 C857.33,26.309 857.33,167.089 857.33,263.059 " fill="none" id="switch-vke4" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="37" x="780.61" y="22.206">mgmt</text></g><!--MD5=[56230ab1cd661644c4b22469e053bb5e] +link switch to vke4--><g id="link_switch_vke4"><path d="M543.19,39.309 C634.69,39.309 795.67,39.309 795.67,39.309 C795.67,39.309 795.67,171.259 795.67,263.269 " fill="none" id="switch-vke4-1" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family=""Minion Pro"" font-size="13" lengthAdjust="spacing" textLength="27" x="753.41" y="54.206">data</text></g><!--MD5=[b63faed0dd725c7cc8b16c7a74a2be89] +link vke1 to vke2--><!--MD5=[9a523c82942e0cfea17bec34bfb5d20d] +link vke2 to vke3--><!--MD5=[2a7c6353a7630f16f77312f81bd3f194] +link vke3 to vke4--><!--MD5=[d05e176a99eafe538c7b02d4aa0cc8e8] +@startuml + +skinparam linetype ortho +skinparam defaultFontName "Minion Pro" + +'skinparam nodesep 10 +skinparam linesep 10 +'skinparam ranksep 50 + + +node vke2 [ +== vke2 (Proxmox) +{{ + node vm21 as "vm1" + node vm22 as "vm2" + node vm23 as "vm3" + node vm24 as "vm4" +}} +] + +node vke3 [ +== vke3 (Ubuntu) +{{ + card cnt31 as "cnt1" + card cnt32 as "cnt2" + card cnt33 as "cnt3" + card cnt34 as "cnt4" +}} +] + +node vke1 [ +== vke1 (Ubuntu) +{{ + card cnt11 as "cnt1" + card cnt12 as "cnt2" + card cnt13 as "cnt3" + card cnt14 as "cnt4" +}} +] + +node vke4 [ +== vke4 (Ubuntu) +{{ + card cnt41 as "cnt1" + card cnt42 as "cnt2" + card cnt43 as "cnt3" + card cnt44 as "cnt4" +}} +] + + +agent switch as "MikroTik router" + +vke2 -up- - - switch: mgmt +vke2 -up- - - switch: data +vke3 -up- - - switch: mgmt +vke3 -up- - - switch: data +vke1 -up- - - switch: mgmt +vke1 -up- - - switch: data +vke4 -up- - - switch: mgmt +vke4 -up- - - switch: data + +vke1 - -[hidden]right-> vke2 +vke2 - -[hidden]right-> vke3 +vke3 - -[hidden]right-> vke4 + +@enduml + +@startuml + +skinparam linetype ortho +skinparam defaultFontName "Minion Pro" + +skinparam linesep 10 + + +node vke2 [ +== vke2 (Proxmox) +{{ + node vm21 as "vm1" + node vm22 as "vm2" + node vm23 as "vm3" + node vm24 as "vm4" +}} +] + +node vke3 [ +== vke3 (Ubuntu) +{{ + card cnt31 as "cnt1" + card cnt32 as "cnt2" + card cnt33 as "cnt3" + card cnt34 as "cnt4" +}} +] + +node vke1 [ +== vke1 (Ubuntu) +{{ + card cnt11 as "cnt1" + card cnt12 as "cnt2" + card cnt13 as "cnt3" + card cnt14 as "cnt4" +}} +] + +node vke4 [ +== vke4 (Ubuntu) +{{ + card cnt41 as "cnt1" + card cnt42 as "cnt2" + card cnt43 as "cnt3" + card cnt44 as "cnt4" +}} +] + + +agent switch as "MikroTik router" + +vke2 -up- - - switch: mgmt +vke2 -up- - - switch: data +vke3 -up- - - switch: mgmt +vke3 -up- - - switch: data +vke1 -up- - - switch: mgmt +vke1 -up- - - switch: data +vke4 -up- - - switch: mgmt +vke4 -up- - - switch: data + +vke1 - -[hidden]right-> vke2 +vke2 - -[hidden]right-> vke3 +vke3 - -[hidden]right-> vke4 + +@enduml + +PlantUML version 1.2022.4(Sat Apr 09 15:29:17 CEST 2022) +(GPL source distribution) +Java Runtime: OpenJDK Runtime Environment +JVM: OpenJDK 64-Bit Server VM +Default Encoding: UTF-8 +Language: en +Country: GB +--></g></svg> \ No newline at end of file diff --git a/onlab.md b/onlab.md index 7d7ee909e4a762d9983e9dab1ac99034310d4667..8c92c5df16cf97319feddbd2e881297b26ffba7c 100644 --- a/onlab.md +++ b/onlab.md @@ -19,15 +19,22 @@ \end{titlepage} # Bevezetés -Az önálló laboratóriumomat a TMIT-en a HSNLab-nál végeztem. A labornak a -különböző kutatásokhoz van négy szervere. Ezeket a szervereket használják -Kubernetes, valamint docker konténerek futtatására, és ezeken a -szervereken keresztül érik el a tanszéki belső hálózatot is. - -Amikor átvettem a szerverek üzemeltetését, a négy gép úgynevezett -[bare-metal](https://en.wikipedia.org/wiki/Bare-metal_server) -szerver volt, azaz a fizikai szerveren futott egy operációs rendszer -és a felhasználók azt használták. A hosztokon Ubuntu 18.04 futott. +Az önálló laboratóriumomat a TMIT-en a HSNLab-nál végeztem. +Az Ericsson-BME 5G VKE kutatás-fejlesztési projekt keretén belül +kiépítésre került egy magán 5G hálózat, annak részeként +rendelkezésre áll négy alkalmazás szerver (\ref{vke}. ábra). +Ezeket a szervereket használják Kubernetes, valamint docker +konténerek futtatására, és ezeken a szervereken keresztül érik el +a tanszéki belső hálózatot is. + +A félév elején megismertem a szervereken futó feladatokat (demonstrációk), +valamint az elvárt működést. Közösen a projekt résztvevőivel megbeszéltük, +hogy fontos lenne egy rugalmasan, de az OpenStack rendszernél egyszerűbben +külön-külön VM-ekbe szervezni a demonstrációkat. Tehát a kiindulási állapotban +bare-metal szerverként használt négy nagyteljesítményű számítógép futtatott +több feladatot. + + ## Problémák a jelenlegi megoldással @@ -49,9 +56,9 @@ hiszen mindenkinek a fizikai gépen kellett dolgoznia. problémákra, melyet egy hypervisorral (vagy hiperfelügyelővel) terveztem megoldani. -# Miért jó a virtualizáció a bare-metal szerver helyett? +# A virtualizáció előnyei a bare-metal szerverekkel szemben -## Mi is pontosan egy bare-metal szerver? +## A bare-metal szerverek A bare-metal szerver a fizikai szervert jelenti, melyet általában egy kliens/felhasználó használ. Sokkal nagyobb számítási kapacitással @@ -61,7 +68,7 @@ diszkeket és a sávszélességet is. Előny még emellett, hogy teljes felügyeletünk lehet a fizikai gép felett, mind hardveresen, mind szoftveresen. -## Mi az a virtualizáció? +## A virtualizáció A virtualizáció egy hoszting megoldás, ami több virtuális gép párhuzamos futtatását teszi lehetővé egy fizikai eszközön. Lehetőséget @@ -77,7 +84,7 @@ Ha a virtualizációs megoldást választják, akkor a virtuális gépek kiosztását és menedzselését rábízzák egy úgynevezett hypervisorra (magyarul hiperfelügyelőre). -# Mi az a hypervisor? +# A hypervisor A hypervisor a virtualizációt lehetővé tevő szoftverek kulcsfontosságú része. A hypervisor feladata a virtuális gépek (vendéggépek) előkészítése diff --git a/onlab.pdf b/onlab.pdf index b73e0d0457b1d0b5f4a3e203a0525e6d722292d5..01d2448e768bcb3ea3883f462f65e6bdadf61530 100644 Binary files a/onlab.pdf and b/onlab.pdf differ diff --git a/onlab.tex b/onlab.tex deleted file mode 100644 index 7ea2ea03335c80d164b278e835ecca904b45da70..0000000000000000000000000000000000000000 --- a/onlab.tex +++ /dev/null @@ -1,479 +0,0 @@ -% Options for packages loaded elsewhere -\PassOptionsToPackage{unicode}{hyperref} -\PassOptionsToPackage{hyphens}{url} -% -\documentclass[ -]{article} -\usepackage{amsmath,amssymb} -\usepackage{lmodern} -\usepackage{iftex} -\ifPDFTeX - \usepackage[T1]{fontenc} - \usepackage[utf8]{inputenc} - \usepackage{textcomp} % provide euro and other symbols -\else % if luatex or xetex - \usepackage{unicode-math} - \defaultfontfeatures{Scale=MatchLowercase} - \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} -\fi -% Use upquote if available, for straight quotes in verbatim environments -\IfFileExists{upquote.sty}{\usepackage{upquote}}{} -\IfFileExists{microtype.sty}{% use microtype if available - \usepackage[]{microtype} - \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts -}{} -\makeatletter -\@ifundefined{KOMAClassName}{% if non-KOMA class - \IfFileExists{parskip.sty}{% - \usepackage{parskip} - }{% else - \setlength{\parindent}{0pt} - \setlength{\parskip}{6pt plus 2pt minus 1pt}} -}{% if KOMA class - \KOMAoptions{parskip=half}} -\makeatother -\usepackage{xcolor} -\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available -\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} -\hypersetup{ - pdflang={hu-HU}, - hidelinks, - pdfcreator={LaTeX via pandoc}} -\urlstyle{same} % disable monospaced font for URLs -\usepackage[margin=3cm]{geometry} -\usepackage{graphicx} -\makeatletter -\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} -\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} -\makeatother -% Scale images if necessary, so that they will not overflow the page -% margins by default, and it is still possible to overwrite the defaults -% using explicit options in \includegraphics[width, height, ...]{} -\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} -% Set default figure placement to htbp -\makeatletter -\def\fps@figure{htbp} -\makeatother -\setlength{\emergencystretch}{3em} % prevent overfull lines -\providecommand{\tightlist}{% - \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} -\setcounter{secnumdepth}{-\maxdimen} % remove section numbering -\ifLuaTeX -\usepackage[bidi=basic]{babel} -\else -\usepackage[bidi=default]{babel} -\fi -\babelprovide[main,import]{magyar} -% get rid of language-specific shorthands (see #6817): -\let\LanguageShortHands\languageshorthands -\def\languageshorthands#1{} -% magyar helyesírás ellenőrzéshez (ispell) és elválasztáshoz -\selectlanguage{magyar} -%================================================================= -% direkt ékezetes karakter beírás támogatás -%------------------------------------------- -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage{multirow} -\usepackage{float} - -%================================================================ -% ha ábrát akarunk beemelni, akkor használjuk a graphicx/graphics -% csomagot és az \includegraphics[width=<width>]{abra.pdf} parancsot -\usepackage{graphicx} %for graphics -%kepek helye a gyokerhez(ehhez a file-hoz kepest) kepest -\graphicspath{{./figs/}} -\usepackage{fontspec, newunicodechar} -% \setmainfont{Noto Sans} -\newunicodechar{ű}{\H{u}} -\newunicodechar{ő}{\H{o}} - -\ifLuaTeX - \usepackage{selnolig} % disable illegal ligatures -\fi - -\author{} -\date{} - -\begin{document} - -\input{onlabmacros} -\markright{Réthelyi Bálint (IZUM0B)} -\begin{titlepage} -%bme logo - \begin{figure}[h] - \centering - \includegraphics[width=12cm]{bme_logo} - \label{fig:bme_logo} - \end{figure} - \thispagestyle{empty} - %cím generálás - \onlabcim - - %\szerzo argumentumok: #1=Név, #2=Neptunkód, #3=szakirány, #4=email,#5 konzulens-1, #6 konzulens-1-email, #7 konzulens-2, #8 konzulens-2-email - \onlabszerzo{Réthelyi Bálint}{IZUM0B}{Mérnökinformatikus szak}{rethelyibalint@gmail.com}{Dr. Simon Csaba}{simon@tmit.bme.hu}{Dr. Maliosz Markosz}{maliosz@tmit.bme.hu} - \feladatcim{Proxmox alapú virtualizációs klaszter kiépítése a HSNLabnál} -\end{titlepage} - -\hypertarget{bevezetuxe9s}{% -\subsection{Bevezetés}\label{bevezetuxe9s}} - -Az önálló laboratóriumomat a TMIT-en a HSNLab-nál végeztem. A labornak a -különböző kutatásokhoz van négy szervere. Ezeket a szervereket -használják Kubernetes, valamint docker konténerek futtatására, és ezeken -a szervereken keresztül érik el a tanszéki belső hálózatot is. - -Amikor átvettem a szerverek üzemeltetését, a négy gép úgynevezett -\href{https://en.wikipedia.org/wiki/Bare-metal_server}{bare-metal} -szerver volt, azaz a fizikai szerveren futott egy operációs rendszer és -a felhasználók azt használták. A hosztokon Ubuntu 18.04 futott. - -\hypertarget{probluxe9muxe1k-a-jelenlegi-megolduxe1ssal}{% -\subsubsection{Problémák a jelenlegi -megoldással}\label{probluxe9muxe1k-a-jelenlegi-megolduxe1ssal}} - -Míg első elgondolásra a bare metal megoldás kényelmesnek hangzik -üzemeletetési szempontból, erről kiderült, hogy azért bőven akad vele -probléma.\\ -A laborban sokan dolgoznak, csak a BSc és MSc hallgatók száma meghaladja -a százat. A laborban az volt a szokásjog, hogy mindenki a \texttt{root} -felhasználóhoz kapott hozzáférést, ezzel a \texttt{docker} használatához -szükséges jogosultságok kiosztására nem volt szükség.\\ -Ez a megoldás sajnos nehezebb auditálhatóságot okozott, hiszen minden -felhasználó a \texttt{root} felhasználó nevében végezte a munkáját, így -mindent a \texttt{root} felhasználó csinált. - -Minden felhasználónak különböző csomagverziók és azok függőségeire volt -szüksége, ezért ezek karbantartása és kezelése is problémákat okozott, -hiszen mindenkinek a fizikai gépen kellett dolgoznia. - -Összességében arra jutottam, hogy a virtualizáció lenne a megoldás -ezekre a problémákra, melyet egy hypervisorral (vagy hiperfelügyelővel) -terveztem megoldani. - -\hypertarget{miuxe9rt-juxf3-a-virtualizuxe1ciuxf3-a-bare-metal-szerver-helyett}{% -\subsection{Miért jó a virtualizáció a bare-metal szerver -helyett?}\label{miuxe9rt-juxf3-a-virtualizuxe1ciuxf3-a-bare-metal-szerver-helyett}} - -\hypertarget{mi-is-pontosan-egy-bare-metal-szerver}{% -\subsubsection{Mi is pontosan egy bare-metal -szerver?}\label{mi-is-pontosan-egy-bare-metal-szerver}} - -A bare-metal szerver a fizikai szervert jelenti, melyet általában egy -kliens/felhasználó használ. Sokkal nagyobb számítási kapacitással -rendelkezik, mint egy-egy virtuális gép, hiszen hozzáférünk a fizikai -hoszt összes erőforrásához, beleértve a memóriát, a processzort, a -diszkeket és a sávszélességet is. Előny még emellett, hogy teljes -felügyeletünk lehet a fizikai gép felett, mind hardveresen, mind -szoftveresen. - -\hypertarget{mi-az-a-virtualizuxe1ciuxf3}{% -\subsubsection{Mi az a -virtualizáció?}\label{mi-az-a-virtualizuxe1ciuxf3}} - -A virtualizáció egy hoszting megoldás, ami több virtuális gép párhuzamos -futtatását teszi lehetővé egy fiziaki eszközön. Lehetőséget biztosít a -fizikai gép erőforrásainak \emph{feldarabolására}, és ezek kiosztására a -virtuális gépek között, így azok ugyanazon erőforrás részein, -\emph{darabkáin} tudnak megosztozni.\\ -Virtuális gépek használata elősegíti a felhasználók könnyebb -auditálhatóságát, valamint minden felhasználónak egyedi, elszeparált -környezetet biztosít, amit a saját igényeinek megfelelően alakíthat. - -Ha a virtualizációs megoldást választják, akkor a virtuális gépek -kiosztását és menedzselését rábízzák egy úgynevezett hypervisorra -(magyarul hiperfelügyelőre). - -\hypertarget{mi-az-a-hypervisor}{% -\subsection{Mi az a Hypervisor?}\label{mi-az-a-hypervisor}} - -A hypervisor a virtualizációt lehetővé tevő szoftverek kulcsfontosságú -része. A hypervisor feladata a virtuális gépek (vendéggépek) -előkészítése és a virtuális gépek által elért hardver funckiók elkapása, -feldolgozása. - -A hypervisorok egy virtualizációs réteget hoznak létre az által, hogy -felügyelik, hogy a virtuális gépeken futó folyamatok mely fizikai -erőforrásokhoz férnek hozzá. - -A gépet, amelyre a hypervisort telepítjük, gazdagépnek nevezzük, szemben -a rajtuk futó virtuális vendéggépekkel. - -A hypervisorok a fizikai beosztásán kívül biztosíthatnak emulált -hardvereket (merevlemez, egér, képernyő, hálókártya, stb.), amelyek -használatával a vendéggépek úgy viselkedhetnek, mintha fizikai hardveren -futnának. - -A VM szempontjából nincs különbség a fizikai és a virtualizált környezet -között. A vendéggépek nem tudják, hogy a hypervisor virtuális -környezetben hozta létre őket. Sem azt, hogy megosztják a rendelkezésre -álló számítási teljesítményt. A VM-ek változatlanul az őket működtető -hardveren futnak, így teljes mértékben függnek annak stabil működésétől. - -A hypervisornak tradícionálisan két típusa van. Az első típust -bare-metal hypervisornak is szokták hívni, míg a másodikat hosztolt -hypervisornak. - -\hypertarget{elsux151-tuxedpusuxfa-hypervisor}{% -\subsubsection{Első típusú -hypervisor}\label{elsux151-tuxedpusuxfa-hypervisor}} - -A bare-metal hypervisor egy olyan szoftverréteg, amelyet közvetlenül a -fizikai kiszolgáló és az alapul szolgáló hardver fölé telepítünk. - -Nincs közte szoftver vagy bármilyen operációs rendszer, innen a -bare-metal hypervisor (magyarul csupasz metál) elnevezés. Az 1-es típusú -hypervisor kiváló teljesítményt és stabilitást biztosít, mivel nem egy -operációs rendszeren belül fut. - -Az 1-es típusú hiypervisor egy nagyon alapszintű operációs rendszer, -amelyen virtuális gépeket lehet futtatni. A fizikai gép, amelyen a -hypervisor fut, csak virtualizációs célokat szolgál. Másra nem -használható. - -\hypertarget{muxe1sodik-tuxedpusuxfa-hypervisor}{% -\subsubsection{Második típusú -hypervisor}\label{muxe1sodik-tuxedpusuxfa-hypervisor}} - -Az ilyen típusú hypervisor egy fizikai gép operációs rendszerén belül -fut. - -Ezért nevezzük a 2. típusú hypervisorokat hosztolt hypervisoroknak. Az -1. típusú hypervisorokkal szemben, amelyek közvetlenül a hardveren -futnak, a hosztolt hypervisorok alatt egy szoftverréteg található. Ebben -az esetben a következőkkel rendelkezünk: - -\begin{itemize} -\tightlist -\item - Egy fizikai gép. -\item - A hardverre telepített operációs rendszer (Windows, Linux, macOS). -\item - Az operációs rendszeren belül egy 2. típusú hypervisor szoftver. -\item - A vendég virtuális gépek tényleges példányai. -\end{itemize} - -Ebben az esetben a fizikai hoszton is tudjuk kezelni, menedzselni a -virtuális gépeinket. - -\hypertarget{a-modern-hypervisor}{% -\subsubsection{A modern hypervisor}\label{a-modern-hypervisor}} - -Manapság rájöttek, hogy a bare-metal hypervisor jó tulajdonságai mellett -kényelmes, ha az operációs rendszer teljes értékű. Ezért a gyártók -beleépítették az operációs rendszerekbe a hypervisor modult, ezzel -elérve, hogy legyen egy tradícionális operációs rendszerünk, annak -minden pozitív tulajdonságával és kényelmi funkciójával, és a hypervisor -is kernel szintű legyen, ne legyen még egy plusz réteg az operációs -rendszer fölött. - -A teljesség igénye nélkül ilyen megoldások az alábbiak: - -\begin{itemize} -\tightlist -\item - VMware ESXi -\item - Hyper-V -\item - Linux + KVM -\item - bhyve (FreeBSD) -\item - Hypervisor framework (Apple macOS) -\item - Proxmox -\end{itemize} - -\hypertarget{modern-hypervisorok-kezeluxe9se}{% -\subsubsection{Modern hypervisorok -kezelése}\label{modern-hypervisorok-kezeluxe9se}} - -Ha elindítunk egy fizikai kiszolgálót, amelyen egy hypervisor van -telepítve, egy parancssorszerű képernyő jelenik meg. Ha egy monitort -csatlakoztatunk a szerverhez, akkor a hardver és a hálózat néhány -részletét láthatjuk. Ez álltalában a CPU típusából, a memória -mennyiségéből, az IP-címből és a MAC-címből áll. - -Álltalában ezek csak egyszerű szerverkonfigurációt tesznek lehetővé. - -Ez a dátum és az idő, az IP-cím, a jelszó stb. megváltoztatásából áll. A -virtuális példányok létrehozásához egy másik gépen beállított -kezelőkonzolra van szükség. A konzol segítségével csatlakozhatunk a -szerveren lévő hypervisorhoz, és kezelhetjük a virtuális környezetet. - -A kezelési konzol lehet webalapú vagy különálló szoftvercsomag, amelyet -telepíthetünk arra a gépre, amelynek távoli kezelését szeretnénk. - -Az egyik elvégezhető művelet a virtuális gépek fizikai kiszolgálók -közötti manuális vagy automatikus áthelyezése. Ez a mozgatás a VM adott -pillanatban fennálló erőforrásigényén alapul, és a végfelhasználókra -gyakorolt hatás nélkül történik. Ugyanez a folyamat történik akkor is, -ha egy hardverdarab vagy egy egész szerver meghibásodik. A megfelelően -konfigurált kezelőszoftver a virtuális gépeket egy működő szerverre -helyezi át, amint probléma merül fel. Az észlelési és helyreállítási -eljárás automatikusan és zökkenőmentesen zajlik. - -A hypervisorok egyik legjobb tulajdonsága, hogy lehetővé teszik a -fizikai erőforrások túlkiosztását. - -A hypervisorokkal több erőforrást rendelhetünk a virtuális gépekhez, -mint amennyi rendelkezésre áll. Ha például a kiszolgálón 128 GB RAM van, -és nyolc virtuális gépet használunk, mindegyikhez 24 GB RAM-ot -rendelhetünk. Ez összesen 192 GB RAM-ot jelent, de maguk a VM-ek -valójában nem fogják elfogyasztani a fizikai kiszolgáló mind a 24 -GB-ját. A VM-ek azt hiszik, hogy 24 GB-ot használhatnak, holott -valójában csak annyi RAM-ot használnak, amennyi az egyes feladatok -elvégzéséhez szükséges. - -A hypervisor csak annyi erőforrást rendel ki, amennyi szükséges ahhoz, -hogy egy példány teljes mértékben működőképes legyen. - -\hypertarget{modern-hypervisorok-uxe1ttekintuxe9se}{% -\subsection{Modern hypervisorok -áttekintése}\label{modern-hypervisorok-uxe1ttekintuxe9se}} - -\hypertarget{vmware-esxi}{% -\subsubsection{VMware ESXi}\label{vmware-esxi}} - -Az ESXi egy BSD alapú operációs rendszer, melynek magja a VMkernel, mely -a FreeBSD kernelén alapszik és ebbe építették bele a hypervisort. - -Nagyvállalati környezetben a legtöbbször ezt a megoldást a vSphere-el -együtt használják, mely lehetővé teszi több ESXi hoszt klaszterizálását. - -Korábbi munkáim során találkoztam már a megoldással, és a tanszéki -környezethez feleslegesen bonyolultnak és túlságosan robosztusnak -ítéltem meg, ezért elvetettem a használatát. - -\hypertarget{hyper-v}{% -\subsubsection{Hyper-V}\label{hyper-v}} - -A Hyper-V a Microsoft hypervisor megoldása, mely mind a fogyasztói -Windows, mind Windows Server operációs rendszereken elérhető. -Természetesen az átlag felhasználók számára jóval kevesebb funkció -érhető el, mint a szerveres környezetben. - -A Hyper-V a Microsoft által készített NT kernel része, így Windowson -lehetővé teszi virtuális gépek futtatását. - -Ezzel a megoldással is találkoztam már korábban, és mivel a tanszéki -környezetben inkább Linuxos környezetre van szükség, feleslegesen -bonyolultnak éreztem egy Windowsos réteg bevonását az ökoszisztémába. - -\hypertarget{linux-plusz-vanilla-kvm}{% -\subsubsection{Linux plusz vanilla KVM}\label{linux-plusz-vanilla-kvm}} - -A KVM, azaz Kernel-based Virtual Machine (kernel alapú virtuális gép) -egy virtualizációs infrastruktúra a Linux rendszermagba integrálva. Egy -Hypervisor váltja a Linux rendszermagot. A KVM natív virtualizációt -támogat. - -Egy kényelmesen használható, nyílt forráskódú megoldás, mely egy -betölthető kernelmodulból, a \texttt{kvm.ko}-ból, amely az alapvető -virtualizációs infrastruktúrát biztosítja, és egy processzorspecifikus -modulból, a \texttt{kvm-intel.ko} vagy \texttt{kvm-amd.ko} modulból áll. - -Ezen a megoldáson alapszik a Proxmox VE is, amelyet végül a tanszéki -rendszerek hypervisorának választottam. - -\hypertarget{proxmox-ve}{% -\subsubsection{Proxmox VE}\label{proxmox-ve}} - -A Proxmox VE egy teljes körű, nyílt forráskódú, Debian alapú -szervermenedzsment platform virtualizációhoz. Szorosan integrálja a KVM -hypervisort és a Linux Containers (LXC), a szoftveresen definiált -tárolási és hálózati funkciókat egyetlen platformon. Az integrált -webalapú felhasználói felülettel könnyedén kezelhetőek a VM-ek és -konténerek, a klaszterek magas rendelkezésre állása vagy az integrált -katasztrófa-helyreállítási eszközök (disaster recovery tools). - -\hypertarget{proxmox-ve-telepuxedtuxe9se}{% -\subsection{Proxmox VE telepítése}\label{proxmox-ve-telepuxedtuxe9se}} - -\hypertarget{beuxe1lluxedtuxe1sok-kivuxe1lasztuxe1sa}{% -\subsubsection{Beállítások -kiválasztása}\label{beuxe1lluxedtuxe1sok-kivuxe1lasztuxe1sa}} - -\hypertarget{fuxe1jlrendszer-beuxe1lluxedtuxe1sa}{% -\paragraph{Fájlrendszer -beállítása}\label{fuxe1jlrendszer-beuxe1lluxedtuxe1sa}} - -Szerettem volna, ha szoftveres raid-et használna a szerver zfs-el, mivel -a zfs fájl szinten kezeli az adatokat, így sokkal több lehetőség áll -rendelkezésre az adatok védelme, sebességnövelés, stb. érdekében. -Hardveres raid-el szemben a szoftveres raid nincsen hardverhez kötve, -így meghibásodás esetén a merevlemezeket át lehet tenni egy másik gépbe, -ahol szoftveresen ugyanúgy össze lehet rakni a raid-et, és le lehet -menteni az adatokat, valamint így a vendor lock-in (gyártókhoz kötés) se -áll fent. A szoftveres raid rendszeresen kap frissítéseket, így az -idővel jobb, hatékonyabb lehet, valamint biztonsági hibákat is lehet -rajtuk javítani, ellentétben egy hardveres raid vezérlővel. - -Ezen kívül a zfs támogat: - -\begin{itemize} -\tightlist -\item - cow (copy on write)-ot -\item - transparens tömörítést -\item - thin allocated virtuális diskek létrehozását -\item - snapshotokat és azok hálózaton való átküldését -\end{itemize} - -\begin{figure} -\centering -\includegraphics{pics/proxmox02.png} -\caption{Fájlrendszer beállítása} -\end{figure} - -\hypertarget{huxe1luxf3zat-beuxe1lluxedtuxe1sa}{% -\paragraph{Hálózat beállítása}\label{huxe1luxf3zat-beuxe1lluxedtuxe1sa}} - -Először szeretném, hogy a hosztot el lehessen érni rögtön a tanszéki -hálózatról, valamint legyen hozzáférése az internethez is, így a korábbi -interfészét szeretnénk megtartani, valamint a korábbi -interfészbeállításokat is.\\ -Azaz beállítom menedzsment interfésznek a korábbi interfészt (ez jelen -esetben az \texttt{ens18} interfész). Hosztnévnek a -\texttt{vke2.hsnlab}-ot veszem fel (ez beírásra kerül a -\texttt{/etc/hosts} fájlba, valamint ez alapján lesz beállítva a hoszt -hosztneve). IP címnek beállítom a korábban használt címet: -\texttt{10.6.6.7/24} és átjárónak szintén a korábbi átjárót: -\texttt{10.6.6.1}. - -\includegraphics{pics/proxmox05.png}~ - -\hypertarget{a-hardveres-raid-vezuxe9rlux151-uxe1tuxe1lluxedtuxe1sa-hba-muxf3dba}{% -\subsubsection{A hardveres RAID vezérlő átállítása HBA -módba}\label{a-hardveres-raid-vezuxe9rlux151-uxe1tuxe1lluxedtuxe1sa-hba-muxf3dba}} - -Mivel korábban úgy döntöttem, hogy a Proxmoxon szoftveres raid-et fogok -használni, ezért át kellett kapcsoljam a hardveres RAID vezérlőt HBA -módba. - -\hypertarget{sas-vezuxe9rlux151k-muxf3djai}{% -\paragraph{SAS vezérlők módjai}\label{sas-vezuxe9rlux151k-muxf3djai}} - -A szerverekben több merevlemez vagy SSD együttes használatához -úgynevezett SAS vezérlőt alkalmaznak (Serial Attached SCSI), mely -segítségével sorosan lehet a merevlemezeket csatlakoztatni. - -Ezeknek a SAS vezérlőknek általában két módja van, a RAID mód és a HBA -mód. - -RAID módban, azaz Redundant Array of Independent Disks (magyarul: -független lemezek redundáns tömbje), az operációs rendszer nem fogja -látni a független lemezeket, hanem egy virtuális tömbként, eszközként -fogja azt kezelni. - -HBA módban (Host Bus Adapter) a vezérlő átadja a lemezeket az operációs -rendszernek, azaz az operációs rendszer látni fogja az összes független -lemezt. - -\end{document} diff --git a/vke.puml b/vke.puml new file mode 100644 index 0000000000000000000000000000000000000000..21e5b9a8215db87c6fdfca3f05dfed5b39523f70 --- /dev/null +++ b/vke.puml @@ -0,0 +1,67 @@ +@startuml + +skinparam linetype ortho +skinparam defaultFontName "Minion Pro" + +'skinparam nodesep 10 +skinparam linesep 10 +'skinparam ranksep 50 + + +node vke2 [ +== vke2 (Proxmox) +{{ + node vm21 as "vm1" + node vm22 as "vm2" + node vm23 as "vm3" + node vm24 as "vm4" +}} +] + +node vke3 [ +== vke3 (Ubuntu) +{{ + card cnt31 as "cnt1" + card cnt32 as "cnt2" + card cnt33 as "cnt3" + card cnt34 as "cnt4" +}} +] + +node vke1 [ +== vke1 (Ubuntu) +{{ + card cnt11 as "cnt1" + card cnt12 as "cnt2" + card cnt13 as "cnt3" + card cnt14 as "cnt4" +}} +] + +node vke4 [ +== vke4 (Ubuntu) +{{ + card cnt41 as "cnt1" + card cnt42 as "cnt2" + card cnt43 as "cnt3" + card cnt44 as "cnt4" +}} +] + + +agent switch as "MikroTik router" + +vke2 -up--- switch: mgmt +vke2 -up--- switch: data +vke3 -up--- switch: mgmt +vke3 -up--- switch: data +vke1 -up--- switch: mgmt +vke1 -up--- switch: data +vke4 -up--- switch: mgmt +vke4 -up--- switch: data + +vke1 --[hidden]right-> vke2 +vke2 --[hidden]right-> vke3 +vke3 --[hidden]right-> vke4 + +@enduml \ No newline at end of file