จะย่อขนาดโลจิคัลและฟิสิคัลวอลุ่มของ Ubuntu LVM อย่างไร?


26

ฉันได้ติดตั้ง Ubuntu 12.10 เป็นระบบปฏิบัติการเดียวบนระบบของฉัน

ฉันบอกอูบุนตูให้เขียนทับทุกอย่างในขณะที่ฉันกำลังเร่งรีบฉันจึงมีสองพาร์ติชั่นที่อูบุนตูสร้างพาร์ทิชันสำหรับบูตสองสามร้อย MB และทุกอย่างอื่น

พาร์ติชั่นหลักอยู่ที่ประมาณ 600GB,

ฉันต้องการปรับขนาดเป็น 450GB ดังนั้นฉันสามารถติดตั้ง Windows 8 เป็นบูตคู่ได้

ปัญหาคือฉันไม่สามารถหาวิธีย่อขนาดพาร์ติชันได้ตามปกติมันใช้ได้จาก Gparted (gparted-live-0.14.1-6-i486.iso) live iso เพียงปรับขนาดและคุณก็พร้อมที่จะไป

แต่ครั้งนี้ Ubuntu ได้รับการติดตั้งด้วย LVM

ดังนั้นพาร์ติชั่น Ubuntu จะมีไอคอนล็อคอยู่ข้างๆ สิ่งนี้ทำให้ฉันไม่สามารถทำอะไรได้ฉันสามารถเลือกพาร์ติชันได้และมีตัวเลือกสำหรับ "ปิดใช้งาน" ซึ่งหากฉันถูกต้องฉันเชื่อว่ากำลังปิดใช้งานการแลกเปลี่ยน ถ้าฉันทำอย่างนั้นฉันสามารถจัดการพาร์ทิชัน

ฉันถามที่นี่ว่านี่เป็นสิ่งที่ถูกต้องทำก่อนที่จะหยุดระบบของฉัน

  1. เริ่มระบบจาก iso gparted สด
  2. เลือกพาร์ติชัน Ubuntu
  3. "เลิกใช้งาน" พาร์ติชัน
  4. ปรับขนาดพาร์ติชัน
  5. "เปิดใช้งาน" พาร์ติชัน
  6. ใช้
  7. กำไร???

ความคิดของฉันถูกต้องหรือไม่

แก้ไข # 1

ดังนั้นหลังจากการแชทแบบขยายฉันก็มาที่คำสั่งนี้

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

ซึ่งประสบความสำเร็จในการลดขนาดพาร์ติชันโลจิคัล

Gparted New Shot

แต่ตอนนี้ฉันมีส่วนที่ยาก

ตอนนี้ฉันต้องลดขนาดฟิสิคัลพาร์ติชันลงเพื่อให้สามารถสร้างฟิสิคัลพาร์ติชันใหม่พร้อมพื้นที่ในการติดตั้ง Windows 8

ดังนั้นฉันคิดว่าฉันสามารถวิ่งได้

pvresize --setphysicalvolumesize {any size here} /dev/sda5

แต่ฉันกลับมา:

/ dev / sda5: ไม่สามารถปรับขนาดเป็น xxxxx extents ได้เนื่องจากจัดสรรในภายหลัง

ซึ่งฉันเชื่อว่าเป็นเพราะการแลกเปลี่ยนเนื่องจากภาพนี้:

Darn Swap!ดังนั้นขั้นตอนต่อไปของฉันคืออะไร

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

ข้อมูลเพิ่มเติมก่อนแก้ไข # 1

ภาพหน้าจอ Gparted
โปรดทราบว่าภาพดังกล่าวถูกนำมาจากเวอร์ชัน Gparted ในที่เก็บ Ubuntu ไม่ใช่รุ่นล่าสุด

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

ตรวจสอบให้แน่ใจว่าคุณใช้ GParted เวอร์ชันล่าสุด ( ได้รับการสนับสนุน LVM เมื่อเร็ว ๆ นี้เท่านั้น- คุณเป็นเพียงหมายเหตุสำหรับผู้อ่านรายอื่น) และการหยุดทำงานคือฉันคิดว่าการปิดการใช้งานกลุ่มวอลุ่ม ( vgchange -an myvgname) ซึ่งอาจจำเป็นถ้าคุณกำลังจะเปลี่ยนปริมาณทางกายภาพ :) โอ้มันเกือบจะเป็นคำตอบ
gertvdijk

รายละเอียดเพิ่มเติมให้
Hailwood

@ gertvdijk Ping ฉันในการแชทหากคุณต้องการข้อมูลด่วน
Hailwood

