热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在KVM虚拟机中安装Oraclerac数据库

环境:CPU:Intelcore2E6750,内存:2G安装过程:1.安装rhel5.1x64版本,安装时选择所有开发相关内容;2.升级内核到当时最新版本(从www.kernel.org下载2.6.25.7,目的是为了更好支持kvm),升级过程如下:a.下载解压缩b.#makemrproperc.#makemenuco

    环境:CPU:Intel core2 E6750,内存:2G

    安装过程:

    1.安装rhel5.1 x64版本,安装时选择所有开发相关内容;

    2.升级内核到当时最新版本(从

    www.kernel.org

    下载2.6.25.7,目的是为了更好支持kvm),升级过程如下:

     a.下载解压缩

     b.# make mrproper

     c.# make menuconfig(这个时候把虚拟化的内容去掉,内核内嵌的kvm版本比较旧)

     d.#make

     e.#make modules_install

     f.#make install

     g.修改/boot/grub/menu.lst,让系统默认从新内核启动

    3.下载安装kvm,软件和文档地址

    http://kvm.qumranet.com/kvmwiki

     a.修改主机bios中,VT为ON,

     b.安装kvm,也就是configure,make,make install三步曲,

     c.加载kvm的两个模块,modprobe kvm,modprobe kvm-intel(amd相应使用kvm-adm)

    4.使用kvm安装虚拟机

     a.创建虚拟文件,qume-img create -f vmdk /test/host1.img 10G,qume-img create -f vmdg /test/data.img 10G,创建的镜像文件和vmware的虚拟盘一样,有数据时自动扩充.

     b.设置kvm的网络:

     ①.主机上需要做一个桥接才能让虚拟机和主机ip连通,需要安装默认安装是没有的bridge-utils-1.1-2,

     ②.#/usr/sbin/brctl addbr br0

     ③.#brctl addif br0 eth0

     ④.增加文件/etc/sysconfig/network-scripts/ifcfg-br0来保证每次重启自动启动这个桥接:

     DEVICE=br0

     TYPE=Bridge

     BOOTPROTO=dhcp

     OnBOOT=yes

     ⑤ .修改/etc/sysconfig/network-scripts/ifcfg-eth0添加BRIDGE来指定桥接在这个节点启动:

     BRIDGE=br0

     ⑥.增加一个脚本再虚拟器启动时候通过这个虚拟网卡和主机及外网通信qemu-ifup,并添加可执行权限:

     #!/bin/sh

     set -x

     switch=br0

     if [ -n "$1" ];then

     /usr/bin/sudo /usr/bin/tunctl -u `whoami` -t $1

     /usr/bin/sudo /sbin/ip link set $1 up

     sleep 0.5s

     /usr/bin/sudo /usr/sbin/brctl addif $switch $1

     exit 0

     else

     echo "Error: no interface specified"

     exit 1

     fi

     ⑦.开始安装虚拟机,qume-system-x86_64 -hda /test/hosting.img -hdb /test/data.img(系统识别到的hda和hdb) -m 800(所分配的内存) -net nic,model=rtl8139 -net tap,script=/qemu-ifup(网卡型号及使用虚拟网卡做桥接) -cdrom /test/rhel1.img(所使用的光盘镜像文件) -boot b(a,b,c对应软盘,光盘,硬盘)

    4.netapp模拟器的安装

     a.sh安装后run.sh运行,

     b.配置initiator groups,注册rac各节点的initiator,

     c.aggreate→volume→lun→lun map,

     e.进行网络的配置,由于netapp的模拟器在使用br0时总认为这不是一个可识别的设备,因此我只能弄了个dummy设备来给他用,配置过程如下:

     ①.下载piobd并安装:http://www.dur.ac.uk/c.c.dean/piobd/

     ②.做dummy的配置:/etc/modprobe.conf里面添加如下行:

     alias dummy0 dummy

     options dummy numdummies=1

     在/etc/sysconfig/network-sciptes里面添加文件ifcfg-dummy0:

     # Dummy Network Device

     DEVICE=dummy0

     BOOTPROTO=none

     OnBOOT=yes

     IPV6INIT=no

     TYPE=Ethernet

     MACADDR=01:02:03:04:05:06

     IPADDR=192.168.1.1

     NETMASK=255.255.255.0

     ARP=yes

     ③加载模块dummy,ifup dummy0 up,后将/sim/setup.sh里面的eth替换成dummy重新执行/sim/setup.sh;

     ④netapp模拟器自身网卡ip地址的配置,配置两个和dummy0相同网段的ip即可.

     ⑤网关及路由的配置---host1,我在/etc/rc5.d/里面添加文件S99brup,内容如下:

     [root@host1 rc5.d]# more S99brup

     echo "1">/proc/sys/net/ipv4/ip_forward -----------------启用ip转发让host2通过br0转发到dummy0

     ifconfig br0:100 177.177.100.102 netmask 255.255.255.0 up------配置rac的private网卡

     cd /sim

     ./bgrun.sh---------------------------后台启动netapp模拟器,如果不先进入路径将会找到不模拟器的一个库函数.此外要安装expert后才能再后台运行这个程序,rhel安装光盘里面就有这个包

     /etc/init.d/piobd restart------------piobd重启

     sleep 100---------------等待netapp模拟器完全启动

     /etc/init.d/iscsi restart----重启iscsi来刷新模拟器提供的iscsi lun

     chmod 777 /dev/sd*----每次iscsi重新识别设备后权限都是只有root可读,所以干脆改动一下.

     host2上/etc/rc5.d/S10network脚本里添加如下内容:

     ifconfig eth0:100 177.177.100.103 netmask 255.255.255.0 up

     route add -net 177.177.177.0 netmask 255.255.255.0 gw 192.219.19.52 dev eth0-------------添加177.177.177.0网段到192.219.19.0网段的路由.

     ⑥host1和host2上进行启动顺序的配置,确保host1上iscsi在piobd和网络启动之后启动,这个可以修改/etc/rc5.d/Sxx中xx的大小来实现.

    5.主机及虚拟机上iscsi initiator的安装和配置,

     a.安装iscsi-initiator,查看iscsi-initiator name:/etc/iscsi/initiator-name

     b.在netapp虚拟机上注册initiator-group,lun→iscsi enable

     c.在linux主机上进行iscsi设备的配置:

     ①[root@host1 client]# more /etc/iscsi/initiatorname.iscsi

     InitiatorName=iqn.1994-05.com.redhat:10e9c034314c

     ②# service iscsid start

     Turning off network shutdown. Starting iSCSI daemon: [ OK ]

     # chkconfig iscsid on

     ③# iscsiadm -m discovery -t sendtargets -p 177.177.177.200

     177.177.177.200:3260,1000 iqn.1992-08.com.netapp:sn.99909261

     177.177.177.201:3260,1001 iqn.1992-08.com.netapp:sn.99909261

     [root@d2850l12 ~]# iscsiadm -m node -T iqn.1992-08.com.netapp:sn.99909261 -p 177.177.177.200 -l

     [root@d2850l12 ~]# iscsiadm -m node -T iqn.1992-08.com.netapp:sn.99909261 -p 177.177.177.201 -l

    7.crs的安装,选择使用oracle 11g,开始使用了oracle 10g,结果10g需用使用raw,每次做ocr的格式化时候都报错,后来干脆使用oracle 11g直接用块设备.

     a.本来使用device mapper,但是开始我没有计划好把netapp的模拟器安装到了host2上,由于这个机器是虚拟机,结果在host2上到link的时候总是比较长时间这个机器没有响应,最后host1会认为iscsi1连接的设备无效,vote diska的失败导致这个节点panic.所以以后的安装是在host1上安装netapp的模拟器,同时有时候device mapper更新dm-xx时不是很及时,出现设备文件找不到的情况,后来ocr及asm都使用/dev/disk/by-id里面的设置,而且有个好处是及时有磁盘的添加删除这里面的名字都不会变动.

     b.runInstaller,安装的开始阶段总报libxp.so.6找不到的错,费了很多功夫,后来发现是oui使用的java是32bit,当时还考虑过指定java_home之类的方式让oui使用64bit的java,但是我没有找到办法,最后发现办法很简单,安装个32bit的libxp就行了.

     c.因为host1上使用br0,host2使用eth0来做public网卡,vip网卡我让它们使用br0和eth0的别名来实现,crs配置完成后发现两个上面都使用br0设备,但host2上根本就没有这个设备,这个可以使用srvctl来修改:srvctl modify nodeapps -n host2 -A ipaddress/netmask/eth0

     d.因为启用了11g的Auto Memory Management(?),对我的/dev/shm总是有大小的要求,有几次instance起不来就因为这个东西太小,所有不得以的时候也得手动去修改其大小:mount tmpfs /dev/shm -t tmpfs -o size=1g


