lvextend เพื่อขยายรูทใน RHEL 6


0

ฉันมีเซิร์ฟเวอร์ที่ประมวลผลข้อมูลและเริ่มให้ข้อผิดพลาดนี้แก่ฉัน:

write error: no space left on device
cannot create temp file for here-document: no space left on device

แม้ว่าฉันจะใช้ Ubuntu 14.04 เป็นระบบปฏิบัติการหลักของฉันการจัดการระบบไฟล์นั้นเกินความเข้าใจของฉันและด้วยเหตุนี้คำถามนี้

df -h 

พิมพ์

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       99G   94G   16M 100% /
/dev/sda2             477M   39M  413M   9% /boot
/dev/sda1             200M  264K  200M   1% /boot/efi
/dev/mapper/VolGroup-lv_home
                      1.5T  453G  996G  32% /home
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm
shmfs                  30G     0   30G   0% /dev/shm

เห็นได้ชัดว่าฉันไม่มีพื้นที่เหลือบน lv_root ของฉัน ฉันวิ่ง

df -i

Filesystem              Inodes  IUsed     IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                       6553600 143617   6409983    3% /
/dev/sda2               128016     22    127994    1% /boot
/dev/sda1                    0      0         0     - /boot/efi
/dev/mapper/VolGroup-lv_home
                     101588992  44952 101544040    1% /home
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm
shmfs                  4085528      1   4085527    1% /dev/shm

และสิ่งนี้บ่งชี้ว่าฉันมีพื้นที่ว่างเหลืออีกมาก (ไม่แน่ใจว่าความเข้าใจของฉันถูกต้องหรือไม่)

ฉันพยายามลบไฟล์ออก/var/logแต่เนื่องจากไฟล์เหล่านั้นมีขนาดไม่ใหญ่มากจึงไม่เกิดอะไรขึ้น ฉันอ่านlvextendและคิดว่าฉันสามารถเพิ่มขนาดของlv_rootVolGroup ได้

sudo lvs --segments

ให้ฉัน

LV      VG       Attr       #Str Type   SSize  
  lv_home VolGroup -wi-ao----    1 linear   1.36t
  lv_home VolGroup -wi-ao----    1 linear 157.78g
  lv_root VolGroup -wi-ao----    1 linear 100.00g
  lv_swap VolGroup -wi-ao----    1 linear  20.00g

sudo vgdisplay VolGroup

ให้ฉัน

 VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.63 TiB
  PE Size               4.00 MiB
  Total PE              427545
  Alloc PE / Size       427545 / 1.63 TiB
  Free  PE / Size       0 / 0   

หลังจากทราบว่าทุกพาร์ติชันของฉันใช้ชื่อกลุ่มวอลุ่มเดียวกันร่วมกันVolGroup และขนาด VG คือ 1.63 TiB ฉันพยายามเพิ่มlv_rootพื้นที่โดย 400Gib

sudo lvextend -L +400G /dev/mapper/VolGroup-lv_root

แต่ได้รับข้อความแสดงข้อผิดพลาดนี้

Insufficient free space: 102400 extents needed, but only 0 available

ข้อความเดียวกันกับขอบเขตที่แตกต่างกันที่จำเป็นสำหรับ 40G

ระบบปฏิบัติการของเซิร์ฟเวอร์คือ RHEL 6 และฉันกำลังประมวลผลข้อมูลซึ่งกำลังป้อนไปยัง Oracle DB

คำตอบ:


1

ฉันจะพยายามตอบคำถามของคุณให้ดีที่สุดเท่าที่จะทำได้นี่คือคำถามแรก:

เห็นได้ชัดว่าฉันไม่มีพื้นที่เหลือบน lv_root ของฉัน ฉันวิ่ง

[ ... ]

และสิ่งนี้บ่งชี้ว่าฉันมีพื้นที่ว่างเหลืออีกมาก (ไม่แน่ใจว่าความเข้าใจของฉันถูกต้องหรือไม่)