สิ่งนี้ได้รับการแก้ไขแล้วหรือไม่? ฉันกำลังมองหาการลดฟิสิคัลพาร์ติชันเพื่อติดตั้งระบบปฏิบัติการรุ่นต่อ ๆ ไป
Jamess

คำตอบ:


17

เหล่านี้เป็นขั้นตอนทั้งหมดที่จำเป็นในการปรับขนาดพาร์ติชัน LVM หรือ LVM2 -

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

คุณต้องจัดเรียงพื้นที่ที่ไม่ได้จัดสรรใหม่ในตอนท้ายของ LVM ซึ่งหมายความว่าหลังจากพาร์ทิชัน root และ swap_1 ดังนั้นคุณต้องย้ายพื้นที่ว่างโดยใช้คำสั่งด้านล่าง

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

ตอนนี้ใช้คำสั่งด้านล่างเพื่อลบการกระจายตัวภายนอก -

sudo pvmove --alloc anywhere /dev/sda5:yyy-zzz

ตอนนี้ให้เราดูว่ามันไป -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

หลังจากนั้นใช้ gparted และปรับขนาด LVM เป็นพื้นที่ที่ใช้สูงสุดและส่วนที่เหลือจะอยู่ในพื้นที่ที่ไม่ได้ถูกจัดสรร สนุก...


7

ฉันต้องการตอนนี้คุณมีรูต LV ที่เล็กกว่าlvremoveสลับ LV และสร้างใหม่ สิ่งนี้ควรบังคับให้ผนวกเข้ากับรูต LV โดยตรงในแง่ของตำแหน่ง เมื่อเสร็จแล้วคุณควรจะสามารถpvresizeระดับเสียงทางกายภาพ จากนั้นเป็นส่วนที่น่ากลัวในการแก้ไขตารางพาร์ติชัน ( fdisk) เพื่อลดขนาดพาร์ติชันเป็นขนาดใหม่ของ PV ซึ่งจะเป็นการเพิ่มพื้นที่ว่างสำหรับตัวติดตั้ง Windows ที่จะใช้

สำหรับการลดขนาดพาร์ติชั่นฉันขอแนะนำให้เพิ่มขนาดให้ใหญ่ขึ้นเล็กน้อยโดยไม่กี่เมกะไบต์กว่ารายงาน PV ที่มีขนาดเท่าและปรับขนาด PV และรูต LV ให้เต็มเพื่อเติมส่วนขยายฟรี ด้วยวิธีนี้คุณจึงมั่นใจได้ว่า A) ใช้ขนาดพาร์ติชันทั้งหมดสำหรับ LVM และไม่เสียพื้นที่โดยทำให้ไม่สามารถเข้าถึงได้และ B) ไม่ตัดข้อมูลสำคัญจาก PV โดยการตีความผิด KiB / MiB / GiB เป็นทศนิยมทศนิยม KB / MB / GB หรือกลับกันระหว่างการดำเนินการ fdisk

swap ใหม่ถ้าคุณสร้างขึ้นใหม่เพื่อให้แน่ใจว่ามันผนวกเข้ากับรูท LV ตามที่ฉันแนะนำไว้ข้างต้นจะมี UUID ที่แตกต่างกันดังนั้น / etc / fstab ของคุณจะไม่ตรงกัน เมื่อการปรับขนาดเสร็จสิ้นคุณจะต้องmount /dev/ubuntu/root /mntแก้ไข / mnt ** / etc / fstab **

ในไฟล์ fstab ที่คุณต้องพบรายการแลกเปลี่ยนคล้ายกับด้านล่างและอัปเดต hexidecimal หลังจาก UUID = blkidมีค่าที่รายงานโดย

ขั้นตอนสำหรับblkidระบบของฉันมีดังนี้:

  1. วิ่ง

    blkid /dev/ubuntu/swap_1
    

    ซึ่งเอาท์พุท

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. คัดลอกค่า UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. แก้ไข / etc / fstab จาก LV ระดับรากของคุณและแทรกค่า UUID แทน UUID เก่า

    หา

    UUID=**old-uuid** none swap sw 0 0
    

    แทนที่ UUID ใหม่ของคุณแทนที่ old-uuid

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    หรือคุณสามารถแทนที่กลไก UUID และใช้/dev/ubuntu/swap_1เช่น

    /dev/ubuntu/swap_1 none swap sw 0 0
    

