热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

创建ASM磁盘组

ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁

ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁

ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种方式,都不能使用任何文件系统格式化,必须是裸设备

在Linux上,ASM能引用磁盘作为裸设备,或通过使用ASMLib软件。

  • 直接使用裸设备的方法:

  • 1. 在RHEL6以前的可以直接通过rawdevices的管理方法,系统安装后默认已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices这两个文件。

    # cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.8 (Tikanga) # rpm -qf /etc/init.d/rawdevices /etc/sysconfig/rawdevices initscripts-8.45.42-1.el5 initscripts-8.45.42-1.el5 # cat /etc/init.d/rawdevices #!/bin/bash # # rawdevices This shell script assignes rawdevices to block devices # # chkconfig: 345 56 44 # description: This scripts assignes raw devices to block devices \ # (such as hard drive partitions). This is for the use \ # of applications such as Oracle. You can set up the \ # raw device to block device mapping by editing \ # the file /etc/sysconfig/rawdevices. # config: /etc/sysconfig/rawdevices [ -f /bin/raw ] || exit 0 [ -f /etc/sysconfig/rawdevices ] || exit 0 # Exit if the file just has the default comments. LC_ALL=C /bin/egrep -q -v "^ *#" /etc/sysconfig/rawdevices 2>/dev/null || exit 0 . /etc/init.d/functions function assign_raw() { LC_ALL=C egrep -v '^ *#' /etc/sysconfig/rawdevices | while read RAW BLOCK; do if [ -n "$RAW" -a -n "$BLOCK" ]; then rawdirname=${RAW%/*} if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then echo $" Please correct your /etc/sysconfig/rawdevices:" echo $" rawdevices are now located in the directory /dev/raw/ " echo $" If the command 'raw' still refers to /dev/raw as a file." echo $" you'll have to upgrade your util-linux package" exit 0 fi if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then echo $" Please correct your /etc/sysconfig/rawdevices:" echo $" rawdevices are now located in the directory /dev/raw/ " echo $" If the command 'raw' still refers to /dev/raw as a file." echo $" you'll have to upgrade your util-linux package" exit 0 fi echo " $RAW --> $BLOCK"; raw $RAW $BLOCK fi done } # See how we were called. case "$1" in start) # Assign devices echo $"Assigning devices: " assign_raw #添加以下两行(默认不存在),即默认情况下生成的裸设备为root所有, #所以必须修改属主,否则oracle用户无法使用裸设备 sleep 5 chown -R oracle:oinstall /dev/raw/ echo $"done" ;; stop) # No action to be taken here ;; status) ID=`id -u` if [ $ID -eq 0 ]; then raw -qa else echo $"You need to be root to use this command ! " fi ;; restart|reload) $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0


    # vi /etc/sysconfig/rawdevices //映射将要绑定的裸设备 /dev/raw/raw10 /dev/sda10 /dev/raw/raw11 /dev/sda11 /dev/raw/raw12 /dev/sda12 /dev/raw/raw13 /dev/sda13 /dev/raw/raw14 /dev/sda14 # chkconfig rawdevices on # service rawdevices start Assigning devices: /dev/raw/raw10 --> /dev/sda10 /dev/raw/raw10: bound to major 8, minor 10 /dev/raw/raw11 --> /dev/sda11 /dev/raw/raw11: bound to major 8, minor 11 /dev/raw/raw12 --> /dev/sda12 /dev/raw/raw12: bound to major 8, minor 12 /dev/raw/raw13 --> /dev/sda13 /dev/raw/raw13: bound to major 8, minor 13 /dev/raw/raw14 --> /dev/sda14 /dev/raw/raw14: bound to major 8, minor 14 done # ls -l /dev/raw/ total 0 crw-rw----. 1 oracle oinstall 162, 10 May 27 08:37 raw10 crw-rw----. 1 oracle oinstall 162, 11 May 27 08:37 raw11 crw-rw----. 1 oracle oinstall 162, 12 May 27 08:37 raw12 crw-rw----. 1 oracle oinstall 162, 13 May 27 08:37 raw13 crw-rw----. 1 oracle oinstall 162, 14 May 27 08:37 raw14 crw-rw----. 1 oracle oinstall 162, 0 May 27 08:19 rawctl # raw -qa /dev/raw/raw10: bound to major 8, minor 10 /dev/raw/raw11: bound to major 8, minor 11 /dev/raw/raw12: bound to major 8, minor 12 /dev/raw/raw13: bound to major 8, minor 13 /dev/raw/raw14: bound to major 8, minor 14


    2. 在RHEL6中,系统里面虽然已经不存在/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件了,但是依然支持rawdevices的方式,网站空间,网站空间,可以通过如下方法来管理raw文件。

  • 手动创建/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件,然后依然以rawdevices的方式

  • 通过udev来管理raw,同样也可以通过udev固定磁盘对应的设备名

  • 以下介绍udev的方式:

    # fdisk -l /dev/sdb Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 261 2096451 5 Extended /dev/sdb5 1 25 200749+ 83 Linux /dev/sdb6 26 50 200781 83 Linux /dev/sdb7 51 75 200781 83 Linux /dev/sdb8 76 100 200781 83 Linux /dev/sdb9 101 125 200781 83 Linux # vi /etc/udev/rules.d/60-raw.rules ACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw5 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw6 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb7",RUN+="/bin/raw /dev/raw/raw7 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb8",RUN+="/bin/raw /dev/raw/raw8 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb9",RUN+="/bin/raw /dev/raw/raw9 %N",OWNER="oracle", GROUP="oinstall", MODE="660" # raw -qa # start_udev Starting udev: [ OK ] # raw -qa /dev/raw/raw5: bound to major 8, minor 21 /dev/raw/raw6: bound to major 8, minor 22 /dev/raw/raw7: bound to major 8, minor 23 /dev/raw/raw8: bound to major 8, minor 24 /dev/raw/raw9: bound to major 8, minor 25 # ls -l /dev/raw total 0 crw-rw---- 1 oracle oinstall 162, 5 Jun 9 17:15 raw5 crw-rw---- 1 oracle oinstall 162, 6 Jun 9 17:15 raw6 crw-rw---- 1 oracle oinstall 162, 7 Jun 9 17:15 raw7 crw-rw---- 1 oracle oinstall 162, 8 Jun 9 17:15 raw8 crw-rw---- 1 oracle oinstall 162, 9 Jun 9 17:15 raw9


  • ASMLib:(非Linux系统只能使用裸设备的方法)

  • ASMLib是一组可选的位于ASM和硬件之间的一个内核驱动程序工具,也是作为一个应用程序库通过Oracle数据库软件访问ASM磁盘。

    它是Oracle 10g和11g单实例数据库以及RAC的ASM特性支持库。ASM和数据库实例可以使用ASMLib作为可替代的磁盘访问接口。

    ASMLib有以下三个组件:

    内核驱动:oracleasm Linux中支持oracle ASMLib的内核驱动程序(需根据内核版本下载)

    支持工具:oracleasm-support 提供用于配置和启动ASM驱动程序的实用工具

    应用程序库:oracleasmlib 提供了实际的ASM库

    推荐阅读
    • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
    • Python语法上的区别及注意事项
      本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
    • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
    • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
    • 程序员如何选择机械键盘轴体?红轴和茶轴对比
      本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
    • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
    • Nginx使用AWStats日志分析的步骤及注意事项
      本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
    • 从U ... [详细]
    • crontab 自动执行定时任务时,命令无法执行的解决方案
      为什么80%的码农都做不了架构师?最近在工作中需要使用crontab执行定时任务,处理memcacheq消息队列里的数据,但是发现在 ... [详细]
    • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
    • ZABBIX 3.0 配置监控NGINX性能【OK】
      1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
    • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
    • homemyUserscript.sh>>homemyUserlog.txt2>&1在script.sh ... [详细]
    • docker容器的数据管理一:数据卷实现数据的永久化,完全独立于容 ... [详细]
    • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
      本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
    author-avatar
    冫Eva
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有