ASM基本配置问题

简介: ASM自10g开始作为Grid的一部分,对于存储管理层的一个重大变革。重要性和丰富的功能就不多说了,主要的一点,是完全免费的。所以对于高端存储望而却步,而且不希望投入很多的投入在存储上,可以考虑ASM来很实惠的完成存储管理。
ASM自10g开始作为Grid的一部分,对于存储管理层的一个重大变革。重要性和丰富的功能就不多说了,主要的一点,是完全免费的。所以对于高端存储望而却步,而且不希望投入很多的投入在存储上,可以考虑ASM来很实惠的完成存储管理。
10g,11g的asm还是存在一定的差别,在10g中通过dbca可以直接在里面配置asm,到了11g,把asm的功能从dbca里分离开来,单独有一个asmca来配置ASM,而且需要在安装grid包的场景下才可以使用。
问题1: 启用ASM出错。
ASM的配置,如果希望启用,首先需要使用root运行一个脚本,来完成CSS的注册。这个过程和rac中配置CRS的有些类似。

但是使用 localconfig add来注册的时候,日志内容如下:

[root@oel1 bin]# ./localconfig add
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
Giving up: Oracle CSS stack appears NOT to be running.
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started
可以看到CSS服务最终没有起来,如果这个时候还是在dbca里面尝试创建ASM实例,就会抛出错误
ORA-29701: unable to connect to Cluster Manager
这个时候分析这个问题,还是需要从CSS相关的配置来考虑,可能是某些文件丢失或者出现了不一致之类的问题。
可以尝试使用localconfig delete删除注册信息,然后使用localconfig reset来重新配置。

 ./localconfig delete
Stopping CSSD.
Unable to communicate with the CSS daemon.
Shutdown has begun. The daemons should exit soon.
在重新配置的时候,就会很i清楚的看到,其实是有一些文件找不到了,在这套机器上,之前安装过rac的crs软件,可能是有一些文件可能产生冲突。比如/etc/oracle/ocr.loc这个文件,这个文件是在最近使用dbca打开图形界面的时候报出了错误,最后发现是因为ocr.loc这个文件影响的,把这个文件删了之后就没有问题了。没想到在配置ASM的时候也会有一定的影响,不过最终重新配置CSS的时候,会重新去创建ocr.loc这个文件
[root@oel1 bin]# ./localconfig reset
./localconfig: line 529: /etc/oracle/ocr.loc: No such file or directory
./localconfig: line 551: [: too many arguments
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        oel1
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)

重新配置成功后,我们查看CSS的服务,可以看到已经起来了
[root@oel1 bin]# ps -ef|grep css
oracle   26370     1  0 21:30 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/ocssd.bin
root     26637 24953  0 21:30 pts/1    00:00:00 grep css
问题2:配置裸设备/取消裸设备配置
接下来,我们需要配置一些裸设备在ASM中使用。
配置裸设备,可以使用如下的脚本,会批量生成多个裸设备
基本思路就是使用dd创建出模拟的文件,然后使用losetup来将文件虚拟为块设备。
然后使用raw来绑定即可。
比如我们创建6个裸设备,脚本如下:
for i in {1..6}
do
dd if=/dev/zero of=asm_disk$i bs=1M count=500
chmod 777 asm_disk$i
losetup /dev/loop$i asm_disk$i
raw /dev/raw/raw$i /dev/loop$i
chown oracle:dba /dev/raw/raw$i
done
运行脚本的时候会发现

[root@oel1 asmdisks]# ksh create_asmdisk.sh
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.41319 seconds, 371 MB/s
/dev/raw/raw1:  bound to major 7, minor 1
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.85704 seconds, 282 MB/s
/dev/raw/raw2:  bound to major 7, minor 2
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 4.13632 seconds, 127 MB/s
/dev/raw/raw3:  bound to major 7, minor 3
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 2.29498 seconds, 228 MB/s
/dev/raw/raw4:  bound to major 7, minor 4
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.36017 seconds, 385 MB/s
/dev/raw/raw5:  bound to major 7, minor 5
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 2.30878 seconds, 227 MB/s
/dev/raw/raw6:  bound to major 7, minor 6
[root@oel1 asmdisks]#
运行完成之后查看裸设备的情况,可以看到6个裸设备都创建好了。

[root@oel1 asmdisks]# raw -qa
/dev/raw/raw1:  bound to major 7, minor 1
/dev/raw/raw2:  bound to major 7, minor 2
/dev/raw/raw3:  bound to major 7, minor 3
/dev/raw/raw4:  bound to major 7, minor 4
/dev/raw/raw5:  bound to major 7, minor 5
/dev/raw/raw6:  bound to major 7, minor 6
[root@oel1 asmdisks]#


当然我们能够创建裸设备,绑定,也可以撤销绑定,删除这些裸设备,
可以使用如下的脚本来完成回滚的操作

>cat rollback*.sh
for i in {1..6}
do
dd if=/dev/zero of=asm_disk$i bs=1M count=200
raw /dev/raw/raw$i 0 0 
losetup  -d /dev/loop$i
rm asm_disk$i
done
运行脚本的日志如下:

[root@oel1 asmdisks]# ksh rollback.sh
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.464948 seconds, 451 MB/s
/dev/raw/raw1:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.423312 seconds, 495 MB/s
/dev/raw/raw2:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.39266 seconds, 534 MB/s
/dev/raw/raw3:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.419405 seconds, 500 MB/s
/dev/raw/raw4:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.552266 seconds, 380 MB/s
/dev/raw/raw5:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.568867 seconds, 369 MB/s
/dev/raw/raw6:  bound to major 0, minor 0
再次查看裸设备的情况,可以看到裸设备都不存在了。
[root@oel1 asmdisks]# raw -qa
[root@oel1 asmdisks]#