ขั้นตอนนี้พร้อมกับการแก้ไขที่เป็นปัญหาช่วยให้ฉันปรับขนาดพาร์ติชันได้ ฉันไม่พบคำสั่ง lvdelete (12.04) และใช้ lvremove เพื่อลบพาร์ติชัน swap pvresize ทำงานเหมือนมีเสน่ห์ จากนั้นฉันใช้ gparted live CD เพื่อลดขนาดของพาร์ติชันให้มีขนาดต่ำลง เสร็จสิ้นการทำงานและขนาดที่ไม่ได้ปันส่วนได้ถูกสร้างขึ้น ฉันอยากจะแนะนำผู้ถามควรสร้างคำตอบที่สมบูรณ์
Jamess

ฉันบังเอิญไม่ได้ใช้ UUID (ฉันเปลี่ยนมันฉันจำไม่ได้), systyem อาจไม่เคยใช้ UUID สำหรับการแลกเปลี่ยน ดังนั้นฉันสามารถข้ามขั้นตอนการแก้ไข UUID ได้
Jamess

วิธีสร้างการแลกเปลี่ยน lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, ให้ตรวจสอบรายการ / etc / fstab ต้องการการเปลี่ยนแปลง UUID
Jamess

ขอบคุณสำหรับการกล่าวถึงlvdeleteความไม่ถูกต้องในคำตอบของฉัน ตอนนี้ฉันแก้ไขข้อความเพื่ออ้างอิงlvremoveชื่อที่ถูกต้องแล้ว
Daniel Llewellyn

6

ใช้ KVPM จากศูนย์ซอฟต์แวร์ ฉันติดตั้ง Ubuntu 14.10 LTS โดยใช้ทั้งดิสก์ขนาดใหญ่หนึ่ง LVM (ฉันรู้ว่าอะไรคือจุดสำคัญของหนึ่ง LVM ขนาดใหญ่) แต่ต้องการเพิ่มอีกสอง LVM สำหรับระบบปฏิบัติการอื่นและไดรฟ์ข้อมูล ฉันใช้ KVPM มันบอกว่าตัวจัดการพาร์ติชัน KDE ในคำอธิบาย แต่ใช้งานได้ดีใน 14.04 นี่คือขั้นตอน

  1. ดาวน์โหลด 14.04LTS และสร้าง USB ที่สามารถบู๊ตได้
  2. บูตจาก USB โดยใช้ตัวเลือก TRY UBUNTU เพื่อให้คุณทำงานบนแท่ง USB
  3. ติดตั้ง KVPM จาก Software Center
  4. เรียกใช้ KVPM จากเทอร์มินัลที่คุณเลือก

    sudo kvpm- หากคุณเพิ่งใช้kvpmงานแผ่นซีดีสดจะทำให้คุณเกิดข้อผิดพลาดและหยุดทำงาน

  5. เมื่อ kvpm เปิด GUI ให้ไปที่แท็บที่ชื่อว่า some_drive-vg

  6. ไฮไลต์ปริมาณที่จะปรับขนาดและคลิกขวาที่ตัวเลือกเลือกลดปริมาณ
  7. คุณสามารถติดฉลาก LVM ใหม่ในเวลาเดียวกันกับที่คุณป้อนขนาดใหม่
  8. ทำตามคำแนะนำเพื่อตกลงการเปลี่ยนแปลงและ voila คุณจะมีพื้นที่ว่างที่ไม่ได้ปันส่วน
  9. คุณสามารถสร้าง LVM ใหม่ได้มากเท่าที่คุณต้องการด้วยพื้นที่ว่าง จอแสดงผลของฉันแสดงพื้นที่สีเขียวที่ไม่ได้ปันส่วนเพียงคลิกขวาที่พื้นที่สีเขียวตัวเลือกเดียวของคุณคือ "สร้างโลจิคัลวอลุ่มใหม่"

ฉันใช้เวลาในการเขียนนานกว่าดำเนินการตามกระบวนการทั้งหมด

โดยวิธีการนั้น / root พาร์ติชันฉันปรับขนาดการทำงานอย่างสมบูรณ์แบบหลังจากการเปลี่ยนแปลงทั้งหมด เพียงรีบูต HDD ของคุณในระบบปฏิบัติการที่คุณเลือกและเพลิดเพลินไปกับวอลลุ่มใหม่ที่คุณค้นพบ


0

KVPM เป็นหนทางไปโดยไม่จำเป็นต้องรีบูต

  1. คลิกขวาที่ Unmount partition
  2. ลดขนาด
  3. คลิกขวาพาร์ทิชันอื่น ๆ ขยายขนาด
  4. ประกอบเมาท์เดิม

ทำ!

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