首頁 > 軟體

Linux 6上使用UDEV系結共用儲存

2020-06-16 18:02:59

1.硬碟的檢視方式;
2.獲得硬碟SCSI(Small Computer System Interface)ID;
3.係結共用儲存;
4.係結共用儲存的指令碼;

1.硬碟的檢視方式:

[root@cl6-11gr2-rac1 ~]# ls -ltr /dev/sd*
brw-rw----. 1 root disk 8, 48 8月  16 13:34 /dev/sdd
brw-rw----. 1 root disk 8, 16 8月  16 13:34 /dev/sdb
brw-rw----. 1 root disk 8, 32 8月  16 13:34 /dev/sdc
brw-rw----. 1 root disk 8, 80 8月  16 13:34 /dev/sdf
brw-rw----. 1 root disk 8, 64 8月  16 13:34 /dev/sde
brw-rw----. 1 root disk 8,  0 8月  16 13:34 /dev/sda
brw-rw----. 1 root disk 8,  4 8月  16 13:34 /dev/sda4
brw-rw----. 1 root disk 8,  8 8月  16 13:34 /dev/sda8
brw-rw----. 1 root disk 8,  9 8月  16 13:34 /dev/sda9
brw-rw----. 1 root disk 8,  1 8月  16 13:34 /dev/sda1
brw-rw----. 1 root disk 8,  6 8月  16 13:34 /dev/sda6
brw-rw----. 1 root disk 8,  3 8月  16 13:34 /dev/sda3
brw-rw----. 1 root disk 8,  2 8月  16 13:34 /dev/sda2
brw-rw----. 1 root disk 8,  7 8月  16 13:34 /dev/sda7
brw-rw----. 1 root disk 8,  5 8月  16 13:34 /dev/sda5

sda 代表本地硬碟,sda1,2,3,6..代表本地硬碟上的分割區,sdb..f 代表非本地硬碟,具體硬碟分割區是否掛載到系統中,可以使用df 命令查詢:

[root@cl6-11gr2-rac1 ~]# df -hT
Filesystem    Type  Size  Used Avail Use% Mounted on
/dev/sda9      ext4    62G  551M  58G  1% /
tmpfs          tmpfs  499M    0  499M  0% /dev/shm
/dev/sda1      ext4  291M  56M  220M  21% /boot
/dev/sda6      ext4  5.1G  139M  4.7G  3% /home
/dev/sda3      ext4  5.1G  161M  4.7G  4% /opt
/dev/sda2      ext4    15G  2.9G  12G  21% /usr
/dev/sda7      ext4  5.1G  139M  4.7G  3% /usr/local
/dev/sda5      ext4  5.1G  611M  4.2G  13% /var

 

2.獲得硬碟SCSI(Small Computer System Interface)ID:
SCSI 是一種標準的計算機和外圍裝置之間的物理連線和傳輸資料,SCSI 定義標準的命令、協定和電氣光學介面用於硬碟和磁帶裝置,設定共用儲存時需要通過SCSI ID系結裝置到系統中,以下操作獲取我本機中共用儲存的SCSI ID:

 

[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
1ATA_VBOX_HARDDISK_VBf1082ced-38c590fb
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
1ATA_VBOX_HARDDISK_VBcb889b15-45566527
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
1ATA_VBOX_HARDDISK_VB91e00a0b-5bc96a2b
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sde
1ATA_VBOX_HARDDISK_VBe9eca0fb-a99c152d
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdf
1ATA_VBOX_HARDDISK_VB414d8bfa-0256c987

 

3.係結共用儲存:
建立 rules 檔案(注意格式)/etc/udev/rules.d/99-Oracle-asmdevices.rules,每一個條目對應一個磁碟裝置,PROGRAM 定義UDEV裝置名稱;NAME 定義UDEV裝置連結名稱,該名稱將在/dev/目錄下顯示;RESULT 定義裝置的SCSI ID;OWNER 定義裝置的所有者;GROUP 定義裝置所有者的使用者組:

 

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBf1082ced-38c590fb",NAME="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBcb889b15-45566527",NAME="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="//sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB91e00a0b-5bc96a2b",NAME="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBe9eca0fb-a99c152d",NAME="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB414d8bfa-0256c987",NAME="asm-diskf",OWNER="grid",GROUP="asmadmin",MODE="0660"

 

重新啟動UDEV:

[root@cl6-11gr2-rac2 ~]# /sbin/start_udev

檢視系結後的共用儲存:

[root@cl6-11gr2-rac2 ~]# ls -ltr /dev/asm*
brw-rw----. 1 grid asmadmin 8, 32 8月  17 15:27 /dev/asm-diskc
brw-rw----. 1 grid asmadmin 8, 16 8月  17 15:27 /dev/asm-diskb
brw-rw----. 1 grid asmadmin 8, 48 8月  17 15:27 /dev/asm-diskd

4.係結共用儲存的指令碼:
以上是系結共用儲存的過程,目的是了解如何做,如果設定完成後沒有檢視到共用儲存,請仔細檢查設定,任何設定出錯都會導致UDEV啟動失敗;以下指令碼是自動設定共用儲存的指令碼,
使用時根據實際情況修改:

for i in b c d e f g ;
do
echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""  >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done;

例如:只有/dev/sdc,/dev/sdd 時,將指令碼 for i in b c d e f g 修改為 for i in c d 即可;
最後重新啟動UDEV:

[root@cl6-11gr2-rac2 ~]# /sbin/start_udev

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-04/115820.htm


IT145.com E-mail:sddin#qq.com