โฮมเพจ » ทำอย่างไร » วิธีการจัดการและใช้งาน LVM (Logical Volume Management) ใน Ubuntu

    วิธีการจัดการและใช้งาน 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 แทน.

    1. ปรับขนาดระบบไฟล์ (ตรวจสอบให้แน่ใจว่าได้ย้ายไฟล์ไปยังพื้นที่ปลอดภัยของฮาร์ดไดรฟ์ก่อนที่จะปรับขนาด)
    2. ลดปริมาณตรรกะ (แทน + เพื่อขยายคุณยังสามารถใช้ - เพื่อลดขนาด)
    3. ลบฮาร์ดไดรฟ์ออกจากกลุ่มวอลุ่มด้วย 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 เป็นส่วนใหญ่ หากคุณมีประสบการณ์ในหัวข้อนี้อย่าลืมแบ่งปันภูมิปัญญาของคุณในความคิดเห็น.