ก ต การทำสำเนาเคร่อื งคอมพิวเตอรเสมือน, 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
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336