问题3:创建磁盘组错误
基本条件都准备好了,我们来尝试创建对应的磁盘组,把这些裸设备都加进来。但是创建磁盘组的时候报出了下面的错误。


对于ORA-15018的问题,其实还是和之前安装过rac有一定的影响。
这个时候查看ASM的实例情况,会发现启动了一个+ASM1的实例,而且属主是orarac这个用户,
[root@oel1 asmdisks]# ps -ef|grep smon
oracle    5848     1  0 20:16 ?        00:00:00 ora_smon_TEST10G
oracle   27195     1  0 21:40 ?        00:00:00 asm_smon_+ASM
orarac   29473     1  0 22:11 ?        00:00:00 asm_smon_+ASM1
root     29608 27674  0 22:14 pts/1    00:00:00 grep smon
因为这套rac已经完全不用了,也没有做卸载,所以有些配置信息还是会有一定的影响,对于这个问题,最后发现是在/etc/oratab的地方已经配置了+ASM1,所以使用dbca的时候会把之前的这个ASM实例启用,但是添加磁盘组的时候又用不了了。
对于这个问题的处理,就是删除/etc/oratab中不需要的ASM配置信息,因为这些配置是之前创建的时候生成的记录,因为一些配置的原因,现在已经完全不使用这个环境,甚至可以完全删除这个用户。
[root@oel1 etc] cat /etc/oratab

+ASM1:/u02/rac/db:N
删除这个配置信息之后,重新运行dbca创建就诶有问题了。一会就把磁盘组创建好了。如下图所示。

然后我们尝试重启一下ASM实例,可以看到都没有问题。

SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started

Total System Global Area   83886080 bytes
Fixed Size                  1260216 bytes
Variable Size              57460040 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted

ASM的简单配置就告一段落。

目录
相关文章
|
1月前
|
存储 Oracle 关系型数据库
RAC创建ASM磁盘组时配置多路径和UDEV
RAC创建ASM磁盘组时配置多路径和UDEV
82 5
|
6月前
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
84 0
|
11月前
|
负载均衡 网络协议 NoSQL
【服务网格架构】Envoy架构概览(10):热启动,动态配置,初始化,排水,脚本
【服务网格架构】Envoy架构概览(10):热启动,动态配置,初始化,排水,脚本
|
11月前
|
网络协议 数据可视化 NoSQL
【服务网格架构】Envoy架构概览(8):统计,运行时配置,追踪和TCP代理
【服务网格架构】Envoy架构概览(8):统计,运行时配置,追踪和TCP代理
|
Kubernetes 监控 安全
What this!理清服务网格中Sidecar代理的流量拦截配置
作为业内首个全托管Istio兼容的阿里云服务网格产品ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM产品是基于社区Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵活,提升了系统的可伸缩性。从2022年4月
What this!理清服务网格中Sidecar代理的流量拦截配置
|
运维 Kubernetes 安全
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
作为业内首个全托管Istio兼容的服务网格产品ASM,一开始从架构上就保持了业界领先性、以及与社区发展的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立, 保持高可用部署与稳定性。阿里云ASM产品是基于社区开源的Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵
210 0
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
|
Kubernetes 数据安全/隐私保护 容器
服务网格ASM使用FAQ之(3):如何在ASM网关中通过配置TLS协议版本来增强安全性
一个增强网站安全性的最佳做法是禁用早期版本的 TLS (TLS v1.0 和 1.1)并仅启用 TLS v1.2 和更高版本。这背后的原因是包括 TLS v1.0 在内的早期 TLS 版本存在已知的安全问题,并且使用功能强大的工具和系统进行了解密,导致传输中的数据泄露。禁用TLS v1.2 中的弱密码也很重要。您可以在 ASM 网关中通过配置TLS协议版本来增强安全性, 从而简单地解决上述问题。前
162 0
|
Kubernetes 网络安全 数据安全/隐私保护
服务网格ASM使用FAQ之(3):如何在ASM网关中通过配置TLS协议版本来增强安全性
包括TLS v1.0在内的早期TLS版本存在已知的安全问题,并且使用功能强大的工具和系统进行了解密,导致传输中的数据泄露。因此,一个增强网站安全性的最佳做法是禁用早期版本的TLS(v1.0和v1.1)并仅启用TLS v1.2及更高版本。同时,禁用TLS v1.2中的弱密码也非常重要。 本文介绍如何在ASM网关配置TLS协议版本,增强网站安全性。
238 0
|
文字识别 Oracle NoSQL
oracle 11g 单机asm配置
oracle 11g 单机asm配置
487 0
|
Cloud Native 搜索推荐 开发者
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践
5 月 25 日(周三), 阿里云服务网格技术专家张岚(宗泉)、阿里云服务网格开发工程师刘阳(奇方),将通过直播的方式为大家带来服务网格规模化应用下的 Istio Sidecar 灵活配置实践。从 Istio Sidecar 代理配置现状分析,到阿里云服务网格中多维度灵活配置方案解读,再到业务场景中的 Sidecar 代理配置实践......通过本次分享,希望能帮助大家在不同的业务场景下灵活配置 Sidecar 代理的配置来满足个性化需求、优化系统性能。
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践