Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore cloud_computing

cloud_computing

Published by Thalanglibrary, 2020-11-05 02:56:19

Description: cloud_computing

Search

Read the Text Version

ก ต การทำสำเนาเคร่อื งคอมพิวเตอรเสมือน, 151 ตรวจสอบทรัพยากรเคร่อื งคอมพวิ เตอรเ สมือน, 125 การทำเสมอื นซอ น, 59, 64 ตรวจสอบทีอ่ ยไู อพี, 70 การทำเสมือนโดยใชฮารด แวรช ว ย, 35 การทำเสมอื นแบบดา นขา ง, 34 ท การทำเสมือนแบบเต็ม, 33 การบันทกึ สถานะ, 147 ทเี่ กบ็ ขอมลู , 173 การประมวลผลแบบกระจาย, 1 เทคโนโลยบี รรจุคอนเทนเนอร, 24 การประมวลผลแบบกรชิ , 2 เทคโนโลยีเสมือน, 24 การประมวลผลแบบกลุม เมฆ, 2 แท็ก, 211 การประมวลผลแบบขนาน, 1 การประมวลผลแบบคลสั เตอร, 2 บ การประมวลผลแบบควอนตัม, 2 การประมวลผลแบบเครือขา ย, 2 บรดิ จ, 223 การประมวลผลแบบเคล่ือนที,่ 2 แบก็ เอนด, 179 การประมวลผลศกั ยภาพสูง, 1 การเปลยี่ นปริมาณของหนว ยความจำหลัก, 126 ป การเพม่ิ ดิสกเ สมือน, 130 การเรยี กอินพุตเอาตพุต, 32 เปล่ียนจำนวนหนวยประมวลผลกลางเสมือน, 126 เกสต, 31 พ ข พัฒนาซอฟตแ วรแบบอไจล, 169 แพลตฟอรม เปนบรกิ าร, 4, 21 ขอมลู มหัต, 3 ม ค แมควีแลน, 224 คลาวดชมุ ชน, 4, 14 ร คลาวดผสม, 4, 17 คลาวดสว นตัว, 4, 12 ระดบั การใหบ รกิ าร, 4 คลาวดสาธารณะ, 4, 16 ระบบคลาวดก ลางภาครฐั , 3 คอนเทนเนอร, 169, 173 ระบบยอ ยลีนกุ ซสำหรบั วินโดวส, 179 เครือขา ย, 173 รจี ีสตรี, 172 เครอื ขายเสมอื นในด็อกเกอร, 223 รูปแบบการปรบั ใช, 4 ซ ว ซอฟตแ วรเปน บรกิ าร, 4, 23 วงแหวนการปองกนั , 32 วนิ โดวส 10 รุน สำหรับวงใน, 45 ด ส ดอ็ กเกอร, 169 ดอ็ กเกอรลกู ขา ย, 172 สถาปตยกรรมเปนบรกิ าร, 5, 20 ด็อกเกอรฮบั , 172 สรา งคอนเทนเนอร, 200 ด็อกเกอรโ ฮสต, 172 สรางเครอ่ื งคอมพวิ เตอรเ สมือน, 60, 83, 99 ดสิ กเ ชิงตรรกะ, 131 สรางพารท ตชิ ันใหม, 132 3

อ ฮ อา งขอ มูล, 161 โฮสต, 31, 223 อินเตอรเ ฟสเครอื ขาย, 137 ไฮเปอรไ วเซอร, 31 อนิ เทอรเน็ตสรรพสิ่ง, 3 ไฮเปอรไ วเซอรประเภท 1, 38 อมิ เมจ, 172 ไฮเปอรไวเซอรประเภท 2, 38 อิมเมจมาตรฐาน, 197 โอเวอรเ ลย, 223 4

ภาคผนวก ก เฉลยแบบฝก หดั i

เฉลยแบบฝกหัดบทที่ 1 1. บอกรปู แบบการประมวลผลทางคอมพิวเตอรนอกจากการประมวลผลกลุม เมฆ 1) การประมวลผลศกั ยภาพสูง (High-performance Computing) 2) การประมวลผลแบบขนาน (Parallel Computing) 3) การประมวลผลแบบกระจาย (Distributed Computing) 4) การประมวลผลแบบคลสั เตอร (Cluster Computing) 5) การประมวลผลแบบกริช (Grid Computing) 6) การประมวลผลแบบเคล่ือนท่ี (Mobile Computing) 7) การประมวลผลแบบควอนตัม (Quantum Computing) 8) การประมวลผลแบบเครือขา ย (Network Computing) 2. บอกแรงจงู ใจทีท่ ำใหปจ จุบันการประมวลผลกลุมเมฆเปน ท่ีนยิ ม การประมวลผลกลุมเมฆจึงเปนสิ่งจำเปนสำหรับบุคคลหรือหนวยงานที่ตองการกำลังการประมวลผลและ ทรัพยากรตาง ๆ โดยท่ีไมตอ งการลงทุนดวยงบประมาณเร่ิมตนในปริมาณมาก และตองรบั ผิดชอบคาใชจายอื่น ๆ ที่ตามมา เชน คาเครื่องปรับอากาศ คาไฟฟา หรือคาจางพนักงานที่มีความรูความสามารถมาดูแล ซึ่งเมื่อ คำนวณคาใชจายท้ังหมดเหลา นจ้ี ะพบวา การใชบริการจากผูใหบริการจะมคี าใชจายท่ีนอยกวา หรอื เทากับการ ทต่ี อ งลงทุนทุกอยางดวยตนเอง 3. สถาบันมาตรฐานและเทคโนโลยีไดนิยามคำวาการประมวลผลกลมุ เมฆวา อะไร การประมวลผลกลุมเมฆเปนแบบจำลองที่ทำใหแพรหลาย สะดวกสบาย เขาถึงผานเครือขายไดตาม ตอ งการจากกลุมของทรพั ยากรทใ่ี ชในการประมวลผล ท่ีสามารถจดั หาและยกเลกิ ดว ยข้ันตอนที่ไมซบั ชอน 4. คณุ สมบัติท่ีสำคัญของการประมวลผลกลุมเมฆคอื อะไร 1) บริการดวยตัวเองตามความตองการ ผูใชบริการสามารถจัดหาทรัพยากรไดตามตองการโดยไม จำเปนตองปฏสิ มั พันธกบั เจาหนาทขี่ องผใู หบรกิ าร 2) การเขาถึงเครือขายกวางขวาง ผูใชบริการสามารถเขาถึงจากภายนอกผานเครือขายอินเทอรเน็ต หรือ จากอปุ กรณใด ๆ เชน โทรศพั ทมือถอื แลบทอ็ ป หรือคอมพวิ เตอร เปน ตน 3) กลุมทรัพยากรที่หลากหลาย ผูใชบริการไมจำเปนตองมีความรูขอมูลทางกายภาพของผูใหบริการ เพียงแตระบุชนดิ ทรัพยากร จำนวนทรพั ยากร และตำแหนง ที่ต้งั ก็สามารถจดั การทรัพยากรได 4) ความยืดหยุนที่รวดเร็ว ผูใชบริการสามารถปรับเปลี่ยนทั้งชนิด และปริมาณของทรัพยากรไดตาม ตอ งการและสามารถเปลีย่ นแปลงไดใ นทันที 5) บริการที่วัดได ผูใชบริการสามารถวัดปริมาณทรัพยากรที่ใช และสามารถควบคุมปริมาณสูงสุดเพื่อ ควบคมุ คา ใชจา ยได 5. รูปแบบการปรับใชการประมวลผลกลมุ เมฆสามารถจดั แบง ไดกปี่ ระเภท แตละประเภทมีลกั ษณะอยา งไร การจดั แบงตามรูปแบบการปรบั ใชสามารถแบงไดอ อกเปน 4 รูปแบบ คือ ii

1) คลาวดสว นตัว (Private cloud) เปนโครงสรางภายในที่ถูกออกแบบใหจ ดั หาทรัพยากรใหกบั หนวยงาน เพียงหนวยงานเดียว รูปแบบนี้อาจถูกใหบรกิ าร ดูแลจากหนวยงานนั้นเอง จากหนวยงานอื่น หรือรวมกัน ได 2) คลาวดสาธารณะ (Public cloud) เปนโครงการภายในทถี่ กู ออกแบบใหจดั หาทรัพยากรใหกบั สาธารณะ คือมีหลายหนว ยงานสามารถเขา มาขอใชบ ริการได 3) คลาวดชุมชน (Community cloud) เปนโครงการภายในที่ถูกแบงปนโดยกลุมหนวยงานหนึ่ง เพ่ือ สนับสนุนนโยบาล ความตองการ หรือจุดมุงหมายรวมกันของกลุมหนวยงาน รูปแบบนี้อาจถูกใหบริการ ดแู ลจากหนวยงานน้นั เอง จากหนวยงานอนื่ หรอื รว มกนั ได 4) คลาวดผ สม (Hybrid cloud) เปน โครงสรางภายในทปี่ ระกอบดว ยรปู แบบกอนหนาน้มี ากกวา 1 รูปแบบ ผสมและทำงานรวมกนั ซ่งึ อาจถูกเชือ่ มตอ กันดวยซอฟตแวรหรือระบบพิเศษ 6. รูปแบบการใหบริการของการประมวลผลกลุมเมฆสามารถจัดแบงไดกี่รูปแบบ แตละรูปแบบมีคุณสมบัติ อยา งไร การจดั แบง ตามรปู แบบการใหบ ริการสามารถแบงไดออกเปน 3 รูปแบบ คอื 1) รูปแบบการใหบริการแบบซอฟตแวรเปนบริการ (Software as a Service) เปนรูปแบบการ ใหบริการที่ผูใชบริการใชแอปพลิเคชนั ที่ทำงานอยูบนโครงสรางคลาวดข องผูใหบริการ ซึ่งจะรวมไป ถงึ เคร่อื งแมขา ย พ้ืนทจ่ี ัดเกบ็ ขอมลู หรือแมก ระท่ังการตั้งคาของซอฟตแวร โดยผูใชบรกิ ารอาจเขาถึง ผานเว็บเบราเซอร และอินเตอรเฟสแอปพลิเคชัน โดยที่ผูใชบริการไมสามารถจัดการหรือควบคุม ทรัพยากรภายในซอฟตแ วรนั้นได 2) รูปแบบการใหบริการแบบแพลตฟอรมเปนบริการ (Platform as a Service) เปนรูปแบบการ ใหบริการที่ผูใชบริการเขาถึงบริการผานชองทางเฉพาะที่ผูใหบริการจัดเตรียมไวใหเชน เครื่องมือ เฉพาะ รูปแบบการเขาถึง ไลบรารี เปนตน ผูใชบริการไมสามารถจัดการหรือควบคุมทรัพยากร ภายใตบริการนั้นได แตสามารถควบคุมและจัดการกับการติดตั้งแอพลิเคชัน การตั้งคาของแอพลิเค ชัน หรืออีกนัยหนึ่งคือ บริการถูกบรรจุอยูในโครงสรางที่ผูใหบริการดูแลเรื่องความสามารถในการ ขยาย การดูแลรกั ษาระบบ 3) รูปแบบการใหบริการแบบสถาปตยกรรมเปนบริการ (Infrastructure as a Service) เปนรูปแบบ การใหบริการที่ผูใชบริการสามารถจัดหากำลังการประมวลผล พื้นที่จัดเก็บขอมูล ระบบเครือขาย และทรัพยากรอื่น ๆ โดยมีคาใชจายไปตามปริมาณทรัพยากรที่ใชแตละชนิด ผูใชบริการสามารถ ติดตั้งแอพลิเคชันหรือประมวลผลแอพลิเคชันตามความตองการ รวมถึงติดตั้งระบบปฏิบัติการดวย ตนเอง รปู แบบการใหบ ริการน้ีผใู ชบ รกิ ารจะไมส ามารถเขา ถงึ โครงสรา งภายใตบริการน้ันได เชน ไฟร วอลล ระบบทำความเย็น เปนตน 7. ผูใหบ ริการคลาวดค วรมคี ุณสมบตั ิในดา นใดบาง ผใู หบรกิ ารจำเปน ตองมีระบบท่มี คี ณุ สมบัติ ดงั ตอ ไปน้ี 1) หลายครอบครอง (Multitenancy) iii

