การเพิ่มดิสก์ด้วย LVM


26

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

โดยทั่วไปฉันติดตั้ง Ubuntu 14.04 (ผ่าน "แนะนำ - ใช้ทั้งดิสก์และตั้งค่า LVM") บนดิสก์ 20GB ฉันเพิ่มดิสก์ 80GB ที่สะอาดแล้วลงในเครื่องซึ่งตรวจพบว่าเป็น 'sdb'

โดยทั่วไปคำถามของฉันคือฉันต้องการที่จะสามารถเพิ่ม / รวมจำนวนพื้นที่ที่จัดสรรจากดิสก์ใหม่ (80GB) ไปยังเครื่องของฉันดังนั้นแทนที่จะแสดงสองไดรฟ์ (20GB และ 80GB) เพียงแสดงหนึ่งไดรฟ์ (100GB) . ฉันไม่กังวลเกี่ยวกับ RAID หรือส่วนเสริมพิเศษอื่น ๆ

ฉันค่อนข้างใหม่กับ Linux แต่เข้าใจว่าฉันต้องใช้ LVM เพื่อทำสิ่งนี้ให้สำเร็จ

หากมีใครที่สามารถช่วยฉันออกไปหรือเชื่อมโยงฉันกับคำแนะนำที่เป็นประโยชน์ / การสอนมันจะได้รับการชื่นชมอย่างมาก! ไม่แน่ใจว่าจำเป็นหรือไม่ แต่นี่คือผลลัพธ์ 'fdisk -l' และ '/ etc / fstab' ของฉัน:

เอาต์พุต fdisk (สั้นลง):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *       2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/ etc / fstab (สั้นลง):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

คำตอบ:


53

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

เพื่อช่วยคนอื่นที่อาจต้องการทำสิ่งนี้ในบางจุดฉันจะโพสต์สิ่งที่ฉันทำ


ขั้นตอนเหล่านี้สมมติว่าคุณเริ่มต้นจากศูนย์ยกเว้นว่าได้ติดตั้ง Ubuntu ไว้แล้วในเครื่องของคุณ (ผ่าน "Guided - ใช้ทั้งดิสก์และการตั้งค่า LVM") และเพิ่มดิสก์เพิ่มเติมทางกายภาพ ขั้นตอนเหล่านี้อาจใช้งานได้หากคุณมีข้อมูลที่มีอยู่ในเครื่อง แต่ฉันไม่สามารถพูดได้อย่างแน่นอนว่าจะปลอดภัยหรือไม่

คำสั่งเหล่านี้จะถือว่าข้อมูลต่อไปนี้และจะแตกต่างกันไปตามการตั้งค่าของคุณ:

  • ดิสก์ใหม่ของคุณคือ 'sdb'
    • สามารถพบได้โดยการเรียกใช้ ls /dev/sd*
  • ชื่อกลุ่มวอลุ่มของคุณคือ 'ubuntu-vg'
    • สามารถพบได้โดยการเรียกใช้ vgdisplay
  • เส้นทางโลจิคัลวอลุ่มของคุณคือ '/ dev / ubuntu-vg / root'
    • สามารถพบได้โดยการเรียกใช้ lvdisplay
  • ดิสก์ใหม่ของคุณคือ 20GB
    • หวังว่าคุณจะรู้ว่าดิสก์มีขนาดใหญ่แค่ไหน

  1. ติดตั้ง Logical Volume Manager (คุณสามารถหรืออาจไม่จำเป็นต้องทำ)

    sudo apt-get install system-config-lvm
    
  2. แปลงดิสก์ใหม่ของคุณเป็นฟิสิคัลวอลุ่ม (ในกรณีนี้ดิสก์ใหม่คือ 'sdb')

    sudo pvcreate /dev/sdb
    
  3. เพิ่มฟิสิคัลวอลุ่มในกลุ่มวอลุ่มผ่าน 'vgextend'

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. จัดสรรฟิสิคัลวอลุ่มเป็นโลจิคัลวอลุ่ม (ขยายขนาดวอลุ่มตามขนาดดิสก์ใหม่ของคุณ)

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. ปรับขนาดระบบไฟล์บนโลจิคัลวอลุ่มเพื่อใช้พื้นที่เพิ่มเติม

    sudo resize2fs /dev/ubuntu-vg/root
    