推荐阅读
  • 苹果系统频繁弹窗提示无法验证服务器身份?竟是网易邮箱证书过期所致
    近日,众多苹果用户发现iOS、iPadOS和macOS系统频繁弹出无法验证服务器身份的警告。问题根源在于网易邮箱未能及时更新其数字证书,导致原证书过期后无法被信任。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • Shell脚本中变量操作详解
    本文基于《鸟哥的Linux私房菜》一书,详细介绍了Shell脚本中变量的使用方法,包括变量的赋值规则、字符串处理技巧以及环境变量的管理等,旨在帮助读者更好地理解和使用Shell中的变量。 ... [详细]
  • 中断向量是计算机系统中用于指向中断服务程序的入口地址。每个中断向量对应一个特定的中断事件,存储在内存中的中断向量表中。该表通常包含256个条目,每个条目占用4个字节,用于存放跳转指令或直接指向中断处理程序的地址。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
  • 近期遇到 M1 Mac Mini 在休眠状态下频繁自动重启的问题,通过日志分析尝试找出可能的原因。 ... [详细]
  • 如何在Linux环境下通过Java代码获取主机IP地址
    本文详细介绍了在Linux系统中利用Java编程语言来获取当前主机的IP地址的方法。包括了如何处理网络接口以及选择合适的IP地址等关键步骤。 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
  • Delphi 10.4.2 版本现已进入内测阶段,此次更新不仅增强了现有功能,还引入了多项新技术以提升用户体验。新版本将支持最新的MSIX应用打包格式,改善Windows 10应用商店的部署体验;同时,新增的VCL控件将带来更加现代的用户界面设计。 ... [详细]
  • 本文介绍了iOS应用开发的主要框架,包括Foundation、UIKit、CoreData及CoreGraphics等,并探讨了开发iOS应用所需的硬件和软件环境,以及推荐的编程语言。 ... [详细]
  • Android开发经验分享:优化用户体验的关键因素
    随着Android市场的不断扩展,用户对于移动应用的期望也在不断提高。本文探讨了在Android开发中如何优化用户体验,以及为何用户体验的重要性超过了技术本身。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
author-avatar
viggieg-may_789
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有