สคริปต์เพิ่มความสามารถ netapp ontap netapp ...neis)...

64
สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp OnTap Extended Feature Script นายกิตติพศ เจริญสิน สารนิพนธ์นี้เป็นส่วนหนึ่งของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงปลอดภัยสารสนเทศ คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2561

Upload: others

Post on 18-Jan-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

สคริปต์เพิม่ความสามารถ NetApp OnTap

NetApp OnTap Extended Feature Script

นายกิตติพศ เจรญิสิน

สารนพินธ์นี้เป็นส่วนหนึง่ของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงปลอดภยัสารสนเทศ

คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2561

Page 2: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

สคริปต์เพิม่ความสามารถ NetApp OnTap

NetApp OnTap Extended Feature Script

นายกิตติพศ เจรญิสิน

สารนพินธ์นี้เป็นส่วนหน่ึงของการศึกษา หลักสูตรวิทยาศาสตรมหาบัณฑิต สาขาวิชาความมั่นคงปลอดภยัสารสนเทศ

คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลยัเทคโนโลยมีหานคร

ปีการศึกษา 2561

Page 3: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

I

หัวข้อ สคริปต์เพิ่มความสามารถ NetApp OnTap

NetApp OnTap Extended Feature Script

ชื่อนักศึกษา นายกิตติพศ เจริญสิน

รหัสนักศึกษา 5917810001

หลักสูตร วิศวกรรมเครือข่ายและความมั่นคงปลอดภัยสารสนเทศ

ปีการศึกษา 2561

อาจารย์ท่ีปรึกษา ดร.สุรณพีร์ ภูมิวุฒิสาร

บทคัดย่อ

NetApp คือผู้ผลิต Network Storage ชั้นน าของโลก โดยบริษัทของผู้จัดท าโครงงานชิ้นนี้ได้เ ลื อก ใช้ Storage Controller รุ่ น AFF300 เนื่ อ งจากบริษัทที่ ผู้ จั ดท า โครงงานให้บริ การ Infrastructure as a Service (IaaS) ให้กับลูกค้าจ านวนมาก มีการท างานผิดพลาดจากการท างานของเจ้าหน้าที่ (Human Error) เกิดขึ้นอยู่บ่อยครั้ง ในแต่ละครั้งส่งผลกระทบในวงกว้าง สร้างความเสียหายให้กับบริษัททั้งตัวเงินและชื่อเสียง

สคริปต์เพ่ิมความสามารถ NetApp OnTap จะเข้ามาช่วยลดข้อผิดพลาดเกิดที่เกิดจากการท างานของเจ้าหน้าที่และตอบสนองความต้องการของลูกค้าที่หลากหลายซึ่ งอยู่นอกเหนือความสามารถพ้ืนฐานที่ NetApp ให้บริการอยูใ่นเวอร์ชั่นปัจจุบัน

Page 4: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

II

กิตติกรรมประกาศ

ปริญญานิพนธ์เล่มนี้สามารถส าเร็จลุล่วงได้อย่างด้วยดี โดยได้รับความช่วยเหลืออย่างดีจาก ดร.สุรณพีร์ ภูมิวุฒิสาร อาจารย์ที่ปรึกษาโครงงาน ที่ให้ค าแนะน าต่างๆ และเสียสละเวลาอันมีค่าแนะน าแนวทางและช่วยเหลือด้านการพัฒนาระบบ ตลอดจนช่วยหาข้อผิดพลาดภายในระบบ จนท าให้ปริญญานิพนธ์ฉบับนี้ขึ้นมาให้มีความสมบูรณ์ จึงขอขอบคุณไว้ ณ ที่นี้ด้วย ข้าพเจ้าขอกราบขอบพระคุณ คณาจารย์ทุกท่านที่ได้สั่งสอนวิชาความรู้และประสบการณ์ต่างๆ แก่ข้าพเจ้าตลอดเวลาที่ได้ศึกษาในมหาวิทยาลัยเทคโนโลยีมหานครเพ่ือนร่วมรุ่นที่คอยให้ความช่วยเหลือและให้ค าปรึกษาในการจัดท าโครงงานอย่างดีเสมอมา

นายกิตติพศ เจริญสิน พฤศจิกายน 2561

Page 5: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

III

สารบัญ

หน้า

บทคัดย่อ ............................................................................................................................................. I

กิตติกรรมประกาศ.............................................................................................................................. II

สารบัญ .............................................................................................................................................. III

สารบัญภาพ ..................................................................................................................................... VI

สารบัญภาพ(ต่อ) ............................................................................................................................. VII

สารบัญตาราง ..................................................................................................................................VIII

บทที่ 1 .............................................................................................................................................. 1

1.1 ที่มาและความส าคัญ ................................................................................................................... 1

1.2 วัตถุประสงค์ของโครงงาน ........................................................................................................... 2

1.3 ภาพรวมของโครงงาน ................................................................................................................. 3

1.4 ขอบเขตของโครงงาน .................................................................................................................. 4

1.5 ตารางแผนการด าเนินงาน ........................................................................................................... 5

บทที่ 2 .............................................................................................................................................. 6

2.1 Redundant Array of Inexpensive Disks Double Parity (RAID DP) ................................... 6

2.2 โครงสร้างการจัดเก็บข้อมูลของ Storage Controller รุ่น AFF 300 ........................................ 12

2.3 การท า Snapshot Volume .................................................................................................... 15

2.4 Basic HTTP Authentication ................................................................................................. 17

บทที่ 3 ............................................................................................................................................ 18

3.1 ภาพรวมของระบบ .................................................................................................................... 18

3.2 องค์ประกอบของระบบ ............................................................................................................. 20

3.3 โฟลว์ชาร์ตกระบวนการท างานของระบบ .................................................................................. 21

Page 6: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

IV

สารบัญ (ต่อ)

หน้า

3.4 การออกแบบหน้าเว็บ Report .................................................................................................. 30

บทที่ 4 ............................................................................................................................................ 33

4.1 สภาพแวดล้อมของการท างาน .................................................................................................. 33

4.2 การแจ้งเตือนผ่าน Line Notify ............................................................................................... 34

4.3 การแจ้งเตือนการท างานของ Script Check Snapshot Policy .............................................. 35

4.4 การแจ้งเตือนการท างานของ Script Automatic Extend Volume Size ............................... 36

4.5 Log การท างานของสคริปต์ Script Automatic Extend Volume Size ............................... 37

4.6 น า Script Automatic Extend Volume Size มาใช้งานจริง ................................................. 38

4.7 น า Script Check Snapshot Policy มาใช้งานจริง ................................................................. 38

4.8 น า Script Alert Snapshot Status มาใช้งานจริง ................................................................... 39

บทที่ 5 ............................................................................................................................................ 40

5.1 สรุปผลการด าเนินงาน .............................................................................................................. 40

5.2 ปัญหาและอุปสรรค .................................................................................................................. 40

5.3 แนวทางการพัฒนาต่อในอนาคต ............................................................................................... 40

เอกสารอ้างอิง ................................................................................................................................. 41

ภาคผนวก ก .................................................................................................................................... 42

ก.1. ติดตั้ง Python 3.6.5 ............................................................................................................... 43

ก.2 ติดตั้ง Python PIP เพ่ือใช้ Install Python Library อ่ืนๆ ....................................................... 44

ก.3 การติดตั้ง Library อ่ืนๆ ที่จ าเป็น ............................................................................................. 46

ก.4 ติดตั้งโปรแกรม Code Editor .................................................................................................. 47

ภาคผนวก ข .................................................................................................................................... 49

Page 7: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

V

สารบัญ (ต่อ)

หน้า

ข.1 ทดสอบ Command แสดงข้อมูล Volume ทั้งหมด ................................................................ 50

ข.2 ทดสอบ Command แสดงข้อมูล Aggregate ทั้งหมด ............................................................. 51

ข.3 ทดสอบ Command เพ่ิมและลดพ้ืนที่ให้กับ Volume ............................................................. 52

ข.4 ทดสอบ Command แสดงข้อมูล Snapshot Policy ของทุก Volume .................................. 53

ข.5 ทดสอบ Command แสดงข้อมูล Snapshot ย้อนหลังของ Volume ..................................... 54