ที่ควรทำ ห้าขั้นตอนง่าย ๆ ! คุณไม่ต้องรีบู๊ต เพียงแค่เรียกใช้df -hและพื้นที่ดิสก์ใหม่ของคุณควรแสดงการจัดสรรอย่างถูกต้องรวมถึงเว็บแอพพลิเคชั่นใด ๆ ที่คุณอาจใช้งานอยู่จะรับจำนวนพื้นที่ดิสก์ใหม่


2
คุณสามารถใช้lvextend -l +100%FREEเพื่อขยายเพื่อใช้พื้นที่ว่างทั้งหมดแทนlvextend -L+20G
nathancahill

คุณสามารถใช้cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitionsเพื่อค้นหาชื่อเช่นsdbของไดรฟ์ที่ติดตั้งใหม่
O. Jones

1
สิ่งนี้น่าจะใช้ได้ อย่างไรก็ตามฉันระมัดระวังไม่ให้ใช้ดิสก์ทั้งหมดเป็นโลจิคัลวอลุ่ม แต่ฉันขอแนะนำให้แบ่งพาร์ติชันดิสก์และสร้าง LVM ภายในพาร์ติชั่นหนึ่งตัวหรือมากกว่าบนดิสก์นั้น ขั้นตอนนี้ให้ความยืดหยุ่นในอนาคตหากคุณต้องการหรือต้องการพื้นที่ที่ไม่ใช่ LVM ในอนาคต นอกจากนี้ยังอาจทำงานได้ดีขึ้นหากคุณเรียกใช้เครื่องมือที่ถือว่าดิสก์ทั้งหมดได้รับการแบ่งพาร์ติชัน ฉันรู้ว่าไม่มีตัวอย่างสำคัญของเครื่องมือดังกล่าว แต่คุณไม่เคยรู้เลยว่าสมมติฐานใดที่อาจทำให้เกิดประโยชน์ในยูทิลิตี้แบบสุ่มบางอย่างที่คุณอาจต้องการหรือจำเป็นต้องใช้ในอนาคต
Rod Smith

จากความคิดเห็นของ Rod Smith หมายความว่าคุณต้องรัน fdisk บน / dev / sdb ของคุณก่อนจัดสรรพื้นที่ทั้งหมดเป็นพาร์ติชั่นใหม่ตั้งพาร์ติชั่นเป็น "Linux LVM" (ประเภท 8e) จากนั้นแทนที่ / dev ทั้งหมด / sdb รายการในคำแนะนำของคุณด้วย / dev / sdb1
mtalexan

คู่มือที่ดี ตรวจสอบดิสก์ที่มีอยู่จะทำมากขึ้นอย่างสวยงามด้วยlsblkแม้ว่า การทดสอบบน RHEL7 แม้ว่า
erikbwork

1

ฉันพยายามตั้งค่าดิสก์ LVM ขนาดใหญ่ในเดสก์ท็อป 14.04 64 บิตพร้อมไดรฟ์ SATA 3X500GB มันล้มเหลวระหว่างการติดตั้งโดยมีข้อผิดพลาดของอุปกรณ์ ฉันพบลิงค์ที่ระบุว่าไดรฟ์ที่มีขนาดมากกว่า 256G นั้นเป็นขีด จำกัด ของส่วนขยาย แต่ฉันไม่รู้ว่าจะใช้กับที่นี่หรือไม่