ดังนั้นคุณไม่มีพื้นที่เหลือบนวอลลุ่ม lv_root ของคุณติดตั้งบนรูท: 16MB เหลืออยู่ในขณะที่คุณยังมี TB เกือบฟรีบนวอลลุ่ม / home ของคุณ (lv_home) คำสั่งที่สองพร้อมสวิตช์ "-i" ไม่ได้บ่งบอกถึงพื้นที่ที่คุณทิ้งไว้ แต่จำนวนinodes ที่เหลืออยู่บนดิสก์ของคุณในขณะที่ปัญหาการขาดแคลนของพวกเขายังสามารถทำให้ "ไม่มีพื้นที่เหลือบนข้อความอุปกรณ์" นี่คือ ไม่ใช่ปัญหาที่นี่

ปัญหาต่อไปที่นี่:

หลังจากทราบว่าทุกพาร์ติชันของฉันใช้ชื่อกลุ่มวอลุ่มเดียวกันร่วมกัน VolGroup และ VG Size คือ 1.63 TiB ฉันพยายามเพิ่มพื้นที่ lv_root เป็น 400Gib

ขนาด VG คือ 1.63TB อย่างไรก็ตามคุณไม่สามารถจัดสรร 400GB ให้กับ LV ใด ๆ ได้เนื่องจากพื้นที่ทั้งหมดนี้ได้รับการจัดสรรตามที่ส่งคืนโดยบรรทัดสุดท้ายของคำสั่ง vgdisplay ของคุณ:

** ฟรี PE / ขนาด 0/0 **

คุณสามารถเห็นการแบ่งส่วนที่แท้จริงของพื้นที่นี้ในคำสั่ง lvs - ส่วนของคุณ:

  • 1.36TB ถูกกำหนดให้กับ lv_home ของคุณ
  • 157.78GB กำหนดให้ lv_home ของคุณด้วย
  • 100GB ถูกกำหนดให้กับ lv_root ของคุณซึ่งเกือบหมดแล้ว
  • 20GB ถูกกำหนดให้เป็น swap ของคุณ

ตอนนี้เพื่อแก้ปัญหาของคุณที่นี่คุณสามารถทำได้ (อย่างน้อยฉันคิดว่าการแก้ปัญหาไม่ได้หมายความว่ามันทั้งหมดของพวกเขา):

  1. เพิ่มพื้นที่ว่างจาก / mount ของคุณโดยลบไฟล์เหมือนที่คุณได้ลองไปแล้ว
  2. เพิ่มพื้นที่ว่างจาก / mount ของคุณด้วยการย้ายไปที่ / home
  3. เพิ่มดิสก์ใหม่ลงในเครื่องของคุณจากนั้นสร้าง PV ใหม่บนมันขยาย VG และ LV ก่อนที่จะปรับขนาดพาร์ติชัน (หมายเหตุ: แก้ไขเพื่ออัปเดตเกี่ยวกับความคิดเห็นของ Ignacio Ignacio)
  4. สมมติว่ามันเป็น VM และคุณสามารถ: ขยายดิสก์แล้วทั้งหมดพื้นฐาน PV, VG, LV ฯลฯ ...

1
"จากนั้นเพิ่มไปยัง PV" หรือค่อนข้างจะสร้าง PV ใหม่บนมัน
Ignacio Vazquez-Abrams

@Ignacio ขอบคุณที่ชี้ให้เห็นแก้ไขโพสต์ของฉัน
Lencell

@Lencell ขอบคุณ ... ฉันลองข้อเสนอแนะของคุณเพียง 1 และ 2 และทำให้มีพื้นที่เพิ่มขึ้น ข้อเสนอแนะ 3 และ 4 นั้นเกินความเข้าใจปัจจุบันของฉันและด้วยเหตุนี้จะไม่ทำเช่นนั้น นอกจากนี้การลบไฟล์ยังมีบางไฟล์ที่ฉันสามารถย้ายไปยังพาร์ติชันที่บ้านได้ซึ่งฉันทำ ปัญหาได้รับการแก้ไขชั่วคราว แต่จะมีการงอกของฟันในไม่ช้า ขอบคุณอีกครั้ง
Apricot
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.