Page 8: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

VI

สารบัญภาพ

หน้า

รูปที่ 1.1 Network Diagram ของระบบ .......................................................................................... 3

รูปที่ 2.1 รูปแสดงข้อมูลเมื่อมีการ Mount Volume เข้ากับโฮสต์ ESXi เพ่ือใช้เป็น Data Store ... 13

รูปที่ 2.2 รูปแสดงตัวอย่างอีเมลแจ้งเตือน Volume ....................................................................... 14

รูปที่ 2.3 รูปแสดงตัวอย่างกรณี Volume เกิดปัญหา ..................................................................... 14

รูปที่ 2.4 รูปแสดงข้อมูล Snapshot ของ Volume ........................................................................ 16

รูปที่ 2.5 การยืนยันตัวบุคคลของ Web Server ด้วย Base64 ....................................................... 17

รูปที่ 3.1 Network Diagram ของระบบ ........................................................................................ 19

รูปที่ 3.2 โฟลว์ชาร์ตการท างานของ Script Automatic Extend Volume Size .......................... 21

รูปที่ 3.3 โฟลว์ชาร์ตการท างานของ Script Check Snapshot Policy ......................................... 24

รูปที่ 3.4 โฟลว์ชาร์ตการท างานของ Script Alert Snapshot Status ........................................... 26

รูปที่ 3.5 โฟลว์ชาร์ตกระบวนการเข้าสู่ระบบด้วย Basic HTTP Authentication .......................... 28

รูปที่ 3.6 หน้าเว็บส าหรับ Login ..................................................................................................... 30

รูปที่ 3.7 หน้าเว็บหลังจาก Login ส าเร็จ ........................................................................................ 30

รูปที่ 3.8 พาแนลแสดงผลการท างานของ Script Auto Extend Volume Size ............................ 31

รูปที่ 3.9 พาแนลแสดงชื่อ Volume ไม่มีการท า Snapshot Policy .............................................. 31

รูปที่ 3.10 พาแนลส าหรับแสดงชื่อ Volume ที่เกิดการ Snapshot ล้มเหลว ................................. 31

รูปที่ 3.11 ภาพรวม Dashboard ................................................................................................... 32

รูปที่ 4.1 Notify ส าหรับแจ้งผลการท างานของสคริปต์ ................................................................... 34

รูปที่ 4.2 Notify ส าหรับแจ้งผลการท างานของสคริปต์ Script Check Snapshot Policy............. 35

รูปที่ 4.3 Notify ส าหรับแจ้งผลการท างานของสคริปต์ Script Automatic Extend Volume Size

........................................................................................................................................................ 36

Page 9: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

VII

สารบัญภาพ(ต่อ) หน้า

รูปที่ 4.4 Log การท างานของสคริปต์ Script Automatic Extend Volume Size ...................... 37

รูปที่ 4.5 น า Script Automatic Extend Volume Size มาใช้งานจริง ........................................ 38

รูปที่ 4.6 น า Script Automatic Extend Volume Size มาใช้งานจริง ........................................ 38

รูปที่ 4.7 น า Script Alert Snapshot Status มาใช้งานจริง .......................................................... 39

รูปที่ ก.1 เว็บไซต์ ส าหรับดาวน์โหลดไฟล์ติดตั้ง Python 3.6.5 [1] ................................................ 43

รูปที่ ก.2 ไฟล์ติดตั้ง Python 3.6.5 ................................................................................................ 43

รูปที่ ก.3 การติดตั้ง Python 3.6.5 ................................................................................................. 44

รูปที่ ก.4 ตัวอย่าง Code ในไฟล์ get-pip.py ................................................................................. 44

รูปที่ ก.5 การติดตั้ง PIP .................................................................................................................. 45

รปูท่ี ก.6 การติดตั้ง Paramiko ด้วย PIP ........................................................................................ 46

รูปที่ ก.7 การติดตั้ง Requests ด้วย PIP ........................................................................................ 47

รูปที่ ก.8 การติดตั้ง Sublime Text 3 ............................................................................................ 47

รูปที่ ก.9 การติดตั้ง Notepad++ ................................................................................................... 48

รูปที่ ข.1 การแสดงข้อมูล Volume ทั้งหมด ................................................................................... 50

รูปที่ ข.2 การแสดงข้อมูล Aggregate ทั้งหมด ................................................................................ 51

รูปที่ ข.3 การเพ่ิมและลดขนาดให้กับ Volume .............................................................................. 52

รูปที่ ข.4 การแสดงข้อมูล Snapshot Policy ................................................................................. 53

รูปที่ ข.5 การแสดงข้อมูล Snapshot ย้อนหลังของ Volume ........................................................ 54

Page 10: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

VIII

สารบัญตาราง หน้า

ตารางท่ี 1.1 ตารางแผนการด าเนินงาน โครงงาน 1 ......................................................................... 5

ตารางท่ี 2.1 ตารางตัวอย่างการจัดการข้อมูลของ RAID DP ............................................................. 6

ตารางท่ี 2.2 ตารางตัวอย่างกรณีดิสก์เสียของ RAID DP ................................................................... 7

ตารางท่ี 2.3 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 2 .............................................................. 7

ตารางท่ี 2.4 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 3 .............................................................. 8

ตารางท่ี 2.5 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 4 .............................................................. 8

ตารางท่ี 2.6 ตารางแสดงการกู้คืนข้อมูล Data2 ............................................................................... 8

ตารางท่ี 2.7 ตารางตัวอย่างกรณีดิสก์เสียพร้อมกัน 2 ไดร์ของ RAID DP .......................................... 9

ตารางท่ี 2.8 ตารางแสดงการกู้คืนข้อมูล Data3 ของโรล 1 .............................................................. 9

ตารางท่ี 2.9 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 2 ............................................................. 9

ตารางท่ี 2.10 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 2 .......................................................... 10

ตารางท่ี 2.11 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 3 ........................................................ 10

ตารางท่ี 2.12 ตารางแสดงการกู้คืนข้อมูล Data2 ของ โรล 3 ........................................................ 10

ตารางท่ี 2.13 ตารางการกู้คืนข้อมูล Data2 ของ โรล 3 ................................................................. 11

ตารางท่ี 2.14 ตารางแสดงการกู้คืนข้อมูล Data2 ของ โรล 4 ........................................................ 11

ตารางท่ี 2.15 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 4 ........................................................ 11

Page 11: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

1

บทที่ 1

บทน า

1.1 ที่มาและความส าคัญ

โครงงาน สคริปต์เพ่ิมความสามารถ NetApp OnTap ประกอบไปด้วยสคริปต์ทั้งหมด 3 สคริปต์ดังนี้

▪ Script Automatic Extend Volume Size ใช้ส าหรับขยายไซต์ของ Volume (Data Store ที่ Mount เข้ากับ ESXi) บน Storage

ของ NetApp เนื ่องจาก ข้อมูลของลูกค้ามีการเติบโตขึ ้นตลอดเวลา เมื ่อมีการใช้งาน พื้นที ่ มากกว่า 80% Storage Controller จะส่งอีเมลแจ้งเตือนเข้าไปยัง Network Operation Center (NOC) ที่มีเจ้าหน้าที่เฝ้าระวังตลอด 24 ชั่วโมง โดยทาง NOC จะท าการแจ้ง เจ้าหน้าที่ ที่เกี่ยวข้องเพ่ือด าเนินการขยาย Volume ให้เพียงพอต่อการใช้งานต่อไป ซึ่งถ้าเป็นช่วงนอกเวลาการท างานจะมี Cost ในส่วนของการท างานล่วงเวลา (Over Time) ให้กับเจ้าหน้าที ่ที่ด าเนินการด้วย

Script Automatic Extend Volume Size จะเข้ ามาช่ วยลดค่ า ใช้ จ่ าย ในส่ วนค่าล่วงเวลาลง โดยสคริปต์จะตรวจสอบพ้ืนที่การใช้งานของ Volume ทุก 20 นาที หากเกิน 75% สคริปต์ จะด าเนินการขยาย Volume ให้อัตโนมัติ

