測試環境
本機測試環境centos 7 ,vmware workstation 15添加磁盤4個共享磁盤,搭建oracle19c rac
如果是虛擬機,要編輯vmx文件加入disk.EnableUUID =“TRUE” 否則無法查到磁盤的uuid,也就無法在配置文件中綁定。
單路徑下配置的兩種方法
1 uedv
分區初始化
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdb
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdc
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdd
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sde
udev映射
for i in b c d e ;
do
echo "KERNEL==\"sd?1\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$parent\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
將上面生成的內容添加到如下文件里面
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
(也可不分區)
for i in b c d e ;
do
echo "KERNEL==\"sd?\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
--udevadm配置重載生效:
udevadm control --reload
udevadm trigger
或者
/sbin/udevadm trigger --type=devices --action=change
--確認udev綁定成功,已生成綁定后的設備:
ls -ltr /dev/asm-disk*
--再將/etc/udev/rules.d/99-oracle-asmdevices.rules拷貝到另一節點,並執行使其生效。
partprobe /dev/sdb
partprobe /dev/sdc
partprobe /dev/sdd
partprobe /dev/sde
或
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdb
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdc
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sdd
echo -e "n\np\n1\n\n\nw" | fdisk /dev/sde
-udevadm配置重載生效:
udevadm control --reload
udevadm trigger
確認udev已綁定成功:
ll /dev/asm*
如果沒生效,請檢查兩個磁盤uuid是否一致
2 asmlib創建
asmlib是oracle提供的軟件,需要下載安裝asm的三個rpm軟件包
yum install kmod-oracleasm
rpm -ivh oracleasmlib-2.0.12-1.el6.x86_64.rpm
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm
oracleasm configure -i
oracleasm configure
oracleasm init
虛擬機2
注:如果已開啟則重啟
Root用戶:
# oracleasm configure -I
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@rac2 ~]# oracleasm listdisks
[root@rac2 ~]# oracleasm init
init 6
多路徑配置
lsblk
取得DM_UUID
/usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpatha
cd /dev/mapper
for i in `ls mpath*`;
do printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/$i |grep -i dm_uuid)";
done
生成rules文件
vim /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36e483261006449fa07e5eab800000005",SYMLINK+="asm_crs1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36e483261006449fa07e613a500000006",SYMLINK+="asm_crs2",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36e483261006449fa07e6234100000007",SYMLINK+="asm_crs3",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36e483261006449fa07e650a100000008",SYMLINK+="asm_data",OWNER="grid",GROUP="asmadmin",MODE="0660"
重新加載udev
udevadm control --reload-rules
udevadm trigger
查看磁盤
ll /dev/asm*
將rules文件復制到另外一節點,重新加載udev生效