2) บริหารจัดการชว งชวี ติ ของบริการ (Service life cycle management) 3) ความม่นั คงปลอดภัย (Security) 4) การตอบสนอง (Responsiveness) 5) การติดตัง้ บรกิ ารอยา งชาญฉลาด (Intelligent service deployment) 6) ความสะดวกตอ การเคลือ่ นยาย (Portability) 7) การทำงานรวมกนั (Interoperability) 8) เคารพกฎหมาย (Regulator aspects) 9) ความยั่งยนื ดานสภาพแวดลอม (Environmental sustainability) 10) เสถียรภาพของบริการ ความพรอมใชงานของบริการ และการประกันคุณภาพ (Service reliability, service availability, quality assurance) 11) การเขา ถึงบริการ (Service access) 12) ความยืดหยุน (Flexibility) 13) การทำบัญชแี ละการคิดคา บรกิ าร (Accounting and Charging) 14) การประมวลผลขอ มูลขนาดใหญ (Massive data processing) 8. บอกขอดีและขอเสยี ของการประมวลผลกลมุ เมฆมาอยา งละ 2 ขอ ขอดี 1) ความสามารถในการเขาถงึ ถาแอปพลิเคชันของผอู านและเอกสารอยใู นคลาวด ไมใชเ คร่อื งแมขายในที่ ทำงาน ผอู า นจะสามารถเขาถึงและใชง านไดทุกที่ ทุกเวลา ไมวาจะเปน ทบ่ี า น หรอื ที่ทำงาน 2) ระบบคลาวดนิยมใชเทคโนโลยีเสมือน (Virtualization) เขามาชวยจัดการทรัพยากรบนเครื่อง เทคโนโลยีเสมือนจะชวยใหเครื่องคอมพิวเตอรเครื่องหนึ่งแบงการทำงานเปนเครื่องคอมพิวเตอรท่ี ทำงานอสิ ระตอ กันไดห ลายเคร่อื ง โดยแบงปนทรัพยากรทม่ี ีอยใู นเคร่อื งทางกายภาพเดียวกนั ขอเสีย 1) หากการเช่ือมตอ อนิ เทอรเ น็ตขาดหายไปจะทำใหผ อู า นไมส ามารถเขาถงึ ขอมลู และแอปพลเิ คชนั ได 2) เรื่องความมั่นคงปลอดภัยที่ขอมูลและแอปพลิเคชันของหนวยงานอยูติดตั้งและเก็บรักษาไวกับ หนวยงานอื่น แมการประมวลผลกลุมเมฆจะรองรับการขยายตัวไดอยางรวดเร็ว แตหนวยงานก็ไม สามารถควบคุมทรพั ยากรไดเทยี บเทากบั ในกรณีที่ระบบคอมพวิ เตอรน้นั ถกู ตดิ ต้ังไวในหนว ยงาน 9. ทำไมระบบคลาวจ ึงนิยมนำเทคโนโลยีเสมอื น (Virtualization) มาใช เทคโนโลยีเสมือนจะชวยใหเครื่องคอมพิวเตอรเครื่องหนึง่ แบงการทำงานเปน เคร่ืองคอมพิวเตอรที่ทำงาน อิสระตอกันไดหลายเครื่อง โดยแบงปนทรัพยากรที่มีอยูแลวในเครื่องทางกายภาพเดียวกัน ซึ่งในปจจุบันมี ซอฟตแวรที่ชวยใหสามารถยายเครื่องคอมพิวเตอรเสมือนจากเครื่องคอมพิวเตอรทางกายภาพเครื่องหนึ่งไป อกี เครื่องทางกายภาพอกี เคร่ืองหนึ่งได โดยท่ีเครื่องคอมพิวเตอรเสมอื นยังคงทำงานเปนปกติ iv

การใชเครื่องคอมพิวเตอรเสมือนจะชวยสนับสนุนนโยบายสีเขียวรักษสิ่งแวดลอมอีกดวย เพราะเปนการ ลดจำนวนเคร่ืองคอมพวิ เตอรทางกายภาพ สงผลใหล ดจำนวนขยะอเิ ล็กทรอนิกส ลดคาไฟฟา สำหรับระบบทำ ความเย็น คา กอสรา งตอ แตงอาคาร ฯลฯ 10. หากเลอื กใชระบบคลาวดจ ากผใู หบ รกิ ารแลว ทำไมการเปลี่ยนผใู หบรกิ ารจึงมคี าใชจ ายสูง ในปจจุบันระบบคลาวดสวนใหญไมไดออกแบบใหรองรับการทำงานรวมกันกับอีกระบบหนึ่ง โดยเฉพาะ ในกรณีของคลาวดสาธารณะที่ผูใหบรกิ ารคิดคา ธรรมเนยี มแบนวิธขอมูลขาออกในราคาท่ีสูง แตไ มคิดคาบริการ ของแบนวิธขอมูลขาเขา ทำใหคาบริการทั่วไปมีราคาไมสูง แตหากผูใชบริการยายขอมูลออกจากผูใหบริการ คลาวดเพื่อเปลี่ยนผูใหบริการ ผูใชบริการจะถูกคิดคาบริการในราคาที่สูงในการยายขอมูลออกจากศูนยขอมูล ของผใู หบริการ v

เฉลยแบบฝกหัดบทท่ี 2 1. บอกคณุ ลักษณะที่สำหรับของคลาวดท ี่มีรูปแบบการปรับใชแ บบสวนตวั 1) มั่นคงปลอดภัย เนื่องจากคลาวดสวนตัวนิยมถูกปรับใชและบริหารจัดการภายในหนวยงาน มันจึง เปนไปไดย ากทีข่ อมูลจะรั่วไหลออกมานอกหนวยงาน 2) การควบคุมจากศูนยกลาง หนวยงานที่ปรับใชคลาวดสวนตัวจะสามารถมีการควบคุมเต็มรูปแบบได เนอ่ื งจากเปนคลาวดท ี่ออกแบบมาเพื่อหนว ยงานนนั้ โดยเฉพาะและอาจไมไดพึ่งพาหนวยงานภายนอก 3) ขอตกลงระดับการใหบริการที่หละหลวม เนื่องจากคลาวดสวนตัวอาจถูกปรับใชโดยพนักงานใน หนวยงานนัน้ และอาจถูกติดตั้งในหนวยงาน ทำใหไมมีขอตกลงดังกลาวชัดเจนเพราะเปนบุคลากรใน หนวยงานเดียวกนั 2. บอกคุณลักษณะทสี่ ำหรบั ของคลาวดท ่ีมีรูปแบบการปรบั ใชแ บบสาธารณะ 1) รองรับการขยายตัวสงู เนอื่ งจากมีผใู ชบ รกิ ารทีม่ าก และเพมิ่ ข้นึ เรื่อย ๆ ผใู หบรกิ ารจะตองวางแผนและ เตรยี มการสำหรบั การขยายตัวใหสอดคลอ งกับยอดการใชบริการตลอดเวลา 2) ราคาไมแพง โดยทั่วไปคลาวดสาธารณะคิดคาบริการตามการใชงานจริงรายช่ัวโมง ทำใหผูใชไมตอง เสยี คา บริการอื่นที่ไมเ กี่ยวขอ ง 3) ความมั่นคงปลอดภัยนอย คลาวดสาธารณะมีความมั่นคงปลอดภัยนอยที่สุดเมื่อเทียบกับรูปแบบการ ปรบั ใชอ ื่น แตย งั มขี อตกลงระดับการใหบรกิ ารเพือ่ ปกปอ งความเปนสวนตัวของผใู ชงานอยู 4) ความพรอมใชส ูง คลาวดสาธารณะมคี วามพรอ มใชส งู เพราะตอ งสามารถเขาถึงไดจากทุกมุมโลก 3. บอกคณุ ลักษณะท่ีสำหรบั ของคลาวดท ี่มีรปู แบบการปรับใชแบบผสม 1) การขยายตัว คลาวดผสมเปนการรวมรูปแบบการปรับใชมากกวา 1 หนึง่ แบบ โดยเหตผุ ลหลักเปนการ ใชคลาวดสาธารณะในสภาพแวดลอมของคลาวดสวนตัว เนื่องจากคลาวดสาธารณะรองรับการ ขยายตัวไดด ีจงึ ทำใหค ลาวดผ สมน้มี คี วามสามารถในการขยายตวั 2) ความมั่นคงปลอดภัยบางสวน แมคลาวดสวนตัวจะมั่นคงปลอดภัย แตหากคลาวดสาธารณะถูกเจาะ ระบบก็อาจทำใหข อมลู บางสวนรว่ั ไหลไปได 3) ขอตกลงระดับการใหบริการที่เขมงวด ทรัพยากรสวนที่ตั้งอยูในคลาวดสาธารณะจะมีขอตกลงระดับ การใหบรกิ ารท่ีเขมงวดกวา มาก 4) การบริหารจัดการคลาวดที่ซับซอน การบริการจัดการคลาวดจะมีความซับซอนและเปนงานยาก เพราะเกยี่ วขอ งการรูปแบบการปรับใชม ากกวา 1 รปู แบบ 4. บอกคุณลกั ษณะทสี่ ำหรับของคลาวดที่มรี ูปแบบการปรับใชแบบชุมชน 1) การรวมกันทำงานและการกระจายการซอมบำรุง คลาวดชุมชนเปนการแบงปนทรัพยากรของคลาวด รว มกนั โดยไมมีหนว ยงานใดเปนเจาของท้ังระบบ เปน เพราะรวมกันทำงานและการกระจายการบริหาร จดั การบนจดุ ประสงคร วมกันจะเกดิ ประโยชนมากกวา vi

2) ความมั่นคงปลอดภัยเพียงบางสวน เนื่องจากเปนคลาวดที่แบงปนทรัพยากรระหวางหนวยงานหลาย หนวยงาน การรั่วไหลของขอมูลจากหนวยงานใดหนวยงานหนึ่งอาจทำใหขอมูลของหนวยงานที่ แบง ปนทรพั ยากรรว มกันรัว่ ไหลดวย 3) คาใชจายที่คุมคา คลาวดชุมชนมีคาใชจายที่คุมคาเนื่องจากถูกแบงจายโดยหลายหนวยงานในชุมชน ไมเพยี งแคค า ใชจาย ความรบั ผดิ ชอบยงั ถูกแบงรว มกันระหวางหนว ยงานดว ย 5. การประมวลผลกลมุ เมฆรปู แบบการใหบ รกิ ารแบบสถาปต ยกรรมเปน บริการเหมาะสมกับสถานการณใ ด รูปแบบการใหบริการแบบสถาปตยกรรมเปนบริการจะชวยลดตนทุนฮารดแวรและการดูแลรักษา โดยเฉพาะกับบรษิ ัทประเภทสตารท อพั (Start-up) เพราะสามารถใชเงนิ ทุนท่ีมีอยูจำกดั ไปลงทุนดา นอน่ื ได 6. การประมวลผลกลมุ เมฆรูปแบบการใหบ ริการแบบแพลตฟอรเปน บรกิ ารเหมาะสมกับสถานการณใด ผใู ชงานท่เี ปล่ยี นจากการพัฒนาแอปพลเิ คชันในและทำงานในเครื่องภายในหนว ยงานมาพัฒนาบนออนไลน หรือพัฒนาในเครื่องแตปรับใชงานออนไลนทำใหผูใชงานจายแคคาใชจายตามปริมาณทรัพยากรที่ตองการ จัดสรรไว เมื่อมีความตองการเพิ่มในภายหลังก็สามารถเพิ่มปริมาณทรัพยากรได โดยที่ผูใหบริการจะเปน ผูรับผิดชอบคาใชจายเรื่องลิขสิทธิ์ซอฟตแวรดวยการถัวเฉลี่ยคาใชจายไปตามคุณสมบัติที่เครื่องที่ตองติดตั้ง รองรับได และระยะเวลาทีซ่ อฟตแวรน ้ันมปี ระกันคุณภาพอยู development ซ่ึงเปน รปู แบบทพ่ี ัฒนาและแกไข ขอ ผดิ พลาดของซอฟตแวรไ ดเรว็ ทส่ี ุด 7. การประมวลผลกลมุ เมฆรปู แบบการใหบ รกิ ารแบบซอฟตแวรเ ปน บริการเหมาะสมกบั สถานการณใ ด ผูใชงานที่เรียกใชงานซอฟตแวรตามความตองการ โดยมีคาใชจายตามระยะเวลาที่ใชงานเชน รายชั่วโมง หรือรายเดือน แทนการซื้อลิขสทิ ธิ์ถาวรมากอ น รูปแบบการใหบริการน้ีจะชวยใหผูใชสามารถเขาถึงซอฟตแวร ไดจากสถานท่ีหรืออุปกรณผานอินเทอรเน็ต โดยที่ไมจำเปนตองติดตัง้ ซอฟตแวรลงไปในเครื่อง โดยทั่วไปนิยม เขาถึงผา นเว็บเบราเซอร 8. อะไรเปน ปจจยั ในการเลือกใชร ปู แบบการใหบรกิ ารที่แตกตางกนั ของการประมวลผลกลุมเมฆ ปจจัยหลักของการเลือกรูปแบบการใหบ ริการทีแ่ ตกตางกัน คอื ความตองการของหนวยงาน เชน เลือกรูปแบบ การใหบริการแบบสถาปตยกรรมเปนบริการหากหนวยงานตองการรูปแบบการใหบริการที่มีราคาถูกและดูแล ดวยตนเองได เลือกรูปแบบการใหบริการแบบแพลตฟอรเปนบริการเมือ่ ตองการใชบริการทีส่ ามารถนำมาสว น ชวยในการพัฒนาแอปพลิเคชันใหทำงานไดดีหรือรวดเร็วขึ้น เลือกรูปแบบการใหบริการแบบซอฟตแวรหาก หนวยงานตอ งการบริการทสี่ ำเร็จรปู พรอมใชงาน และไมตองจา งสำหรบั พนักงานดูแลระบบโดยเฉพาะ 9. เทคโนโลยเี สมอื นสามารถนำมาใชข บั เคล่ือนการประมวลผลกลุมเมฆไดอ ยางไร เทคโนโลยีเสมือนเปนเทคโนโลยีที่ชวยสรางสภาพแวดลอมที่เปนอิสระตอกันใหกับสถาปตยกรรมแบบ หลายผูอาศัย เมื่อใชเทคโนโลยีเสมือนทรัพยากรในโครงสรางทางกายภาพ เชน กำลังการประมวลผล พื้นที่ จัดเก็บขอมูล เครือขาย หนวยความจำหลัก เปนตน จะถูกนำมาแบงปนใหกับผูใชหลายคนเสมือนหนึ่งผูใชแต ละคนไดเขาถงึ ทรัพยากรเหลานนั้ ทางกายภาพ แตใ นความเปน จรงิ น้นั มาจากทรัพยากรที่เดยี วกนั 10. เทคโนโลยีบรรจคุ อนเทนเนอรสามารถนำมาใชข บั เคลอ่ื นการประมวลผลกลมุ เมฆไดอ ยางไร vii

