小伙伴们现在安装RAC或是其他的类ASM的环境都使用udev么,是不是已经都替换掉asmlib了。测试的环境还在用workstation的共享盘么,现在用TrueNAS方便模拟生产环境中iSCSI的设备绑定
目前生产环境优先选择UDEV:UDEV的稳定性和兼容性已经很有优势了配合各个存储厂商的多路径软件(CentOS 8+)。ASMLib仅适用于旧版或Oracle Linux环境,如果是为了适配老的环境可继续使用。
1. ASMLib
优点:
自动管理设备名和权限,简化配置过程。
支持I/O优先级传递,优化存储性能(理论层面)。
缺点:
官方停止支持:Oracle不再为RHEL/CentOS 6以上版本提供更新,需替换系统内核(Oracle Linux专属),存在兼容风险。
依赖性强:需随内核更新同步安装新版ASMLib包,维护复杂。
多路径支持差:需额外配置ORACLEASM_SCANORDER等参数识别多路径设备,易出错。
额外开销:增加I/O处理层,可能引入性能瓶颈和稳定性问题。
2. UDEV
优点:
原生支持:Linux内核自带,无需额外安装,兼容性最佳。
灵活可靠:通过规则文件(如/etc/udev/rules.d/99-oracle-asm.rules)固定设备名、权限(如oracle:dba)和模式(0660),重启后不变。
无内核依赖:不受系统升级影响,维护成本低。
缺点:
配置稍复杂:需手动获取磁盘WWID并编写规则文件,对新手门槛较高。
混合磁盘环境问题:若服务器含SSD/HDD混合磁盘,热插拔后设备名可能临时漂移(需重启恢复)
一、环境规划
通过udev绑定和iSCSI多路径为两个Linux节点(10.2.0.95和10.2.0.96),192.168.101.145共享存储。关键点包括:
TrueNAS端:创建Zvol作为块设备,配置iSCSI Target并启用CHAP认证
Linux节点:通过多路径聚合iSCSI路径,使用udev规则固定设备名
Oracle准备:分区格式化,设置权限和持久化设备命名
|
组件 |
节点1 |
节点2 |
SCAN IP |
|
主机名 |
19C1 |
19C2 |
- |
|
Public IP |
10.2.0.95 |
10.2.0.96 |
- |
|
Private IP |
192.168.101.95 |
192.168.101.96 |
- |
|
SCAN IP |
- |
- |
10.2.0.94 |
|
ASM 磁盘组 |
19c-ocr (5GB) |
19c-DATA1 (25GB) |
19c-ARCH (10GB) |
二、TrueNAS安装和配置
此处安装IP 为192.168.101.145 ,10.2.0.44是为了另一套环境准备



配置TrueNas存储池
1.输入账号密码后开始进行配置,设置–系统–常规–语言,将语言改为中文
2.存储–池–添加池,勾选需要添加的磁盘
3.选中存储池–添加zvol,注意这里的zvol大小要配置为实际存储池大小的80%,否则不能保存

创建存储池与Zvol
- 创建存储池存储 → 池 → 添加 → 名称:Cluster → 选择硬盘(建议RAID-Z1或镜像)→ 创建
- 创建Zvol(逻辑卷)存储 → 数据集 → 添加Zvol → 创建以下三个Zvol(大小按需分配):
- 19c-DATA1:数据区(如25GB)
- 19c-ARCH:闪回区(如10GB)
- 19c-ocr:投票盘(至少1GB)

配置TrueNas iSCSI共享服务
1.共享–块共享(Iscsi),修改TargetGlobalconfiguration的名称(中英文截图如下)
英文界面如下
2.Partals–添加,修改Ip地址即可


3.InitiationGroups–勾选允许所有启动器即可

4.授权访问
AtuthreziedAccess–添加访问用户和密码,记住用户密码,在客户端添加的时候需要使用
5.目标–添加,编辑目标,身份验证方法选择Chap,启动器选择All
新建后,不能选到上面已经创建范围的“Device”
6.extends–添加,输入名称,选择刚才创建的设备

7.AssociatedTarget–添加,将设备和之前创建的目标关联起来
8.添加zvol后,才可以将上面建立的iscsi共享给关联起来,此处设置在“数据集”中,iscsi的设置中“共享”中

