利用UDEV SCSI Rules配置linux下的ASM
使用oracle的ASM(Automatic Storage Manager),針對磁盤設備來說要有正確的權限和擁有者和擁有組來,oracle官方提供了asmlib包來處理,簡潔而方便;
linux 文件描述符、但在針對SCIS盤時,可利用linux的udev規則來做,通過一些資料的查詢,簡單說明一下udev做的步驟
udev規則的配置文件在/etc/udev/rules.d下面,進行編寫格式為xxxx.rules文件名,其規則如下
KERNEL==”sda*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_”, NAME=”asm-disk5″, OWNER=”grid”, GROUP=”oinstall”, MODE=”0660″
CURLOPT_HEADER、在我的機器環境里指定設備為sda開頭一些分區來做我的asm盤,
利用scsi_id -g -u -s /block/sda 來獲取uuid放到result()
指定remap成asm盤的盤符及擁有者和組及權限
hdfs put?獲得uuid方式:
[root@trsen dev]# /sbin/scsi_id -g -u -s /block/sda
SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_
vim diff,[root@trsen dev]# /sbin/scsi_id -g -u -s /block/sda/sda5
SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_
[root@trsen dev]# /sbin/scsi_id -g -u -s /block/sda/sda6
linux、SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_
[root@trsen dev]# /sbin/scsi_id -g -u -s /block/sda/sda7
SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_
注意:因我這里是同一塊盤,從其sda可以看出所以其uuid是一樣的
若上述命令沒有結果,可能需要
[root@trsen dev]# /sbin/scsi_id -g -u -d /dev/sda
[root@trsen dev]# /sbin/scsi_id -g -u -d /dev/sda5
如果都沒有效果的話請參考http://www.trsenzhangdb.com/?p=204
利用fdisk進行分區(測試環境),生產中當然是掛盤了
加載更新block設備分區表
/sbin/partprobe /dev/sda5
/sbin/partprobe /dev/sda6
/sbin/partprobe /dev/sda7
創建udev規則文件如下
[root@trsen dev]# more /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL==”sda5*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_”, NAME=”asm-disk5″, OWNE
R=”grid”, GROUP=”oinstall”, MODE=”0660″
KERNEL==”sda6*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_”, NAME=”asm-disk6″, OWNE
R=”grid”, GROUP=”oinstall”, MODE=”0660″
KERNEL==”sda7*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”, RESULT==”SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_”, NAME=”asm-disk7″, OWNE
R=”grid”, GROUP=”oinstall”, MODE=”0660
利用udevtest命令來模擬產生設備文件的對應信息,看生成的信息是否有問題
[root@trsen dev]# udevtest /block/sda/sda5
main: looking at device ‘/block/sda/sda5’ from subsystem ‘block’
udev_rules_get_name: add symlink ‘disk/by-id/scsi-SATA_VBOX_HARDDISK_VB46cb19cd-a2384742-part5’
udev_rules_get_name: add symlink ‘disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part5’
run_program: ‘/lib/udev/vol_id –export /dev/.tmp-8-5’
run_program: ‘/lib/udev/vol_id’ returned with status 4
run_program: ‘/sbin/scsi_id -g -u -d /dev/sda’
run_program: ‘/sbin/scsi_id’ (stdout) ‘SATA_VBOX_HARDDISK_VB46cb19cd-a2384742_’
run_program: ‘/sbin/scsi_id’ returned with status 0
udev_rules_get_name: rule applied, ‘sda5’ becomes ‘asm-disk5’
udev_device_event: device ‘/block/sda/sda5’ already in database, validate currently present symlinks
udev_node_add: creating device node ‘/dev/asm-disk5’, major = ‘8’, minor = ‘5’, mode = ‘0660’, uid = ‘500’, gid = ‘6000’
udev_node_add: creating symlink ‘/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB46cb19cd-a2384742-part5’ to ‘../../asm-disk5’
udev_node_add: creating symlink ‘/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part5’ to ‘../../asm-disk5’
udev_node_remove_symlinks: removing symlink ‘/dev/disk/by-uuid/9c3bfe85-862e-4783-866e-6911e7b9fcfb’
main: run: ‘socket:/org/kernel/udev/monitor’
main: run: ‘/lib/udev/udev_run_devd’
main: run: ‘socket:/org/freedesktop/hal/udev_event’
main: run: ‘/sbin/pam_console_apply /dev/asm-disk5 /dev/disk/by-uuid/9c3bfe85-862e-4783-866e-6911e7b9fcfb’
啟動udev,讓其所寫的規則真實生效
/sbin/start_udev
查看權限信息
[root@trsen dev]# ls -lt /dev/sda[5-7]
brw-r—– 1 root disk 8, 5 Feb 11 11:05 /dev/sda5
brw-r—– 1 root disk 8, 6 Feb 11 11:05 /dev/sda6
brw-r—– 1 root disk 8, 7 Feb 11 11:05 /dev/sda7
[root@trsen dev]# ls -lt /dev/asm-disk*
brw-rw—- 1 grid oinstall 8, 7 Feb 11 12:54 /dev/asm-disk7
brw-rw—- 1 grid oinstall 8, 6 Feb 11 12:54 /dev/asm-disk6
brw-rw—- 1 grid oinstall 8, 5 Feb 11 12:54 /dev/asm-disk5
[root@trsen dev]#
至此,基于udev的方式來創建asm磁盤就完畢了,但是注意在后面識別asm磁盤,可能無法識別是創建的asm磁盤,需要利用dd工具針對asm磁盤頭快處理一下如下:
dd if=/dev/zero of=/dev/asm-disk5 bs=4096 count=1
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态