เทคโนโลยีบรรจุคอนเทนเนอรเปนเทคโนโลยีท่ีชว ยสรางภาพแวดลอมที่เปนอิสระตอกนั ระหวางแอปพลิเค ชันกับไลบรารีที่ตองพึ่งพาจากแอปพลิเคชันเอง และสภาพแวดลอมของระบบปฏิบัติการ ดังนั้น เทคโนโลยี บรรจุคอนเทนเนอรจึงชวยลดปญหาการสงมอบซอฟตแวรใหกับลูกคา ลดปญหาการติดตั้งบนระบบและสงผล กระทบตอ แอปพลเิ คชนั อื่น viii

เฉลยแบบฝกหดั บทที่ 3 1. บอกความหมายของเทคโนโลยเี สมือน สภาพฮารด แวรทีไ่ มใชของจริง เทคโนโลยเี สมอื นทำซำ้ การทำงานของฮารดแวรทางกายภาพและนำเสนอสู ระบบปฏบิ ัตกิ ารเสมือนหน่ึงวาเปนฮารดแวรจ รงิ โดยการสรางสภาพแวดลอมเสมือนข้ึน ในทางปฏบิ ตั เิ คร่ืองทาง กายภาพที่เรียกวา โฮสต (Host) ประมวลผลแอปพลิเคชันเทคโนโลยีเสมือนที่เรียกวา ไฮเปอรไวเซอร (Hypervisor) และเคร่ืองคอมพวิ เตอรเสมือนท่ีถูกติดต้ังอยูบนไฮเปอรไ วเซอรเรยี กวา เกสซ (Guest) 2. บอกรปู แบบของการทำเสมอื นในปจจุบัน 1) การทำเสมือนแบบเตม็ 2) การทำเสมือนแบบดา นขาง 3) การทำเสมือนโดยใชฮารด แวรช วย 3. ทำไมการทำเสมือนแบบเตม็ จงึ มปี ระสิทธภิ าพชา เทคนิคนี้ตองใชวิธีการแปลงคำสั่งของหนวยประมวลผลกลางจากระบบปฏิบัติการเกสตไปยังไฮเปอร ไวเซอรเพื่อเขาถึงฮารดแวรอีกที ซึ่งการแปลงคำสั่งของหนวยประมวลผลกลางนั้นมีคาใชจายมากทำให ประสทิ ธิภาพของระบบปฏบิ ตั กิ ารเกสตช ากวาการทำงานของระบบปฏบิ ตั ิการโดยตรงจากฮารด แวรม าก 4. ขอ จำกดั ที่สำคญั การทำเสมอื นแบบดานขางคืออะไร ระบบปฏิบัติการที่มาใชงานนั้นจะตองมีแกนของระบบปฏิบัติการที่คอมไพลมาเพื่อทำงานใน สภาพแวดลอ มเสมือนเทา นั้น 5. บอกช่ือสว นขยายชดุ คำสงั่ ทีใ่ ชชวยทำเสมือนในหนว ยประมวลผลกลาง Intel และ AMD Intel VT-x และ SVM ตามลำดบั 6. บอกประโยชนข องการใชเทคโนโลยเี สมือน เนื่องจากเทคโนโลยีเสมือนทำใหเกิดการจำลองฮารดแวรที่มีอยู 1 ชุดใหกลายเปนหลายชุดได จึงเกิด ประโยชนในหลายประการ ดังนี้ 1) ชวยดงึ ทรัพยากรของเครือ่ งแมขายไดสงู สดุ 2) ความโดดเดีย่ วของบริการ 3) จดั หาทรพั ยากรใหผ ใู ชบริการไดร วดเร็วกวา 4) การกคู นื จากภยั พิบตั ิ 5) กระจายโหลดการทำงานไดแบบไดนามิก 6) สภาพแวดลอมทท่ี ำใหก ารพฒั นาและทดสอบซอฟตแวรเรว็ ขึน้ 7) เพมิ่ ความเสถยี รและความมัน่ คงปลอดภัยในกับระบบ 8) ความเปนอสิ รภาพของระบบปฏบิ ัติการ 7. อธิบายการปฏิสมั พนั ธระหวา งเคร่ืองคอมพิวเตอรเสมือนและไฮเปอรไวเซอร ไฮเปอรไวเซอรยังรับผิดชอบการทำเสมือนในรูปแบบตาง ๆ ที่ไมเหมือนกันของแตละเครื่องคอมพิวเตอร เสมือน ทำใหระบบปฏิบัติการเกสตทุกตัวที่ทำงานอยูบนไฮเปอรไวเซอรจะรูจักฮารดแวร และใชไดรเวอรรุน เดยี วกันทั้งหมด 8. ไฮเปอรไ วเซอรป ระเภท 1 และไฮเปอรไวเซอรประเภท 2 ตางกนั อยางไร ix

ไฮเปอรไวเซอรประเภท 1 จะมีประสิทธิภาพการทำงานท่ีดีกวาไฮเปอรไวเซอรประเภท 2 เพราะมันทำงาน ตดิ ตอ กบั ฮารดแวรโดยตรง แตไมสามารถติดตั้งซอฟตแวรอื่นหรืออปุ กรณอนื่ ในไฮเปอรไวเซอรประเภทนีไ้ ด สวนไฮเปอรไวเซอรประเภท 2 สามารถปรับแตง ระบบปฏบิ ัตกิ ารหรือติดตัง้ อปุ กรณเสรมิ พรอ มไดรเวอรได 9. อธิบายความสมั พนั ธระหวาง KVM และ QEMU โปรแกรม KVM ใชเคร่อื งมอื ท่ีเรียกวา QEMU ซึง่ เปน โปรแกรมจำลองฮารด แวร เชน ท่ีเกบ็ ขอมลู เครอื ขาย การดแสดงผล การด PCI อุปกรณ USB พอรตอนุกรม พอรตขนาน เปนตน เพื่อใหสามารถสรางเครื่อง คอมพิวเตอรเสมือนท่มี ฮี ารด แวรครบเหมือนเคร่ืองคอมพิวเตอรทั่วไปได 10. บอกชื่อเคร่อื งมอื ท่ใี ชจ ัดการโปรแกรม KVM และแตล ะเครือ่ งมือใชทำอะไรบาง 1) virsh เปนเครื่องมือสำหรับจัดการทั่วไปเกี่ยวกับเครื่องคอมพิวเตอรเสมือน มีคำสั่งยอยตามอารกิวเมน เพิม่ เตมิ เชน - virsh start และ virsh shutdown สำหรบั เร่ิมตน และปดการทำงานของเครอ่ื งคอมพิวเตอรเสมือน - virsh list สำหรับแสดงรายการเครอื่ งคอมพิวเตอรเ สมือน - virsh create สำหรบั สรา งเครื่องคอมพิวเตอรเ สมือนจากแฟมการตั้งคา - virsh สำหรบั เขาสเู ชลลเ พ่ือเขา สโู หมดปฏสิ ัมพันธ 2) virt-install เปนเครอื่ งมือสำหรบั สรา งเครือ่ งคอมพวิ เตอรเ สมือนใหม x

เฉลยแบบฝก หดั บทที่ 4 1. การทำเสมอื นซอ นคืออะไร การทำเสมือนซอน (Nested Virtualization) ซึ่งเปนเทคนิคท่ีใชตดิ ตั้งไฮเปอรไ วเซอรซอ นอยูใ นไฮเปอรไ ว เซอรอีกชั้นหนึง่ การเขาถึงนอุปกรณหรือสิทธิพิเศษของระบบปฏบิ ตั ิการเกสตในไฮเปอรไวเซอรช ้ันในจะถูกสง ตอ ผา นไฮเปอรไวเซอรชัน้ ในไปยังไฮเปอรไวเซอรช นั้ นอกเพ่ือเขาถงึ อปุ กรณใ นขนั้ ตอนสดุ ทาย 2. หากเครื่องของผูอานมีหนวยประมวลผลกลางเปน AMD ผูอานควรมีขั้นตอนเตรียมเครื่องอยางไรเพื่อใช การทำเสมอื นซอ น หากตอ งการใชการทำเสมือนซอนในหนวยประมวลผลกลาง AMD จะตอ งอัพเดทระบบปฏิบัติการวินโดวส 10 ใหเปนเวอรชัน 2004 Build 19645 หรือใหมกวา (Microsoft Inc. 2020a) ซึ่งเปนวินโดวส 10 รุนสำหรับ วงใน (Insider) ซงึ่ ในปจ จุบันรองรับการทำเสมอื นซอ นผานโปรแกรม VMWare Workstation Player เทา น้ัน 3. คุณสมบัติของระบบปฏบิ ัตกิ ารวนิ โดวส 10 อะไรบางท่จี ำเปน สำหรบั การทำงานของโปรแกรม Hyper-V โปรแกรม Hyper-V เปนโปรแกรมที่ใชจำลองเทคโนโลยีเสมือนคลายกับโปรแกรม KVM แถมมากับ ระบบปฏิบัตกิ ารวนิ โดวส 10 ยกเวน รนุ Home Edition โดยไมมีคาใชจ าย 4. อมิ เมจของระบบปฏิบัตกิ าร CentOS ประเภทใด เหมาะสมสำหรบั การตดิ ตง้ั ในเครอ่ื งคอมพิวเตอรเสมอื น อิมเมจประเภท minimal เหมาะสมที่สุด เนื่องจากประกอบดวยระบบปฏิบัติการและแพ็คเกจที่จำเปน สำหรับการทำงานเบือ้ งตนของระบบปฏิบตั ิการเทา น้ัน 5. หากตองการเปด การทำงานของการทำเสมือนซอ นในโปรแกรม Hyper-V จะตอ งทำอยางไร เขา Powershell ในฐานะผูดูแลระบบ แลว จากนน้ั พมิ พคำสัง่ # Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true โดยที่ <VMName> เปนช่ือเครือ่ งคอมพวิ เตอรเสมอื นในโปรแกรม Hyper-V 6. หากตองการเปดการทำงานของการทำเสมือนซอนในโปรแกรม VMWare Workstation Player จะตอง ทำอยางไร คลิกขวาที่รายการเคร่ืองคอมพิวเตอรเ สมอื น และเลือก Settings ในหนา ตาง Hardware คลกิ ท่ีเมนฝู ง ซา ย เปน Processors และคลิกเลือกทั้ง Virtualize Intel VT-x/ETP or AMD-V/RVI และ Virtualize CPU performance counters เพือ่ เปด การทำงานการทำเสมือนซอน 7. ในขั้นตอนการติดตั้งระบบปฏิบัติการ CentOS หากตองการตั้งคารหัสผานงาย ๆ สำหรับบัญชีผูใช root จะตองทำอยา งไร คลิกยืนยนั ทปี่ ุม Done สองครั้ง 8. บอกคำส่งั ทใี่ ชใ นการรีบูตเครื่องและคำส่ังที่ใชปดเคร่ืองในระบบปฏบิ ัติการลีนุกซ คำส่งั รบี ตู เครือ่ ง systemctl reboot คำสั่งปด เคร่ือง systemctl poweroff 9. บอกคำสง่ั ทีใ่ ชตรวจสอบทอี่ ยไู อพขี องการดเครือขายในระบบปฏบิ ัติการลนี ุกซ คำส่งั ip addr จากนั้นตรวจสอบรายการทอ่ี ุปกรณเ ชอ่ื มตอ เชน eth0 ens33 enp3s0 เปนตน xi