▪ Script Check Snapshot Policy ใช้ส าหรับตัวสอบการตั้งค่า Snapshot Policy เมื่อมีการสร้าง Volume ใหม่ เนื่องจาก

การสร้าง Volume ใหม่นั้นต้องมีการตั้งค่า Snapshot Policy เพ่ิมเติมหลังจากด าเนินการสร้างเสร็จเรียบร้อยแล้ว แต่บ่อยครั้งที่เกิดความผิดพลาดจากเจ้าหน้าที่ขึ้น เนื่องจากเจ้าหน้าที่ลืมตั้งค่า Snapshot Policy (ตั้งค่าว่าจะมีการส ารองข้อมูล On-Site และ Off-Site ทั้งหมดก่ีชุด) ท าให้ในเวลาต่อมาลูกค้าต้องการคืนค่า Snapshot แต่ทางผู้ให้บริการไม่สามารถท าได้ ส่งผลให้เกิดความเสียหายกับทางลูกค้าและผู้ให้บริการเอง

Script Check Snapshot Policy จะเข้ามาช่วยตรวจสอบ การตั้งค่าของ Volume ทุกๆ Volume ว่ามีการตั้งค่า Snapshot Policy ไว้หรือไม ่โดยจะท างานทุก 6 ชั่วโมง

Page 12: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

2

▪ Script Alert Snapshot Status ใช้ส าหรับแจ้งเตือนเมื่อ Volume มีการ Snapshot ส าเร็จ เนื่องจาก NetApp ไม่

สามารถตั้งค่าการแจ้งเตือนสถานะการส ารองข้อมูลได้ว่าส าเร็จหรือไม่ส าเร็จ ถ้าต้องการตรวจสอบจ าเป็นจะต้องท าผ่านหน้า Web Portal หรือ SSH แล้วแสดงผ่านหน้า Command Line บ่อยครั้งที่มีลูกค้าต้องการทราบสถานะ Backup ของตัวเอง ท าให้ต้องจัดเจ้าหน้าที่เพ่ือด าเนินการตามความต้องการของลูกค้าแล้วแจ้งผลผ่านทางอีเมล

Script Alert Snapshot Status จะเข้ามาช่วยส่งอีเมลแจ้งเตือนเมื่อ Volume มีการส ารองข้อมูลส าเร็จหรือไม่ส าเร็จ โดยสคริปต์จะท างานเวลาเที่ยงคืนสิบห้านาที ซึ่งเป็นช่วงเวลาที่ ทุก Volume จะถูกส ารองข้อมูลพร้อมกัน เมื่อสคริปตท์ างานส าเร็จจะแจ้งสถานะผ่านอีเมล ที่ตั้งค่าไว้โดยอัตโนมัติ 1.2 วัตถุประสงค์ของโครงงาน

▪ เพ่ือลดขั้นตอนการท างานของเจ้าหน้าที่ ▪ เพ่ือลดความผิดพลาดจากฝีมือมนุษย์ (Human Error) ▪ ลด Man-Day และค่าใช้จ่ายจากการท างานล่วงเวลาของเจ้าหน้าที่ ▪ ตอบสนองความต้องการของลูกค้าที่ไม่ใช่ความสามารถพ้ืนฐานของ NetApp

Page 13: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

3

1.3 ภาพรวมของโครงงาน

รูปที่ 1.1 Network Diagram ของระบบ

Page 14: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

4

1.4 ขอบเขตของโครงงาน

โครงงาน 1 1. จัดท า Script Automatic Extend Volume Size

▪ ทดสอบ Command ของ NetApp ดังนี้

• Command แสดงข้อมูล Volume ทั้งหมด

• Command แสดงข้อมูล Aggregate

• Command เพ่ิม Size ให้กับ Volume 2. จัดท า Script Check Snapshot Policy

▪ ทดสอบ Command ของ NetApp ดังนี้

• Command แสดงข้อมูล Snapshot Policy ของทุก Volume 3. จัดท า Script Alert Snapshot Status

▪ ทดสอบ Command ของ NetApp ดังนี้

• Command แสดงข้อมูล Snapshot ย้อนหลังของ Volume โครงงาน 2 1. จัดท าระบบ Report การท างานของ Script ที่จัดท าในโครงงาน 1 ผ่านหน้าเว็บไซต์

▪ แสดงข้อมูลในลักษณะ Graph ▪ มีระบบ Login ▪ แสดงข้อมูลย้อนหลัง

2. น าสคริปต์ที่จัดท างานโครงงาน 1 มาใช้งานจริง 3. เพ่ิมส่วนการแจ้งเตือนผ่าน Line Message (Group Notification) 4. เพ่ิมส่วน Monitor การท างานของสคริปต์ด้วยการ Binding Port 5. เพ่ิมส่วนการเก็บ Log การท างานของ Script

Page 15: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

5

1.5 ตารางแผนการด าเนินงาน

1.5.1 ตารางแผนการด าเนินงาน โครงงาน 1 ตารางท่ี 1.1 ตารางแผนการด าเนินงาน โครงงาน 1

แผนงานในแต่ละสัปดาห์ มกราคม กุมภาพันธ์ เมษายน พฤษภาคม

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1 ศึกษาการท างาน * การจัดการ Storage ของ NetApp

2 ทดสอบการท างาน

* ทดสอบ Command NetApp

3 เขียนโปรแกรมเพื่อทดสอบการท างาน

* จัดท า Script Automatic Extend Volume

* จัดท า Script Check Snapshot Policy

* จัดท า Script Alert Snapshot Status 4 ท าเอกสารขอขึ้นสอบ

5 สอบโครงงาน 1

1.5.2 ตารางแผนการด าเนินงาน โครงงาน 2 ตารางท่ี 1.2 ตารางแผนการด าเนินงาน โครงงาน 2

แผนงานในแต่ละสัปดาห์ กรกฎาคม สิงหาคม กันยายน ตุลาคม

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 จัดท าระบบ Report

2 น าสคริปต์มาใช้งานจริง

3 เพิ่มส่วนการแจ้งเตือนผา่น Line 4 เพิ่มส่วนการ Monitor สคริปต ์

5 เก็บ Log การท างานของสคริปต ์

6 ท าเอกสารขอขึ้นสอบ

7 สอบโครงงาน 2

Page 16: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

6

บทที่ 2

ทฤษฎีพื้นฐานที่เกี่ยวข้อง

2.1 Redundant Array of Inexpensive Disks Double Parity (RAID DP)

RAID DP เป็นลิขสิทธิ์ของ NetApp มีลักษณะการท างานเหมือน RAID 4 ที่มีการเขียนในระดับบล็อกและมีการเก็บค่าพาริตี้บิตลงในดิสก์แยก RAID DP จะใช้ดิสก์แยกจ านวน 2 ไดร์แทน ท าให้ RAID DP รองรับการเสียของดิสก์ได้พร้อมกันถึง 2 ไดร์และลดปัญหาคอขวดที่พบใน RAID 4 เนื่องจากดิสกท์ี่ใช้เก็บพาริตี้บิตมีการใช้งานสูง แตต่้องแลกมาด้วยพื้นที่ใช้งานขนาด N – 2

ตารางท่ี 2.1 ตารางตัวอย่างการจัดการข้อมูลของ RAID DP

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13 2 3 4 2 11 16

1 4 2 1 8 19

จากตารางที่ 2.1 การคิดพาริตี้บิตจะคิดโดยการน าข้อมูลจาก 4 คอลัมน์มาท าการ Exclusive

XOR (XOR) กัน (จากตัวอย่างเพ่ือความง่ายจะใช้วิธีการบวก) เพ่ือให้ได้ค่าพาริตี้บิต ▪ คอลัมน์ 1 : 1 + 2 + 3 + 4 = 10 ▪ คอลัมน์ 2 : 5 + 2 + 1 + 1 = 9 ▪ คอลัมน์ 3 : 2 + 3 + 4 + 2 = 11 ▪ คอลัมน์ 4 : 1 + 4 + 2 + 1 = 8 จากนั้นจะคิดค่าดับเบิลพาราตี้โดยการท า XOR แนวทแยงมุม (แบ่งตามสีของ Block ข้อมูล)

