ค้นหาเว็บไซต์

การย้ายพาร์ติชัน LVM ไปยังโลจิคัลวอลุ่มใหม่ (ไดรฟ์) - ส่วนที่ VI


นี่เป็นส่วนที่ 6 ของซีรีส์ Logical Volume Management ที่กำลังดำเนินอยู่ของเรา ในบทความนี้ เราจะแสดงวิธีโยกย้ายโลจิคัลวอลุ่มที่มีอยู่ไปยังไดรฟ์ใหม่อื่นๆ โดยไม่ต้องหยุดทำงาน ก่อนที่จะไปไกลกว่านี้ ฉันอยากจะอธิบายให้คุณทราบเกี่ยวกับ LVM Migration และคุณลักษณะต่างๆ ของมัน

การโยกย้าย LVM คืออะไร

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

คุณสมบัติของการโยกย้าย

  1. การย้ายโลจิคัลวอลุ่มจากดิสก์หนึ่งไปยังดิสก์อื่น
  2. เราสามารถใช้ดิสก์ประเภทใดก็ได้เช่น SATA, SSD, SAS, SAN storage iSCSI หรือ FC
  3. ย้ายดิสก์โดยไม่สูญเสียข้อมูลและหยุดทำงาน

ใน LVM Migration เราจะสลับทุกวอลุ่ม ระบบไฟล์ และข้อมูลในที่จัดเก็บข้อมูลที่มีอยู่ ตัวอย่างเช่น หากเรามีโลจิคัลวอลุ่มตัวเดียว ซึ่งได้รับการแมปกับฟิสิคัลวอลุ่มตัวใดตัวหนึ่ง ฟิสิคัลวอลุ่มนั้นก็จะเป็นฮาร์ดไดรฟ์ฟิสิคัล

ตอนนี้หากเราต้องอัพเกรดเซิร์ฟเวอร์ของเราด้วยฮาร์ดไดรฟ์ SSD ตอนแรกเราคิดอย่างไร? ฟอร์แมตดิสก์ใหม่หรือไม่? เลขที่! เราไม่จำเป็นต้องฟอร์แมตเซิร์ฟเวอร์ใหม่ LVM มีตัวเลือกในการโยกย้ายไดรฟ์ SATA เก่าเหล่านั้นด้วยไดรฟ์ SSD ใหม่ การโยกย้ายแบบสดจะรองรับดิสก์ทุกประเภท ไม่ว่าจะเป็นไดรฟ์ในเครื่อง, SAN หรือ Fibre Channel เช่นกัน

ความต้องการ

  1. การสร้างพื้นที่จัดเก็บดิสก์ที่ยืดหยุ่นด้วยการจัดการโลจิคัลวอลุ่ม – ส่วนที่ 1
  2. วิธีขยาย/ลด LVM ใน Linux - ตอนที่ 2

มีสองวิธีในการย้ายพาร์ติชัน LVM (ที่เก็บข้อมูล) วิธีแรกใช้วิธี การมิเรอร์ และวิธีอื่นโดยใช้คำสั่ง pvmove เพื่อจุดประสงค์ในการสาธิต ฉันใช้ Centos6.5 แต่คำแนะนำเดียวกันนี้สามารถรองรับ RHEL, Fedora, Oracle Linux และ Scientific Linux ได้ด้วย

การตั้งค่าเซิร์ฟเวอร์ของฉัน
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.224
System Hostname	 :	lvmmig.tecmintlocal.com

ขั้นตอนที่ 1: ตรวจสอบไดรฟ์ปัจจุบัน

1. สมมติว่าเรามีไดรฟ์เสมือนชื่อ “vdb“ อยู่แล้ว ซึ่งแมปกับหนึ่งในโลจิคัลวอลุ่ม “tecmint_lv“ ตอนนี้เราต้องการย้ายไดรฟ์โลจิคัลวอลุ่ม “vdb” นี้ไปยังพื้นที่จัดเก็บข้อมูลใหม่อื่น ก่อนที่จะดำเนินการต่อไป ก่อนอื่นให้ตรวจสอบชื่อไดรฟ์เสมือนและโลจิคัลวอลุ่มด้วยความช่วยเหลือของคำสั่ง fdisk และ lvs ตามที่แสดง

fdisk -l | grep vd
lvs

ขั้นตอนที่ 2: ตรวจสอบไดรฟ์ที่เพิ่มใหม่

2. เมื่อเรายืนยันไดรฟ์ที่มีอยู่แล้ว ตอนนี้ก็ถึงเวลาที่จะแนบไดรฟ์ SSD ใหม่เข้ากับระบบและตรวจสอบไดรฟ์ที่เพิ่มใหม่ด้วยความช่วยเหลือของคำสั่ง fdisk