10. การแจง เตอื นลายน้วิ มอื ของเครือ่ งทตี่ องการเขา ถึงระยะไกลในโปรแกรม Putty มีความสำคญั อยา งไร ในกรณีที่ใช Putty เขาถึงระยะไกลเปนครั้งแรก โปรแกรม Putty จะแสดงวาลายนิ้วมือของเครื่อง คอมพิวเตอรเสมือนผานโพรโตคอล SSH ไมตองกลับของเดิม ซึ่งในความเปนจริงคือ ยังไมมีขอมูลตรงสวนน้ี เก็บอยูท ีเ่ ครื่องฝง วินโดวส เม่อื เขา ใชง านในครง้ั ตอไป โปรแกรม Putty จะไมแสดงหนาตา งแจงเตือนลายน้ิวมือ อีก ในสภาพการใชงานจริง หากโปรแกรม Putty แจงเตือนหนาตางดังกลาว ทั้ง ๆ ที่ไมไดติดต้ัง ระบบปฏบิ ตั กิ ารลนี ุกซใ หม แสดงวา เคร่ืองท่ีใชอ ยอู าจถกู ติดตงั้ ระบบปฏบิ ัติการใหมห รือถูกแฮกแลว xii

เฉลยแบบฝกหัดบทท่ี 5 1. บอกเง่อื นไขทีจ่ ำเปนในการติดตงั้ โปรแกรม KVM 1) เครือ่ งทีต่ ิดต้งั ระบบปฏิบัตกิ ารลีนกุ ซ CentOS 8 2) เครอื่ งที่ตดิ ตง้ั ควรมพี ื้นที่อยางนอย 6GB สำหรบั ติดตัง้ โปรแกรม KVM และอกี 6GB สำหรับแตล ะเคร่ือง คอมพิวเตอรเ สมือนทสี่ รางขน้ึ 3) หนวยความจำหลักอยางนอย 2GB สำหรับโปรแกรม KVM และอีก 2GB สำหรับแตละเครื่อง คอมพวิ เตอรเ สมอี นทส่ี งั่ ใหทำงานพรอมกัน 4) มีหนวยประมวลผลกลางที่สนับสนุนสวนขยายการทำเสมือนและระบบปฏิบัติการที่รับรูสวนขยายการ ทำเสมอื น เชน Intel VT-x หรอื AMD-V 2. บอกชอ่ื โมดูลและแพค็ เกจทจ่ี ำเปนสำหรับตดิ ต้ังโปรแกรม KVM สำหรับระบบปฏบิ ตั กิ าร CentOS 8 โมดูลที่ใชในการติดตั้งคือ virt และแพ็คเกจทจ่ี ำเปน คือ virt-install 3. บอกวธิ กี ารตรวจสอบวาการตดิ ตงั้ แพค็ เกจโปรแกรม KVM ครบสมบูรณ คำสง่ั virt-host-validate หากการตดิ ตั้งครบสมบรู ณจ ะไมม ผี ลลัพธวา FAILED ปรากฎ 4. บอกวธิ กี ารตรวจสอบวาแกนของลีนุกซเปน ไฮเปอรไวเซอรห รือไม ตรวจสอบไดโดยดูวา มีโมดลู ของ kvm โหลดไปอยใู น Kernal ของลีนุกซห รอื ไมด วยคำสงั่ # lsmod | grep kvm 5. บอกช่อื บรกิ ารท่ใี ชป ฏสิ ัมพนั ธก บั โปรแกรม KVM ในแกนของระบบปฏบิ ัตกิ าร ช่ือบรกิ าร libvirt 6. บอกพารามิเตอรและความหมายของพารามิเตอรท่ีใชสรางเครื่องคอมพวิ เตอรเสมือนดว ยคำส่ัง virt-install มาอยางนอย 5 พารามิเตอร 1) ชื่อของเครื่องคอมพิวเตอรเสมือน ไมควรมีเวนวรรค เพราะจะทำใหการพิมพคำสั่งตองใสเครื่องหมาย อัญประกาศ 2) ปรมิ าณหนว ยความจำหลกั สามารถเปล่ียนแปลงเพิ่มลดในภายหลงั ได 3) จำนวนแกนเสมือนของหนวยประมวลผลกลาง สำหรับหนวยประมวลผลที่มี Hyper Threading ของ Intel หรือ SMT ของ AMD 1 แกนทางกายภาพ จะถือวามี 2 แกนเสมือน สามารถเปลี่ยนแปลงเพิ่มลดใน ภายหลงั ได 4) ขนาดของพ้ืนท่เี กบ็ ขอมลู ที่ตองการจอง ไมสามารถลดขนาดพ้นื ทไี่ ด 5) ประเภทของระบบปฏบิ ตั ิการ โดยรายการของระบบปฏิบัติการทั้งหมดที่สนบั สนุน 7. หากตองการใหสามารถเขาถึงเครื่องคอมพิวเตอรเสมือนผานโพรโตคอล VNC และมีรหัสผานเปน 1234 จะตองกำหนดพารามเิ ตอรข องคำสัง่ virt-install อยางไร ตอ งระบุพารามิเตอรเพิม่ ใหก ับคำส่งั virt-install ดังน้ี # virt-install --graphic vnc,password=1234,listen=0.0.0.0 xiii

8. หากตองการใหเครื่องคอมพิวเตอรเสมือนสามารถเขาถึงผานคำสั่ง virsh console จะตองกำหนด พารามิเตอรข องคำส่งั virt-install อยา งไร ตอ งระบุพารามิเตอรเพ่มิ ใหก บั คำส่งั virt-install ดงั นี้ --graphics none --extra-args='console=ttyS0' 9. หากอนุญาตเครื่องคอมพิวเตอรเสมือนใหเขาถึงผานโพรโตคอล VNC แตตองการใหสามารถเขาถึงผาน คำส่ัง virsh console ในภายหลงั จะตองดำเนนิ การอยา งไร 1) เปด แฟม ขอ มลู ของโปรแกรม Grub ซงึ่ เปนตัวโหลดบูตของระบบปฏิบัตกิ ารลนี กุ ซ # vi /etc/default/grub 2) จากนั้นคนหาบรรทัดที่มีคำสั่ง GRUB_CMDLINE_LINUX จากนั้น เวนวรรคเพิ่มพารามิเตอร console=ttyS0 ตอทาย และบันทึกแฟมขอ มลู จากนน้ั พมิ พค ำส่งั อัพเดทแกนของลีนุกซ # grub2-editenv – unset kernelopts # grub2-mkconfig -o /etc/grub2.cfg 3) จากน้นั ใหร บี ตู เครื่องคอมพิวเตอรเ สมือน 10. บอกคำส่งั ทใี่ ชลบเครอื่ งคอมพวิ เตอรเสมือนพรอมแฟมขอมลู ทเ่ี กยี่ วขอ งออกจากเครื่อง หากตองการลบเครื่องคอมพวิ เตอรเ สมอื นชื่อ demo-centos สามารถใชค ำสง่ั # virsh undefine demo-centos --remove-all-storage xiv

เฉลยแบบฝก หัดบทที่ 6 1. บอกช่ือแพค็ เกจท่ีจำเปนสำหรบั เครือ่ งมือบรหิ ารจดั การผา นเวบ็ แพค็ เกจ cockpit และ cockpit-machines 2. บอกช่อื บรกิ ารของเครอ่ื งมอื บริหารจดั การผานเวบ็ ช่อื บรกิ าร cockpit 3. หากตองการเขาถึงเครื่องคอมพิวเตอรเสมือนผานโพรโตคอลดวยเครื่องมือบริหารจัดการผานเว็บจะตอง ตดิ ตัง้ โปรแกรมเพิม่ เตมิ หรอื ไม หากมีใหระบชุ ่ือโปรแกรม ไมต อ งการการตดิ ตั้งซอฟตแ วรใด ๆ เพ่ิมเตมิ 4. หากตองการใหเครื่องคอมพิวเตอรเสมือนสามารถเขาถึงจากเครื่องระยะไกลได จะตองตั้งคาเครึอง คอมพวิ เตอรเสมอื นอยางไร ใชเ ครอื่ งมอื virsh แกไขการตัง้ คาของเคร่ืองท่ีตอ งการ เชน เครื่องคอมพวิ เตอรเสมือนชอื่ demo-centos # virsh edit demo-centos คำส่งั จะเปด โปรแกรม vi ใหเขา ไปแกไขการต้งั คา ไดใหคน หาบรรทดั ทเ่ี ขยี นวา <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'> <listen type='address' address='127.0.0.1'/> และแกไ ขใหเ ปน <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> จากน้ันบันทกึ การตงั้ คา และปด เปด เคร่อื งคอมพวิ เตอรเสมอื นใหมอีกครัง้ 5. คำส่งั Shutdown และ Force Shutdown มีความเหมอื นและความแตกตา งกนั อยา งไร 1) Shutdown เปนการปด เครอ่ื งแบบส่งั ใหเครื่องทยอย ๆ ปดโปรแกรมและบนั ทึกการตัง้ คา อัตโนมัติ การ ทำงานคลา ยกับที่ผอู านเลือกพมิ พ systemctl poweroff เพ่อื ปด เครือ่ งดวยตัวเอง 2) Force Shutdown เปนการปดเครื่องแบบบังคับปดทันที เหมือนกดสวิตซปดเครื่องคางไว 4 วินาที ที่ เครอ่ื งคอมพวิ เตอรจ รงิ 6. อธบิ ายการตง้ั คาตวั เลอื กเพิ่มเติมในโปรแกรม VcXsrv การตง้ั คา เพม่ิ เติมประกอบดวยตวั เลือกตอไปน้ี ตัวเลือก Clipboard จะสามารถใชคัดลอกและวางขอความจากหนาตางของโปรแกรม X Windows และ แอปพลเิ คชันทที่ ำงานในระบบปฏบิ ัติการวินโดวสได โดยเริ่มตนใหค ลิกเลอื กไว ตัวเลือก Primary Selection หากเลือกไวหมายถึงเวลาคัดลอกขอความจากหนาตางของโปรแกรม X Windows ขอความดังกลาวจะทับขอความในคลิปบอรดเดิมของระบบปฏิบัติการวินโดวส แตหากไมเลือกไว ขอ ความจะไมท ับของเดมิ แตจ ะสามารถคลิกที่ปุมกลางเพ่ือวางขอความได โดยเริม่ ตน ใหคลกิ เลอื กไว ตัวเลือก Native opengl หมายความวาการแสดงผลของหนาตางของโปรแกรม X Windows จะถูก ประมวลผลท่ฝี ง เครื่องแมขา ยและนำผลลัพธม าแสดงทเ่ี คร่อื งฝง วินโดวสแทน โดยเร่มิ ตนใหค ลกิ เลอื กไว xv