三、安装iscsi组件,配置客户端连接
上面这样就算完成TrueNas的服务端配置,接下来要在linux上面安装客户端进行连接
0.银河麒麟(Kylin Linux Advanced Server V10)配置centos8的yum源
0.1、虚拟机安装麒麟操作系统(此步骤忽略)。
0.2、将麒麟的yum源备份。
cd /etc/yum.repos.d
mv kylin_x86_64.repo kylin_x86_64.repo.bak
0.3、将阿里云开源镜像站的centos8的yum源,下载到麒麟的服务器下并重新加载。
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all && yum makecache
0.Oracle Linux的省略默认使用repo
1.安装iscsi-initiator-utils,设置开机启动
yum install -y iscsi-initiator-utils.x86_64
systemctl enable iscsi
systemctl start iscsi
2.发现目标--示例
[root@DM2 ~]# iscsiadm -m discovery -t st -p 192.168.101.145 --discover
192.168.101.145:3260,1 iqn.2005-10.org.freenas.asm:subnet192168101
3.添加目标,设置开机自动添加--示例
--以下为实际环境--实际操作--这里的dmdba和密码很重要,必须要iscsi共享设置的账号和密码一致
systemctl restart iscsi.service
iscsiadm -m discovery -t st -p 192.168.101.145 --discover
iscsiadm -m node -T iqn.2005-10.org.freenas.asm:sub101 --op update --name node.session.auth.username --value=dmdba
iscsiadm -m node -T iqn.2005-10.org.freenas.asm:sub101 --op update --name node.session.auth.password --value=Dameng123456
iscsiadm -m node -T iqn.2005-10.org.freenas.asm:sub101 -l
Logging in to [iface: default, target: iqn.2005-10.org.freenas.asm:subnet192168101, portal: 192.168.101.145,3260]
Login to [iface: default, target: iqn.2005-10.org.freenas.asm:subnet192168101, portal: 192.168.101.145,3260] successful.
iscsiadm -m node -o update -n node.startup -v automatic
udevadm trigger --type=devices --action=change
ll /dev/raw/raw*
[root@DM2 ~]#lsblk --查询已经被发现的磁盘,e,f,g,h
[root@DM2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 96G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 95G 0 part
├─klas-root 253:0 0 58.5G 0 lvm /
├─klas-swap 253:1 0 7.9G 0 lvm [SWAP]
└─klas-backup 253:2 0 28.6G 0 lvm
sdb 8:16 0 5G 0 disk
sdc 8:32 0 10G 0 disk
sdd 8:48 0 25G 0 disk
sde 8:64 0 1G 0 disk
sdf 8:80 0 1G 0 disk
sdg 8:96 0 20G 0 disk
sdh 8:112 0 30G 0 disk
sr0 11:0 1 1024M 0 rom
--
[root@DM2 ~]# fdisk -l --检查所有的盘符
3.1 附上Oralce Linux添加示例
--以下为原Oracle操作步骤
iscsiadm -m discovery -t sendtargets -p 10.2.0.44:3260
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target1 -p 10.2.0.44:3260 -l
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target1 --op update --name node.session.auth.username --value=grid
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target1 --op update --name node.session.auth.password --value=oraclegridrac
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target1 -l
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target2 --op update --name node.session.auth.username --value=grid
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target2 --op update --name node.session.auth.password --value=oraclegridrac
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target2 -l
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target3 --op update --name node.session.auth.username --value=grid
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target3 --op update --name node.session.auth.password --value=oraclegridrac
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl.rac:target3 -l
iscsiadm -m node -o update -n node.startup -v automatic
for i in b c d e f;
do
echo "sd$i" "/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i ";
done
sdb 36589cfc00000055453eaac0ec0b8e3f2
sdc 36589cfc0000002f2dc48ef22a19cbcbf
sdd 36589cfc00000069937031699eea86562
touch /etc/udev/rules.d/99-oracle-asmdevices.rules;
cd /etc/udev/rules.d;
ll
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36589cfc00000055453eaac0ec0b8e3f2", SYMLINK+="asm-ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36589cfc0000002f2dc48ef22a19cbcbf", SYMLINK+="asm-ARCH", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36589cfc00000069937031699eea86562", SYMLINK+="asm-DATA1", OWNER="grid", GROUP="asmadmin", MODE="0660"
--以上为原Oracle操作步骤
后续开始两个节点的安装,同时挂在ASM磁盘。

3266

被折叠的 条评论
为什么被折叠?