ฉันยังพยายามตั้งค่า RAID (RAID 1 / boot 300MB, RAID 0 swap 2GB และ / RAID 5 ทุกอย่างอื่นความล้มเหลวเพิ่มเติม

$ sudo apt-get install -y mdadm

จากตัวเลือก Live CD "ลอง Ubuntu โดยไม่ต้องติดตั้ง" คุณยังสามารถติดตั้ง MDADM ได้ ยังไม่มีโชค การตรวจสอบ GParted ดูเหมือนว่าจะได้รับการติดตั้งใหม่เล็กน้อยและไม่รับโวลุ่มบางส่วนใน LVM หรือโวลุ่มบางส่วนใน RAID / dev / mdX เว้นแต่ว่าทุกอย่างได้รับระบบไฟล์แล้ว

$ sudo mkfs.etx4 / dev / md2

นอกจากนี้ RAID configs ยังมีความท้าทายมากขึ้นในขณะนี้ ดูเหมือนว่า MDADM จะไม่ถูกเพิ่มลงในรายการแพ็คเกจ / target / usr / sbin ของการติดตั้งใด ๆ เพิ่มเติมและการติดตั้งที่นั่นเพื่อให้การติดตั้งเริ่มต้นเมื่อรีบูตเลยจะเป็นการทดสอบครั้งใหญ่ซึ่งฉันไม่มีเวลาหรือความอดทน เพียงเพื่อจะพบว่าอีกไม่กี่ชั่วโมงของการทำงานในภายหลังก็ยังไม่ได้เริ่มต้นบนเมนบอร์ด Windows 8 ใหม่เหล่านี้แฮ็คประสิทธิภาพการทำงาน (UEFI) สำหรับปัญหาด้วง

การติดตั้ง LVM จาก Ubiquity ใช้งานได้ดีจนกระทั่งคุณต้องเพิ่มดิสก์ลงใน / (พาร์ติชันรากซึ่งเป็นจุดที่คุณมีโอกาสที่ดีมากในการติดตั้งทั้งหมด) การปรับขนาด LVM ทำให้การทำงานล้มเหลวและคุณกลับมาที่จัตุรัส 1 อีกครั้ง .

พยายาม Partman ติดตั้งเซิร์ฟเวอร์ 14.04 บันทึกวัน

บูตเครื่องติดตั้งเซิร์ฟเวอร์ 14.04 มันระบุสถาปัตยกรรมที่ดีติดตั้ง MDADM, ด้วงถูกติดตั้งกับดิสก์ทั้ง 3 ตัวและทุกอย่างใช้งานได้ดี

3 ดิสก์ (500GB SATA)

3 พาร์ติชันแต่ละ พาร์ติชันทั้งหมดตั้งค่าเป็นประเภท Linux Raid ใน fdisk

RAID 1 / boot, พาร์ติชั่น 300MB, RAID 0 swap, พาร์ติชัน 2GB และ RAID 5 /, 500GB (สิ่งที่เหลืออยู่)

$ sudo fdisk -l การ
บูตอุปกรณ์เริ่มต้นบล็อก End System Id
/ dev / sda1 2048 616447 307200 83 Linux
/ dev / sda2 616448 4810751 2097152 83 Linux
/ dev / sda3 4810752 976773167 485981208 fd Linux raid autodetect

อุปกรณ์เริ่มต้น End Block Id System
/ dev / sdc1 * 2048 616447 307200 83 Linux
/ dev / sdc2 616448 4810751 2097152 83 Linux
/ dev / sdc3 4810752 976773167 485981208 fd Linux raid ตรวจจับอัตโนมัติ

อุปกรณ์เริ่มต้น End Block Id System
/ dev / sdb1 2048 616447 307200 83 Linux
/ dev / sdb2 616448 4810751 2097152 83 Linux
/ dev / sdb3 4810752 976773167 485981208 fd Linux raid ตรวจสอบอัตโนมัติ
...

$ sudo ls / dev / md *
/ dev / md0 / dev / md1 / dev / md2

/ dev / md:
0 1 2

$ sudo mdadm -D / dev / md0
/ dev / md0:
รุ่น: 1.2
เวลาในการสร้าง: พุธ 6 สิงหาคม 13:03:01 2014
ระดับการจู่โจม: raid1
ขนาดอาร์เรย์: 306880 (299.74 MiB 314.25 MB)
ขนาด Dev ที่ใช้: 306880 (299.74) MiB 314.25 MB)
อุปกรณ์ Raid: 3
อุปกรณ์ทั้งหมด: 3
Persistence: Superblock ยังคงอยู่

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

อุปกรณ์ที่ใช้งานอยู่: 3 อุปกรณ์ที่ใช้งาน: 3
อุปกรณ์ที่
ล้มเหลว: 0
อุปกรณ์สำรอง: 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

หมายเลข Major Minor RaidDevice State 0 8 1 0 การซิงค์ที่ใช้งาน / dev / sda1 1 8 17 1 การซิงค์ที่ใช้งาน / dev / sdb1 2 8 33 2 ซิงค์ที่ใช้งาน / dev / sdc1

$ sudo mdadm -D / dev / md1 / dev / md1: รุ่น: 1.2 เวลาสร้าง: พุธ 6 ส.ค. 13:03:31 2014 ระดับการจู่โจม: raid0 ขนาดอาร์เรย์: 6289920 (6.00 GiB 6.44 GB) อุปกรณ์ Raid: 3 อุปกรณ์ทั้งหมด: 3 Persistence: Superblock ยังคงอยู่

อัปเดตเวลา: พุธ 6 ส.ค. 13:03:31 2014 รัฐ: ทำความสะอาดอุปกรณ์ที่ใช้งาน: 3 อุปกรณ์ที่ใช้งาน: 3 อุปกรณ์ที่ล้มเหลว: 0 อุปกรณ์อะไหล่: 0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

หมายเลข Major Minor RaidDevice State 0 8 2 0 การซิงค์ที่ใช้งาน / dev / sda2 1 8 18 1 การซิงค์ที่ใช้งาน / dev / sdb2 2 8 34 2 ซิงค์ที่ใช้งาน / dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2: รุ่น: 1.2 เวลาในการสร้าง: พุธ 6 ส.ค. 13:03:50 2014 ระดับการจู่โจม: raid5 ขนาดอาร์เรย์: 971699200 (926.68 GiB 995.02 GB) ขนาด Dev ที่ใช้: 485849600 (463.34) GiB 497.51 GB) อุปกรณ์การโจมตี: 3 อุปกรณ์ทั้งหมด: 3 ความคงทน: Superblock นั้นยังคงอยู่

อัปเดตเวลา: จ. ส.ค. 11 19:54:49 2014 รัฐ: อุปกรณ์ที่ใช้งานอยู่: 3 อุปกรณ์ที่ใช้งาน: 3 อุปกรณ์ที่ล้มเหลว: 0 อุปกรณ์อะไหล่: 0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

หมายเลข Major Minor RaidDevice State 0 8 3 0 การซิงค์ที่ใช้งาน / dev / sda3 1 8 19 1 การซิงค์ที่ใช้งาน / dev / sdb3 3 8 35 2 ซิงค์ที่ใช้งาน / dev / sdc3

$ sudo cat / etc / fstab
'# / etc / fstab: ข้อมูลระบบไฟล์คงที่'
'#'
'# ใช้' blkid 'เพื่อพิมพ์รหัสเฉพาะสากลสำหรับอุปกรณ์'
'# สิ่งนี้อาจใช้กับ UUID = เป็นวิธีที่มีประสิทธิภาพยิ่งขึ้นในการตั้งชื่ออุปกรณ์ '
' # ที่ใช้งานได้แม้ว่าจะมีการเพิ่มและลบดิสก์ ดู fstab (5) '
'#'
'#'
'# / เปิด / dev / md126 ระหว่างการติดตั้ง'
UUID = 2af45208-3763-4cd2-b199-e925e316bab9 / ext4 ข้อผิดพลาด = remount-ro 0 1
'# / บูตอยู่ใน / dev / md125 ระหว่างการติดตั้ง '
UUID = 954e752b-30e2-4725-821a-e143ceaa6ae5 / boot ค่าเริ่มต้น ext4 0 2
'
UUID = fb81179a-6d2d-450d-8d19-3cb3bde4d28a ไม่มีการสลับ sw 0 0

ทำงานเหมือนสายเลือดตอนนี้

มันเกิดขึ้นกับฉันว่าถ้าคุณใช้ฮาร์ดแวร์แบบ 32 บิตสิ่งนี้ไม่ได้ผลสำหรับคุณ แต่ฉันคิดว่า ณ จุดนี้ soft RAID อาจเป็นทางเลือกที่เลวร้ายยิ่งกว่า LVM ดิสก์เดี่ยวสำหรับอะไรที่เล็กกว่าและ JBOD สำหรับสิ่งที่เก่ากว่านี้ .

ขอบคุณ


พาร์ทแมนช่วยชีวิตทั้งวัน บูตเครื่องติดตั้งเซิร์ฟเวอร์ 14.04 มันระบุสถาปัตยกรรมได้ดีติดตั้ง MDADM และทุกอย่างใช้งานได้ดี นี่คือบทสรุปของการตั้งค่าในกรณีที่มันมีประโยชน์;
spyderdyne

1

เทคนิคนี้ใช้งานได้กับฉันบนหลัก 128GB SSD และส่วนขยาย HDD 2TB
หากคุณพบปัญหาโดยใช้ "ubuntu-vg" เมื่อเพิ่มฟิสิคัลวอลุ่มในกลุ่มวอลุ่มให้ลองใช้คำสั่ง

sudo vgdisplay 

โดยทั่วไปรูปแบบของชื่อของกลุ่มวอลุ่มคือNAME_OF_COMPUTER-vgดังนั้นหากระบบSKYNETของคุณตั้งชื่อกลุ่มวอลุ่มของคุณน่าจะตั้งชื่อ

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