ตัวเลือก Disable access control หมายถึงอนุญาตใหเครื่องอื่นสามารถใชงาน VcXsrc ที่เปดจากเครือง ฝง วินโดวสเครอ่ื งนไ้ี ด โดยเริม่ ตน ใหคลิกไมเลอื กไว 7. หากตอ งการตัง้ คา การแสดงผลกราฟก ระยะไกลผา น Putty จะตอ งตง้ั คาอยา งไร ในโปรแกรม Putty ตั้งคาสงตอการแสดงผลกราฟกจากเครื่องแมขายผานโปรแกรม Putty ที่เมนู Connection > SSH > X11 จากนั้นคลิกเลือก Enable X11 forwarding และทำการเชื่อมตอไปยังเครื่องแม ขาย 8. แพ็คเกจใดในระบบปฏิบัติการลีนุกซจำเปนคำสั่งการประมวลผลกราฟกและสงตอการแสดงผลกราฟก ระยะไกลไปยงั เครอ่ื งวนิ โดวส แพ็คเกจ xorg-x11-server-xorg และ xorg-x11-xauth 9. การตอ งการตงั้ คา VNC Server ใหกับเครื่องคอมพิวเตอรเสมือนผานเครื่องมอื กราฟกจะตอ งทำอยางไร เลือกรายการเครื่องคอมพิวเตอรเสมือน และคลิกปุม Open ที่แท็บเมนู จะปรากฏหนาตาง Details จากนั้นใหคลิกที่ปุม Add Hardware จะปรากฏหนาตางเพิ่มอุปกรณเสมือนใหม เลือกแท็บซายมือเปน Graphics และเลือกตวั เลอื ก Type ทางฝงขวามอื เปน VNC Server 10. บอกวิธกี ารต้งั คา ใหโ ปรแกรม virt-manager อนุญาตใหแกไ ขขอมลู XML ของเครอื่ งคอมพวิ เตอรเสมือน หากตองการใหสามารถแกไขแฟมขอมูล XML ของเครื่องคอมพิวเตอรเสมือนได สามารถเปดการแกไขคา XML ไดจากหนาตา งหลกั ของโปรแกรม virt-manager และเลอื กเมนู Edit > Preference จะปรากฎหนาตาง Preferences จากน้ันแทบ็ General ใหคลกิ เลือก Enable XML edition และคลกิ Close xvi

เฉลยแบบฝกหัดบทท่ี 7 1. บอกคำสง่ั ที่ใชตรวจสอบหนวยประมวลผลกลาง หนวยความจำหลัก และความจุพืน้ ทเ่ี ก็บขอมูลจากเครื่อง คอมพวิ เตอรเสมือน # virsh dominfo demo-centos 2. หากตอ งการเปล่ยี นจำนวนหนวยประมวลผลกลางเสมอื นจาก 1 เปน 3 ตอ งทำอยางไร หากตองการเปลี่ยนจำนวนหนวยประมวลผลกลางเสมือนใหกับเคร่ืองคอมพิวเตอรเสมือนชื่อ demo- centos # virsh edit demo-centos จากน้ันคนหาสวนของขอ มูลทีร่ ะบุ <vcpu placement='static'>1</vcpu> โดยเปล่ยี นจากเลข 1 เปน เลข 3 ไดผ ลลพั ธดังน้ี <vcpu placement='static'>3</vcpu> 3. หากตอ งการลดปริมาณหนว ยความจำหลักใหเ หลอื 0.5 กิ๊กกะไบต ตอ งทำอยา งไร หากตองการลดปริมาณหนว ยความจำหลักเคร่ืองคอมพิวเตอรเสมือนช่ือ demo-centos จะตองปดเครื่อง กอ น และตั้งคาหนว ยความจำโดยเลือกหนว ยที่สามารถใสต วั เลขเปนตวั เลขจำนวนเต็มได เชน 512MiB # virsh shutdown demo-centos # virsh setmaxmem demo-centos 512MiB # virsh start demo-centos 4. อธบิ ายประเภทแฟมขอ มลู ของดิสกเ สมือนทโี่ ปรแกรม KVM รองรบั ประเภทแฟม ขอ มูลของดสิ กเสมอื นโปรแกรม KVM รองรับ มดี ังนี้ 1) Raw เปนประเภทขอมูลท่ีเก็บขอมลู ดบิ ไว โครงสรางแบบนีเ้ รียบงายและสามารถสงออกไปยังโปรแกรม ระบบเทคโนโลยีเสมือนอื่นไดงาย มีเฉพาะขอมูลที่มี่อยูจริงจะถูกบันทึกลงไปในแฟมขอมูลนี้ ขนาดของ แฟม ขอมลู จะมขี นาดใหญท่ีสุด และไมสนบั สนนุ การสำรองและกคู ืนสถานะของดสิ ก 2) Qcow2 เปนประเภทขอมูลที่เก็บขอมูลดิบและเมตาดาทาอื่น ๆ พรอมทั้งทำการเขารหัสและบีบอัด แฟมขอมูลดวย แฟมขอมูลนี้เปนโครงสรางเริ่มตนสำหรับโปรแกรม KVM ในรุนปจจุบัน (เวอรชัน libvirt 4.0) สนับสนนุ การสำรองและกูคืนสถานะของดิสก ขนาดของแฟม ขอ มูลจะมีขนาดเล็กทสี่ ุดเพราะผา นการบบี อดั 3) Vmdk เปนประเภทขอมูลที่บริษัท VMWare Inc. เปนผูพัฒนาขึ้น ในปจจุบัน Vmdk มีถึงเวอรชัน 5 และบริษัทผูพัฒนาไดเปดเผยรหัสตนฉบับแลว ทำใหโปรแกรม KVM สามารถอานและบันทึกแฟมขอมูล โครงสรางประเภทนไ้ี ด 5. อธิบายรูปแบบการจองพ้นื ทข่ี องดิสกเสมอื นในโปรแกรม KVM การจองพน้ื ที่ของดสิ กเ สมอื นสามารถตั้งคาไดทง้ั หมด 4 รูปแบบ ดงั นี้ xvii

1) -o preallocation=off เปนการระบุวาไมมีการจองพื้นที่ของดิสกและขอมูลเมตาดาทาใด ๆ การ สรางดิสกประเภทนี้จะสามารถสรางดสิ กไดทนั ที แตป ระสิทธภิ าพของดิสกจ ะตำ่ ทีส่ ุดเน่ืองจากไมไดเตรียม ขอมูลใด ๆ ไวใ นเคร่ืองคอมพิวเตอรเ สมอื นใชง าน 2) -o preallocation=metadata เปนการระบวุ าจองพนื้ ที่และใชพ ้นื ท่จี รงิ เก็บขอมูลเมตาดาทาทั้งหมด ของดิสก และไมไดจองพื้นที่ดิสกสำหรับเก็บขอมูล การสรางดิสกประเภทนี้จะสรางไดชากวาแบบแรก ประสทิ ธภิ าพของดิสกในการอา นจะมีความเร็วปกติ แตป ระสทิ ธภิ าพของดกิ สในการเขียนจะชากวาอีกสอง รูปแบบถดั ไป 3) -o preallocation=falloc เปนการระบุวาจะจองพื้นที่และใชพื้นที่จริงเก็บขอมูลเมตาดาทาทั้งหมด และทำเครื่องหมายพื้นที่บนดิสกวาถูกใชแลว แตยังไมไดเขียนขอมูลใหมเพื่อลางขอมูลเดิมที่อยูบนดิสก การสรา งดิสกประเภทนจ้ี ะสรางไดชา กวาสองแบบแรก แตป ระสิทธิภาพของดิสกในการอา นและเขียนจะมี ประสทิ ธิภาพสูงสุด 4) -o preallocation=full เปนการระบุวาจะจองพื้นที่และใชพื้นที่จริงเก็บขอมูลเมตาดาทาและขอมูล ทั้งหมด โดยเขยี นขอ มูลศูนยล งพ้ืนในทกุ บล็อกของดกิ ส การสรา งดสิ กป ระเภทน้ีจะสรา งไดชา กวาสามแบบ แรกมาก แตประสิทธิภาพของดิสกใ นการอานและเขยี นจะมปี ระสิทธภิ าพสงู สุด 6. บอกคำส่ังทใี่ ชเ พมิ่ ดิสกเ สมอื นใหกบั เคร่ืองคอมพวิ เตอรเ สมอื น หากตองการเพิ่มแฟมขอมูลดิสกเสมือน /var/lib/libvirt/images/demo-centos-data.qcow2 เขากับ เครอ่ื งคอมพวิ เตอรเสมอื นชื่อ demo-centos สามารถใชค ำสงั่ # virsh attach-disk demo-centos \\ --source /var/lib/libvirt/images/demo-centos-data.qcow2 \\ --target vdb \\ --driver qemu –subdriver qcow2 --targetbus virtio \\ --persistent 7. เมื่อเพิ่มขนาดของดิสกในพารทติชันแลว แตระบบปฏิบัติการลีนุกซย ังคงมองเห็นขนาดของพารทติชันเทา เดมิ เปน เพราะอะไร มีวธิ ีแกไ ขอยางไร ใชคำสง่ั xfs_growfs แลว ตามดว ยไดเรกทอรีท่ีเชือ่ มตอ กับดิสกเ ชงิ ตรรกะ เชน # xfs_growfs / 8. บอกคำสงั่ ที่ใชส รา งเครอื ขายเสมอื นใหม หากตองการสรางเครือขายเสมือนใหม ชื่อ newnet มีชวงที่อยูไอพีเปน 192.168.133.0/24 สามารถใช คำส่ัง # vi newnet.xml จากน้นั พมิ พเนือ้ หาตอ ไปนล้ี งไป <network> <name>newnet</name> xviii

<forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr1' stp='on' delay='0'/> <ip address='192.168.133.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.133.2' end='192.168.133.254'/> </dhcp> </ip> </network> หลงั จากทีส่ รา งแฟม ขอมลู เสรจ็ สามารถเพมิ่ เครอื ขายใหโ ปรแกรม KVM โดยใชคำสัง่ # virsh net-define newnet.xml # virsh net-start newnet # virsh net-autostart newnet 9. หากตองการยายใหเครือขายของเครื่องคอมพิวเตอรเสมือนจาก default มาเปน newnet จะตองทำ อยา งไร หากตอ งการยายเครือขายของเครื่องคอมพวิ เตอรเ สมือนช่อื demo-centos สามารถใชค ำสัง่ # virsh edit demo-centos จากนัน้ คนหาสว นท่บี รรยายของเครอื ขายไว <interface type='bridge'> <mac address='52:54:00:26:da:10'/> <source bridge='virbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> ตรงขอความท่รี ะบวุ า <source bridge='virbr0'/> ใหเ ปลย่ี นเปน <source bridge='virbr1'/> เม่ือแกไข เรียบรอ ยกส็ ามารถบนั ทกึ และรบี ูตเครอื่ งคอมพิวเตอรเ สมือน 10. บอกคำสั่งที่ใชเปลี่ยนอินเตอรเฟสของเครื่องคอมพิวเตอรเสมือนชื่อ demo-centos จาก virbr0 เปน virbr1 ใชคำสั่งตรวจสอบที่อยูทางกายภาพของอินเตอรเฟสเครือขายที่ตองการเปลี่ยนในเครื่องคอมพิวเตอร เสมือนกอ น ดว ยคำสงั่ xix

# virsh domiflist demo-centos เชน ถา ไดทอี่ ยทู างกายภาพเปน 52:54:00:26:da:10 สามารถใชค ำสง่ั # virsh detach-interface --domain demo-centos --type bridge --mac 52:54:00:26:da:10 – config –live จากน้ันเช่อื มตอ อินเตอรเฟสเครอื ขา ยดว ยบรดิ จใหมคือ virbr0 # virsh attach-interface --domain demo-centos --mac 52:54:00:26:da:10 --type bridge -- source virbr1 --config –live xx

