ฉันขอโทษสำหรับภาษาอังกฤษที่ไม่ดีของฉัน ฉันหวังว่าคุณจะเข้าใจฉัน

เดือนที่แล้วฉันตั้งค่าเซิร์ฟเวอร์ Ubuntu ด้วย HDD 500GB ในขณะที่ติดตั้งระบบ ฉันสร้างพาร์ติชั่นปกติที่ไม่ใช่ LVM - นี่คือเลย์เอาต์

[email protected]:~# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c9f61

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       10942    87891583+  83  Linux
/dev/sda2           10943       60801   400492417+   5  Extended
/dev/sda5           12159       60801   390724866   83  Linux
/dev/sda6           10943       12158     9767457   82  Linux swap / Solaris

Partition table entries are not in disk order

โดยพื้นฐานแล้วมันคือ;

sda1 (90GB) สำหรับ OS (ext4)
sda5 (~370GB) สำหรับ /home (ฉันจะอธิบายในภายหลัง) (ext4)
sda6 (10GB) สำหรับ SWAP

ต่อมาฉันรู้ว่าเมื่อ sda5 (385GB สำหรับ /home) จะเต็ม ฉันต้องการเพิ่มขนาดโดยการเพิ่ม HDD ใหม่ ดังนั้นฉันจึงสร้าง sda5 เป็นพาร์ติชัน LVM เช่นนั้น

[email protected]:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               vg1
  PV Size               372.62 GB / not usable 3.25 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              95391
  Free PE               0
  Allocated PE          95391
  PV UUID               lewQnp-NdvK-Ac0N-sCgE-NGOH-K2cX-WxJ2tL

[email protected]:~# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               372.62 GB
  PE Size               4.00 MB
  Total PE              95391
  Alloc PE / Size       95391 / 372.62 GB
  Free  PE / Size       0 / 0
  VG UUID               yRkcP7-zvZ0-DjIR-xDWS-Ia6V-InSu-6Hwvpe

[email protected]:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg1/home
  VG Name                vg1
  LV UUID                jXCi37-iWmp-xVd7-9TsL-56pg-6x9m-73flLT
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                372.62 GB
  Current LE             95391
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

ตอนนี้ sda5 (LVM) ของฉันเต็มแล้ว (ดูด้านล่าง) แต่กระเป๋าเงินของฉันไม่เต็ม และฉันไม่สามารถซื้อ HDD ตัวอื่นได้

[email protected]:~# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             86511612   3829536  78287500   5% /
tmpfs                  1677788         0   1677788   0% /lib/init/rw
varrun                 1677788       520   1677268   1% /var/run
varlock                1677788         0   1677788   0% /var/lock
udev                   1677788       144   1677644   1% /dev
tmpfs                  1677788        84   1677704   1% /dev/shm
lrm                    1677788      2192   1675596   1% /lib/modules/2.6.28-15-generic/volatile
/dev/mapper/vg1-home 384590900 332537772  32517052  92% /home

อย่างที่คุณเห็นฉันใช้เพียง 5% ของ / (sda1) (ฉันไม่รู้ว่าฉันคิดอย่างไรเมื่อตั้งค่า 90GB สำหรับ /)

ในที่สุดคำถามของฉัน - มีวิธีใดที่ปลอดภัยในการปรับขนาดพาร์ติชันที่ไม่ใช่ LVM (เช่น ลดขนาด sda1 ลง 60GB จาก 90GB เป็น 30GB และเพิ่ม sda5 ด้วย 60GB จาก ~ 370GB เป็น ~ 430GB) แล้วเพิ่ม LVM ที่ sda5 ด้วย 60GB?

ขอบคุณ
Lulaz

answer

ในทางทฤษฎี คุณสามารถลดขนาดของsda1, เพิ่มขนาดของพาร์ติชั่นเสริม, เลื่อนเนื้อหาของพาร์ติชั่นขยายลง จากนั้นเพิ่มขนาดของ PV บนพาร์ติชั่นเสริม และคุณจะมีห้องพิเศษ อย่างไรก็ตาม จำนวนของสิ่งที่อาจผิดพลาดได้นั้นมีมากมายมหาศาล ดังนั้นฉันขอแนะนำให้ซื้อฮาร์ดไดรฟ์ตัวที่สอง (และอาจถ่ายโอนทุกอย่างไปยังฮาร์ดไดรฟ์ในรูปแบบที่เหมาะสมกว่า จากนั้นแบ่งพาร์ติชั่นไดรฟ์ปัจจุบันของคุณใหม่ให้ดีขึ้น) หรือเพียงแค่ทำ บางม้าผูกของบิตต่างๆและชิ้นส่วนออกจาก/homeเข้าไป/เพื่อเพิ่มพื้นที่มากขึ้นอีกนิด

ทางลัดง่ายๆ:

หากคุณรูทบนกล่องและดูเหมือนว่าคุณเป็น ให้สร้างไดเร็กทอรีบน '/' ซึ่งก็คือ sda1 สำหรับตัวอย่างนี้ ให้เรียกมันว่า '/data/overflow' จากนั้นในโฮมไดเร็กตอรี่ของคุณ ให้ใช้ไดเร็กทอรีที่มีขนาดใหญ่เกินไป ย้ายข้อมูลไปที่ /data/overflow และใช้ลิงก์สัญลักษณ์เพื่อชี้ไปที่ไดเร็กทอรี

คำสั่งตัวอย่าง:

# make directory on empty partition
mkdir -p /data/overflow
chown username /data/overflow

# move data to empty disk
cd /home/username
mv bigdir /data/overflow

# put the link in, so your old names match
ln -s /data/overflow/bigdir bigdir

GParted Liveจะให้คุณปรับขนาดพาร์ติชั่นที่ไม่ใช่ LVM ตามหลักวิชาโดยไม่สูญเสียข้อมูล แต่ 1. คุณจะไม่สามารถใช้เซิร์ฟเวอร์ของคุณในช่วงเวลานี้ และ 2. อย่างที่ womble กล่าว มีความเป็นไปได้สูงที่จะมีบางอย่างผิดพลาด

สร้างแท่ง Ubuntu Live USB บูตและเรียกใช้ GParted เพื่อกำหนดค่าใหม่ของคุณให้สำเร็จ ฉันพบว่ามันทำงานได้อย่างไม่มีที่ติเพื่อสร้าง ย้าย คัดลอก และปรับขนาดพาร์ติชั่นทั่วไป