การจัดการโวลุ่มเชิงตรรกะ (LVM)
ก้าวข้ามพาร์ติชันแบบตายตัวด้วย LVM รวมดิสก์จริงเป็นพูล แบ่งโวลุ่มเชิงตรรกะที่ยืดหยุ่น และปรับขนาดพื้นที่จัดเก็บได้ทันที เพื่อให้เซิร์ฟเวอร์ขยายตัวได้โดยไม่ต้องหยุดทำงานหรือแบ่งพาร์ติชันใหม่
การจัดการโวลุ่มเชิงตรรกะ (LVM) เป็นบทเรียน Linux Server Deployment & SSH Mastery ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Linux Server Deployment & SSH Mastery และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
ข้อจำกัดของพาร์ทิชันแบบตายตัว
พาร์ทิชันแบบดั้งเดิมมีปัญหาสำคัญคือ ขนาดจะถูกกำหนดตายตัวตั้งแต่ตอนสร้าง หากพาร์ทิชันเต็ม การปรับขนาดจะมีความเสี่ยงและมักต้องหยุดให้บริการชั่วคราว
LVM (การจัดการโวลุมเชิงตรรกะ) แก้ปัญหานี้ด้วยการเพิ่มชั้นที่ยืดหยุ่นระหว่างดิสก์กับระบบไฟล์ ทำให้คุณปรับขนาดและรวมพื้นที่จัดเก็บได้ง่าย
สามชั้นของ LVM
LVM มีแนวคิดสามอย่างที่ซ้อนต่อกัน:
- Physical Volume (PV) — ดิสก์หรือพาร์ทิชันที่มอบให้ LVM จัดการ
- Volume Group (VG) — พื้นที่รวมที่ประกอบด้วย PV อย่างน้อยหนึ่งรายการ
- Logical Volume (LV) — 'พาร์ทิชัน' ที่ยืดหยุ่นซึ่งแบ่งออกมาจาก VG
คุณสามารถฟอร์แมตและเมานต์ LV ได้เหมือนพาร์ทิชันทั่วไป
การสร้าง Physical Volume
ขั้นตอนแรกคือกำหนดให้ดิสก์เป็น PV ด้วย pvcreate คำสั่งนี้จะเขียนข้อมูลเมทาดาทาของ LVM ลงในดิสก์
pvs ใช้แสดงรายการ physical volume ของคุณ
sudo pvcreate /dev/sdb /dev/sdc
sudo pvsการสร้าง Volume Group
ถัดไป ให้รวม PV เป็น VG ด้วย vgcreate และกำหนดชื่อให้กับกลุ่ม ความจุของ VG เท่ากับผลรวมความจุของ PV ทั้งหมด
vgs ใช้แสดง volume group และพื้นที่ว่างของแต่ละกลุ่ม
sudo vgcreate data_vg /dev/sdb /dev/sdc
sudo vgsการสร้าง Logical Volume
ตอนนี้ให้แบ่ง logical volume จากกลุ่มด้วย lvcreate ระบุขนาดด้วย -L (หรือใช้ -l 100%FREE เพื่อใช้พื้นที่ว่างที่เหลือทั้งหมด) และระบุชื่อด้วย -n
sudo lvcreate -L 20G -n web_lv data_vg
sudo lvsการฟอร์แมตและเมานต์ LV
LV ทำงานเหมือนอุปกรณ์บล็อกทั่วไป โดยมีพาธเป็น /dev/<vg>/<lv> ให้ฟอร์แมตอุปกรณ์ก่อน แล้วจึงเมานต์ไว้ในตำแหน่งที่ต้องการใช้พื้นที่จัดเก็บ
sudo mkfs.ext4 /dev/data_vg/web_lv
sudo mkdir -p /srv/web
sudo mount /dev/data_vg/web_lv /srv/webการขยาย Logical Volume
นี่คือคุณสมบัติเด่นของ LVM หาก VG มีพื้นที่ว่าง ให้ขยาย LV ด้วย lvextend และขยายระบบไฟล์ไปพร้อมกันโดยใช้ -r ได้ โดยที่ระบบยังคงเมานต์อยู่
sudo lvextend -L +10G -r /dev/data_vg/web_lvการเพิ่มดิสก์ในพื้นที่รวม
VG ไม่มีพื้นที่ว่างแล้วใช่หรือไม่ ให้เพิ่มดิสก์ใหม่โดยกำหนดให้เป็น PV แล้วขยาย VG ด้วย vgextend ความจุใหม่จะพร้อมใช้งานสำหรับ LV ทั้งหมดในกลุ่ม
sudo pvcreate /dev/sdd
sudo vgextend data_vg /dev/sdd
sudo vgsสแนปช็อต
LVM สามารถสร้าง สแนปช็อต ของ LV ณ ช่วงเวลาใดเวลาหนึ่งได้ เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลอย่างปลอดภัย สแนปช็อตจะเริ่มต้นด้วยขนาดเล็กและจัดเก็บเฉพาะบล็อกที่มีการเปลี่ยนแปลง
สำรองข้อมูลจากสแนปช็อต แล้วลบสแนปช็อตเมื่อเสร็จเรียบร้อย
sudo lvcreate -L 2G -s -n web_snap /dev/data_vg/web_lv
# ...take backup from the snapshot...
sudo lvremove /dev/data_vg/web_snapการทำให้จุดเมานต์คงอยู่ถาวร
เช่นเดียวกับระบบไฟล์ทั่วไป ให้เพิ่ม LV ลงใน /etc/fstab เพื่อให้ระบบเมานต์อัตโนมัติขณะบูต การใช้พาธของ device-mapper หรือ UUID ของอุปกรณ์ก็ใช้ได้เช่นกัน
/dev/data_vg/web_lv /srv/web ext4 defaults 0 2แนวทางปฏิบัติที่ดี
ใช้ LVM ให้ราบรื่น:
- เหลือพื้นที่ว่างบางส่วนใน VG สำหรับสแนปช็อตและการขยายพื้นที่
- ใช้
lvextend -rเสมอ เพื่อให้ระบบไฟล์ขยายตามไปด้วย - ตั้งชื่อ VG และ LV ให้สื่อความหมาย (เช่น
data_vg/web_lv) - สร้างสแนปช็อตก่อนการอัปเกรดที่มีความเสี่ยง
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับ LVM ของคุณ
ทบทวน
ขณะนี้คุณสามารถจัดการพื้นที่จัดเก็บที่ยืดหยุ่นด้วย LVM ได้แล้ว:
pvcreate→vgcreate→lvcreateเพื่อสร้างโครงสร้างทั้งหมดlvextend -rเพื่อขยายโวลุมขณะระบบยังทำงานอยู่vgextendเพื่อเพิ่มดิสก์ในพื้นที่รวม- ใช้สแนปช็อตสำหรับการสำรองข้อมูลอย่างปลอดภัย
LVM ขจัดความตายตัวของพาร์ทิชันแบบคงที่ ทำให้พื้นที่จัดเก็บของเซิร์ฟเวอร์ขยายได้ตามต้องการ
เรียนรู้ Linux Server Deployment & SSH Mastery ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 12
- บทเรียน
- 48
คำถามที่พบบ่อย
บทเรียน “การจัดการโวลุ่มเชิงตรรกะ (LVM)” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการโวลุ่มเชิงตรรกะ (LVM)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Linux Server Deployment & SSH Mastery ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Linux Server Deployment & SSH Mastery มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการโวลุ่มเชิงตรรกะ (LVM)”
ก้าวข้ามพาร์ติชันแบบตายตัวด้วย LVM รวมดิสก์จริงเป็นพูล แบ่งโวลุ่มเชิงตรรกะที่ยืดหยุ่น และปรับขนาดพื้นที่จัดเก็บได้ทันที เพื่อให้เซิร์ฟเวอร์ขยายตัวได้โดยไม่ต้องหยุดทำงานหรือแบ่งพาร์ติชันใหม่ คุณปฏิบัติ Linux Server Deployment & SSH Mastery ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Linux Server Deployment & SSH Mastery หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Linux Server Deployment & SSH Mastery บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดการโวลุ่มเชิงตรรกะ (LVM)” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Linux Server Deployment & SSH Mastery นี้ได้ไหม
ได้ บทเรียน Linux Server Deployment & SSH Mastery ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การแบ่งพาร์ติชันและจัดรูปแบบดิสก์
- การเมานต์ระบบไฟล์
- การตรวจสอบการใช้งานดิสก์
- การจัดการโวลุ่มเชิงตรรกะ (LVM)