เฉลยแบบฝกหัดบทท่ี 8 1. บอกความแตกตา งระหวา งคำส่ัง virsh managedsave และ virsh suspend คำส่ัง virsh managedsave จะบันทึกสถานะของเคร่ืองคอมพวิ เตอรและปด เคร่ืองคอมพิวเตอรไป เมื่อใด ก็ตามที่เปดการทำงานอีกครั้งโปรแกรม KVM จะโหลดสถานะในหนวยความจำหลักที่บันทึกไวในฮารด ดิสกให กลบั มาเหมอื นเดมิ ทำใหล ดเวลาการบูตเครือ่ ง สวนคำสั่ง virsh suspend จะปลอยทรัพยากรหนวยประมวลผลกลางของเครื่องคอมพิวเตอร แตยังคงใช หนวยความจำหลักและพื้นที่เก็บขอมูลอยู สถานะนี้มีความปลอดภัยเพียงพอสำหรับการทำแมแบบเครื่อง คอมพวิ เตอรเสมอื นเนอื่ งจากไมมีการประมวลผลใด ๆ 2. อธบิ ายคำสงั่ ท่ีใชส ราง Snapshot ใหก ับเครอื่ งคอมพวิ เตอรเสมอื น # virsh snapshot-create-as --domain demo-centos --name snapshot_1 –description \"the first snapshot\" คำสั่งนี้จะเปนการสราง Snapshot ชื่อ snapshot_1 ที่มีรายละเอียดคำอธิบายวา the first snapshot ใหกับเครื่องคอมพวิ เตอรเ สมือนชื่อ demo-centos 3. บอกปญ หาของการสราง Snapshot ใหก ับเคร่ืองคอมพิวเตอรเ สมอื น โปรแกรม KVM จะสรางดิสกสว นตา งซอนข้ึนมาเรื่อย ๆ แสดงวา หากผูอานบันทึกสถานะจำนวน 10 ครั้ง ตอเนื่องกัน แสดงวาเมื่อเครื่องตองการอานขอมูลจะดิสกบล็อกนั้น จะตองเทียบขอมูลกับ Snapshot ทั้ง 10 คร้ัง ทำใหแ ทนท่จี ะตอ งอา นขอมูลจากดิสกเพยี ง1 I/O แตก ลบั ตองอา นขอมลู สงู ถงึ 10 I/O 4. คำสงั่ virt-sysprep มไี วเ พ่ือะไร สำหรับลบขอมลู ขยะ บันทึกการใชง าน เปลย่ี นรหัสผาน หรือต้งั คา อื่น ๆ ไดต ามตองการ เพ่ือเตรียมเคร่ือง คอมพวิ เตอรเสมือนสำหรับเปนเครอ่ื งแมแบบ 5. อธบิ ายวิธกี ารใชงานคำส่ัง virt-clone กอ นทำสำเนาเครือ่ งคอมพิวเตอรเ สมือน เครอ่ื งคอมพิวเตอรน้ันจะตองอยใู นสถานะหยดุ การทำงานหรือพัก การทำงาน โดยใชค ำสัง่ # virsh suspend demo-centos หากตองการทำสำเนาเคร่ืองคอมพวิ เตอรท่ีสรา งไวกอนหนาช่ือ demo-centos เปนอีกเครอ่ื งคอมพิวเตอร เสมอื นช่ือ demo-centos-2 สามารถใชค ำสง่ั # virt-clone --original demo-centos --name demo-centos-2 --auto-clone ในกรณีที่เคร่ืองคอมพิวเตอรเ สมือน demo-centos ถูกพักการทำงานไวด วยคำสั่ง virsh suspend ผูอาน สามารถสั่งใหท ำงานตอโดยใชคำส่ัง # virsh resume demo-centos เมื่อพิมพคำสั่งเสร็จ เครื่องคอมพิวเตอรเสมือน demo-centos จะอยูในสถานะทำงานปกติ สวนเครื่อง คอมพวิ เตอรเสมอื นท่ีเปนตวั สำเนาชอ่ื demo-centos-2 จะอยูในสถานะปด การทำงาน xxi

6. คำสั่ง virt-diff มีไวตรวจสอบอะไร ตรวจสอบโดยละเอียด ดว ยการตรวจสอบถงึ แฟมขอมูลและขอมูลของแฟมขอมูลทั้งหมดในแฟมขอมูลดิสก เสมือนของทัง้ สองเคร่ือง 7. บอกคำสัง่ เปด การอนญุ าตของไฟรวอลลเ พ่ือแบงปน แฟมขอมลู ผานโพรโตคอล NFS # firewall-cmd --permanent --add-service=nfs # firewall-cmd --permanent --add-service=mountd # firewall-cmd --permanent --add-service=rpc-bind # firewall-cmd --reload 8. บอกคำสั่งเปดการอนุญาตของไฟรวอลลเพื่ออนุญาตใหเขาถึงโปรแกรม KVM เพื่อยายเครื่องคอมพิวเตอร เสมือนได # firewall-cmd --add-port=49152-49215/tcp --permanent # firewall-cmd –reload 9. อธิบายขน้ั ตอนวธิ ีการสรางอางขอมูล สรา งแฟม ขอ มูลบรรยายคุณสมบตั ขิ องอางขอมลู กอน # vi default-pool.xml จากนน้ั พมิ พเน้อื หา <pool type='dir'> <name>images</name> <target> <path>/var/lib/libvirt/images</path> </target> </pool> จากนนั้ สั่งใหโ ปรแกรม KVM รจู กั อางขอ มูลและเปด การใชงาน ดว ยคำสง่ั # virsh pool-define pool-images.xml # virsh pool-start images 10. หากตองการยายเครื่องคอมพิวเตอรเสมือนจากเครื่องแมขายหนึ่งไปอีกเครื่องแมขายหนึ่งโดยไมมีการ แบงปนพน้ื ท่ีเกบ็ ขอมูลสามารถทำไดห รือไม อยา งไร สามารถทำได โดยดำเนนิ การดังน้ี 1) ตั้งชื่อโฮสตที่เครื่องตนทางดวยคำสั่ง hostnamectl และระบุชื่อโฮสตของเครื่องปลายทางไวท่ี /etc/hosts ของเคร่ืองตนทาง 2) ตั้งชื่อโฮสตที่เครื่องปลายทางดวยคำสั่ง hostnamectl และระบุชื่อโฮสตของเครื่องตนทางไวที่ /etc/hosts ของเคร่อื งปลายทาง xxii

3) จากนั้นเปดพอรตไฟรวอลลที่เครื่องปลายทางเพื่อรับการเชื่อมตอของโปรแกรม KVM โดยโปรแกรม KVM จะใชพอรตตั้งแต 49152 ถึง 49215 ขึ้นอยูกับความเร็วเครือขายและจำนวนเครื่องที่ตองการ ยา ยพรอมกนั 4) หากไมมีอางขอ มูล ใหส รางอางขอมูลใหมโดยมที อ่ี ยเู ปนไดเรกทอรเี ดยี วกนั กับเคร่ืองตน ทาง 5) ใชคำส่ังยา ยเคร่ืองคอมพิวเตอรเ สมือน xxiii

เฉลยแบบฝกหัดบทที่ 9 1. บอกความหมายของเทคโนโลยบี รรจคุ อนเทนเนอร เครื่องมือที่ซอนความซับซอนของกระบวนการของการสรางสิ่งประดิษฐของแอปพลิเคชัน (Artifact) ที่ สามารถแจกจายไดงาย โดยสามารถนำไปปรับใชไดในทุกระดับการขยายตัว ในทุกสภาพแวดลอม และ ปรบั ปรุงตัวเองไปพรอ มกบั ขั้นตอนการทำงานและการตอบสนองของวธิ กี ารพฒั นาซอฟตแ วรแ บบอไจล (Agile) 2. หลักการทำงานของเทคโนโลยีบรรจุคอนเทนเนอรตางจากหลักการทำงานของเทคโนโลยเี สมือนอยางไร เทคโนโลยีคอนเทนเนอรไมไดจำลองฮารดแวรหรือการทำงานของอุปกรณใด ๆ บนเครื่องคอมพิวเตอร เพยี งแตจำกดั สภาพแวดลอมเฉพาะของซอฟตแวรเทานั้น แตเทคโนโลยีเสมอื นจำลองฮารดแวรท ำใหตองติดตั้ง ระบบปฏิบัติการลงไปดวย เมื่อซอฟตแวรที่บรรจุอยูในคอนเทนเนอรไมจำเปนตองบรรจุระบบปฏิบัติการดวย จึงสงผลใหขนาดของคอนเทนเนอรมีขนาดเล็กกวาขนาดของเครื่องคอมพิวเตอรเสมอื นมาก และไมจำเปนตอง พึง่ พาฮารดแวรโ ดยเฉพาะชดุ คำส่งั พิเศษของหนวยประมวลผลกลาง 3. บอกประโยชนของเทคโนโลยคี อนเทนเนอรม าอยา งนอย 3 ขอ 1) การเตรียมพรอมซอฟตแวรเ พ่ือแจกจายเปน เรื่องงายและสามารถจัดการไดเองโดยนกั พฒั นาซอฟตแวร 2) รปู แบบการเกบ็ ขอ มูลและคำสัง่ การเกบ็ ขอมลู เปน มาตรฐานเดียวกนั ซ่งึ ในปจ จบุ ันมีโปรแกรมอน่ื 3) เมื่อทุกอยางเปนกระบวนการที่ทำอัตโนมัติไดการทดสอบและการสงมอบซอฟตแวรไปยังผูเกี่ยวของ สามารถทำไดง า ยและอัตโนมตั ิ 4. อธบิ ายปฏิสัมพนั ธระหวางองคป ระกอบของระบบด็อกเกอร ด็อกเกอรใชสถาปตยกรรมแบบแมขายลูกขาย ระบบนิเวศของด็อกเกอรมีองคประกอบที่สำคัญอยู 3 องคประกอบ คือ ด็อกเกอรลูกขาย (Docker Client) ด็อกเกอรโฮสต (Docker Host) และรีจีสตรี (Registry) โดยผูใชสั่งงานระบบด็อกเกอรผานดอ็ กเกอรลูกขาย โดยเริ่มตน ดอ็ กเกอรลูกขา ยจะช้ีไปยังดอ็ กเกอรโฮสตท่ีอยู ในเครื่องเดียวกัน (localhost) เมื่อด็อกเกอรโฮสตที่ทำงานอยูเบื้องหลังตลอดเวลา (Daemon) รับคำสั่ง ด็อก เกอรโฮสตอาจตองการดาวนโหลดอิมเมจจากรีจีสตรี รีจีสตรีเปนศูนยกลางที่รวบรวมอิมเมจไวใหด็อกเกอร โฮสตสามารถดาวนโหลดมาใชงานได รจี ีสตรีหลักของระบบด็อกเกอรคอื ดอ็ กเกอรฮ บั (Docker Hub) ซงึ่ เปนรี จีสตรีสาธารณะที่ผูผลิตซอฟตแวรที่ตองการเผยแพรซอฟตแวรใหทุกคนดาวนโหลดไปใชงานสามารถสราง อมิ เมจของซอฟตแวรและนำมาฝากใหด อ็ กเกอรฮับแจกจา ยได 5. อธิบายรปู แบบวธิ ีการบรหิ ารจดั การกับเทคโนโลยีบรรจคุ อนเทนเนอร 1) การสรา งและสง ออกอมิ เมจ (Build image, Push image) เมื่อนักพัฒนาซอฟตแวรตอ งการเผยแพรซอฟตแวรท ีพ่ ัฒนาข้ึน นักพัฒนาซอฟตแวรจะตองสรางอิมเมจ ของซอฟตแวรท พี่ ฒั นาขึน้ มา และสงออกอมิ เมจไปยังรีจิสตรี 2) การดึงอมิ เมจและสรา งคอนเทนเอร (Pull image, Build Container) เมื่อลูกคารับมอบซอฟตแวรจากนักพัฒนาผานแพลตฟอรมการบรรจุคอนเทนเนอร ลูกคาจะไดรับที่อยู ของรีจีสตรี และรหัสผูใชกับรหัสผานในกรณีที่เขาถึงรีจีสตรีสวนตัว เพื่อดาวนโหลดอิมเมจจากรีจิสตรีมาสราง เปนคอนเทนเนอร xxiv

