วิธีการจัดการและใช้งาน LVM (Logical Volume Management) ใน Ubuntu
ในบทความก่อนหน้าของเราเราบอกคุณว่า LVM คืออะไรและคุณต้องการใช้อะไรและวันนี้เราจะพาคุณไปยังเครื่องมือการจัดการที่สำคัญของ LVM ดังนั้นคุณจะมั่นใจเมื่อติดตั้งหรือขยายการติดตั้งของคุณ.
ตามที่ระบุไว้ก่อนหน้านี้ LVM เป็นชั้นนามธรรมระหว่างระบบปฏิบัติการของคุณและฮาร์ดไดรฟ์ทางกายภาพ หมายความว่าฮาร์ดไดรฟ์และพาร์ติชั่นทางกายภาพของคุณนั้นไม่ได้เชื่อมโยงกับฮาร์ดไดรฟ์และพาร์ติชั่นที่พวกเขาอาศัยอยู่อีกต่อไป แต่ฮาร์ดไดรฟ์และพาร์ติชั่นที่ระบบปฏิบัติการของคุณเห็นนั้นอาจเป็นฮาร์ดไดรฟ์แยกต่างหากจำนวนมากที่รวมเข้าด้วยกันหรือในซอฟต์แวร์ RAID.
ในการจัดการ LVM มีเครื่องมือ GUI ที่พร้อมใช้งาน แต่เพื่อให้เข้าใจสิ่งที่เกิดขึ้นกับการกำหนดค่า LVM ของคุณได้ดีที่สุดควรทราบว่าเครื่องมือบรรทัดคำสั่งคืออะไร สิ่งนี้จะเป็นประโยชน์อย่างยิ่งหากคุณจัดการ LVM บนเซิร์ฟเวอร์หรือการแจกจ่ายที่ไม่มีเครื่องมือ GUI.
คำสั่งส่วนใหญ่ใน LVM นั้นคล้ายกันมาก แต่ละคำสั่งที่ถูกต้องนำหน้าด้วยหนึ่งในสิ่งต่อไปนี้:
- ปริมาณทางกายภาพ = pv
- กลุ่มวอลุ่ม = vg
- โลจิคัลวอลุ่ม = lv
คำสั่งฟิสิคัลวอลุ่มใช้สำหรับการเพิ่มหรือลบฮาร์ดไดรฟ์ในกลุ่มวอลุ่ม คำสั่งกลุ่มวอลุ่มใช้สำหรับการเปลี่ยนแปลงชุดฟิสิคัลพาร์ติชันที่ถูกสรุปที่จะแสดงต่อการดำเนินงานของคุณในโลจิคัลวอลุ่ม คำสั่งโลจิคัลวอลุ่มจะแสดงกลุ่มวอลุ่มเป็นพาร์ติชันเพื่อให้ระบบปฏิบัติการของคุณสามารถใช้พื้นที่ที่กำหนด.
LVM Cheat Sheet ที่ดาวน์โหลดได้
เพื่อช่วยให้คุณเข้าใจว่าคำสั่งใดบ้างที่มีให้สำหรับคำนำหน้าแต่ละคำเราจึงทำแผ่นชีท LVM เราจะครอบคลุมบางคำสั่งในบทความนี้ แต่ยังมีอีกมากที่คุณสามารถทำได้ซึ่งจะไม่ครอบคลุมในที่นี้.
คำสั่งทั้งหมดในรายการนี้จะต้องถูกเรียกใช้ในฐานะรูทเนื่องจากคุณเปลี่ยนการตั้งค่าทั้งระบบซึ่งจะส่งผลกระทบต่อเครื่องทั้งหมด.
(คลิกที่ภาพย่อเพื่อดูภาพขนาดเต็ม)
วิธีการดูข้อมูล LVM ปัจจุบัน
สิ่งแรกที่คุณอาจต้องทำคือตรวจสอบวิธีการตั้งค่า LVM ของคุณ s
และ แสดง
คำสั่งทำงานกับฟิสิคัลวอลุ่ม (pv), กลุ่มวอลุ่ม (vg), และโลจิคัลวอลุ่ม (lv) ดังนั้นจึงเป็นจุดเริ่มต้นที่ดีเมื่อพยายามคำนวณการตั้งค่าปัจจุบัน.
แสดง
คำสั่งจะจัดรูปแบบข้อมูลเพื่อให้เข้าใจง่ายกว่า s
คำสั่ง สำหรับแต่ละคำสั่งคุณจะเห็นชื่อและพา ธ ของ pv / vg และควรให้ข้อมูลเกี่ยวกับพื้นที่ว่างและพื้นที่ใช้งาน.
ข้อมูลที่สำคัญที่สุดคือชื่อ PV และชื่อ VG ด้วยข้อมูลสองชิ้นนี้เราสามารถทำงานกับการตั้งค่า LVM ต่อไปได้.
การสร้างโลจิคัลวอลุ่ม
โลจิคัลวอลุ่มเป็นพาร์ติชันที่ระบบปฏิบัติการของคุณใช้ใน LVM ในการสร้างโลจิคัลวอลุ่มเราต้องมีฟิสิคัลวอลุ่มและกลุ่มวอลุ่มก่อน นี่คือขั้นตอนทั้งหมดที่จำเป็นในการสร้างโลจิคัลวอลุ่มใหม่.
สร้างฟิสิคัลวอลุ่ม
เราจะเริ่มจากศูนย์ด้วยฮาร์ดไดรฟ์ใหม่ที่ไม่มีพาร์ติชั่นหรือข้อมูลใด ๆ เริ่มต้นด้วยการค้นหาดิสก์ที่คุณจะใช้งาน (/ dev / sda, sdb เป็นต้น)
หมายเหตุ: โปรดจำไว้ว่าคำสั่งทั้งหมดจะต้องถูกเรียกใช้ในฐานะรูทหรือโดยการเพิ่ม 'sudo' ไปยังจุดเริ่มต้นของคำสั่ง.
fdisk -l
หากฮาร์ดไดรฟ์ของคุณไม่เคยฟอร์แมตหรือแบ่งพาร์ติชั่นก่อนที่คุณจะเห็นสิ่งนี้ในเอาต์พุต fdisk นี่เป็นเรื่องปกติเพราะเราจะสร้างพาร์ติชั่นที่ต้องการในขั้นตอนต่อไป.
ดิสก์ใหม่ของเราอยู่ที่ / dev / sdb ดังนั้นให้ใช้ fdisk เพื่อสร้างพาร์ติชันใหม่บนไดรฟ์.
มีเครื่องมือมากมายที่สามารถสร้างพาร์ติชันใหม่ด้วย GUI รวมถึง Gparted แต่เนื่องจากเราเปิดเทอร์มินัลแล้วเราจะใช้ fdisk เพื่อสร้างพาร์ติชั่นที่ต้องการ.
จากเทอร์มินัลพิมพ์คำสั่งต่อไปนี้:
fdisk / dev / sdb
สิ่งนี้จะทำให้คุณได้รับพรอมต์ fdisk พิเศษ.
ป้อนคำสั่งตามลำดับที่กำหนดเพื่อสร้างพาร์ติชันหลักใหม่ที่ใช้ฮาร์ดไดรฟ์ใหม่ 100% และพร้อมสำหรับ LVM หากคุณต้องการเปลี่ยนขนาดพาร์ติชันหรือต้องการหลายพาร์ติชั่นฉันแนะนำให้ใช้ GParted หรืออ่าน fdisk ด้วยตัวคุณเอง.
คำเตือน: ขั้นตอนต่อไปนี้จะฟอร์แมตฮาร์ดไดรฟ์ของคุณ ตรวจสอบให้แน่ใจว่าคุณไม่มีข้อมูลใด ๆ ในฮาร์ดไดรฟ์นี้ก่อนที่จะทำตามขั้นตอนเหล่านี้.
n
= สร้างพาร์ติชันใหม่พี
= สร้างพาร์ติชันหลัก1
= ทำให้พาร์ติชันเป็นครั้งแรกบนดิสก์
กด Enter สองครั้งเพื่อยอมรับกระบอกสูบแรกและกระบอกสุดท้าย.
ในการจัดเตรียมพาร์ติชันที่จะใช้โดย LVM ให้ใช้สองคำสั่งต่อไปนี้.
เสื้อ
= เปลี่ยนประเภทพาร์ติชัน8e
= เปลี่ยนเป็นประเภทพาร์ติชัน LVM
ตรวจสอบและเขียนข้อมูลไปยังฮาร์ดไดรฟ์.
พี
= ดูการตั้งค่าพาร์ติชันเพื่อให้เราสามารถตรวจสอบก่อนเขียนการเปลี่ยนแปลงลงดิสก์W
= เขียนการเปลี่ยนแปลงไปยังดิสก์
หลังจากคำสั่งเหล่านั้นพรอมต์ fdisk ควรออกและคุณจะกลับไปที่ bash prompt ของเทอร์มินัลของคุณ.
เข้าสู่ pvcreate / dev / sdb1
เพื่อสร้างฟิสิคัลวอลุ่ม LVM บนพาร์ติชันที่เราเพิ่งสร้างขึ้น.
คุณอาจจะถามว่าทำไมเราไม่ฟอร์แมตพาร์ติชั่นด้วยระบบไฟล์ แต่ไม่ต้องกังวลขั้นตอนนั้นจะมาในภายหลัง.
สร้างกลุ่มปริมาณ
ตอนนี้เรามีพาร์ติชันที่กำหนดและสร้างฟิสิคัลวอลุ่มแล้วเราต้องสร้างกลุ่มวอลุ่ม โชคดีที่ใช้เพียงคำสั่งเดียว.
vgcreate vgpool / dev / sdb1
Vgpool เป็นชื่อของกลุ่มวอลุ่มใหม่ที่เราสร้าง คุณสามารถตั้งชื่อมันได้ตามต้องการ แต่ขอแนะนำให้ใส่ vg ที่ด้านหน้าของฉลากดังนั้นหากคุณอ้างอิงในภายหลังคุณจะรู้ว่ามันเป็นกลุ่มวอลุ่ม.
สร้างโลจิคัลวอลุ่ม
ในการสร้างโลจิคัลวอลุ่มที่ LVM จะใช้:
lvcreate -L 3G -n lvstuff vgpool
คำสั่ง -L กำหนดขนาดของโลจิคัลวอลุ่มในกรณีนี้ 3 GB และคำสั่ง -n ตั้งชื่อวอลุ่ม Vgpool ถูกอ้างอิงเพื่อให้คำสั่ง lvcreate รู้ว่าต้องใช้โวลุ่มใด.
จัดรูปแบบและกำหนดปริมาณตรรกะ
ขั้นตอนสุดท้ายคือการจัดรูปแบบโลจิคัลวอลุ่มใหม่ด้วยระบบไฟล์ หากคุณต้องการความช่วยเหลือในการเลือกระบบไฟล์ Linux อ่านวิธีการที่เราสามารถช่วยคุณเลือกระบบไฟล์ที่ดีที่สุดสำหรับความต้องการของคุณ.
mkfs -t ext3 / dev / vgpool / lvstuff
สร้างจุดเมานท์แล้วติดวอลลุ่มที่ใดที่หนึ่งที่คุณสามารถใช้ได้.
mkdir / mnt / stuff
-t ext3 / dev / vgpool / lvstuff / mnt / stuff
การปรับขนาดโลจิคัลวอลุ่ม
ข้อดีอย่างหนึ่งของโลจิคัลวอลุ่มคือคุณสามารถทำให้การแชร์ของคุณมีขนาดใหญ่ขึ้นหรือเล็กลงโดยไม่ต้องย้ายทุกสิ่งไปยังฮาร์ดไดรฟ์ที่ใหญ่กว่า แต่คุณสามารถเพิ่มฮาร์ดไดรฟ์ใหม่และขยายกลุ่มวอลุ่มของคุณได้ทันที หรือถ้าคุณมีฮาร์ดไดรฟ์ที่ไม่ได้ใช้คุณสามารถลบออกจากกลุ่มวอลุ่มเพื่อลดขนาดโลจิคัลวอลุ่มของคุณ.
มีสามเครื่องมือพื้นฐานสำหรับการทำฟิสิคัลวอลุ่มกลุ่มวอลุ่มและโลจิคัลวอลุ่มที่ใหญ่กว่าหรือเล็กกว่า.
หมายเหตุ: แต่ละคำสั่งเหล่านี้จะต้องนำหน้าด้วย pv, vg หรือ lv ขึ้นอยู่กับสิ่งที่คุณกำลังทำงานกับ.
ปรับขนาด
- สามารถย่อหรือขยายฟิสิคัลวอลุ่มและโลจิคัลวอลุ่ม แต่ไม่ใช่กลุ่มวอลุ่มต่ออายุ
- สามารถทำให้กลุ่มวอลุ่มและโลจิคัลวอลุ่มใหญ่ขึ้น แต่ไม่เล็กลงลด
- สามารถทำให้กลุ่มวอลุ่มและโลจิคัลวอลุ่มเล็กลง แต่ไม่ใหญ่กว่า
ลองมาดูตัวอย่างของวิธีการเพิ่มฮาร์ดไดรฟ์ใหม่ลงในโลจิคัลวอลุ่ม“ lvstuff” ที่เราเพิ่งสร้างขึ้น.
ติดตั้งและฟอร์แมตฮาร์ดไดรฟ์ใหม่
ในการติดตั้งฮาร์ดไดรฟ์ใหม่ทำตามขั้นตอนด้านบนเพื่อสร้างพาร์ติชันใหม่และเพิ่มการเปลี่ยนแปลงเป็นประเภทพาร์ติชันเป็น LVM (8e) จากนั้นใช้ pvcreate เพื่อสร้างฟิสิคัลวอลุ่มที่ LVM สามารถจดจำได้.
เพิ่มฮาร์ดไดรฟ์ใหม่ให้กับกลุ่มวอลุ่ม
ในการเพิ่มฮาร์ดไดรฟ์ใหม่ลงในกลุ่มวอลุ่มคุณเพียงแค่ต้องรู้ว่าพาร์ทิชันใหม่ของคุณคืออะไร / dev / sdc1 ในกรณีของเราและชื่อของกลุ่มวอลุ่มที่คุณต้องการเพิ่มลงใน.
สิ่งนี้จะเพิ่มฟิสิคัลวอลุ่มใหม่ให้กับกลุ่มวอลุ่มที่มีอยู่.
vgextend vgpool / dev / sdc1
ขยายปริมาณตรรกะ
ในการปรับขนาดโลจิคัลวอลุ่มเราต้องบอกว่าเราต้องการขยายตามขนาดแทนอุปกรณ์ ในตัวอย่างของเราเราเพิ่งเพิ่มฮาร์ดไดรฟ์ 8 GB ลงใน vgpool 3 GB ของเรา เพื่อให้พื้นที่ใช้งานได้เราสามารถใช้ lvextend หรือ lvresize.
lvextend -L8G / dev / vgpool / lvstuff
ในขณะที่คำสั่งนี้ใช้งานได้คุณจะเห็นว่ามันจะปรับขนาดโลจิคัลวอลุ่มของเราเป็น 8 GB แทนการเพิ่ม 8 GB ในปริมาณที่มีอยู่ตามที่เราต้องการ ในการเพิ่ม 3 กิกะไบต์ล่าสุดที่มีอยู่คุณต้องใช้คำสั่งต่อไปนี้.
lvextend -L + 3G / dev / vgpool / lvstuff
ตอนนี้โลจิคัลวอลุ่มของเรามีขนาด 11 GB.
ขยายระบบไฟล์
โลจิคัลวอลุ่มคือ 11 GB แต่ระบบไฟล์บนโวลุ่มนั้นยังคงมีเพียง 3 GB เพื่อให้ระบบไฟล์ใช้งานได้ทั้ง 11 GB คุณจะต้องใช้คำสั่ง resize2fs เพียงปรับขนาด 2fs ไปที่โลจิคัลวอลุ่ม 11 GB และมันจะทำสิ่งมหัศจรรย์สำหรับคุณ.
resize2fs / dev / vgpool / lvstuff
หมายเหตุ: หากคุณใช้ระบบไฟล์อื่นนอกเหนือจาก ext3 / 4 โปรดดูที่เครื่องมือปรับขนาดระบบไฟล์ของคุณ.
ลดปริมาณตรรกะ
หากคุณต้องการที่จะลบฮาร์ดไดรฟ์ออกจากกลุ่มวอลุ่มคุณจะต้องทำตามขั้นตอนข้างต้นในลำดับย้อนกลับและใช้ lvreduce และ vgreduce แทน.
- ปรับขนาดระบบไฟล์ (ตรวจสอบให้แน่ใจว่าได้ย้ายไฟล์ไปยังพื้นที่ปลอดภัยของฮาร์ดไดรฟ์ก่อนที่จะปรับขนาด)
- ลดปริมาณตรรกะ (แทน + เพื่อขยายคุณยังสามารถใช้ - เพื่อลดขนาด)
- ลบฮาร์ดไดรฟ์ออกจากกลุ่มวอลุ่มด้วย vgreduce
การสำรองโลจิคัลวอลุ่ม
Snapshots เป็นคุณสมบัติที่ระบบไฟล์ขั้นสูงรุ่นใหม่บางรุ่นมาพร้อมกับ แต่ ext3 / 4 ขาดความสามารถในการทำสแน็ปช็อตได้ทันที หนึ่งในสิ่งที่เจ๋งที่สุดเกี่ยวกับสแน็ปช็อต LVM คือระบบไฟล์ของคุณไม่เคยออฟไลน์และคุณสามารถมีได้มากเท่าที่คุณต้องการโดยไม่ต้องเพิ่มพื้นที่ว่างในฮาร์ดไดรฟ์.
เมื่อ LVM ทำการสแน็ปช็อตรูปภาพจะถูกถ่ายในลักษณะที่โลจิคัลวอลุ่มดูและรูปภาพนั้นสามารถใช้เพื่อทำสำเนาบนฮาร์ดไดรฟ์อื่น ในขณะที่มีการทำสำเนาข้อมูลใหม่ใด ๆ ที่จำเป็นต้องเพิ่มลงในโลจิคัลวอลุ่มจะถูกเขียนลงดิสก์เหมือนปกติ แต่มีการติดตามการเปลี่ยนแปลงเพื่อให้ภาพต้นฉบับไม่ถูกทำลาย.
ในการสร้างสแน็ปช็อตเราจำเป็นต้องสร้างโลจิคัลวอลุ่มใหม่ที่มีพื้นที่ว่างเพียงพอเพื่อเก็บข้อมูลใหม่ใด ๆ ที่จะถูกเขียนลงในโลจิคัลวอลุ่มขณะที่เราทำการสำรองข้อมูล หากไดรฟ์ไม่ได้ถูกเขียนลงในไดรฟ์คุณสามารถใช้พื้นที่เก็บข้อมูลจำนวนน้อยมาก เมื่อเราทำการสำรองข้อมูลเสร็จสิ้นเราเพียงแค่ลบโลจิคัลวอลุ่มชั่วคราวและโลจิคัลวอลุ่มดั้งเดิมจะทำงานต่อตามปกติ.
สร้างภาพรวมใหม่
หากต้องการสร้างสแน็ปช็อตของ lvstuff ให้ใช้คำสั่ง lvcreate เหมือน แต่ก่อนใช้แฟล็ก -s.
lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff
ที่นี่เราสร้างโลจิคัลวอลุ่มที่มีเพียง 512 MB เนื่องจากไม่ได้ใช้งานไดรฟ์ 512 MB จะเก็บการเขียนใหม่ ๆ ในขณะที่เราทำการสำรองข้อมูลของเรา.
เมานต์สแนปชอตใหม่
เหมือนก่อนที่เราจะต้องสร้างจุดเมานท์และเมานต์สแน็ปช็อตใหม่เพื่อให้เราสามารถคัดลอกไฟล์จากมัน.
mkdir / mnt / lvstuffbackup
mount / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
คัดลอกสแนปชอตและลบโลจิคัลวอลุ่ม
สิ่งที่คุณต้องทำคือคัดลอกไฟล์ทั้งหมดจาก / mnt / lvstuffbackup / ไปยังฮาร์ดไดรฟ์ภายนอกหรือ tar ขึ้นเพื่อให้ทั้งหมดในไฟล์เดียว.
หมายเหตุ: tar -c จะสร้างไฟล์เก็บถาวรและ -f จะระบุตำแหน่งและชื่อไฟล์ของไฟล์เก็บถาวร สำหรับความช่วยเหลือเกี่ยวกับการใช้คำสั่ง tar คนน้ำมันดิน
ในอาคารผู้โดยสาร.
tar -cf / home / rothgar / สำรองข้อมูล / lvstuff-ss / mnt / lvstuffbackup /
โปรดจำไว้ว่าในขณะที่การสำรองข้อมูลเกิดขึ้นไฟล์ทั้งหมดที่จะถูกเขียนไปยัง lvstuff กำลังถูกติดตามในโลจิคัลวอลุ่มชั่วคราวที่เราสร้างขึ้นก่อนหน้า ตรวจสอบให้แน่ใจว่าคุณมีพื้นที่ว่างเพียงพอในขณะที่มีการสำรองข้อมูล.
เมื่อการสำรองข้อมูลเสร็จสิ้นให้ยกเลิกการต่อเชื่อมวอลุ่มและลบสแน็ปช็อตชั่วคราว.
umount / mnt / lvstuffbackupup
lvremove / dev / vgpool / lvstuffbackup /
การลบโลจิคัลวอลุ่ม
ในการลบโลจิคัลวอลุ่มคุณต้องตรวจสอบให้แน่ใจก่อนว่าได้ยกเลิกการต่อเชื่อมวอลุ่มแล้วคุณสามารถใช้ lvremove เพื่อลบได้ คุณยังสามารถลบกลุ่มวอลุ่มได้เมื่อลบโลจิคัลวอลุ่มและฟิสิคัลวอลุ่มหลังจากกลุ่มวอลุ่มถูกลบ.
นี่คือคำสั่งทั้งหมดที่ใช้โวลุ่มและกลุ่มที่เราสร้างขึ้น.
umount / mnt / lvstuff
lvremove / dev / vgpool / lvstuff
vgremove vgpool
pvremove / dev / sdb1 / dev / sdc1
ซึ่งควรครอบคลุมสิ่งที่คุณต้องรู้ในการใช้ LVM เป็นส่วนใหญ่ หากคุณมีประสบการณ์ในหัวข้อนี้อย่าลืมแบ่งปันภูมิปัญญาของคุณในความคิดเห็น.