วิธีสร้าง VDO Volume บนอุปกรณ์จัดเก็บข้อมูลบน RHEL 8
เปิดตัวโดย RedHat ใน RHEL 7.5 และใหม่กว่า VDO ย่อมาจาก Virtual Date Optimizer เป็นเทคโนโลยีบล็อกเสมือนจริงที่ให้ การขจัดข้อมูลซ้ำซ้อนแบบอินไลน์และการบีบอัดข้อมูลในระดับอุปกรณ์บล็อก
แนวคิดของการขจัดข้อมูลซ้ำซ้อนนั้นค่อนข้างง่าย นั่นคือการลบสำเนาของข้อมูลที่ซ้ำกันและเหลือเพียงสำเนาเดียวเท่านั้น เมื่อมีการเพิ่มไฟล์ที่เหมือนกันบนอุปกรณ์บล็อก ไฟล์นั้นจะถูกทำเครื่องหมายว่าซ้ำและไฟล์ต้นฉบับจะถูกอ้างอิงแทน ในการทำเช่นนั้น VDO จะช่วยประหยัดพื้นที่ของ Block Volume
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างโวลุ่ม VDO บนอุปกรณ์จัดเก็บข้อมูลบนระบบ RHEL 8
ขั้นตอนที่ 1: ติดตั้ง VDO ใน RHEL 8
ในการเริ่มต้น ให้เข้าสู่ระบบเซิร์ฟเวอร์ของคุณและอัปเดต RHEL โดยใช้คำสั่ง dnf
sudo dnf update -y
หลังจากการอัพเดตแพ็คเกจ & เคอร์เนลเสร็จสมบูรณ์ ให้ดำเนินการต่อและติดตั้งโมดูลเคอร์เนล VDO และการขึ้นต่อกันโดยใช้คำสั่ง
sudo dnf install kmod-kvdo vdo
- vdo – นี่คือชุดเครื่องมือการจัดการสำหรับ Virtual Data Optimizer
- kmod-kvdo – นี่คือกลุ่มของโมดูลเคอร์เนลสำหรับเครื่องมือเพิ่มประสิทธิภาพข้อมูลเสมือน
หลังจากติดตั้งสำเร็จ ให้เริ่ม เปิดใช้งาน และตรวจสอบ vdo daemon
sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo
ขั้นตอนที่ 2: สร้าง VDO Volume ใน RHEL 8
ก่อนที่จะสร้างโวลุ่ม vdo ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดไดรฟ์เพิ่มเติมในระบบของคุณ ในบทช่วยสอนนี้ เราได้แนบวอลุ่มเพิ่มเติม xvdb
สามารถสาธิตได้โดยการรันคำสั่ง lsblk ด้านล่าง
lsblk
จากเอาต์พุต คุณจะเห็นได้อย่างชัดเจนว่าดิสก์แผ่นที่สองมีความจุ 100GB
ตอนนี้ เราจะสร้างโวลุ่ม VDO ที่ว่างเปล่าบนดิสก์ /dev/xvdb
sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G
คุณจะพบข้อผิดพลาดที่แสดง
นี่เป็นข้อผิดพลาดทั่วไป และวิธีแก้ปัญหาคือเพียงรีบูตเซิร์ฟเวอร์ของคุณ
sudo reboot
ในการทดลองใช้ครั้งที่สอง คำสั่งจะถูกดำเนินการ โดยสร้างโวลุ่ม VDO ว่างบนอุปกรณ์ /dev/xvdb
sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G
เรามาแยกย่อยคำสั่งและดูตัวเลือกที่ใช้:
- สร้าง – เป็นการเริ่มต้นการสร้างโวลุ่ม VDO
- –name=vdo1 – ทำให้วอลุ่มมีป้ายกำกับที่เรียกว่า vdo1 อย่าลังเลที่จะกำหนดชื่อที่คุณเลือก
- –device=/dev/xvdb – ตัวเลือกอุปกรณ์ระบุดิสก์ที่จะสร้างโวลุ่ม
- –vdoLogicalSize=300G – สิ่งนี้ระบุความจุของไดรฟ์ข้อมูลที่มีประสิทธิผลที่จะใช้โดยระบบปฏิบัติการ ในกรณีนี้คือ 300G
ขั้นตอนที่ 3: ตรวจสอบ VDO Volume ใหม่
วอลุ่ม VDO ใหม่ได้ถูกสร้างขึ้นที่ /dev/mapper/vdo1
ตามเอาต์พุตที่เราเห็นในขั้นตอนก่อนหน้า เราสามารถใช้คำสั่ง ls ดังที่แสดงเพื่อตรวจสอบสิทธิ์และความเป็นเจ้าของไฟล์
ls -l /dev/mapper/vdo1
หากต้องการรับข้อมูลเชิงลึกมากขึ้น ให้ใช้คำสั่ง vdostats เพื่อดึงข้อมูลสถิติเกี่ยวกับขนาดและการใช้งานไดรฟ์ข้อมูล
vdostats --hu
ธง --hu
จะแสดงข้อมูลในรูปแบบที่มนุษย์สามารถอ่านได้ กล่าวคือ รูปแบบที่อ่านและถอดรหัสได้ง่ายกว่ามาก เราสามารถดูแอตทริบิวต์ต่างๆ เช่น ชื่ออุปกรณ์ ขนาดบนดิสก์เพิ่มเติม พื้นที่ที่ใช้และพื้นที่ว่างเป็นการใช้งาน %
โปรดสังเกตอย่างระมัดระวังว่าการประหยัด %
ถูกระบุว่าเป็น ไม่เกี่ยวข้อง (N/A)
นอกจากนี้ โปรดทราบว่าเรามีปริมาณการใช้งานอยู่ที่ 4.1G ซึ่งแปลเป็น 4% แต่เรายังไม่ได้เขียนอะไรลงในไดรฟ์ข้อมูลดังกล่าว ทำไมเป็นอย่างนั้น? เนื่องจากระบบขจัดข้อมูลซ้ำซ้อนสากลได้ถูกเขียนลงบนดิสก์แล้ว และเป็นสิ่งที่ทำให้การขจัดข้อมูลซ้ำซ้อนเป็นไปได้
คำสั่ง vdostats สามารถใช้กับแฟล็ก --verbose
เพื่อดึงข้อมูลรายละเอียดเพิ่มเติมดังที่แสดง:
sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’
สิ่งที่คุณเห็นโดยพื้นฐานแล้วคือข้อมูลเดียวกับตัวอย่างก่อนหน้า แต่อยู่ในรูปแบบอื่น
ขั้นตอนที่ 4: การแบ่งพาร์ติชัน VDO Volume
หลังจากได้รับข้อมูลเชิงลึกเพียงพอจากโวลุ่มแล้ว เราจำเป็นต้องแบ่งพาร์ติชันและสร้างระบบไฟล์ในภายหลังเพื่อให้สามารถใช้เป็นดิสก์ปกติได้
มาสร้างฟิสิคัลวอลุ่มและกลุ่มวอลุ่มตามที่แสดง รันคำสั่งต่อไปนี้
sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1
หากต้องการแสดงสถิติของกลุ่มวอลุ่มให้รัน:
sudo vgdisplay vdo1vg
ตอนนี้ เราจะสร้างโลจิคัลวอลุ่มที่มีขนาดเท่ากัน 2 อัน โดยแต่ละอันมีความจุ 50G
sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg
คุณสามารถดูสถิติของวอลุ่มที่สร้างขึ้นใหม่ในภายหลังได้โดยการรันคำสั่ง
sudo lvs
ขั้นตอนที่ 4: การจัดรูปแบบและการติดตั้งระบบไฟล์
โดยปกติ เมื่อระบบไฟล์ถูกสร้างขึ้น การดำเนินการตัดแต่งจะดำเนินการบนอุปกรณ์ สิ่งนี้เป็นสิ่งที่ไม่พึงประสงค์ในกรณีของ VDO เมื่อฟอร์แมตโดยใช้คำสั่ง mkfs ให้ใช้ตัวเลือก -K
เพื่อสั่งคำสั่งไม่ให้ทิ้งบล็อกระหว่างการสร้างระบบไฟล์
sudo mkfs.xfs -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs -K /dev/vdo1vg/vdo1v02
หากคุณใช้ระบบไฟล์ EXT$ ให้ใช้ตัวเลือก “-E nodiscard ”
สร้างจุดเมานต์สำหรับเมานต์วอลุ่ม:
sudo mkdir /data/v01
sudo mkdir /data/v02
ตอนนี้ติดตั้งระบบไฟล์เข้ากับจุดเมานต์ตามที่แสดง
sudo mount -o discard /dev/vdo1vg/vdo1v01 /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02 /data/v02
ตอนนี้เมื่อคุณตรวจสอบปริมาณ VDO คุณจะสังเกตเห็นว่าการประหยัด %
เปลี่ยนเป็น 99% ซึ่งค่อนข้างน่าประทับใจ นี่หมายความว่าการขจัดข้อมูลซ้ำซ้อนทำงานได้ตามที่คาดไว้
sudo vdostats --hu
คุณสามารถตรวจสอบเพิ่มเติมได้โดยใช้คำสั่ง df -Th ที่ส่วนล่าง คุณจะเห็นระบบไฟล์ที่ติดตั้งบน /data/v01
และ /data/v02
ตามลำดับ
df -hT
ในบทช่วยสอนนี้ เราได้สาธิตวิธีที่คุณสามารถสร้างวอลุ่ม VDO จากอุปกรณ์จัดเก็บข้อมูลเพิ่มเติมบน RHEL 8 ต่อมาเราได้สาธิตให้เห็นแล้วว่าคุณสามารถสร้างวอลลุมเพิ่มเติมและสร้างระบบไฟล์จากวอลลุมเหล่านั้นได้อย่างไร