เฉลยแบบฝกหัดบทที่ 10 1. บอกแนวทางการติดตัง้ ด็อกเกอรสำหรับระบบปฏิบตั ิการวนิ โดวส หากเคร่ืองของผูอานมีหนวยประมวลผล กลางเปน AMD หรือใชว นิ โดวส รนุ โฮมอดิ ิชนั ติดตั้งด็อกเกอรสำหรับระบบปฏิบัติการวินโดวส และใชระบบยอยลีนุกซสำหรับวินโดวส (Linux subsystem for Windows) เปน แบก็ เอนดส ำหรับเรียกใชงานโปรแกรมด็อกเกอรแ มข าย 2. บอกชอ่ื คณุ สมบัตทิ จี่ ำเปนสำหรบั การทำงานระบบยอยลีนุกซส ำหรบั วินโดวส 1) ตอ งอัพเดทระบบปฏบิ ตั กิ ารวนิ โดวส 10 ใหทันสมยั โดยเปน รนุ 2004 หรอื ใหมก วา 2) ติดตั้งคุณสมบัติของระบบปฏิบัติการวินโดวส 10 ทั้งหมด 2 คุณสมบัติ คือ Microsoft-Windows- Subsystem-Linux และ VirtualMachinePlatform 3. ในกรณที ีเ่ วอรชันของระบบยอยลีนุกซที่ใชงานเปน เวอรช ัน 1 จะสามารถเปลี่ยนเปน เวอรชัน 2 โดยไมตอง ติดตั้งดสิ ตรบิ ิวชนั ของลีนุกซใหมไดห รือไม อยา งไร สามารถเปล่ยี นเวอรช ันในภายหลังได เชน หากช่ือของดสิ ตรบิ ิวชนั ชอ่ื fedoraremix สามารถใชคำสัง่ # wsl --set-version fedoraremix 2 4. บอกความแตกตางระหวา งด็อกเกอรส ำหรับวนิ โดวส รุน Stable และรุน Edge ด็อกเกอรรุน Stable หรือรุนเสถียรเปนด็อกเกอรที่ถูกปลอยมาใหดาวนโหลดหลังจากการทดสอบ ซอฟตแวรเบื้องตนทำใหมั่นใจวาผูอานจะสามารถใชงานไดอยางไมมีปญหา โดยรุน Stable นี้จะมีการอัพเดท ใหมทุก 3 เดือน สวนด็อกเกอรรุน Edge หรือรุนใหมเปนด็อกเกอรที่มีคุณสมบัติใหมแตยังอยูในระหวางการ พัฒนา การทดสอบการใชงาน และมีรหัสตนฉบับที่สามารถคอมไพลผาน โดยรุน Edge นี้จะมีการอัพเดทใหม ทุกสัปดาห 5. การติดต้งั ด็อกเกอรส ำหรับลีนกุ ซในระบบปฏิบตั ิการ CentOS 7 ตา งจาก CentOS 8 อยางไร หลงั จากทเี่ พ่ิมคลังแพ็คเกจของด็อกเกอรเขา ไปแลว หากเปนระบบปฏิบัตกิ าร CentOS 7 สามารถใชคำสั่ง yum install docker-ce เพื่อตดิ ตั้งโปรแกรมด็อกเกอรไดทันที แตถา เปนระบบปฏิบัติการ CentOS 8 จะตอง ติดต้ังแพค็ เกจ containerd.io เวอรชนั ลาสดุ กอ น แลว จึงติดตง้ั ดวยคำสัง่ yum install docker-ce xxv

เฉลยแบบฝกหัดบทท่ี 11 1. บอกทีอ่ ยูของรีจีสตรมี าตรฐานท่สี ามารถคนหาอิมเมจมาตรฐานได https://hub.docker.com 2. บอกพารามิเตอร และความหมายของพารามิเตอรสำหรับใชสรางคอนเทนเนอรมาอยางนอย 5 พารามเิ ตอร 1) คอนเทนเนอรนท้ี ำงานดวยโหมดปฏิสัมพนั ธหรือโหมดพน้ื หลัง พารามเิ ตอร โหมดปฏิสัมพนั ธ -it และโหมดพ้ืนหลงั คอื -d 2) คอนเทนเนอรน มี้ กี ารสง ตวั แปรสภาพแวดลอมหรอื ไม พารามเิ ตอรของตัวแปรสภาพแวดลอ ม คอื -e <ชื่อตวั แปร>=<คา ตัวแปร> 3) เมอ่ื รีสตารทเครอ่ื งดอ็ กเกอรโฮสต คอนเทนเนอรนจ้ี ะเปด การทำงานโดยอตั โนมัตหิ รือไม พารามิเตอรส ่งั ใหเริม่ การทำงานอตั โนมตั ิ --restart always 4) คอนเทนเนอรน้ีใชอ มิ เมจใดเพ่อื สรางชน้ั ขอมลู ฐาน ในกรณที ่เี ปนอมิ เมจมาตรฐาน 5) ตองการกำหนดคำสั่งพเิ ศษทที่ ำงานเมื่อเร่ิมตนคอนเทนเนอรหรือไม ตัวอยางคำสงั่ พิเศษ เชน sh หรอื bash สำหรบั การเขาถึงเชลลในลีนกุ ซ 3. คำสง่ั docker stop แตกตางจากคำสง่ั docker kill อยางไร คำสั่ง docker stop เปน การหยดุ การทำงานของคอนเทนเนอรแ บบปกติ สว นคำส่ัง docker kill เปน การบงั คบั หยดุ การทำงานของคอนเทนเนอร 4. บอกหลักการการอางองิ ช่ือและรหัสคอนเทนเนอรเพ่ือใชใ นคำส่ังเครื่องมือด็อกเกอรล กู ขา ย ในกรณีที่เปนรหัสคอนเทนเนอรผูอานสามารถพิมพแคบางสวนที่ไมซ้ำกับรหัสคอนเทนเนอรของคอนเทน เนอรอ นื่ ได 5. บอกคำสั่งท่ีใชล บอิมเมจทงั้ หมดทีไ่ มถกู ใชใ นเครื่องดอ็ กเกอรโฮสต # docker image prune xxvi

เฉลยแบบฝกหัดบทที่ 12 1. อธิบายความสัมพันธร ะหวา งอิมเมจและแทก็ หากอิมเมจมีชื่อแท็กทีแ่ ตกตางกันจะมีขอมลู ท่ีบันทึกอยูในช้ันขอมูลแตกตา งกันออกไป อิมเมจหนึง่ อิมเมจ อาจมีแท็กหลายแท็กทช่ี ีไ้ ปยังอมิ เมจท่ีมีชน้ั ขอมูลเดียวกนั เชน อิมเมจของ httpd มแี ท็ก 2.4.43 แทก็ 2.4 แท็ก 2 และแท็ก latest หมายถึงอิมเมจทม่ี ชี น้ั ขอ มลู เดียวกัน 2. บอกคำสั่งทใ่ี ชแสดงผลคอนโซลของคอนเทนเนอรชอ่ื mycontainer ภายใน 1 ชว่ั โมงลา สดุ # docker logs --since 1h mycontainer 3. อธิบายความแตกตา งระหวา งคำสงั่ docker attach และ docker exec คำสั่ง docker attach ใชเขาถึงคอนโซลของคอนเทนเนอรโดยตรง วิธีการนี้นิยมใชกับคอนเทนเนอรท่ี ทำงานอยูเบ้ืองหลัง และมเี ชลลใหผอู านเขาถึงได สวนคำสั่ง docker exec ใชเขาถึงคอนโซลของคอนเทนเนอรดวยการสรางเชลลใหม วิธีการนี้นิยมใชกับ คอนเทนเนอรที่มีคำส่งั เริ่มตนการทำงานเฉพาะ และไมไดส รางเชลลไ วใ หผูอา นเขา ถึงได 4. บอกคำสงั่ ท่ใี ชต รวจสอบเหตกุ ารณทั้งหมดของอิมเมจ httpd # docker events --filter image=httpd 5. อธบิ ายวธิ กี ารหาชั้นขอ มลู ของคอนเทนเนอร และพื้นท่ีทคี่ อนเทนเนอรใ ชง าน หากตองการหาช้ันขอ มูลของคอนเทนเนอรชอ่ื frost_tereshkova สามารถใชค ำส่งั # upperlayer=$( docker inspect frosty_tereshkova -f '{{.GraphDriver.Data.UpperDir}}' ) หลังจากที่ได containerid มาแลว ชั้นขอมูลของคอนเทนเนอรนั้นจะถูกเก็บไวที่เครื่องที่ติดตั้งด็อกเกอร โฮสต ท่อี ยโู ดยสามารถตรวจสอบขนาดของขอ มลู ในไดเรกทอรีไดด วยคำสง่ั # du -sh $upperlayer xxvii

เฉลยแบบฝกหัดบทที่ 13 1. บอกประเภทของเครอื ขา ยเสมือนในด็อกเกอร 1) บรดิ จ (Bridge) เปน ไดรเวอรเครอื ขายเรม่ิ ตน ไดรเ วอรน เ้ี หมาะสมหากตองการใหค อนเทนเนอรสามารถ เชอ่ื มตอ เครอ่ื งภายนอก หรืออินเทอรเนต็ 2) โฮสต (Host) เปนไดรเวอรเ ครือขายทเี่ ชื่อมตอเฉพาะคอนเทนเนอรกบั โฮสตเทาน้นั ทำใหคอนเทนเนอร ไมสามารถเชือ่ มตอ กบั เครอื่ งภายนอก หรืออนิ เทอรเน็ตไดโ ดยตรง 3) โอเวอรเลย (Overlay) เปนไดรเวอรที่เชื่อมเครื่องคอมพิวเตอรที่ติดตั้งด็อกเกอรโฮสตหลายเครื่องเขา ดวยกัน ทำใหในการเชื่อมตอผานไดรเวอรนี้ ด็อกเกอรโฮสตในคอมพิวเตอรทุกเครื่องทำงานเสมือนหนึ่งเปน เคร่ืองเดียวกัน 4) แมควีแลน (Macvlan) เปนไดรเวอรท่ีอนญุ าตใหร ะบทุ ี่อยูทางกายภาพของอนิ เตอรเ ฟสเครือขาย (MAC address) ใหกับอินเตอรเ ฟสเครือขา ยของคอนเทนเนอรได ทำใหค อนเทนเนอรใชทอี่ ยูไอพีเดยี ววงเดียวกันกับด็ อกเกอรโ ฮสตไ ด ดว ยการสรา งเครือขา ยบรดิ จ (Bridge network) กับอินเตอรเฟสเครือขายของด็อกเกอรโ ฮสต 5) ไมมี (None) เปนการระบวุ ายกเลกิ การทำงานของไดรเวอรเครือขา ยเพื่อไมใหค อนเทนเนอรน้ันสามารถ เช่ือมตอ กบั คอนเทนเนอรอ ืน่ ได 2. บอกความสมั พันธระหวางซบั เน็ต และชวงของทอ่ี ยูไ อพีในเครือขายเสมือน ซับเน็ตเปนระบุชวงของที่อยูไอพีท่ีสามารถใชงานไดในเครือขายเดียวกันซึ่งรวมที่อยูไอพีที่ถูกจัดสรรโดย ผานโพรโตคอล DHCP และไมถูกจัดสรรผานโพรโตคอล DHCP ดวย สวนชวงของที่อยูไอพีในเครือขายเสมอื น จะระบุชวงของท่อี ยูไ อพีทีถ่ ูกจดั สรรผานโพรโตคอล DHCP 3. บอกวิธีการตรวจสอบท่ีอยไู อพีของคอนเทนเนอร หากตอ งการตรวจสอบทีอ่ ยไู อพีของคอนเทนเนอรช่ือ alpine1 สามารถใชคำสั่ง # docker inspect -f '{{json .NetworkSettings.Networks}}' alpine1 | jq 4. บอกวธิ ีการตรวจสอบทอ่ี ยไู อพีของคอนเทนเนอรท ้งั หมดในเครือขา ยเสมอื น หากตอ งการตรวจสอบท่ีอยูไอพีของคอนเทนเนอรท ้ังหมดในเครอื ขา ย alpine-net สามารถใชคำสั่ง # docker network inspect alpine-net -f \"{{json .Containers}}\" | jq 5. คอนเทนเนอรส ามารถเชอ่ื มตอ เครอื ขา ยเสมอื นไดก่เี ครือขา ย หนง่ึ คอนเทนเนอรส ามารถเขา รวมไดห ลายเครือขาย xxviii

6. อธิบายหลักการของคำสง่ั docker network connect และ docker network disconnect 1) การตั้งคาของ docker network connect จะตองรวมทุกพารามิเตอรที่ตองการกำหนดคาไวในคำส่ัง เดยี ว จะไมส ามารถแยกพมิ พหลายคร้งั ได 2) หากตองการตั้งคาที่เกี่ยวของกับเครือขายของคอนเทนเนอรจะตองใชคำสั่ง docker network disconnect เพื่อยกเลิกการเช่ือมตออยูกอน จงึ ใชค ำส่ัง docker network connect เชื่อมตอใหมอีกครั้ง พรอมการต้ังคา ใหม 7. หากเชื่อมตอ คอนเทนเนอรเ ขา กับเครอื ขายเสมือนอน่ื การเชอื่ มตอคอนเทนเนอรก บั เครือขา ยเสมือนเดิมจะ ยงั คงอยูหรอื ไม ยังคงอยู 8. หากตอ งการเปลีย่ นทีอ่ ยูไอพีของคอนเทนเนอรใ นเครือขายเสมอื นจะตองทำอยา งไร หากคอนเทนเนอรเชื่อมตอกับเครือขายนั้นอยูจะตองยกเลิกการเชื่อมตอกอน จากนั้นจึงเชื่อมตอใหมอีก ครัง้ ดว ยท่อี ยูไ อพีใหม เชน # docker network disconnect alpine-custom-net alpine1 # docker network connect --ip 192.168.100.20 alpine-custom-net alpine1 9. หากยกเลิกการเชื่อมตอและเชื่อมตอคอนเทนเนอรเขากับเครือขายเสมือนใหมอีกครั้ง จำเปนตองระบุ พารามเิ ตอรก ารต้ังคาเดมิ ท้ังหมดกอนการยกเลิกการเชือ่ มตอหรอื ไม เพราะเหตใุ ด จำเปน เพราะคำสัง่ เชือ่ มตอ คอนเนเนอรเขากับเครือขายเสมอื นจะใชก ารตั้งคา เฉพาะคำสงั่ สุดทา ยเทาน้นั 10. บอกคำส่ังที่ใชแ สดงกฎของไฟรว อลลท ่เี ชื่อมตอพอรตกับคอนเทนเนอร # iptables -S DOCKER # iptables -L DOCKER -n xxix

