VMware : เพิ่ม Disk ให้ Linux Guest

Supphachoke Suntiwichaya
2 min readSep 15, 2017

--

พี่ Kamthorn แจ้งมาว่าทาง VMware admin ได้ทำการเพิ่ม disk ใหม่ให้เรียบร้อยแล้ว ถ้าเครื่องว่างเมื่อไหร่ให้ reboot จะได้ขยาย lvm ให้ ระหว่างการเดินทางกลับจากขอนแก่นก็นั่งนึกว่ามีอะไรที่ยังไม่ได้ทำ auto start ไว้บ้าง เพราะถ้า boot มาแล้วเครื่องทำงานไม่ได้ละยุ่งเพราะต้อง run hadoop ต่อเนื่องทุกวันด้วย

พอมาถึงห้องเกือบนอนแล้วเชียวนึกได้ว่าต้องจัดการ disk ก่อนเลย ssh เข้าไปดูพบว่า hadoop ยังทำงานไม่จบอีก เลยค้นหาดูว่าทำยังไงให้ linux มองเห็น disk ใหม่โดยไม่ต้อง reboot ก็พบว่ามีคนแนะนำวิธีไว้ดูแล้วไม่ยากและไม่ค่อยเสี่ยงเลยทำตาม และ มันก็ได้ผลครับ zero downtime แบบ เครื่องก็ยังคงรันงานอยู่แบบชิลๆ

ขั้นแรกตรวจดูว่าเครื่องเรามี scsi host กี่ตัว

root@hadoop1:~# dmesg |grep -i scsi[    0.541248] SCSI subsystem initialized
[ 1.494175] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 1.610982] scsi host0: ata_piix
[ 1.611357] scsi host1: ata_piix
[ 1.802389] scsi 1:0:0:0: CD-ROM NECVMWar VMware IDE CDR10 1.00 PQ: 0 ANSI: 5
[ 1.803367] sr 1:0:0:0: [sr0] scsi3-mmc drive: 1x/1x writer dvd-ram cd/rw xa/form2 cdda tray
[ 1.803960] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 1.804082] sr 1:0:0:0: Attached scsi generic sg0 type 5
[ 2.174618] scsi host2: ioc0: LSI53C1030 B0, FwRev=01032920h, Ports=1, MaxQ=128, IRQ=17
[ 2.285876] scsi 2:0:0:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2
[ 2.286151] scsi target2:0:0: Beginning Domain Validation
[ 2.286942] scsi target2:0:0: Domain Validation skipping write tests
[ 2.286944] scsi target2:0:0: Ending Domain Validation
[ 2.286974] scsi target2:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
[ 2.310616] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 2.316671] sd 2:0:0:0: [sda] Attached SCSI disk
[ 4.891766] Loading iSCSI transport class v2.0-870.

จะเห็นว่า

  • host1 เป็น CD-ROM sr0
  • host2 เป็น VMware Virtual disk

โดยตัว host2 มี sd 2:0:0:0 [sda] เป็น sr1 คือตัว disk ที่ใช้อยู่ ก็น่าจะเพิ่มมาบน host2 นี่แหละ

ให้สั่งทำการ scan ตัว host2 ใหม่ครับ

echo "- - -" > /sys/class/scsi_host/host2/scan

โดย - ตัวแรกคือ Chanel ตัวที่สอง คือ target และ ตัวสุดท้ายคือ lun คือสั่ง scan ทุกๆ chanel ทุกๆ target และ ทุกๆ lun เมื่อสั่งเรียบร้อยแล้วให้ลอง check dmesg

root@hadoop1:~# dmesg |grep -i scsi
[12259735.529227] scsi 2:0:1:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2
[12259735.529253] scsi target2:0:1: Beginning Domain Validation
[12259735.529894] scsi target2:0:1: Domain Validation skipping write tests
[12259735.529897] scsi target2:0:1: Ending Domain Validation
[12259735.529934] scsi target2:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
[12259735.531054] sd 2:0:1:0: Attached scsi generic sg2 type 0
[12259735.555324] sd 2:0:1:0: [sdb] Attached SCSI disk

ถ้าเค้าเสียบมา host2 ก็จะได้ดังตัวอย่างคือ sd 2:0:1:0 [sdb] sg2

คราวนี้ก็ส่งต่อให้พี่ต้นขยาย lvm ต่อโย้ววว

--

--

No responses yet