ฉันจะใช้สแน็ปช็อต LVM ใน Ubuntu ได้อย่างไร


19

ฉันได้ติดตั้ง Ubuntu โดยใช้ตัวเลือกเหล่านี้:

  • ลบดิสก์และติดตั้ง Ubuntu
  • เข้ารหัสการติดตั้ง Ubuntu ใหม่
  • ใช้ LVM

ฉันจะสร้างสแน็ปช็อต LVM ได้อย่างไรเพื่อให้ฉันสามารถย้อนกลับการเปลี่ยนแปลงระบบเมื่อจำเป็น

คำตอบ:


22

หมายเหตุ: คำสั่งทั้งหมดควรทำจาก sudo

ก่อนอื่นลดขนาดของโวลุ่มรูทของคุณเพื่อให้มีพื้นที่ว่างสำหรับวอลล์เปเปอร์

  • บูตจาก Live CD
  • fdisk -l เพื่อดูชื่ออุปกรณ์ของคุณ
    ประเภทอุปกรณ์ขนาดเริ่มต้นสิ้นสุด
    / dev / sda1 2048 1050623 1048576 512M ระบบ EFI
    / dev / sda2 1050624 2050047 999424 488M ระบบไฟล์ Linux
    / dev / sda3 2050048 500117503 498067456 237.5G ระบบไฟล์ Linux
    
    /dev/sda3 ในกรณีของฉัน
  • cryptsetup luksOpen /dev/sda3 crypt1 เพื่อถอดรหัสวอลลุ่มของคุณ
  • vgscan --mknodes เพื่อค้นหากลุ่มวอลุ่มทั้งหมด
    อ่านปริมาณทางกายภาพทั้งหมด อาจใช้เวลาสักครู่ ...
    พบกลุ่มวอลุ่ม "ubuntu-vg" โดยใช้ metadata type lvm2
    
  • vgchange -ay เพื่อเปิดใช้งานกลุ่มวอลุ่มทั้งหมดของคุณ
    โลจิคัลวอลุ่ม 2 รายการในกลุ่มวอลุ่ม "ubuntu-vg" ทำงานอยู่
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootเพื่อลดขนาดของปริมาณรูทของคุณลง 20 Gb อาจใช้เวลาสักครู่ (ใช้เวลาประมาณ 4 นาทีสำหรับฉัน)
    พื้นที่นั้นจะถูกใช้ในการสร้างสแนปชอตของ LVM ในภายหลัง
  • vgs เพื่อดูว่าคุณมีพื้นที่ว่าง 20G
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz - n- 230.44g 20.01g
    
  • reboot และลบ Live CD

สร้างภาพรวม (เช่นเปิดใช้งานโหมด "การทดลอง")

ตอนนี้เมื่อใดก็ตามที่คุณต้องการทำสิ่งที่เสี่ยงกับระบบของคุณให้เรียกใช้คำสั่งต่อไปนี้

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    หมายเหตุ: /dev/ubuntu-vg/rootเป็นโลจิคัลวอลุ่มที่คุณต้องการสแน็ปช็อต
  • lvs เพื่อดูว่าสร้างโวลุ่มแล้ว
    LV VG Attr LSize Pool Origin ข้อมูล% Meta% ย้ายบันทึกการแปลง Cpy% Sync
    root ubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00g ราก 0.00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90g
    
    lvcreateภาพรวมมีการใช้งานจากช่วงเวลาที่คุณเรียก ตอนนี้คุณสามารถเริ่มทดลองสิ่งใหม่ ๆ

สถานการณ์ # 1: คุณต้องการยกเลิกการเปลี่ยนแปลง

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    โลจิคัลวอลุ่ม ubuntu-vg / root มีระบบไฟล์ที่ใช้งานอยู่
    ไม่สามารถรวมปริมาณโวลุ่มดั้งเดิมได้
    การรวมสแน็ปช็อต ubuntu-vg / snap จะเกิดขึ้นในการเปิดใช้งาน ubuntu-vg / root ครั้งต่อไป
    
  • reboot

สถานการณ์ # 2: คุณต้องการยืนยันการเปลี่ยนแปลง

  • lvremove /dev/mapper/ubuntu--vg-snap

สรุปแล้ว

โดยทั่วไปคุณต้องเรียกใช้lvcreateเพื่อเริ่มต้นกระบวนการจากนั้นเรียกใช้lvconvert --mergeหรือlvremoveสิ้นสุด

โปรดทราบว่าเมื่อสแน็ปช็อตทำงานเนื่องจากกลยุทธ์การคัดลอกเมื่อเขียนการเปลี่ยนแปลงทั้งหมดจะถูกบันทึกลงในพื้นที่ 20Gb (หรือค่าที่คุณตั้งไว้) วิธีหนึ่งในการตรวจสอบความจุที่เหลืออยู่คือดูที่คอลัมน์ Data% ของlvsคำสั่ง


ดีใจที่ได้ยิน :) ขอบคุณ @ cl-netbox
Aleksandr Gornostal

คุณไม่จำเป็นต้องลดขนาดระบบไฟล์ก่อนที่จะรันlvreduceบนคอนเทนเนอร์หรือไม่?
ทำเครื่องหมาย

@Mark -rflag ทำเช่นนั้น
Aleksandr Gornostal

ปลอดภัยไหมที่จะใช้งานlvconvert --mergeเมื่อติดตั้งระบบไฟล์หรือคุณต้องการใช้จาก LiveCD?
CharlesB

1
@CharlesB ใช่คุณควรเรียกใช้เมื่อมีการติดตั้ง
Aleksandr Gornostal
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.