LFCS: วิธีจัดการและสร้าง LVM โดยใช้คำสั่ง vgcreate, lvcreate และ lvextend - ตอนที่ 11
เนื่องจากการเปลี่ยนแปลงข้อกำหนดการสอบ LFCS ที่มีผล กุมภาพันธ์ ในวันที่ 2 ธันวาคม 2016 เรากำลังเพิ่มหัวข้อที่จำเป็นให้กับซีรีส์ LFCS ที่เผยแพร่ที่นี่ เพื่อเตรียมพร้อมสำหรับการสอบนี้ ขอแนะนำให้ใช้ซีรีส์ LFCE เช่นกัน
การตัดสินใจที่สำคัญที่สุดอย่างหนึ่งขณะติดตั้งระบบ Linux คือจำนวนพื้นที่เก็บข้อมูลที่จะจัดสรรสำหรับไฟล์ระบบ โฮมไดเร็กตอรี่ และอื่นๆ หากคุณทำผิดพลาด ณ จุดนั้น การขยายพาร์ติชั่นที่ไม่มีพื้นที่เหลืออาจเป็นภาระและค่อนข้างเสี่ยง
การจัดการโลจิคัลวอลุ่ม (หรือที่รู้จักในชื่อ LVM) ซึ่งได้กลายเป็นค่าเริ่มต้นสำหรับการติดตั้ง Linux distribution ส่วนใหญ่ (หากไม่ใช่ทั้งหมด) มีข้อได้เปรียบมากมายเหนือการจัดการการแบ่งพาร์ติชันแบบเดิม บางทีคุณลักษณะที่โดดเด่นที่สุดของ LVM ก็คือช่วยให้สามารถปรับขนาดการแบ่งตรรกะ (ลดหรือเพิ่ม) ได้ตามต้องการโดยไม่ต้องยุ่งยากมากนัก
โครงสร้างของ LVM ประกอบด้วย:
- ฮาร์ดดิสก์หรือพาร์ติชันทั้งหมดตั้งแต่หนึ่งตัวขึ้นไปได้รับการกำหนดค่าเป็นฟิสิคัลวอลุ่ม (PV)
- กลุ่มวอลุ่ม (VG) ถูกสร้างขึ้นโดยใช้ฟิสิคัลวอลุ่มตั้งแต่หนึ่งตัวขึ้นไป คุณสามารถนึกถึงกลุ่มวอลุ่มเป็นหน่วยจัดเก็บข้อมูลเดียวได้
- จากนั้นคุณสามารถสร้างโลจิคัลวอลุ่มหลายตัวในกลุ่มวอลุ่มได้ แต่ละโลจิคัลวอลุ่มค่อนข้างเทียบเท่ากับพาร์ติชันแบบดั้งเดิม โดยมีข้อดีคือสามารถปรับขนาดได้ตามต้องการดังที่เราได้กล่าวไว้ข้างต้น
ในบทความนี้ เราจะใช้ดิสก์สามดิสก์ แต่ละอันมีขนาด 8 GB (/dev/sdb, /dev/sdc และ /dev /sdd) เพื่อสร้างฟิสิคัลวอลุ่มสามตัว คุณสามารถสร้าง PV ที่ด้านบนของอุปกรณ์ได้โดยตรง หรือจะแบ่งพาร์ติชันก่อนก็ได้
แม้ว่าเราจะเลือกใช้วิธีแรก แต่ถ้าคุณตัดสินใจที่จะใช้วิธีที่สอง (ตามที่อธิบายไว้ในส่วนที่ 4 - สร้างพาร์ติชันและระบบไฟล์ใน Linux ของซีรีส์นี้) ตรวจสอบให้แน่ใจว่าได้กำหนดค่าแต่ละพาร์ติชันเป็นประเภท 8e
.
การสร้างฟิสิคัลวอลุ่ม กลุ่มวอลุ่ม และโลจิคัลวอลุ่ม
หากต้องการสร้างฟิสิคัลวอลุ่มที่ด้านบนของ /dev/sdb, /dev/sdc และ /dev/sdd ให้ทำดังนี้
pvcreate /dev/sdb /dev/sdc /dev/sdd
คุณสามารถแสดงรายการ PV ที่สร้างขึ้นใหม่ด้วย:
pvs
และรับข้อมูลโดยละเอียดเกี่ยวกับ PV แต่ละรายการด้วย:
pvdisplay /dev/sdX
(โดยที่ X คือ b, c หรือ d)
หากคุณละ /dev/sdX
เป็นพารามิเตอร์ คุณจะได้รับข้อมูลเกี่ยวกับ PV ทั้งหมด
หากต้องการสร้างกลุ่มวอลุ่มชื่อ vg00
โดยใช้ /dev/sdb
และ /dev/sdc
(เราจะบันทึก /dev/sdd
เพื่อใช้ในภายหลังเพื่อแสดงความเป็นไปได้ในการเพิ่มอุปกรณ์อื่นเพื่อขยายความจุเมื่อจำเป็น):
vgcreate vg00 /dev/sdb /dev/sdc
เช่นเดียวกับในกรณีของฟิสิคัลวอลุ่ม คุณยังสามารถดูข้อมูลเกี่ยวกับกลุ่มวอลุ่มนี้ได้โดยการออก:
vgdisplay vg00
เนื่องจาก vg00
ถูกสร้างขึ้นด้วยดิสก์ 8 GB สองดิสก์ จึงจะปรากฏเป็นไดรฟ์ 16 GB เดียว:
เมื่อพูดถึงการสร้างโลจิคัลวอลุ่ม การกระจายพื้นที่จะต้องคำนึงถึงความต้องการทั้งในปัจจุบันและอนาคต ถือเป็นแนวปฏิบัติที่ดีที่จะตั้งชื่อแต่ละโลจิคัลวอลุ่มตามวัตถุประสงค์การใช้งาน
ตัวอย่างเช่น เรามาสร้าง LV สองรายการชื่อ vol_projects
(10 GB) และ vol_backups
(พื้นที่ที่เหลืออยู่) ซึ่งเราสามารถใช้ในภายหลังเพื่อจัดเก็บเอกสารประกอบของโครงการ และการสำรองข้อมูลระบบตามลำดับ
ตัวเลือก -n
ใช้เพื่อระบุชื่อสำหรับ LV ในขณะที่ -L
กำหนดขนาดคงที่และ -l
(L ตัวพิมพ์เล็ก) คือ ใช้เพื่อระบุเปอร์เซ็นต์ของพื้นที่ที่เหลืออยู่ในคอนเทนเนอร์ VG
lvcreate -n vol_projects -L 10G vg00
lvcreate -n vol_backups -l 100%FREE vg00
เช่นเคย คุณสามารถดูรายการ LV และข้อมูลพื้นฐานได้ด้วย:
lvs
และข้อมูลรายละเอียดด้วย
lvdisplay
หากต้องการดูข้อมูลเกี่ยวกับ LV เดียว ให้ใช้ lvdisplay โดยมี VG และ LV เป็นพารามิเตอร์ ดังต่อไปนี้:
lvdisplay vg00/vol_projects
ในภาพด้านบน เราจะเห็นว่า LV ถูกสร้างขึ้นเป็นอุปกรณ์จัดเก็บข้อมูล (โปรดดูบรรทัด เส้นทาง LV) ก่อนที่แต่ละโลจิคัลวอลุ่มจะสามารถใช้ได้ เราจำเป็นต้องสร้างระบบไฟล์ที่อยู่ด้านบนก่อน
เราจะใช้ ext4 เป็นตัวอย่างที่นี่ เนื่องจากช่วยให้เราทั้งคู่สามารถเพิ่มและลดขนาดของแต่ละ LV ได้ (ตรงข้ามกับ xfs ที่อนุญาตให้เพิ่มขนาดเท่านั้น):
mkfs.ext4 /dev/vg00/vol_projects
mkfs.ext4 /dev/vg00/vol_backups
ในส่วนถัดไป เราจะอธิบายวิธีปรับขนาดโลจิคัลวอลุ่มและเพิ่มพื้นที่จัดเก็บข้อมูลจริงเพิ่มเติมเมื่อจำเป็นต้องดำเนินการดังกล่าว
การปรับขนาดโลจิคัลวอลุ่มและการขยายกลุ่มวอลุ่ม
ตอนนี้ลองนึกภาพสถานการณ์ต่อไปนี้ พื้นที่ใน vol_backups
ของคุณเริ่มจะหมด ในขณะที่คุณยังมีพื้นที่เหลืออีกมากใน vol_projects
เนื่องจากธรรมชาติของ LVM เราสามารถลดขนาดของอันหลังได้อย่างง่ายดาย (เช่น 2.5 GB) และจัดสรรให้กับอันแรก ในขณะที่ปรับขนาดแต่ละระบบไฟล์ในเวลาเดียวกัน
โชคดีที่ทำได้ง่ายๆ ดังนี้:
lvreduce -L -2.5G -r /dev/vg00/vol_projects
lvextend -l +100%FREE -r /dev/vg00/vol_backups
สิ่งสำคัญคือต้องรวมเครื่องหมายลบ (-)
หรือเครื่องหมายบวก (+)
ขณะปรับขนาดโลจิคัลวอลุ่ม มิฉะนั้น คุณจะตั้งค่าขนาดคงที่สำหรับ LV แทนที่จะปรับขนาด
อาจเกิดขึ้นได้เมื่อคุณมาถึงจุดที่การปรับขนาดโลจิคัลวอลุ่มไม่สามารถแก้ปัญหาความต้องการพื้นที่จัดเก็บข้อมูลของคุณได้อีกต่อไป และคุณจำเป็นต้องซื้ออุปกรณ์จัดเก็บข้อมูลเพิ่มเติม เพื่อให้ง่าย คุณจะต้องใช้ดิสก์อื่น เราจะจำลองสถานการณ์นี้โดยเพิ่ม PV ที่เหลือจากการตั้งค่าเริ่มต้นของเรา (/dev/sdd
)
หากต้องการเพิ่ม /dev/sdd
ใน vg00
ให้ทำ
vgextend vg00 /dev/sdd
หากคุณรัน vgdisplay vg00
ก่อนและหลังคำสั่งก่อนหน้า คุณจะเห็นขนาดของ VG เพิ่มขึ้น:
vgdisplay vg00
ตอนนี้คุณสามารถใช้พื้นที่ที่เพิ่มใหม่เพื่อปรับขนาด LV ที่มีอยู่ได้ตามความต้องการของคุณ หรือเพื่อสร้างเพิ่มเติมตามความจำเป็น
การติดตั้งโลจิคัลวอลุ่มขณะบูตและตามความต้องการ
แน่นอนว่าการสร้างโลจิคัลวอลุ่มคงไม่มีประโยชน์อะไรหากเราจะไม่ใช้งานมันจริงๆ! เพื่อระบุโลจิคัลวอลุ่มได้ดีขึ้น เราจะต้องค้นหาว่า UUID
คืออะไร (คุณลักษณะที่ไม่เปลี่ยนแปลงซึ่งระบุอุปกรณ์จัดเก็บข้อมูลที่ฟอร์แมตแล้วโดยไม่ซ้ำกัน)
หากต้องการทำเช่นนั้น ให้ใช้ blkid ตามด้วยเส้นทางไปยังอุปกรณ์แต่ละเครื่อง:
blkid /dev/vg00/vol_projects
blkid /dev/vg00/vol_backups
สร้างจุดเมานท์สำหรับแต่ละ LV:
mkdir /home/projects
mkdir /home/backups
และแทรกรายการที่เกี่ยวข้องใน /etc/fstab
(ตรวจสอบให้แน่ใจว่าใช้ UUID ที่ได้รับก่อนหน้านี้):
UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4 defaults 0 0
จากนั้นบันทึกการเปลี่ยนแปลงและติดตั้ง LVs:
mount -a
mount | grep home
เมื่อพูดถึงการใช้ LV จริงๆ คุณจะต้องกำหนดสิทธิ์ ugo+rwx
ที่เหมาะสมตามที่อธิบายไว้ในส่วนที่ 8 – จัดการผู้ใช้และกลุ่มใน Linux ของซีรีส์นี้
สรุป
ในบทความนี้ เราได้แนะนำ Logical Volume Management ซึ่งเป็นเครื่องมืออเนกประสงค์ในการจัดการอุปกรณ์จัดเก็บข้อมูลที่ให้ความสามารถในการปรับขนาด เมื่อใช้งานร่วมกับ RAID (ซึ่งเราได้อธิบายไว้ในส่วนที่ 6 – สร้างและจัดการ RAID ใน Linux ของซีรีส์นี้) คุณจะไม่เพียงเพลิดเพลินไปกับความสามารถในการขยายขนาด (จัดทำโดย LVM) แต่ยังมีระบบสำรอง (นำเสนอโดย RAID)
ในการตั้งค่าประเภทนี้ โดยทั่วไปคุณจะพบ LVM ที่ด้านบนของ RAID กล่าวคือ กำหนดค่า RAID ก่อน จากนั้นจึงกำหนดค่า LVM ที่ด้านบนของค่า
หากคุณมีคำถามเกี่ยวกับบทความนี้หรือข้อเสนอแนะในการปรับปรุง โปรดติดต่อเราโดยใช้แบบฟอร์มความคิดเห็นด้านล่าง