▪ คอลัมน์ 1 : 1 + 2 + 4 + 1 = 8 ▪ คอลัมน์ 2 : 2 + 1 + 2 + 8 = 13 ▪ คอลัมน์ 3 : 3 + 1 + 11 + 1 = 16 ▪ คอลัมน์ 4 : 4 + 9 + 2 + 4 = 19

Page 17: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

7

กรณขี้อมูลในคอลัมน์ที่ 2 เกิดสูญหาย RAID DP จะสร้างข้อมูลขึ้นมาใหม่จากพาริตี้บิตเช่น ตารางท่ี 2.2 ตารางตัวอย่างกรณีดิสกเ์สียของ RAID DP

Data1 Data2 Data3 Data4 Parity Double Parity

1 X 3 4 10 8

5 X 1 1 9 13

2 X 4 2 11 16 1 X 2 1 8 19

ตารางท่ี 2.3 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 2

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8 5 X 1 1 9 13

2 X 4 2 11 16

1 X 2 1 8 19 โรล 1 : 10 - 4 - 3 – 1 = 2

Page 18: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

8

ตารางท่ี 2.4 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 3

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13 2 X 4 2 11 16

1 X 2 1 8 19 โรล 2 : 9 - 1 - 1 - 5 = 2 ตารางที่ 2.5 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 4

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13

2 3 4 2 11 16 1 X 2 1 8 19

โรล 3 : 11 - 2 - 4 - 2 = 3 ตารางที่ 2.6 ตารางแสดงการกู้คืนข้อมูล Data2

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8 5 2 1 1 9 13

2 3 4 2 11 16

1 4 2 1 8 19 โรล 4 : 8 - 1 - 2 - 1 = 4

Page 19: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

9

กรณีข้อมูลในคอลัมน์ที ่2 และ 3 เกิดสูญหาย RAID DP จะสร้างข้อมูลขึ้นมาใหม่จากพาริตี้บิต เช่น

ตารางท่ี 2.7 ตารางตัวอย่างกรณีดิสก์เสียพร้อมกัน 2 ไดร์ของ RAID DP

Data1 Data2 Data3 Data4 Parity Double Parity

1 X X 4 10 8 5 X X 1 9 13

2 X X 2 11 16

1 X X 1 8 19

ตารางท่ี 2.8 ตารางแสดงการกู้คืนข้อมูล Data3 ของโรล 1

Data1 Data2 Data3 Data4 Parity Double Parity

1 X 3 4 10 8 5 X X 1 9 13

2 X X 2 11 16

1 X X 1 8 19 โรล 1 Data3 : 16 - 11 - 1 - 1 = 3 ตารางท่ี 2.9 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 2

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 X X 1 9 13

2 X X 2 11 16 1 X X 1 8 19

โรล 1 Data3 : 10 - 4 - 3 - 1 = 2

Page 20: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

10

ตารางท่ี 2.10 ตารางแสดงการกู้คืนข้อมูล Data2 ของโรล 2

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 X 1 1 9 13 2 X X 2 11 16

1 X X 1 8 19 โรล 2 Data3 : 13 - 8 - 2 - 2 = 1

ตารางท่ี 2.11 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 3

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13

2 X X 2 11 16 1 X X 1 8 19

โรล 2 Data2: 9 - 1 - 1 - 5 = 2 ตารางท่ี 2.12 ตารางแสดงการกู้คืนข้อมูล Data2 ของ โรล 3

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8 5 2 1 1 9 13

2 X 4 2 11 16

1 X X 1 8 19 โรล 3 Data3 : 8 - 1 - 2 - 1 = 4

Page 21: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

11

ตารางท่ี 2.13 ตารางการกู้คืนข้อมูล Data2 ของ โรล 3

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13 2 3 4 2 11 16

1 X X 1 8 19 โรล 3 Data2 : 11 - 2 - 4 - 2 = 3

ตารางท่ี 2.14 ตารางแสดงการกู้คืนข้อมูล Data2 ของ โรล 4

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8

5 2 1 1 9 13

2 3 4 2 11 16 1 4 X 1 8 19

โรล 4 Data2 : 19 - 9 - 4 - 2 = 4 ตารางท่ี 2.15 ตารางแสดงการกู้คืนข้อมูล Data3 ของ โรล 4

Data1 Data2 Data3 Data4 Parity Double Parity

1 2 3 4 10 8 5 2 1 1 9 13

2 3 4 2 11 16

1 4 2 1 8 19 โรล 4 Data3 : 8 - 1 - 4 - 1 = 2

Page 22: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

12

2.2 โครงสร้างการจัดเก็บข้อมูลของ Storage Controller รุ่น AFF 300

คลัสเตอร์ของ NetApp ประกอบด้วย Node ดังนี้ ▪ Storage Controller ท าหน้าที่บริหารจัดการทรัพยากรของคลัสเตอร์ ▪ คลัสเตอร์สวิตซ์ ท าหน้าที่เชื่อมต่อ Storage Controller เข้าด้วยกันเพื่อท า High Availability (HA) ระดับฟิสิคอล ▪ Disk Shelf ท าหน้าที่เป็นอินเตอร์เฟสส าหรับเชื่อมต่อดิสกเ์พ่ือน าพื้นที่ไปใช้งานในคลัสเตอร์ การน าพ้ืนที่จากดิสก์มาใช้งานมีข้ันตอนดังนี้ ▪ สร้าง RAID DP Group จากดิสก์ที่ใส่ใน Disk Shelf ▪ สร้าง Aggregate Group จากไดร์ได้จาก RAID DP Group ▪ สร้าง Volume ใส่ใน Aggregate Group (1 Aggregate สามารถสร้างได้หลาย Volume)

Page 23: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

13

เมื่อ Volume พร้อมใช้งาน จะน า Volume ไป Mount เข้ากับโฮสต์ ESXi ในรูปแบบ Network File System (NFS) จากนั้นโฮสต์ ESXi จะมองเห็น Volume ที่ Mount เข้ามาในลักษณะของ Data Store ที่ใช้ส าหรับเก็บ VM ต่างๆ

ซึ่งเมื่อมีการสร้าง VM บ่อยครั้งที่มีการ Over Commit ขนาดดิสก์ของ VM เนื่องจากการสร้าง VM นั้นเป็นการสร้างแบบ Thin Provisioning ซึ่งจะไม่มีการจองพ้ืนที่ใน Data Store ท าให้การคิดพ้ืนที่ ที่ใช้งานเป็นการคิดจากพ้ืนที่จริงไม่ใช่พื้นท่ี Provisioning ยกตวัอย่างเช่น Data Store มีพ้ืนที่พร้อมใช้งานอยู่ 10 TB มีการสร้าง VM ที่มีดิสก์ขนาด 15 TB เมื่อรวมระบบปฏิบัติการ และ โปรแกรมพ้ืนฐานเริ่มต้นแล้ว VM จะมีการใช้งานพ้ืนที่ดิสก์เพียงแค่ 50 – 60 GB จากพ้ืนที่ Provisioning เท่านั้น ซึ่งหมายความว่ายังเหลือพ้ืนที่ใช้งานใน Data Store อีกถึง 99.95% โดยพ้ืนที่เหล่านี้จะน าไปใช้กับ VM อ่ืนๆ ต่อไปท าให้การบริหารจัดการพ้ืนที่และ VM มีประสิทธิภาพสูงสุด คุ้มค่ากับการลงทุน

รูปที่ 2.1 รูปแสดงข้อมูลเมื่อมีการ Mount Volume เข้ากับโฮสต์ ESXi เพ่ือใช้เป็น Data Store

Page 24: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

14

แต่เมื่อมีการใช้งาน Data Store ไปซักระยะหนึ่ง ข้อมูลใน VM ของลูกค้ามีการขยายตัวขึ้นจากการใช้งานเช่น ระบบ File Share, FTP Server หรือระบบฐานข้อมูล ส่งผลให้การ Over Commit ในตอนต้นมีปัญหาพ้ืน Data Store เหลือน้อยลง ในส่วนนี้ที่ตัว Storage Controller เองได้มีการตั้ง Threshold การใช้งาน Volume ไว้ที่ 80% จะมีการส่งอีเมลแจ้งเตือนไปยัง NOC ซึ่งมีเจ้าหน้าที่เฝ้าระวังอยู่ตลอด 24 ชั่วโมง จากนั้นทาง NOC จะแจ้งเจ้าหน้าเวรที่ดูแล Storage ในวันนั้นให้ด าเนินการขยายพ้ืนที่ใน Volume ที่มีการแจ้งเตือนออกมาให้มีพ้ืนที่เพียงพอต่อการใช้งาน (เพ่ิมจนกว่าเปอร์เซ็นต์การใช้งานจะต่ ากว่า 75% ส่วนมากจะเพ่ิมครั้งล่ะประมาณ 3 – 4 TB ตามแต่ Volume ที่พบการแจ้งเตือน)

รูปที่ 2.2 รูปแสดงตัวอย่างอีเมลแจ้งเตือน Volume

การขยายพ้ืนที่ใช้งานของ Volume ในแต่ละครั้งจ าเป็นจะต้องตรวจสอบขนาดของ Aggregate ก่อนว่ามีขนาดเพียงพอหรือไม่ เนื่องจาก Aggregate นั้นมีความสัมพันธ์กับฟิสิคอลดิสก์ โดยตรง ถ้ามีการขยาย Volume แล้วท าให้ Aggregate เกิดเต็ม (ใช้งานพ้ืนที่ Aggregate เต็ม 100%) นั้นเท่ากับว่า Volume ทุกๆ Volume ที่อยู่ใน Aggregate นั้นจะไม่สามารถใช้งานได้ชั่วคราวซึ่งส่งผลต่อ VM ใน Volume ก็จะไม่สามารถใช้งานได้ด้วย (เกิด Down Time กระทบ SLA)จนกว่าจะมีการจัดการพ้ืนที่ให้เพียงพออีกครั้ง ไม่ว่าจะเป็นการเพ่ิมฟิสิคอลดิสก์หรือย้าย Volume ไปยัง Aggregate อ่ืนๆ ชั่วคราว

รูปที่ 2.3 รูปแสดงตัวอย่างกรณี Volume เกิดปัญหา

Page 25: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

15

ในลักษณะเดียวกัน การปล่อยให้ Volume มีการใช้งานเต็ม 100% ก็จะส่งผลให้ Volume นั้นๆ ไม่สามารถใช้งานได้รวมถึง VM ใน Volume นั้นๆ ด้วย ผลกระทบที่เกิดจาก Aggregate หรือ Volume มีการใช้งานพ้ืนที่เต็ม 100% นั้นจะท าให้ VM ได้รับผลกระทบในรูปแบบดิสก์หลุดส่งผลให้ VM หยุดท างานในทันที (เปรียบเทียบกับ คอมพิวเตอร์ทั่วไปคือดึงฮาดดิสก์ทั้งหมดออกจากระบบขณะที่คอมพิวเตอร์ยังท างานอยู่) ท าให้เจ้าหน้าที่ต้องเข้าไปรีบูต VM เพ่ือให้ระบบปฏิบัติการสแกนดิสก์ใหม่อย่างเร่งด่วน ผลที่เกิดขึ้นต่อมาคือถ้ามีการรีบูต VM ถี่เกินไปเนื่องจากต้องรีบกู้สถานการณ์กลับมา จะเกิดเหตุการณ์ Boot Storm (VM จ านวนมากบูตขึ้นพร้อมกัน) ที่จะส่งผลให้ CPU ของโฮสต์ ESXi ท างานสูงขึ้นและทราฟฟิกเน็ตเวิร์คใช้งานเพ่ิมขึ้น ส่งผลต่อ Latency ของอุปกรณ์เน็ตเวิร์ค ซึ่งเป็นการกระทบภาพรวมของระบบอย่างร้ายแรง 2.3 การท า Snapshot Volume

การท า Snapshot Volume คือการเก็บสถานะของ Volume ณ ช่วงเวลานั้นไว้เพ่ือเรียกใช้งานในภายหลัง โดยบริษัทของผู้จัดท าโครงงานจะมีการท า Snapshot Volume ทุกเที่ยงคืนซึ่งมากพอกรณ ีVM ของลูกค้าพบปัญหาการใช้งานหรือจากการติด Ransomware การ Restore Snapshot นั้นจะท าในระดับ Volume นั้นหมายความว่าถ้าขนาดของ Volume มีขนาดใหญ่ การ Restore Snapshot ก็จะเป็นการกินพ้ืนที่ของ Aggregate ด้วย ดังนั้นจึงมีความจ าเป็นที่จะต้องควบคุมขนาดของ Volume ไม่ให้มีขนาดใหญ่เกินไป เมื่อมีการสร้าง Volume ใหม่จะต้องมีการตั้งค่า Snapshot Policy เพ่ือบอกว่า Volume นั้นๆ จะมีการท า Snapshot เวลาใดและเก็บย้อนหลังกี่ชุด รวมถึงสามารถเลือกได้ว่าจะเป็นแบบ On-Site หรือ Off-Site โดยปกติแล้วทุก Volume จะมีการเก็บ Snapshot On-Site ย้อนหลัง 7 ชุด เป็นค่าพ้ืนฐาน

Page 26: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

16

รูปที่ 2.4 รูปแสดงข้อมูล Snapshot ของ Volume

Page 27: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

17

2.4 Basic HTTP Authentication

คือ คุณสมบัติการยืนยันตัวบุคคลแบบพ้ืนฐานของ Web Server โดยมีขั้นตอนดังนี้

▪ ไคลเอนต์ ส่ง HTTP Request ไปยังเว็บเซิร์ฟเวอร์ ▪ Server ต้องการยืนยันตัวบุคคลเพื่อขอเข้าใช้งาน โดยส่ง HTTP/1.1 401 Authorization

Request กลับไปให้ไคลเอนต์

▪ เว็บบราวเซอร์ของไคลเอนต์จะแสดงหน้าต่างให้ใส่ชื่อผู้ใช้งานและรหัสผ่าน ▪ เมื่อผู้ใช้กรอกข้อมูลครบแล้วกดส่งข้อมูล ชื่อผู้ใช้งานและรหัสผ่านจะถูกน ามาต่อกันแล้วขั้น

ด้วย : (Username:Password) จากนั้นจะถูกเข้ารหัสแบบ Base64 แล้วส่งไปยังเว็บเซิร์ฟเวอร์

▪ เว็บเซิร์ฟเวอร์จะท าการตรวจสอบข้อมูล โดยสามารถเกิดได้สองกรณีคือ

• กรณีท่ีข้อมูลถูกต้องเว็บเซิร์ฟเวอร์ จะส่งข้อมูลที่ Client ต้องการกลับมาให้

• กรณีท่ีข้อมูลไม่เว็บเซิร์ฟเวอร์จะส่ง HTTP/1.0 401 Unauthorized ท าให้ผู้ใช้งานต้องกรอกข้อมูลใหม่อีกครั้ง แต่ถ้ากดยกเลิกจะแสดงข้อความแจ้งเตือนความผิดพลาดทันที (สามารถใส่ข้อมูลผิดได้ไม่เกิน 3 ครั้งเท่านั้น กรณีท่ีเกินจะต้องเริ่มกระบวนการ Login ใหม่ทั้งหมด)

รูปที่ 2.5 การยืนยันตัวบุคคลของ Web Server ด้วย Base64

Page 28: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

18

(1)

บทที่ 3

การออกแบบและการเขียนโปรแกรมย่อยเพื่อทดสอบระบบ

3.1 ภาพรวมของระบบ

▪ Script Automatic Extend Volume Size Script จะท าการ SSH เข้าไปยัง Storage Controller ทุก 20 นาที แล้วท าการดึงค่าต่างๆออกมาดังนี้

• Volume Name

• Volume Size

• Volume Free

• Volume Used

• Aggregate ที่ Volume นั้นอยู ่

• Aggregate Used จากนั้นจะท าการตรวจสอบว่า Volume นั้นมีค่ามากกว่า 75% ก็จะท าการขยายพื้นที่ของ Volume นั้นๆ ให้เหลือน้อยกว่า 75% โดยคิดจากสูตร

Size To Extend = ⌊(𝑈𝑠𝑒𝑑 ∗ 100)

