การตั้งค่า VM Disk Reclamation, การตั้งค่าสำหรับ External Storage, การตั้งค่า fstab
สำหรับ Linux VM, ปัญหาที่พบบ่อย, ข้อควรรู้เพิ่มเติมสำหรับระบบปฏิบัติการ Windows และวิธีการสั่ง TRIM/Discard พื้นที่ที่ถูกลบไปแล้วย้อนหลัง
สารบัญ
- หลักการทำงานเบื้องต้น
-
วิธีการเปิดใช้งานและเงื่อนไข (สำหรับการเรียกคืนพื้นที่อัตโนมัติเมื่อมีการลบไฟล์ในอนาคต)
- 2.1 การเปิดใช้งานในระดับเครื่องเสมือน (VM Settings) สำหรับ Internal Storage
- ตำแหน่งการตั้งค่า
- เงื่อนไขการเปิดใช้งาน
- 2.2 การเปิดใช้งานสำหรับ External Storage
- 2.3 การตั้งค่า
fstab
สำหรับ Linux VM (สำหรับการเรียกคืนพื้นที่อัตโนมัติ) - 2.4 การตั้งค่าในระดับ OS ของ Windows VM (สำหรับการเรียกคืนพื้นที่อัตโนมัติ)
- 2.1 การเปิดใช้งานในระดับเครื่องเสมือน (VM Settings) สำหรับ Internal Storage
-
การสั่ง TRIM/Discard พื้นที่ที่ถูกลบไปแล้วย้อนหลัง (Manual TRIM/Discard)
- 3.1 สำหรับ Linux VM
- 3.2 สำหรับ Windows VM
- 3.3 หมายเหตุสำคัญสำหรับการสั่ง TRIM/Discard ย้อนหลัง
-
ปัญหาที่พบบ่อย: OS VM แสดงการใช้งานดิสก์น้อยกว่าพื้นที่ที่ใช้จริงใน HCI
- สาเหตุ
- คำอธิบาย
- ข้อแนะนำ
- ข้อควรทราบเพิ่มเติม
1. หลักการทำงานเบื้องต้น
VM Disk Reclamation หรือการเรียกคืนพื้นที่ดิสก์ของเครื่องเสมือน เป็นคุณสมบัติที่ช่วยให้พื้นที่จัดเก็บข้อมูลที่ถูกใช้งานโดยเครื่องเสมือน (VM) สามารถถูกนำกลับมาใช้ใหม่ได้เมื่อไฟล์ภายใน VM นั้นถูกลบไปแล้ว คุณสมบัตินี้มีความสำคัญในการจัดการพื้นที่จัดเก็บข้อมูลให้มีประสิทธิภาพสูงสุด โดยเฉพาะในสภาพแวดล้อมที่มีการสร้างและลบข้อมูลจำนวนมาก
เมื่อไฟล์ถูกลบภายในเครื่องเสมือน ระบบปฏิบัติการของเครื่องเสมือนจะทำเครื่องหมายว่าพื้นที่นั้นว่างลง แต่โดยปกติแล้วพื้นที่นั้นจะยังไม่ได้ถูกคืนให้กับ Storage ด้านล่างทันที การเปิดใช้งาน Disk Reclamation (ผ่านคำสั่ง TRIM/UNMAP หรือที่ในเอกสารเรียกว่า "discard function") จะช่วยให้เมื่อมีการลบไฟล์ในเครื่องเสมือน ระบบปฏิบัติการสามารถแจ้งไปยัง Storage ว่าพื้นที่ส่วนใดไม่ได้ใช้งานแล้ว ทำให้ Storage สามารถเรียกคืนพื้นที่ดังกล่าวกลับมาใช้งานต่อได้
2. วิธีการเปิดใช้งานและเงื่อนไข (สำหรับการเรียกคืนพื้นที่อัตโนมัติเมื่อมีการลบไฟล์ในอนาคต)
การเปิดใช้งาน VM Disk Reclamation หรือ "Space Reclamation" จะเกี่ยวข้องกับการตั้งค่าหลายส่วน
2.1 การเปิดใช้งานในระดับเครื่องเสมือน (VM Settings) สำหรับ Virtual Storage
-
ตำแหน่งการตั้งค่า
- ในระหว่างการสร้างเครื่องเสมือนใหม่ (Create New Virtual Machine) หรือเมื่อแก้ไขเครื่องเสมือนที่มีอยู่ (Edit Virtual Machine) บน HCI Web Console
- ไปที่ส่วนการตั้งค่าดิสก์ (Configuration -> Disk)
-
มองหาตัวเลือก "Space Reclamation" และทำการเปิดใช้งาน (ติ๊กเลือก)
-
เงื่อนไขการเปิดใช้งาน
- เครื่องเสมือนต้องใช้ดิสก์แบบ Dynamic provisioning หรือ Thin provisioning; ไม่รองรับดิสก์แบบ Pre-allocating
-
ระบบปฏิบัติการ (Guest OS) ของเครื่องเสมือนต้องรองรับ "discard function"
- Windows: รองรับตั้งแต่ Windows Server 2012 / Windows 8 เป็นต้นไป
- Linux: รองรับตั้งแต่ Kernel 4.18 เป็นต้นไป และอาจต้องมีการตั้งค่าเพิ่มเติม (ดูหัวข้อ "2.3 การตั้งค่า fstab สำหรับ Linux VM (สำหรับการเรียกคืนพื้นที่อัตโนมัติ)" ด้านล่าง)
- เครื่องเสมือนจะต้องอยู่บน Virtual Storage Cluster ที่ประกอบด้วยโหนดอย่างน้อย 3 โหนดขึ้นไป
-
คุณสมบัตินี้โดยปกติจะถูกปิดไว้เป็นค่าเริ่มต้น
2.2 การเปิดใช้งานสำหรับ External Storage
- หากใช้งาน External Storage เช่น iSCSI หรือ FC SAN ร่วมกับ HCI และต้องการให้มีการเรียกคืนพื้นที่ดิสก์เมื่อ VM หรือ ไฟล์ที่เก็บไว้ใน External Storage ถูกลบ
- LUNs ที่สร้างบน External Storage จะต้องเป็นแบบ Thin provisioning
- External Storage นั้นจะต้องรองรับ "discard function" (ฟังก์ชันการทิ้งพื้นที่)
-
ต้องเปิดใช้งาน "discard function" ของ SFFS (Sangfor File System) บน HCI Web Console การตั้งค่านี้สามารถเปิด, ปิด หรือกำหนดค่าได้ โดยค่าเริ่มต้นมักจะถูกปิดไว้
2.3 การตั้งค่า fstab
สำหรับ Linux VM (สำหรับการเรียกคืนพื้นที่อัตโนมัติ)
-
เพื่อให้ Linux VM สามารถเรียกคืนพื้นที่ดิสก์ได้อย่างถูกต้องเมื่อไฟล์ถูกลบในอนาคต จำเป็นต้องเพิ่ม mount option
discard
ในไฟล์/etc/fstab
สำหรับพาร์ติชันที่ต้องการ -
ข้อควรระวัง
-
System Disk: ไม่แนะนำให้เปิดใช้งาน Space Reclamation สำหรับ System Disk ของ Linux VM โดยอัตโนมัติผ่าน
fstab
-
Existing Disks: สำหรับดิสก์ที่มีอยู่แล้ว (Existing Disks) ใน Linux VM การเพิ่ม
discard
ในfstab
จะมีผลกับการลบไฟล์ในอนาคต ไม่ใช่การ TRIM ย้อนหลัง -
New Disks / Expanded Disks: สำหรับดิสก์ข้อมูลที่เพิ่มใหม่ (New Data Disk) หรือส่วนขยายของดิสก์ข้อมูล ให้เพิ่ม option
discard
เมื่อทำการ mount- ตัวอย่างการตั้งค่าถาวรใน
/etc/fstab
:/dev/vdb1 /your_mount_point ext4 defaults,discard 0 0
/dev/vdb1
,/your_mount_point
, และext4
ให้ตรงกับการตั้งค่าระบบของคุณ)
- ตัวอย่างการตั้งค่าถาวรใน
-
System Disk: ไม่แนะนำให้เปิดใช้งาน Space Reclamation สำหรับ System Disk ของ Linux VM โดยอัตโนมัติผ่าน
2.4 การตั้งค่าในระดับ OS ของ Windows VM (สำหรับการเรียกคืนพื้นที่อัตโนมัติ)
-
สำหรับ Windows OS (ตั้งแต่ Windows Server 2012/Windows 8 ขึ้นไป) ไม่จำเป็นต้องมีการตั้งค่าเพิ่มเติมในระดับ OS เพื่อให้ Disk Reclamation ทำงาน หากเปิดใช้งาน "Space Reclamation" ใน VM settings บน HCI และ OS version รองรับ ระบบจะจัดการการเรียกคืนพื้นที่โดยอัตโนมัติเมื่อไฟล์ถูกลบ
3. การสั่ง TRIM/Discard พื้นที่ที่ถูกลบไปแล้วย้อนหลัง (Manual TRIM/Discard)
ในกรณีที่ไฟล์ถูกลบไปแล้ว ก่อน ที่จะมีการเปิดใช้งานคุณสมบัติ Space Reclamation หรือ discard
mount option หรือในกรณีที่ต้องการสั่งให้ระบบเรียกคืนพื้นที่ว่างในขณะนั้นทันที สามารถใช้คำสั่งในระดับ OS ของ VM ได้ดังนี้ (ข้อมูลส่วนนี้เป็นคำแนะนำทั่วไปสำหรับระบบปฏิบัติการ)
3.1 สำหรับ Linux VM
- ใช้คำสั่ง
fstrim
เพื่อสั่ง TRIM พื้นที่ว่างบน filesystem ที่ mount อยู่ -
คำสั่ง:
sudo fstrim -v /your_mount_point
-
-v
(verbose) จะแสดงผลการทำงาน -
/your_mount_point
คือตำแหน่งที่ filesystem นั้นถูก mount (เช่น/data
,/mnt/mydisk
)
-
-
การใช้งาน: ควรสั่ง
fstrim
เป็นครั้งคราวสำหรับ filesystem ที่เปิดใช้งานdiscard
ในfstab
อยู่แล้ว (เพื่อจัดการพื้นที่ที่อาจตกค้าง) หรือสั่งเมื่อต้องการเรียกคืนพื้นที่บน filesystem ที่ไม่ได้ mount ด้วย optiondiscard
เป็นประจำ -
ข้อควรระวัง: การสั่ง
fstrim
อาจใช้เวลาและมีผลกระทบต่อ I/O performance ชั่วขณะ โดยเฉพาะบนดิสก์ขนาดใหญ่ที่มีพื้นที่ว่างกระจัดกระจายจำนวนมาก ควรทำในช่วงที่มีการใช้งานระบบน้อย
3.2 สำหรับ Windows VM
- โดยทั่วไป Windows (เวอร์ชันใหม่ๆ) จะจัดการ TRIM โดยอัตโนมัติสำหรับ SSDs และ Thin-provisioned virtual disks ที่รองรับ
- อย่างไรก็ตาม สามารถสั่งให้ระบบทำการ Optimize (ซึ่งรวมถึงการ TRIM) ด้วยตนเองได้ผ่านเครื่องมือ "Optimize Drives" (ชื่อเดิมคือ Disk Defragmenter)
-
ขั้นตอน
- ค้นหา "Optimize Drives" หรือ "Defragment and Optimize Drives" จาก Start Menu
- เลือกไดรฟ์ที่ต้องการ (ที่เป็น Thin-provisioned virtual disk และระบบปฏิบัติการรองรับ)
- คลิกปุ่ม "Optimize"
- ระบบจะทำการวิเคราะห์และ TRIM พื้นที่ที่ไม่ได้ใช้งาน
3.3 หมายเหตุสำคัญสำหรับการสั่ง TRIM/Discard ย้อนหลัง
- การสั่ง TRIM/Discard ย้อนหลังนี้เป็นการทำงานในระดับ Guest OS ของ VM
- ประสิทธิภาพและความสำเร็จในการเรียกคืนพื้นที่ย้อนหลังจะขึ้นอยู่กับการรองรับของ Guest OS, Filesystem, และการตั้งค่า "Space Reclamation" บน HCI รวมถึงความสามารถของ HCI Storage เองในการประมวลผลคำสั่ง discard ที่ได้รับ
4. ปัญหาที่พบบ่อย: OS VM แสดงการใช้งานดิสก์น้อยกว่าพื้นที่ที่ใช้จริงใน HCI
- สาเหตุ: เป็นเรื่องปกติที่อาจพบว่าพื้นที่ใช้งานดิสก์ที่แสดงในระบบปฏิบัติการของ VM (Guest OS) นั้นน้อยกว่าพื้นที่ที่ HCI Storage แสดงว่าถูกใช้งานจริง โดยเฉพาะอย่างยิ่งเมื่อใช้ Thin Provisioning และมีการเปิดใช้งาน Space Reclamation
-
คำอธิบาย
- เมื่อไฟล์ถูกลบใน VM ระบบปฏิบัติการจะมองเห็นพื้นที่นั้นว่าง แต่ HCI Storage อาจจะยังไม่ได้เรียกคืนพื้นที่นั้นกลับเข้าสู่ Pool ทันที หรืออาจจะมีการรายงานที่ล่าช้ากว่าเล็กน้อย
- กระบวนการ TRIM/UNMAP ที่ส่งคำสั่งจาก VM ไปยัง Storage เพื่อแจ้งว่าพื้นที่ส่วนใดไม่ถูกใช้งานแล้ว อาจใช้เวลาในการประมวลผลและอัปเดตสถานะการใช้พื้นที่บน Storage
- Metadata หรือข้อมูลส่วนหัวที่ Storage ใช้ในการจัดการบล็อกข้อมูล (แม้ว่าข้อมูลผู้ใช้จะถูกลบไปแล้ว) ก็อาจจะยังคงใช้พื้นที่อยู่ส่วนหนึ่ง
-
ข้อแนะนำ: แม้จะมีการแสดงผลที่แตกต่างกัน หาก Space Reclamation ถูกตั้งค่าอย่างถูกต้อง และมีการสั่ง TRIM/Discard (ทั้งแบบอัตโนมัติหรือย้อนหลัง) พื้นที่ที่ถูกลบใน VM จะค่อยๆ ถูกคืนให้กับ Storage เพื่อให้สามารถนำไปใช้งานต่อได้ การตรวจสอบพื้นที่ว่างจริงควรดูจาก HCI Storage เป็นหลัก และให้เวลาระบบในการประมวลผลการเรียกคืนพื้นที่
5. ข้อควรทราบเพิ่มเติม
- IDE Disks: คุณสมบัติ Space Reclamation ไม่สามารถใช้งานได้กับดิสก์ประเภท IDE
- ผลกระทบต่อประสิทธิภาพ: แม้ว่าการเรียกคืนพื้นที่จะช่วยเพิ่มประสิทธิภาพการใช้พื้นที่ แต่ในบางกรณีอาจมีผลกระทบต่อประสิทธิภาพการทำงานของดิสก์เล็กน้อยในระหว่างกระบวนการเรียกคืนพื้นที่
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น