ค้นหาเว็บไซต์

วิธีสร้าง 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 ต่อมาเราได้สาธิตให้เห็นแล้วว่าคุณสามารถสร้างวอลลุมเพิ่มเติมและสร้างระบบไฟล์จากวอลลุมเหล่านั้นได้อย่างไร