𝑇𝑎𝑟𝑔𝑒𝑡%⌋ − 𝑆𝑖𝑧𝑒

เมื่อ Size To Extend คือ ขนาดของพื้นที่ที่ต้องเพ่ิมเพ่ือให้ค่า Used เหลือต่ ากว่า 74% Used คือ พ้ืนที่ ที่ถูกใช้งานไปแล้ว Target คือ ค่าเปอร์เซ็นต์เป้าหมายของ Used ที่ต้องการให้ลดลง Size คือ พื้นที่ของ Volume ทั้งหมด ตัวอย่าง Used มีค่าเท่ากับ 760 TB Target มีค่าเท่ากับ 74% Size มีค่าเท่ากับ 1000TB แทนค่าในสมการที่ 1

Size To Extend = ⌊(760 𝑇𝐵 ∗ 100)

74%⌋ − 1000 𝑇𝐵

Page 29: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

19

Size To Extend มีค่าเท่ากับ 27.02 TB ▪ Script Check Snapshot Policy Script จะท าการ SSH เข้าไปยัง Storage Controller ทุก 6 ชั่วโมง แลว้ท าการดึงค่าต่างออกมาดังนี้

• Volume Name

• Volume Snapshot Policy จากนั้นจะท าการตรวจสอบว่า Volume ใดบ้างท่ีไม่มีการตั้งค่า Snapshot Policy ไว้ ชื่อ Volume เหล่านั้นจะถูกแจ้งเตือนออกไปยัง Line Group Notify ในบางกรณี Volume บางกลุ่มอาจจะไม่ต้องการท า Snapshot เนื่องจากเป็น Volume ทดสอบหรือใช้งานภายในก็สามารถเลือกท่ีจะยกเว้นไม่ให้มีการแจ้งเตือนได้ ▪ Script Alert Snapshot Status Script จะท าการ SSH เข้าไปยัง Storage Controller ทุกวันเวลา 00.15 AM แล้วท าการดึงข้อมูลการท า Snapshot ล่าสุดของ Volume ที่ระบุไว้ในสคริปต์ออกมาแล้วตรวจสอบว่าการท า Snapshot ครั้งล่าสุดนั้น ส าเร็จหรือไม่และเวลาทีส่ิ้นสุดเป็นเวลาใด จากนั้นจะท าการส่งอีเมลแจ้งเตือนไปยังลูกค้า

รูปที่ 3.1 Network Diagram ของระบบ

Page 30: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

20

3.2 องค์ประกอบของระบบ

1. Storage Controller ท าหน้าที่บริหารจัดการ Resource ของคลัสเตอร์ 2. Cluster Switch ท าหน้าที่เชื่อมต่อ Storage Controller เข้าดว้ยกันเพ่ือท า High Availability (HA) ระดับฟิสิคอล 3. Disk Shelf ท าหน้าที่เป็นอินเตอร์เฟสส าหรับเชื่อมต่อดิกส์เพ่ือน าพ้ืนที่ไปใช้งานในคลัสเตอร์ 4. Core Switch ท าหน้าที่เชื่อมต่อ Storage Controller ไปยังโฮส ESXi 5. สคริปต์ ท างานอยู่บน VM ที่เชื่อมต่อ VLAN Management สามรถเข้าถึง Storage Controller ได ้

Page 31: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

21

รูปที่ 3.2 โฟลว์ชาร์ตการท างานของ Script Automatic Extend Volume Size

3.3 โฟลว์ชาร์ตกระบวนการท างานของระบบ

3.3.1 Script Automatic Extend Volume Size

Page 32: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

22

จากรูป 3.2 แสดงถึงการท างานของ Script Automatic Extend Volume Size โดยเริ่มจากสคริปต์ท าการอ่านไฟล์เอกสารเพ่ือเก็บค่าไอพีของ Storage Controller ที่จะน ามาใช้งานกับสคริปต์จากนั้นท าการสร้างตัวแปรที่เกี่ยวข้องดังนี้

▪ aggr_report_name ใช้ส าหรับเก็บชื่อของ Aggregate ▪ aggr_report_used ใช้ส าหรับเก็บเปอร์เซ็นต์การใช้งานของ Aggregate ▪ vol_report_name ใช้ส าหรับเก็บชื่อของ Volume ▪ vol_report_used ใช้ส าหรับเก็บเปอร์เซ็นต์การใช้งานของ Volume เมื่อสร้างตัวแปรที่เก่ียวข้องครบแล้วจะท าการ SSH ไปยังไอพีตามลิสต์ที่อ่านจากไฟล์เอกสาร

ในตอนต้น หลังจาก SSH ส าเร็จจะท าการเรียกใช้ Command เพ่ือเก็บข้อมูลดังนี้ลงตัวแปร ▪ Volume Name ▪ Aggregate ที่ Volume นั้นอยู ่▪ vServer ที่ Volume นั้นอยู่ ▪ Volume Size ▪ Volume Free ▪ Volume Used % ▪ Aggregate Name ▪ Aggregate Used % เมื่อได้ข้อมูลตามตัวแปรครบแล้วจะท าการตรวจสอบตามเงื่อนไขดังนี้ A. ถ้า Volume มีการใช้งานมากกว่า 75% และ Aggregate มีการใช้งานมากกว่า 80% จะ

ส่ง Alert เข้า Line Group วา่ไม่สามารถขยายพ้ืนที่ให้กับ Volume ได้เนื่องจาก Aggregate มีการใช้งานเกิน 80% แล้วเก็บค่าลงตัวแปรดังนี้

• Aggregate Name เก็บลงตัวแปร aggr_report_name

• Aggregate Used % เก็บลงตัวแปร aggr_report_used

• Volume Name เก็บลงตัวแปร vol_report_name

• Volume Used เก็บลงตัวแปร vol_report_used B. ถ้า Volume มีการใช้งานน้อยกว่า 75% และ Aggregate มีการใช้งานมากกว่า 80% จะเก็บค่าลงตัวแปรดังนี้

• Aggregate Name เก็บลงตัวแปร aggr_report_name

• Aggregate Used % เก็บลงตัวแปร aggr_report_used

Page 33: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

23

A. ถ้า Volume มีการใช้งานมากกว่าหรือเท่ากับ 75% และ Aggregate มีการใช้งานน้อยกว่า 80% คิดค่าพ้ืนที่ ที่จะต้องเพ่ิมให้กับ Volume แล้วด าเนินการเรียกใช้ Command ส าหรับเพ่ิมพ้ืนที่ให้กับ Volume

B. หลังจากตรวจสอบเงื่อนไข A, B, C แล้วจะท าการตรวจสอบค่าตัวแปร vol_report_used ที่เก็บมาจากเง่ือนไข A ว่ามีการใช้งานมากกว่า 90% หรือไม่ เนื่องจากในเงื่อนไข A จะไม่สามารถเพ่ิมพ้ืนที่การใช้งานให้กับ Volume ได้ จึงต้องมีการตรวจสอบซ้ าอีกรอบ ถ้าพบว่าเกิน 90% จะท าการแจ้งเตือนเข้า Line Group Critical ที่มีเจ้าหน้าที่ NOC เฝ้าระวัง 24 ชั่วโมงจากนั้นจะแจ้งเจ้าหน้าที่ด าเนินการต่อไป

C. หลังจากตรวจสอบเงื่อนไข D แล้วจะท าการตัวสอบว่าตัวแปร aggr_report_use ที่เก็บมาจากเงื่อนไข A และ B ว่ามีการใช้งานมากกว่า 90% หรือไม่ ถ้าพบว่าเกิน 90% จะท าการแจ้งเตือนเข้า Line Group Critical ที่มีเจ้าหน้าที่ NOC เฝ้าระวัง 24 ชั่วโมงจากนั้นจะแจ้งเจ้าหน้าที่ด าเนินการต่อไป แล้วจบการท างาน

Page 34: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

24

3.3.2 Script Check Snapshot Policy

รูปที่ 3.3 โฟลว์ชาร์ตการท างานของ Script Check Snapshot Policy

Page 35: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

25