เฉลยแบบฝก หดั บทที่ 14 1. อธบิ ายลักษณะโครงสรางของ Dockerfile แฟมขอมูล Dockerfile เปนแฟมขอมูลที่ระบุคำสั่งสำหรับสรางอิมเมจใหม แฟมขอมูล Dockerfile ไมได ใชเก็บแฟมขอมูลของแอปพลิเคชันที่ตองการบรรจุในคอนเทนเนอร แตประกอบดวยลำดับของชุดคำสั่งพรอม คำสัง่ และพารามิเตอร ชดุ คำส่งั คอื คำส่งั เฉพาะในรูปแบบคียเวิรดที่กำหนดโดยโปรแกรมด็อกเกอร สวนคำส่ัง คอื คำส่งั ทีส่ ามารถพิมพบนเชลลข องลีนกุ ซหรอื วนิ โดวส ได 2. ยกตวั อยางชดุ คำสั่งทใ่ี ชง านใน Dockerfile และอธิบายตวั อยางน้ันมาอยา งนอ ย 5 ตวั อยาง ชุดคำสั่ง FROM centos:8 As builder หมายถึงเริ่มตนสรางอิมเมจโดยใชอิมเมจของระบบปฏิบัติการ Centos 8 เปน อมิ เมจเร่มิ ตน อธบิ ายความแตกตา งระหวา งชุดคำสั่ง ADD และชุดคำส่ัง COPY ชดุ คำส่งั RUN yum -y update หมายถึงอัพเดทแพค็ เกจดว ยโปรแกรม yum ชุดคำสั่ง EXPOSE 80 หมายถึง เมื่อสรางคอนเทนเนอรจ ากอิมเมจนี้ คอนเทนเนอรควรเชื่อมตอพอรต 80 กบั ดอ็ กเกอรโ ฮสต ชุดคำสั่ง ADD https://www.download.com/file.zip /root หมายถึงดาวนโหลดแฟมขอมูล file.zip จาก URL และบนั ทกึ ไวเปน ชือ่ เดมิ ทไี่ ดเรกทอรี /root ของอิมเมจ ชุดคำสั่ง COPY --from=builder /release /app หมายถึงคัดลอกไดเรกทอรี /release จากอิมเมจช่ือ builder ไปยงั ไดเรกทอรี /app ของอมิ เมจทกี่ ำลงั ทำงานอยู ชุดคำสั่ง CMD [\"httpd\",\"-DFORGROUND\"] หมายถึง เมื่อสรางคอนเทนเนอรจากอิมเมจนี้โดยไมระบุ คำสงั่ เริม่ ตน การทำงาน เม่อื คอนเทนเนอรเปดการทำงานจะทำคำส่ัง httpd -DFORGROUND ชุดคำสั่ง ENTRYPOINT [\"docker-endpoint.sh\"] หมายถึง เมื่อสรางคอนเทนเนอรจากอิมเมจนี้โดยไม ระบุคำสงั่ เรม่ิ ตนการทำงาน เมอ่ื คอนเทนเนอรเปดการทำงานจะทำคำส่ัง docker-endpoint.sh 3. อธบิ ายความแตกตางระหวา งชดุ คำสงั่ ADD และชดุ คำส่ัง COPY ชุดคำสั่ง ADD คัดลอกแฟมขอมูล ไดเรกทอรีที่อยูทองถิ่น หรือที่อยูระยะไกลจาก URL เขาไปเก็บไวใน อิมเมจโดยการสรางช้ันขอ มูลใหมและบนั ทึกทันที หากแฟมขอ มูลทองถิน่ ที่คดั ลอกเปนแฟมขอมูลบีบอัด เชน มี นามสกลุ .tar.gz .zip .tgz เมือ่ คัดลอกเสรจ็ ดอ็ กเกอรจะแยกแฟมขอมลู น้ันใหกลายเปนไดเรกทอรี ชุดคำสั่ง COPY คัดลอกแฟมขอมูล ไดเรกทอรี หรือแฟมขอมูลที่อยูทองถิ่นหรือที่อยูจากอิมเมจอื่นเขาไป เกบ็ ไวใ นอิมเมจโดยการสรางชัน้ ขอ มูลใหมและบันทึกทนั ที 4. อธิบายความแตกตา งระหวางชดุ คำสงั่ CMD และชดุ คำส่ัง RUN ชุดคำสั่ง CMD ระบุคำสั่งที่จะทำงานเมื่อสรางคอนเทนเนอรจากอิมเมจนี้ และจะไมถูกสั่งใหทำงานใน ระหวางการสรางอิมเมจ สวนชุดคำสั่ง RUN ระบุคำสั่งที่จะทำงานในระหวางสรางอิมเมจ และจะไมถูกสั่งให ทำงานเมื่อสรางเปนคอนเทนเนอร 5. อธบิ ายความแตกตางระหวา งชดุ คำส่งั ARG และชดุ คำสั่ง ENV 1) ชุดคำสั่ง ARG ใชเพื่อประกาศตัวแปรสภาพแวดลอมที่สามารถรับคาผานคำสั่ง docker build และคา ของตวั แปรท่ปี ระกาศในชดุ คำสั่งนี้จะคงอยูในขณะทส่ี รางอิมเมจเทานนั้ xxx

2) ชุดคำสั่ง ENV ใชเพื่อประกาศตัวแปรสภาพแวดลอมที่มีคาคงอยูในขณะที่สรางอิมเมจ และในขณะที่นำ อิมเมจนไ้ี ปสรา งคอนเทนเนอร แตจะไมส ามารถรบั คา ผา นคำส่ัง docker build ได 6. บอกพารามเิ ตอรท ่สี ำคัญของคำสงั่ docker build พารามิเตอร -t ใชระบุชอื่ อิมเมจและแท็ก พารามเิ ตอร --no-cache ใชบ งั คบั ไมแ คชอิมเมจระหวา งคำส่งั พารามิเตอร --pull ใชบงั คบั ใหต รวจสอบเวอรช ันใหมของอิมเมจท่ีอา งองิ จากชดุ คำสัง่ FROM 7. บอกแนวทางการสรางอิมเมจจาก Dockerfile ทด่ี ีมาอยางนอ ย 3 แนวทาง 1) การอางอิงอมิ เมจหลายตัว 2) รวมคำสงั่ หลายคำสัง่ ไวในคำส่ัง RUN เพยี งคำสัง่ เดยี ว 3) การใชตัวแปรสภาพแวดลอมแทนคาที่ตองเปลี่ยนหลายที่เพื่อใหแกไขคาเพียงที่เดียว การใชตัวแปร สภาพแวดลอมเปนเงื่อนไขสำหรับกำหนดลักษณะการทำงานของานคอนเทนเนอรในหลายรูปแบบ การใช เครื่องหมายทับขวาเพอื่ ใหบ รรทัดหนึ่งมีตัวอักษรไมเ กิน 80 ตัวอักษร และการเชอื่ มคำสัง่ ในชุดคำสงั่ RUN ดวย เครือ่ งหมาย && 8. อธบิ ายความสำคัญของการอางองิ อมิ เมจหลายตวั ในกระบวนการสรา งอิมเมจจาก Dockerfile การอางอิงอมิ เมจหลายตัวอาจทำให Dockerfile ดูซบั ซอน แตจ ะทำใหขนาดของอมิ เมจมีขนาดเลก็ โดย เก็บขอมลู เทาทจ่ี ำเปน และมีความปลอดภยั เน่ืองจากอิมเมจทีส่ รางใหมเกบ็ ขอมูลเฉพาะแฟม ขอมูลที่คอมไพล ไมใ ชร หัสตน ฉบับรวมอยูดวย 9. การลดจำนวนชน้ั ขอมูลของอิมเมจจงึ สง ผลดหี รอื ไม อยา งไร เมือ่ เวลาผใู ชดาวนโหลดอมิ เมจจากรีจิสตรีผใู ชจ ะดาวนโ หลดจำนวนชั้นเฉพาะชัน้ ขอมูลท่ีมีความแตกตา ง กันนอ ยลงตาม 10. อธิบายขั้นตอนการต้ังช่อื อิมเมจและอัพโหลดอิมเมจไปยงั รีจสี ตรี เมื่อผูอานสรางอิมเมจในเครื่องผูอาน ผูอานสามารถอัพโหลดไปยังรีจีสตรีในนามของผูอานไดพรอมตั้งช่ือ และแท็กตามรูปแบบ <รหัสด็อกเกอร>/<ชื่ออิมเมจ>:<แท็ก> เชน utarn/myapp:1.0 เปนตน โดยสามารถ ระบใุ นคำสัง่ docker build ดังนี้ # docker build -t utarn/myapp:1.0 xxxi

เฉลยแบบฝก หัดบทท่ี 15 1. แฟมขอ มูล Dockerfile มีความสมั พันธก บั แฟมขอมูล .gitlab-ci.yml อยา งไร แฟมขอ มูล Dockerfile เปน แฟมขอมลู ที่ระบุคำส่ังสำหรบั สรางอิมเมจสวนแฟมขอมูล .gitlab-ci.yml เปน แฟม ขอมลู ทใ่ี ชกำหนดการส่งั งานหลงั จากท่ีอพั เดทรหัสตน ฉบับในคลงั รหัสตนฉบบั 2. คำส่ัง git ใดที่ใชเ พ่มิ คลงั รหัสตน ฉบับบนคลาวดเช่ือมกับไดเรกทอรีบนเครอื่ ง # git remote add origin <ทอ่ี ยคู ลังรหัสตนฉบับบนคลาวด> 3. เพราะเหตใุ ดคำส่งั docker login จึงรบั ตัวแปร $DOCKER_HUB_TOKEN แทนรหสั ผาน การระบรุ หัสผานในรหสั ตนฉบับทำใหผทู เ่ี ขาถงึ รหัสตนฉบบั ทุกคนสามารถรูรหสั ผานของบัญชีดอ็ กเกอรฮับ ของเจาของคลังรหสั ตนฉบับได หากมีผูใ ชเพียงคนเดยี ววธิ ีการนอ้ี าจไมมีปญหา แตถ ามีผใู ชงานคลงั รหสั ตน ฉบับ รวมกนั หลายคน อาจทำใหผ ูอนื่ นำรหสั ผานของเจา ของคลงั รหสั ตนฉบบั ไปใชง านในทางท่ีไมดี ดงั น้ัน การใชตัว แปรแทนคาจะชว ยใหผูทเี่ ขาถึงคลังรหสั ตน ฉบบั ไมท ราบรหสั ผา นด็อกเกอรฮับของเจาของคลงั รหสั ตน ฉบับ 4. ในด็อกเกอรฮ บั รหสั ผานและโทเคนมคี วามเหมอื นและแตกตา งกันอยางไร รหสั ผานของบัญชีดอ็ กเกอรฮ ับสามารถมีไดเพยี งรหัสเดยี วในเวลาเดียวกันและไมส ามารถยกเลกิ ได สวนโท เคนนั้นสามารถสรางขึ้นมาใหใชกับหลายบริการบนคลาวดได และสามารถเลือกยกเลิกบางโทเคนที่ไมใชงาน แลวได 5. เพราะเหตใุ นการทำ Page swapping ของระบบปฏบิ ัตกิ ารจงึ ทำใหประสิทธิภาพของเครอ่ื งชาลง เพราะการทำ Page swapping ระบบปฏิบัติการจะสลับพักขอมูลที่ไมไดใชงานในหนวยความจำหลักมาไวที่ ดิสก และสลับขอมูลที่พักไวที่ดิสกและจำเปนตองการใชโหลดกับเขาหนวยความจำหลัก วิธีการนี้ทำให ประสทิ ธิภาพเครือ่ งชาลงมากเนอ่ื งจาก ดิสกม ีความเร็วตางจากหนวยความจำหลกั มาก xxxii




Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook