ย้ายโลจิคัลวอลุ่มไปที่ฟิสิคัลดิสก์ใหม่


14

ฉันมีโลจิคัลวอลุ่มสามตัวในกลุ่มวอลุ่มเดียวโดยใช้ฟิสิคัลวอลุ่มเดียว (ทั้งดิสก์ที่มีอยู่ / dev / sda)

ตอนนี้ฉันต้องการย้ายโลจิคัลวอลุ่มหนึ่งไปยังดิสก์ใหม่ที่เร็วกว่านั่นคือไปจาก:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

ถึง:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

จากสิ่งที่ฉันเข้าใจฉันไม่สามารถใช้pvmoveหรือvgsplitเพราะมีฟิสิคัลวอลุ่มเดียวในกลุ่มวอลุ่มที่มีอยู่

อะไรคือวิธีที่ดีในการบรรลุเป้าหมายนี้ (โดยเฉพาะอย่างยิ่งออนไลน์การสร้างกลุ่มวอลุ่มใหม่สำหรับดิสก์ใหม่ไม่ใช่ข้อกำหนด)


ฉันตรวจสอบคำถามที่คล้ายกันหลายข้อ แต่เท่าที่ฉันเข้าใจผู้ที่ไม่อธิบายสถานการณ์ของฉัน คำถามโบนัส: การใช้ทั้งดิสก์เป็นฟิสิคัลวอลุ่มเป็นแนวคิดที่ไม่ดีต่อกันหรือไม่? ดูเหมือนว่าการตัดสินใจครั้งนี้จะแก้ปัญหาได้ยากขึ้นในกรณีของฉัน
htorque

2
คุณมีเหตุผลใดที่คุณไม่ต้องการเพิ่มฟิสิคัลดิสก์ใหม่เป็นฟิสิคัลวอลุ่มในกลุ่มวอลุ่มที่มีอยู่หรือไม่?
Ulrich Schwarz

ไม่ใช่เลย. หากทำให้สิ่งต่าง ๆ ง่ายขึ้นดิสก์ใหม่ก็สามารถเป็นส่วนหนึ่งของ vg0 ได้เช่นกัน
htorque

คำตอบ:


21

โซลูชันกลุ่มวอลุ่มหนึ่ง:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

โซลูชันกลุ่มวอลุ่มสอง:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

ตอนนี้เป็นส่วนที่ยากกิจกรรมทั้งหมดต้องหยุด/bar:

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

ที่ไหน

  • pvcreate ลบข้อมูลทั้งหมดบนดิสก์ (และเตรียมการสำหรับ LVM)
  • lvcreate ในการสร้างโลจิคัลวอลุ่ม lvol1 คุณต้องระบุชื่อ lv ด้วย -n bar
  • ฉันใช้ไวยากรณ์ HP-UX สำหรับ lv คุณอาจต้องใช้/dev/mapper/myvg-mylvไวยากรณ์

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

  • คุณสามารถลบเก่าได้อย่างปลอดภัย /bar
  • แก้ไข/etc/fstabเพื่อใช้ใหม่/bar

ว้าวฉันดูเหมือนว่าผิดpvmoveหน้า man ทั้งหมด ในกรณีนี้ฉันจะเห็นได้ชัดว่าสำหรับโซลูชันกลุ่มวอลุ่มหนึ่ง :)
htorque

ที่จริงแล้วสามารถใช้vgsplitหลังจากpvmoveเพื่อให้บรรลุโซลูชันกลุ่มวอลุ่มสองได้ง่ายขึ้นเล็กน้อย (อย่างไรก็ตามโลจิคัลวอลุ่มยังคงต้องถูกปิดใช้งานโดยใช้lvchange)
htorque

1
ประโยชน์ของ "pvmove" เป็นเหตุผลที่ดีมากในการใช้ VG เดี่ยวแทนที่จะใช้ VG หลายตัว
tgharold

1
ดูเหมือนว่าvgreduceสามารถใช้เพื่อลบโวลุ่มเดิมได้ถ้านั่นเป็นข้อกำหนด (ไม่ใช่สำหรับคำถามเฉพาะ แต่คำถามที่ถามเกี่ยวกับการย้ายโวลุ่มทั้งหมดน่าจะมีการทำเครื่องหมายซ้ำกัน)
Gert van den Berg

ประสบการณ์ปัจจุบันของฉันคือในโซลูชัน vg เดี่ยวpvmoveต้องการ-nแฟล็กเพื่อระบุโลจิคัลวอลุ่ม หรือPhysical volume /dev/vg0/bar not found Run `pvmove --help' for more information.ข้อความแจ้งข้อผิดพลาด หน้าคนพูดเหมือนกัน ฉันขอใส่ไว้ในโพสต์ได้ไหม
peterh - Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.