| 網(wǎng)站首頁 | 關(guān)于我們 | 開發(fā)優(yōu)勢 | 產(chǎn)品展示 |
| 合作企業(yè) | 新聞動態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟南軟件開發(fā) 時間:2016年12月20日
注:physical machine redhat6.4,但是虛擬機裝了個redhat 5.5,在vm上面用lsscsi看不到盤,因此覺得虛擬機裝5.5版本太低了,內(nèi)核不能識別,因此裝了個內(nèi)核版本高點兒redhat6.4來確認(rèn)這個問題,發(fā)現(xiàn)能看到盤了,把我所研究學(xué)習(xí)的過程share給各位。
一:修改系統(tǒng)配置的xml文件
具體路徑是在:/etc/libvirt/qemu/guest_os.xml(不要手動修改這個文件,修改了你會發(fā)現(xiàn)用virsh dumpxml guest_os看到的xml文件還是修改以前的)
修改的方式有兩種:
a:添加控制器
隨便找個目錄,touch tmp.xml,然后編輯這個文件,添加以下內(nèi)容:
<?xml version="1.0"?>
<controller index="bruce" model="virtio-scsi" type="scsi"/>
然后寫個小腳本,添加控制器:
# for i in {0..3}
> do
> sed "s/bruce/$i/g" /controller.xml > /con.xml
> virsh attach-device johnny_zeng /con.xml --config
> echo "Begin to attach device $i ..."
> done
Device attached successfully
Begin to attach device 0 ...
Device attached successfully
Begin to attach device 1 ...
Device attached successfully
Begin to attach device 2 ...
Device attached successfully
Begin to attach device 3 ...
b:添加scsi disk
隨便找個目錄,touch tmp.xml,然后編輯這個文件,添加以下內(nèi)容:
<disk type="block" device="lun" sgio="unfiltered">
<driver name="qemu" type="raw" cache="none" />
<source dev="/dev/disk/by-path/pci-0000:08:00.0-fc-0x500009780800a124-lun-20" />
<target dev="sda" bus="scsi" />
<shareable />
<alias name="scsi0-0-0-4" />
<address type="drive" controller="0" bus="0" target="0" unit="5" />
</disk>
以上內(nèi)容按以下方式修改,第一行紅色部分內(nèi)容通過:ls -l /dev/disk/by-path/|grep -v part|grep -i fc 查找,會發(fā)現(xiàn)有很多的san 盤。第二部分的內(nèi)容經(jīng)過測試,發(fā)現(xiàn)只要開頭是vdx,sdx,hdx,至于x的內(nèi)容字母,數(shù)字都可以,但是要保證每次dev屬性值都不一樣。第三個紅線部分內(nèi)容,顧名思義,是一個別名,因此最好是寫成scsi+controller-0-0-id方式。第四處紅色部分表示,第一個為控制器id(在映射多路徑盤的時候需要),第二個為這個盤的id,但是這個控制器的id+盤的id不能與其它盤重合,比如我這個盤加的是控制器1,盤id為1,則表示為1:1,下次不能加同樣的控制器為1,盤id為1的屬性。
修改好了以后,然后virsh attach-device guest_os /tmp.xml --config添加設(shè)備。也可以通過另外一種方式,virsh edit guest_os,然后修改保存,再通過save guest_os /etc/libvirt/qemu/guest_os.xml 保存到系統(tǒng)生效。
如果你要加入幾百個盤的話,這種方式顯然不得行,所以,就要寫腳本啦:我把我的腳本share一下,其實真的很簡單。
在根目錄下面新建了個模板文件bruce.xml:
<disk type="block" device="lun" sgio="unfiltered">
<driver name="qemu" type="raw" cache="none" />
<source dev="/dev/disk/by-path/kenny" />
<target dev="sdyang" bus="scsi" />
<shareable />
<alias name="scsicontrollers-0-0-number" />
<address type="drive" controller="controllers" bus="0" target="0" unit="number" />
</disk>
然后通過以下腳本添加:
#!/bin/sh
controler=0
count=0
ls /dev/disk/by-path/|grep -v part|grep fc|while read line
do
number=`echo $line|cut -d - -f 6`
sed "s/kenny/$line/g" bruce.xml | sed "s/yang/$number$controler/g" |sed "s/controllers/$controler/g"|sed "s/number/$number/g" > /yang.xml
echo "begin to attach device $number to xml file,controler is $controler ..."
virsh attach-device bruce_yang /yang.xml --config
if test $? -eq 1
then
echo "Failed to attach device to xml file ..."
exit 1
fi
count=`expr $count + 1`
if test $count -eq 10
then
count=0
controler=`expr $controler + 1`
fi
done
~
~
因為我知道有十個盤,所以判斷它等于10,計算方法很簡單 ls /dev/disk/by-path/|grep -v part|grep fc|wc -l ,將計算的結(jié)果除以paths,也就是多少條路徑。
二:登錄vm,確認(rèn)scsi盤
# lsscsi
[2:0:0:1] disk EMC SYMMETRIX 5874 /dev/sdd
[2:0:0:4] disk EMC SYMMETRIX 5874 /dev/sde
[2:0:0:5] disk EMC SYMMETRIX 5874 /dev/sdf
[3:0:0:15] disk EMC SYMMETRIX 5874 /dev/sda
[4:0:0:3] disk EMC SYMMETRIX 5874 /dev/sdb
[5:0:0:1] disk EMC SYMMETRIX 5874 /dev/sdc
想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。