fdisk -l | grep dev

หมายเหตุ: คุณเห็นในหน้าจอด้านบนหรือไม่ว่าไดรฟ์ใหม่ได้รับการเพิ่มเรียบร้อยแล้วโดยใช้ชื่อ “/dev/sda

ขั้นตอนที่ 3: ตรวจสอบวอลุ่มลอจิคัลและฟิสิคัลปัจจุบัน

3. ตอนนี้ ก้าวไปข้างหน้าเพื่อสร้างฟิสิคัลวอลุ่ม กลุ่มวอลุ่ม และโลจิคัลวอลุ่มสำหรับการย้าย ก่อนที่จะสร้างวอลุ่ม ตรวจสอบให้แน่ใจว่าได้ตรวจสอบข้อมูลโลจิคัลวอลุ่มปัจจุบันภายใต้จุดเมานท์ /mnt/lvm ใช้คำสั่งต่อไปนี้เพื่อแสดงรายการการเมาต์และตรวจสอบข้อมูล

df -h
cd /mnt/lvm
cat tecmint.txt

หมายเหตุ: เพื่อวัตถุประสงค์ในการสาธิต เราได้สร้างไฟล์สองไฟล์ภายใต้จุดเมานท์ /mnt/lvm และเราย้ายข้อมูลเหล่านี้ไปยังไฟล์ใหม่ ขับรถโดยไม่ต้องหยุดทำงาน

4. ก่อนที่จะย้าย ตรวจสอบให้แน่ใจว่าได้ยืนยันชื่อของโลจิคัลวอลุ่มและกลุ่มวอลุ่มที่เกี่ยวข้องกับฟิสิคัลวอลุ่ม และยังยืนยันด้วยว่าฟิสิคัลวอลุ่มใดที่ใช้ในการเก็บกลุ่มวอลุ่มนี้และโลจิคัลวอลุ่ม

lvs
vgs -o+devices | grep tecmint_vg

หมายเหตุ: คุณเห็นในหน้าจอด้านบนหรือไม่ว่า “vdb” เก็บกลุ่มวอลุ่ม tecmint_vg

ขั้นตอนที่ 4: สร้างฟิสิคัลวอลุ่มใหม่

5. ก่อนที่จะสร้างฟิสิคัลวอลุ่มในไดรฟ์ SSD ที่เพิ่มใหม่ของเรา เราจำเป็นต้องกำหนดพาร์ติชันโดยใช้ fdisk อย่าลืมเปลี่ยน Type เป็น LVM(8e) ขณะสร้างพาร์ติชัน

pvcreate /dev/sda1 -v
pvs

6. ถัดไป เพิ่มฟิสิคัลวอลุ่มที่สร้างขึ้นใหม่ให้กับกลุ่มวอลุ่มที่มีอยู่ tecmint_vg โดยใช้คำสั่ง 'vgextend'

vgextend tecmint_vg /dev/sda1
vgs

7. หากต้องการรับรายการข้อมูลทั้งหมดเกี่ยวกับกลุ่มวอลุ่ม ให้ใช้คำสั่ง 'vgdisplay'

vgdisplay tecmint_vg -v

หมายเหตุ: ในหน้าจอด้านบน เราจะเห็นได้ในตอนท้ายของผลลัพธ์เมื่อ PV ของเราได้เพิ่มไปยังกลุ่มวอลุ่ม

8. หากในกรณีนี้ เราจำเป็นต้องทราบข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่ถูกแมป ให้ใช้คำสั่งการพึ่งพา 'dmsetup'

lvs -o+devices
dmsetup deps /dev/tecmint_vg/tecmint_lv

ในผลลัพธ์ข้างต้น มีการขึ้นต่อกัน 1 (PV) หรือ (ไดรฟ์) และที่นี่ 17 ถูกระบุไว้ หากคุณต้องการยืนยัน ให้ตรวจดูอุปกรณ์ซึ่งมีไดรฟ์หลักและรองติดอยู่

ls -l /dev | grep vd

หมายเหตุ: ในคำสั่งข้างต้น เราจะเห็นว่าจำนวนหลักที่มี 252 และจำนวนรอง 17 มีความเกี่ยวข้องกัน เป็น vdb1 หวังว่าคุณจะเข้าใจจากเอาต์พุตคำสั่งด้านบน

ขั้นตอนที่ 5: วิธีการมิเรอร์ LVM