จากรูป 3.3 แสดงถึงการท างานของ Script Check Snapshot Policy โดยเริ่มจากสคริปต์ท าการอ่านไฟล์เอกสารเพ่ือเก็บค่า IP ของ Storage Controller ที่จะน ามาใช้งานกับสคริปต์จากนั้นท าการ SSH ไปยัง IP ตาม List เพ่ือเรียกใช้ Command ส าหรับเก็บชื่อ Volume ที่ไม่มีการตั้งค่า Snapshot Policy แล้วท าการอ่านไฟล์เอกสารเพ่ือเก็บค่าชื่อ Volume ที่ไม่ต้องการ Snapshot Policy (Bypass List)

จากนั้นจะท าการตรวจสอบชื่อ Volume ที่ได้จากการเรียกใช้ Command ในตอนต้นว่ามีอยู่ใน Bypass List หรือไม่

▪ ถ้ามีจะท าการส่ง Line Alert แจ้งเตือนไปยัง Line Group แล้วจบการท างาน ▪ ถ้ามีจะไม่ด าเนินการใดๆ แล้วจบการท างาน

Page 36: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

26

3.3.3 Script Alert Snapshot Status

รูปที่ 3.4 โฟลว์ชาร์ตการท างานของ Script Alert Snapshot Status

Page 37: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

27

จากรูป 3.3 แสดงถึงการท างานของ Script Alert Snapshot Status โดยเริ่มจากสคริปต์ท าการ SSH ไปยังไอพีของ Storage Controller ทีร่ะบุไว้ในสคริปต์แล้วท าการเรียกใช้ Command เพ่ือเก็บค่า Snapshot Status ของ Volume ที่ระบุไว้ในสคริปต์จากนั้นท าการตรวจสอบว่าวันที่ของการ Snapshot ครั้งล่าสุดเท่ากับวันที่ปัจจุบันหรือไม่

▪ ถ้าไม่ จะท าการส่งอีเมลและ Line Alert แจ้งเตือนว่าพบการ Snapshot ล้มเหลวแล้วจบการท างาน

▪ ถ้าใช่ จะท าการส่งอีเมลและ Line Alert แจ้งว่าการ Snapshot ด าเนินการเสร็จสมบูรณ์ แล้วจบการท างาน

Page 38: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

28

3.3.4 กระบวนการเข้าสู่ระบบด้วย Basic HTTP Authentication

รูปที่ 3.5 โฟลว์ชาร์ตกระบวนการเข้าสู่ระบบด้วย Basic HTTP Authentication

Page 39: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

29

จากรูป 3.5 แสดงให้เห็นถึงกระบวนการเข้าสู่ระบบของผู้ใช้งาน เริ่มจากมีหน้าป๊อปอัพให้ผู้ใช้ระบุชื่อผู้ใช้งานและรหัสผ่าน โดยสามารถเกิดได้สองกรณีคือ

▪ ผู้ใช้กดปุ่ม Cancel จะแสดงข้อความ Unauthorize จากนั้นจบกระบวนการ

▪ ผู้ใช้งานระบุชื่อผู้ใช้งานและรหัสผ่าน จากนั้นสามารถเกิดได้สองกรณีคือ ▪ ผู้ใช้กดปุ่ม Cancel จะแสดงข้อความ Unauthorize จากนั้นจบกระบวนการ

▪ ชื่อผู้ใช้งานและรหัสผ่านถูกต้อง จะท าการเข้าสู่ระบบ และท าการตรวจสอบสถานะโดยสามารถเกิดขึ้นได้สองกรณีคือ

- สถานะถูกระงับการใช้งาน จะแสดงข้อความแจ้งเตือนแล้วจบการท างาน

- สถานะปกติ จะท าการตรวจสอบระดับของผู้ใช้งานโดยสามารถเกิดได้สองกรณีคือ o ระดับผู้ใช้ จะแสดงหน้าเพจของผู้ใช้งานทั่วไป แล้วจบ

กระบวนการ

o ระดับผู้ดูแลระบบขึ้นไป จะแสดงหน้าของผู้ดูแลระบบ แล้วจบกระบวนการ

Page 40: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

30

3.4 การออกแบบหน้าเว็บ Report

หน้าเว็บส าหรับท าการ Login เข้ามายังระบบโดยสามารถสร้างและก าหนดสิทธิ์ให้ผู้ใช้งานได้ตามความเหมาะสมกับการใช้งาน

รูปที่ 3.6 หน้าเว็บส าหรับ Login

หน้า Home Dashboard เมื่อ Login เข้ามายังระบบ

รูปที่ 3.7 หน้าเว็บหลังจาก Login ส าเร็จ

Page 41: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

31

พาแนลกราฟแสดงประวัติการขยายพื้นที่ของ Volume

รูปที่ 3.8 พาแนลแสดงผลการท างานของ Script Auto Extend Volume Size

พาแนลส าหรับแสดงชื่อ Volume ที่ไม่มีการท า Snapshot Policy ภายในวันปัจจุบัน

รูปที่ 3.9 พาแนลแสดงชื่อ Volume ไม่มีการท า Snapshot Policy

พาแนลส าหรับแสดงชื่อ Volume ที่เกิดการ Snapshot ล้มเหลวภายในวันปัจจุบัน (ระบบ

ยังไม่เคยพบเหตุการณ์ Snapshot ล้มเหลว)

รูปที่ 3.10 พาแนลส าหรับแสดงชื่อ Volume ที่เกิดการ Snapshot ล้มเหลว

Page 42: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

32

ภาพรวม Dashboard ส าหรับดูการท างานของ Script Automatic Extend Volume Size,

Script Check Snapshot Policy และ Script Alert Snapshot Status

รูปที่ 3.11 ภาพรวม Dashboard

Page 43: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

33

บทที่ 4

ผลการด าเนินงาน

4.1 สภาพแวดล้อมของการท างาน

สคริปต์เพ่ิมความสามารถ NetApp OnTap ถูกพัฒนาด้วยภาษาไพธอน 3.6.5 ท าให้มีความยืดหยุ่นในด้านการน าไปใช้ เนื่องจากภาษาไพธอนเป็นภาษาที่ได้รับความนิยมสูง สามารถท างานได้บนระบบปฏิบัติการที่หลากหลาย มี Library ให้เลือกใช้งานมากมาย

ระบบมีการท างานคือ สคริปต์จะท าหน้าที่เป็น SSH ไคลเอนต์เข้าไปสั่งให้ NetApp Ontap ท างานตามค าสั่งเพ่ือให้ได้ค่าส าหรับน าไปใช้ในสคริปต์ที่จัดท าขึ้นแล้วเก็บผลที่ได้ลงในฐานข้อมูลเพ่ือน ามาแสดงผลบนหน้า Dashboard ต่อไป

สคริปต์จะมีการเก็บข้อมูลการท างานทั้งหมดลงในไฟล์ Log และจะมีการแจ้งเตือนไปยังอีเมล์และ Line Notify เมื่อสคริปต์เริ่มหรือจบการท างาน

Page 44: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

34

4.2 การแจ้งเตือนผ่าน Line Notify

เมื่อสคริปต์เริ่มท างานจะมีการแจ้งเตือนไปยัง Line Notify เช่น

▪ สคริปต์เริ่มหรือจบการท างาน ▪ มีการ Binding Port ส าหรับการ Monitor ▪ สคริปต์เกิดการท างานผิดพลาด

รูปที่ 4.1 Notify ส าหรับแจ้งผลการท างานของสคริปต์

Page 45: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

35

4.3 การแจ้งเตือนการท างานของ Script Check Snapshot Policy

รูปที่ 4.2 Notify ส าหรับแจ้งผลการท างานของสคริปต์ Script Check Snapshot Policy

Page 46: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

36

4.4 การแจ้งเตือนการท างานของ Script Automatic Extend Volume Size

รูปที่ 4.3 Notify ส าหรับแจ้งผลการท างานของสคริปต์ Script Automatic Extend Volume Size

Page 47: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

37

4.5 Log การท างานของสคริปต์ Script Automatic Extend Volume Size

รูปที่ 4.4 Log การท างานของสคริปต์ Script Automatic Extend Volume Size

Page 48: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

38

4.6 น า Script Automatic Extend Volume Size มาใช้งานจริง

รูปที่ 4.5 น า Script Automatic Extend Volume Size มาใช้งานจริง

4.7 น า Script Check Snapshot Policy มาใช้งานจริง

รูปที่ 4.6 น า Script Automatic Extend Volume Size มาใช้งานจริง

Page 49: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

39

4.8 น า Script Alert Snapshot Status มาใช้งานจริง

รูปที่ 4.7 น า Script Alert Snapshot Status มาใช้งานจริง

Page 50: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

40

บทที่ 5

สรุปผลการด าเนินงาน

5.1 สรุปผลการด าเนินงาน สคริปต์เพ่ิมความสามารถ NetApp OnTap สามารถท างานได้ตามที่คาดหวังไว้ ซึ่งสคริปต์ที่

ผู้จัดท าพัฒนาขึ้นสามารถลดข้อผิดพลาดจากเจ้าหน้าที่และลดกระบวนการท างานลงได้อย่างชัดเจน

เจ้าหน้าที่ไม่จ าเป็นต้องท างานล่วงเวลาเพ่ือท าการขยาย Volume ในช่วงเวลากลางคืนท าให้เป็นการ

ลดค่าใช้จ่ายภายในทีมได้อย่างชัดเจน

5.2 ปัญหาและอุปสรรค

การพัฒนาสคริปต์เพ่ิมความสามารถ NetApp OnTap นั้นจ าเป็นต้องท างานบนระบบที่เป็น

Production เนื่องจากไม่มีชุดส าหรับทดสอบ ส่งผลให้การทดสอบเป็นไปได้ช้าเนื่องจากต้องท าการ

ประเมินความเสี่ยงทุกครั้งที่จะเริ่มการทดสอบฟังก์ชันใหม่และยังมีกระบวนการตรวจสอบภายในของ

ทีมควบคุมคุณภาพการให้บริการที่จะคอยตรวจสอบซอร์สโค้ดอยู่ตลอดว่าจะไม่ส่งผลกระทบต่อระบบ

โดยรวม

5.3 แนวทางการพัฒนาต่อในอนาคต

▪ พัฒนาให้สามารถส่ง SMS ได ้

▪ พัฒนาให้สามารถกระจายโหลดการใช้งานอัตโนมัติได้

▪ พัฒนาระบบ Report ให้สามารถปรับแต่งได้ตามความต้องการ

Page 51: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

41

เอกสารอ้างอิง

[1] ไพธอน [ออนไลน์], https://www.python.org/downloads/, เข้าถึงล่าสุด 17/10/2561

Page 52: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

42

ภาคผนวก ก

การตั้งค่าพื้นฐาน

Page 53: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

43

ภาคผนวก ก การติดตั้งระบบเบื้องต้น ก.1. ติดตั้ง Python 3.6.5

ก.1. ดาวน์โหลดไฟล์ติดตั้ง Python 3.6.5 จาก https://www.python.org/downloads/

รูปที่ ก.1 เว็บไซต์ ส าหรับดาวน์โหลดไฟล์ติดต้ัง Python 3.6.5 [1]

รูปที่ ก.2 ไฟล์ติดตั้ง Python 3.6.5

Page 54: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

44

ก.1.2 ติดตั้ง Python 3.6.5

รูปที่ ก.3 การติดตั้ง Python 3.6.5

ก.2 ติดตั้ง Python PIP เพื่อใช้ Install Python Library อ่ืนๆ

ก.2.1 ดาวน์โหลดไฟล์ติดต้ัง PIP จาก https://bootstrap.pypa.io/get-pip.py

รูปที่ ก.4 ตัวอย่าง Code ในไฟล์ get-pip.py

Page 55: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

45

ก.2.2 ท าการติดตั้ง PIP ด้วยค าสั่ง Python py -3 get-pip.py

รูปที่ ก.5 การติดตั้ง PIP

Page 56: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

46

ก.3 การติดตั้ง Library อ่ืนๆ ที่จ าเป็น

ก.3.1 Paramiko ใช้ส าหรับท า SSH Client ดว้ยค าสั่ง py -3 -m pip install paramiko

รูปที่ ก.6 การติดตั้ง Paramiko ด้วย PIP

Page 57: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

47

ก.3.2 Requests ใช้ส าหรับสร้าง HTTP Request ส าหรับส่ง Line Alert ดว้ยค าสั่ง py -3 -m pip install requests

รูปที่ ก.7 การติดตั้ง Requests ด้วย PIP

ก.4 ติดตั้งโปรแกรม Code Editor

ก.4.1 ติดตั้ง Sublime Text 3

รูปที่ ก.8 การติดตั้ง Sublime Text 3

Page 58: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

48

ก.4.2 ติดตั้ง Notepad++

รูปที่ ก.9 การติดตั้ง Notepad++

Page 59: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

49

ภาคผนวก ข

การทดลองและผลการทดลอง

Page 60: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

50

ภาคผนวก ข

การทดลองและผลการทดลอง

ข.1 ทดสอบ Command แสดงข้อมูล Volume ทั้งหมด

รูปที ่ข.1 การแสดงข้อมูล Volume ทั้งหมด

Page 61: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

51

จากรูป ข.1 เป็นการ Execute Command “vol show -fields volume,aggregate,size,

available,percent-used” ส าหรับแสดงข้อมูล Volume ทั้งหมดที่มีอยู่บน Storage Controller ที่

SSH อยู่ โดยสามารถระบุ Field ที่ต้องการแสดงได ้

ข.2 ทดสอบ Command แสดงข้อมูล Aggregate ทั้งหมด

รูปที่ ข.2 การแสดงข้อมูล Aggregate ทั้งหมด

จากรูป ข .2 เป็นการ Execute Command “aggr show” ส าหรับการแสดงข้ อมูล

Aggregate ทั้งหมดที่มีอยู่บน Storage Controller ที่ SSH อยู่ โดยสามารถระบุ Field ที่ต้องการ

แสดงได ้

Page 62: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

52

ข.3 ทดสอบ Command เพิ่มและลดพื้นที่ให้กับ Volume

รูปที่ ข.3 การเพ่ิมและลดขนาดให้กับ Volume

จากรูป ข .3 เป็นการ Execute Command “vol size -vserver [vServer Name] -

volume [Volume Name] -new-size [Size]” ส าหรับเพิ่มพ้ืนที่การใช้งานให้กับ Volume โดยใน

ตอนแรก Volume จะมีขนาดเท่ากับ 20 GB หลังจากท าการ Execute Command จะเป็นการเพ่ิม

พ้ืนที่ใช้งานอีก 10 GB จากนั้น Storage Controller จะ Return ผลการด าเนินการกลับมา (ขนาด

หลังด าเนินการเท่ากับ 30 GB)

Command สุดท้ายในรูป ข.3 จะเป็นการลดขนาด Volume ลง 20 GB ซึ่งจะท าให้ขนาด

กลับมาเหลือ 20 GB เท่าเดิม

Page 63: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

53

ข.4 ทดสอบ Command แสดงข้อมูล Snapshot Policy ของทุก Volume

รูปที่ ข.4 การแสดงข้อมูล Snapshot Policy

จากรูป ข.4 เป็นการ Execute Command “vol show -snapshot-policy default_PRD

-type rw -fields volume” ส าหรับแสดงข้อมูล Snapshot Policy ของ Volume ทั้งหมดท่ีมีอยู่บน

Storage Controller ที่ SSH อยู่ โดยสามารถระบุ Field ที่ต้องการแสดงได้

Page 64: สคริปต์เพิ่มความสามารถ NetApp OnTap NetApp ...NEIS) NetApp OnTap... · 2018. 11. 21. · NetApp OnTap Extended Feature Script นายกิตติพศ

54

ข.5 ทดสอบ Command แสดงข้อมูล Snapshot ย้อนหลังของ Volume

รูปที่ ข.5 การแสดงข้อมูล Snapshot ย้อนหลังของ Volume

จากรูป ข.5 เป็นการ Execute Command “snapshot show -vserver [vServer Name]

-volume [Volume Name] -field Snapshot” ส าหรับแสดงข้อมูล Snapshot ย้อนหลังของ

Volume โดยสามารถระบุ Field ที่ต้องการแสดงได้