9. ตอนนี้ถึงเวลาต้องทำการย้ายโดยใช้วิธีการมิเรอร์ ใช้คำสั่ง 'lvconvert' เพื่อย้ายข้อมูลจากโลจิคัลวอลุ่มเก่าไปยังไดรฟ์ใหม่

lvconvert -m 1 /dev/tecmint_vg/tecmint_lv /dev/sda1
  1. -m=กระจกเงา
  2. 1=เพิ่มกระจกบานเดียว

หมายเหตุ: กระบวนการย้ายข้อมูลข้างต้นจะใช้เวลานานตามขนาดวอลุ่มของเรา

10. เมื่อกระบวนการย้ายเสร็จสิ้น ให้ตรวจสอบมิเรอร์ที่แปลงแล้ว

lvs -o+devices

11. เมื่อคุณแน่ใจว่ามิเรอร์ที่แปลงแล้วนั้นสมบูรณ์แบบ คุณสามารถลบดิสก์เสมือนเก่า vdb1 ได้ ตัวเลือก -m จะลบมิเรอร์ ก่อนหน้านี้เราใช้ 1 ในการเพิ่มมิเรอร์

lvconvert -m 0 /dev/tecmint_vg/tecmint_lv /dev/vdb1

12. เมื่อดิสก์เสมือนเก่าถูกลบออก คุณสามารถตรวจสอบอุปกรณ์อีกครั้งเพื่อดูโลจิคัลวอลุ่มได้โดยใช้คำสั่งต่อไปนี้

lvs -o+devices
dmsetup deps /dev/tecmint_vg/tecmint_lv
ls -l /dev | grep sd

ในภาพด้านบน คุณเห็นหรือไม่ว่าโลจิคัลวอลุ่มของเราตอนนี้ขึ้นอยู่กับ 8,1 และมี sda1 นี่แสดงว่ากระบวนการย้ายข้อมูลของเราเสร็จสิ้นแล้ว

13. ตอนนี้ให้ตรวจสอบไฟล์ที่เราย้ายจากไดรฟ์เก่าไปยังไดรฟ์ใหม่ หากมีข้อมูลเดียวกันในไดรฟ์ใหม่ นั่นหมายความว่าเราได้ทำทุกขั้นตอนอย่างสมบูรณ์แบบ

cd /mnt/lvm/
cat tecmin.txt 

14. หลังจากสร้างทุกอย่างเรียบร้อยแล้ว ตอนนี้ก็ถึงเวลาที่จะลบ vdb1 ออกจากกลุ่มวอลุ่มและยืนยันในภายหลังว่าอุปกรณ์ใดขึ้นอยู่กับกลุ่มวอลุ่มของเรา

vgreduce /dev/tecmint_vg /dev/vdb1
vgs -o+devices

15. หลังจากลบ vdb1 ออกจากกลุ่มวอลุ่ม tecmint_vg แล้ว โลจิคัลวอลุ่มของเราก็ยังคงอยู่ตรงนั้น เนื่องจากเราได้ย้ายไปยัง sda1 จาก vdb1 .

lvs

ขั้นตอนที่ 6: วิธีการมิเรอร์ LVM pvmove

16. แทนที่จะใช้คำสั่งมิเรอร์ 'lvconvert' เราใช้คำสั่ง 'pvmove' ที่นี่พร้อมตัวเลือก '-n ' (ชื่อโลจิคัลวอลุ่ม) เพื่อมิเรอร์ข้อมูลระหว่างอุปกรณ์ทั้งสอง

pvmove -n /dev/tecmint_vg/tecmint_lv /dev/vdb1 /dev/sda1

คำสั่งเป็นหนึ่งในวิธีที่ง่ายที่สุดในการมิเรอร์ข้อมูลระหว่างอุปกรณ์สองเครื่อง แต่ในสภาพแวดล้อมจริง การมิเรอร์ ถูกใช้บ่อยกว่า pvmove

บทสรุป

ในบทความนี้ เราได้เห็นวิธีการโยกย้ายโลจิคัลวอลุ่มจากไดรฟ์หนึ่งไปยังอีกไดรฟ์หนึ่งแล้ว หวังว่าคุณจะได้เรียนรู้เทคนิคใหม่ๆ ในการจัดการโลจิคัลวอลุ่ม สำหรับการตั้งค่าดังกล่าว เราควรทราบเกี่ยวกับพื้นฐานของการจัดการโลจิคัลวอลุ่ม สำหรับการตั้งค่าพื้นฐาน โปรดดูลิงก์ที่ให้ไว้ด้านบนของบทความในส่วนข้อกำหนด