在windwos上用vmware装rac的过程(1)

实施系统软硬件环境
硬件:p4 2.4G,80G,1G DDR
宿主机系统:win2000pro sp4
虚拟机软件:Vmware GSX Server 2.5.1
HOST OS 的网络配置:
IP: 10.2.10.251
GW: 255.255.255.0
P-DNS: 10.2.2.2
S-DNS: 10.2.2.3


1. 安装vmware-gsx-server-installer-2.5.1-5336.exe后,在vmware中新建虚拟机(分配内存256M)并保存在d:/racnode1, 用redhat光盘安装RedHat Advanced Server 3。在选择安装类型那里选择custom,然后在包列表那里要选择上开始的两个安装包.
主机名设置为racnode1,ip地址设置为
IP: 10.2.10.198
NETMASK: 255.255.255.0
GW: 10.2.10.254
P-DNS: 10.2.2.2
S-DNS: 10.2.2.3


2. 第一个节点(racnode1)的RedHat Advanced Server 3安装完成后,在d:/目录下新建目录 racnode2 ,
并将d:/racnode1里面刚才安装好的虚拟操作系统复制一份到racnode2
这样,我们就有了两个虚拟的RedHat Advanced Server 3了。


3. 由于2个虚拟机是完全一样的(HOSTNAME,IP等等) ,因此我们需要对racnode2作一些修改:
(1),修改配置文件(windwos下是 .vmx 文件),将 displayName = "racnode1" 到 "racnode2"
   这样,在控制台就可以出现2个不同名称的虚拟机了(尽管这时他们的实质还是一样的)

(2),在power off的状态下,使用vmware配置工具,删除第二个节点的网卡,然后启动racnode2虚拟机。
  由于将网卡删除,启动过程中会提示系统有多余的配置文件(就是已经被删除网卡的配置文件),
  选择将多余的配置文件删除,然后再关闭racnode2系统,重新给racnode2添一块网卡。
  配置过程如下:  参考图片: 《2给第二个节点添加网卡1-5》

(3), 启动第二个虚拟机,由于添加了新的网卡,需要修改IP地址等设置:
   修改网卡配置的过程参考图片: 《3配置节点2的新网卡1-5》
   网卡配置完成后,系统继续引导,等到引导完成,我们可以通过ifconfig命令查看网络配置是否正常,
   如果不正常还可以通过ifconfig命令修改,参考图片《4检查和修改节点2的IP配置1-7》。或者在图形界面下通过neat命令启动网络配置窗口来修改。
   修改完成后,需要运行service network restart命令使修改生效。
   
   还需要看一下网络配置文件:
   例如:
     [root@racnode2 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=static
     IPADDR=10.2.10.199
     NETMASK=255.255.255.0
     GATEWAY=10.2.10.254
     [root@racnode2 root]#    
   
(4),修改主机名称等配置信息   
     #vi /etc/sysconfig/network
     将HOSTNAME=racnode1改为HOSTNAME=racnode2
     例如:
       [root@racnode2 root]# cat /etc/sysconfig/network
       NETWORKING=yes
       HOSTNAME=racnode2
       GATEWAY=10.2.10.254
       [root@racnode2 root]#

     修改/etc/hosts哟
       [root@racnode2 root]# cat /etc/hosts
       # Do not remove the following line, or various programs
       # that require network functionality will fail.
       127.0.0.1               racnode2 localhost.localdomain localhost
       10.2.10.199             racnode2
       
       [root@racnode2 root]#

4,关闭已经刚刚修改好的racnode2虚拟机,然后在power off 的状态下,使用vmware虚拟出HA所需要的硬件:
(1),给两个系统各虚拟一个新的网卡(注意,这个必须在2个虚拟机都是power off 的状态下做):
   按照前面方式给两个虚拟机都添加一个Bridged方式的网卡,方法和上面的相同,具体的请参考图片《5给两个节点添加虚拟网卡1-2》

(2),创建共享磁盘
   给HA系统创建共享磁盘sdb,大小为2G(可以根据需要自定义),操作如下:
   先打开racnode1系统的设置界面,然后选择新建硬件,然后”Creat a new virtual disk”,
   大小分配了2G,并选择上下面的“Allocate all disk space”,然后给共享磁盘起名字叫”sharedisk.pln”,
   缺省的名字为“linux.pln”,缺省的目录是racnode1主机的第一个磁盘所在的位置。
   如果使用vmware gsx 3以后的产品,磁盘设备的名称以 .vmdk  为扩展名。
   然后点击“finish”就可以了。
   这时候,系统开始划分磁盘,这个过程可能需要一些时间。

   
   这里需要注意的是,如果再定义磁盘设备的时候没有使用缺省的路径,就需要在创建磁盘后将这个新的磁盘挂接到虚拟机上。
   如果使用了缺省路径,就不需要这么麻烦了。
   
   修改完成racnode1后,再修改第二个节点racnode2,注意选择”Use an existing virtual disk”。
   
   2个节点全部修改完成后,检查他们的共享磁盘的”Vitual disk node”,缺省是0:1,我们需要将他们修改为:scsi 1:0
   
至此,我们已经给两个虚拟机各创建了一个新网卡,又创建了一个共享磁盘。
由于系统启动的时候会锁定磁盘,所以当启动racnode1后共享磁盘被锁定了,racnode2就起不来了,
因此必须做一下设置,用编辑器打开两个Vmware文件夹的虚拟机配置文件(.vmx文件),最后增加1行:
Disk.locking = false 这样硬件就配置好了.

(3),添加新网卡
   启动racnode1虚拟机,启动过程中,会检测到硬件改变,将IP修改为:192.168.2.1,其他的IP设置使用缺省的就可以了
   启动后,检查IP:
          [root@racnode1 root]# ifconfig eth0
          eth0      Link encap:Ethernet  HWaddr 00:50:56:42:BE:F7 
                    inet addr:10.2.10.198  Bcast:10.2.10.255  Mask:255.255.255.0
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                    RX packets:281 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:1000
                    RX bytes:35041 (34.2 Kb)  TX bytes:2561 (2.5 Kb)
                    Interrupt:9 Base address:0x10c0
          
          [root@racnode1 root]# ifconfig eth1
          eth1      Link encap:Ethernet  HWaddr 00:50:56:42:BE:F8 
                    inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                    RX packets:248 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:1000
                    RX bytes:32669 (31.9 Kb)  TX bytes:210 (210.0 b)
                    Interrupt:14 Base address:0x10e0
          
          [root@racnode1 root]#
   (有些系统启动后使用,还是只能显示一个网卡,我们可以作如下的处理:
     #cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
     #vi /etc/sysconfig/network-scripts/ifcfg-eth1
     将里面的ip地址和mask改为:1.1.1.1 255.0.0.0
     #service network restart
     #ifconfig
     如果可以显示两块网卡的正确配置就可以了。
    )不过,我的安装过程中没有这类问题,网卡识别的很好 :)
     
   最后在检查一下racnode1的网络配置文件,例如:
     [root@racnode1 root]# ll /etc/sysconfig/network-scripts/ifcfg-e*
     -rw-r--r--    1 root     root          214 Sep  1 01:14 /etc/sysconfig/network-scripts/ifcfg-eth0
     -rw-r--r--    1 root     root          182 Sep  1 18:47 /etc/sysconfig/network-scripts/ifcfg-eth1
     [root@racnode1 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
     # Advanced Micro Devices [AMD]|79c970 [PCnet32 LANCE]
     DEVICE=eth0
     BOOTPROTO=static
     BROADCAST=10.2.10.255
     HWADDR=00:50:56:42:BE:F7
     IPADDR=10.2.10.198
     NETMASK=255.255.255.0
     NETWORK=10.2.10.0
     ONBOOT=yes
     TYPE=Ethernet
     [root@racnode1 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
     # Advanced Micro Devices [AMD]|79c970 [PCnet32 LANCE]
     DEVICE=eth1
     ONBOOT=yes
     BOOTPROTO=static
     IPADDR=192.168.2.1
     NETMASK=255.255.255.0
     GATEWAY=192.168.2.254
     HWADDR=00:50:56:42:BE:F8
     [root@racnode1 root]#    
   上面的结果是正确的。
   
   
   
   修改racnode1的/etc/hosts文件:
     10.2.10.198 racnode1
     192.168.2.1 racnode1
     
     10.2.10.199 racnode2
     192.168.2.2 racnode2
   
   例如:
     [root@racnode1 root]# cat /etc/hosts
     # Do not remove the following line, or various programs
     # that require network functionality will fail.
     127.0.0.1               racnode1 localhost.localdomain localhost
     
     10.2.10.198             racnode1
     192.168.2.1             racnode1
     
     10.2.10.199             racnode2
     192.168.2.2             racnode2
     [root@racnode1 root]#


然后启动racnode2,也配置一下,方法和上面一样:
   启动过程中,会检测到硬件改变,将IP修改为:192.168.2.2,其他的IP设置使用缺省的就可以了
   启动后,检查IP:
     [root@racnode2 root]# ifconfig eth0
     eth0      Link encap:Ethernet  HWaddr 00:50:56:42:BE:D6 
               inet addr:10.2.10.199  Bcast:10.2.10.255  Mask:255.255.255.0
               UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
               RX packets:77 errors:0 dropped:0 overruns:0 frame:0
               TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
               collisions:0 txqueuelen:1000
               RX bytes:7926 (7.7 Kb)  TX bytes:2669 (2.6 Kb)
               Interrupt:9 Base address:0x10c0
     
     [root@racnode2 root]# ifconfig eth1
     eth1      Link encap:Ethernet  HWaddr 00:50:56:42:BE:D7 
               inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
               UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
               RX packets:122 errors:0 dropped:0 overruns:0 frame:0
               TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
               collisions:0 txqueuelen:1000
               RX bytes:11296 (11.0 Kb)  TX bytes:460 (460.0 b)
               Interrupt:14 Base address:0x10e0
     
     [root@racnode2 root]#

   检查racnode2的网络配置:
     [root@racnode2 root]# ll /etc/sysconfig/network-scripts/ifcfg-e*
     -rw-r--r--    1 root     root          101 Sep  1 17:37 /etc/sysconfig/network-scripts/ifcfg-eth0
     -rw-r--r--    1 root     root          182 Sep  1 18:58 /etc/sysconfig/network-scripts/ifcfg-eth1
     [root@racnode2 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
     DEVICE=eth0
     ONBOOT=yes
     BOOTPROTO=static
     IPADDR=10.2.10.199
     NETMASK=255.255.255.0
     GATEWAY=10.2.10.254
     [root@racnode2 root]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
     # Advanced Micro Devices [AMD]|79c970 [PCnet32 LANCE]
     DEVICE=eth1
     ONBOOT=yes
     BOOTPROTO=static
     IPADDR=192.168.2.2
     NETMASK=255.255.255.0
     GATEWAY=192.168.2.254
     HWADDR=00:50:56:42:BE:D7
     [root@racnode2 root]#    


   修改racnode2的/etc/hosts文件:
     10.2.10.198 racnode1
     192.168.2.1 racnode1
     
     10.2.10.199 racnode2
     192.168.2.2 racnode2
   
   例如:
     [root@racnode2 root]# cat /etc/hosts
     # Do not remove the following line, or various programs
     # that require network functionality will fail.
     127.0.0.1               racnode2 localhost.localdomain localhost
     
     10.2.10.198             racnode1
     192.168.2.1             racnode1
     
     10.2.10.199             racnode2
     192.168.2.2             racnode2
     
     [root@racnode2 root]#
做完上述修改后,重起两个虚拟机,然后就可以进入下一步——配置共享盘。

5,配置共享盘
(1),空间规划:
sdb1    system         500M
sdb2     undo1           50M
sdb3     undo2           50M
sdb4     redo11          20M
sdb5     redo12          20M
sdb6     redo21          20M
sdb7     redo22          20M
sdb8     user           100M
sdb9     temp           50M
sdb10    CONTROL01      100M
sdb11    CONTROL02      100M
sdb12    SPFILE           5M
sdb13    sms_app         20M
sdb14    srvcfg         100M

(2),检查在两个机器中是否可以看到刚刚添加的虚拟盘:
在节点1:
  [root@racnode1 root]# dmesg|grep sd
  Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
  Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0   sdb就是新添加的虚拟盘
  SCSI device sda: 18860310 512-byte hdwr sectors (9656 MB)   这里是在vmware中设置的给建立第一个虚拟机时划分的9个G空间
   sda: sda1 sda2 sda3
  SCSI device sdb: 4192965 512-byte hdwr sectors (2147 MB)  sdb就是新添加的2G的虚拟盘
   sdb: unknown partition table                我们看到,sdb还没有被分区
  EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,2), internal journal
  EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journal
  [root@racnode1 root]#

在节点2:
  [root@racnode2 root]# dmesg|grep sd
  Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
  Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
  SCSI device sda: 18860310 512-byte hdwr sectors (9656 MB)
   sda: sda1 sda2 sda3
  SCSI device sdb: 4192965 512-byte hdwr sectors (2147 MB)
   sdb: unknown partition table
  EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,2), internal journal
  EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journal
  [root@racnode2 root]#

在racnode1的shell里面,

(3),开始划分分区
#fdisk /dev/sdb //注使用parted也可以
将添加的共享磁盘,分为9个区:
设备名称(/dev/)  用途           大小     start      end
--------------------------------------------------------------         
sdb1            system         500M      1      500                
sdb2             undo1           50M    501       551                
sdb3             undo2           50M    552       602             
sdb4             redo11          20M    603       623               
sdb5             redo12          20M    624        644                
sdb6             redo21          20M      645        665               
sdb7             redo22          20M      666        686              
sdb8             user           100M      687        787              
sdb9             temp           50M      788        838              
sdb10            CONTROL01      100M      839        939              
sdb11            CONTROL02      100M      940       1040              
sdb12            SPFILE           5M     1041       1046              
sdb13            sms_app         20M     1047       1067              
sdb14            srvcfg         100M     1068       1168              
--------------------------------------------------------------        
         共使用了       1155M
        
mklabel msdos
mkpart primary 0 500
mkpart primary 501 551
mkpart primary 552 602 
mkpart extented 603 2000
mkpart logical 603 623
mkpart logical 624 644
mkpart logical 645 665
mkpart logical 666 686
mkpart logical 687 787
mkpart logical 788 838
mkpart logical 839 939
mkpart logical 940 1040
mkpart logical 1041 1046
mkpart logical 1047 1067
mkpart logical 1068 1168

使用parted 分区: parted /dev/sdb
例如:
     [root@racnode1 root]# parted /dev/sdb
     GNU Parted 1.6.3
     Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
     This program is free software, covered by the GNU General Public License.
     
     This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     
     Using /dev/sdb
     Information: The operating system thinks the geometry on /dev/sdb is 1023/128/32.
     (parted) print                                                           
     Disk geometry for /dev/sdb: 0.000-2047.346 megabytes
     Disk label type: msdos
     Minor    Start       End     Type      Filesystem  Flags
     (parted) help                                                            
       check MINOR                   do a simple check on the filesystem
       cp [FROM-DEVICE] FROM-MINOR TO-MINOR      copy filesystem to another partition
       help [COMMAND]                prints general help, or help on COMMAND
       mklabel LABEL-TYPE            create a new disklabel (partition table)
       mkfs MINOR FS-TYPE            make a filesystem FS-TYPE on partititon MINOR
       mkpart PART-TYPE [FS-TYPE] START END      make a partition
       mkpartfs PART-TYPE FS-TYPE START END      make a partition with a filesystem
       move MINOR START END          move partition MINOR
       name MINOR NAME               name partition MINOR NAME
       print [MINOR]                 display the partition table, or a partition
       quit                          exit program
       rescue START END              rescue a lost partition near START and END
       resize MINOR START END        resize filesystem on partition MINOR
       rm MINOR                      delete partition MINOR
       select DEVICE                 choose the device to edit
       set MINOR FLAG STATE          change a flag on partition MINOR
     (parted)
首先要输入:  mklabel msdos  .否则,分区的类型就有问题.例如:
     (parted) mklabel msdos
     (parted)     
检查一下当前的分区情况:
     (parted) print                                                           
     Disk geometry for /dev/sdb: 0.000-2047.346 megabytes
     Disk label type: msdos
     Minor    Start       End     Type      Filesystem  Flags
     (parted)    
开始分区:
                                                                 
mkpart primary 0 500
mkpart primary 501 551
mkpart primary 552 602 
mkpart extended 603 2000
mkpart logical 603 623
mkpart logical 624 644
mkpart logical 645 665
mkpart logical 666 686
mkpart logical 687 787
mkpart logical 788 838
mkpart logical 839 939
mkpart logical 940 1040
mkpart logical 1041 1046
mkpart logical 1047 1067
mkpart logical 1068 1168

详细的分区过程请参见《分区的过程》             

检查分区的结果:
[root@racnode1 root]# cat /proc/partitions
major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

   8     0    9430155 sda 7285 132 55460 76180 4775 178 39574 48850 0 28940 125030
   8     1     104391 sda1 214 0 428 1880 23 0 46 60 0 500 1940
   8     2    8514450 sda2 6642 124 54098 73030 4752 178 39528 48790 0 28210 121820
   8     3     811282 sda3 46 0 152 110 0 0 0 0 0 40 110
   8    16    2096482 sdb 6418 0 12836 18180 91 0 182 70 0 3210 18250
   8    17     511984 sdb1 0 0 0 0 0 0 0 0 0 0 0
   8    18      53248 sdb2 0 0 0 0 0 0 0 0 0 0 0
   8    19      51200 sdb3 0 0 0 0 0 0 0 0 0 0 0
   8    21      22512 sdb5 0 0 0 0 0 0 0 0 0 0 0
   8    22      20464 sdb6 0 0 0 0 0 0 0 0 0 0 0
   8    23      22512 sdb7 0 0 0 0 0 0 0 0 0 0 0
   8    24      20464 sdb8 0 0 0 0 0 0 0 0 0 0 0
   8    25     104432 sdb9 0 0 0 0 0 0 0 0 0 0 0
   8    26      51184 sdb10 0 0 0 0 0 0 0 0 0 0 0
   8    27     104432 sdb11 0 0 0 0 0 0 0 0 0 0 0
   8    28     102384 sdb12 0 0 0 0 0 0 0 0 0 0 0
   8    29       6128 sdb13 0 0 0 0 0 0 0 0 0 0 0
   8    30      22512 sdb14 0 0 0 0 0 0 0 0 0 0 0
   8    31     102384 sdb15 0 0 0 0 0 0 0 0 0 0 0
[root@racnode1 root]#

然后在两个节点分别邦定raw device:
/dev/raw/raw1  /dev/sdb1
/dev/raw/raw2  /dev/sdb2       
/dev/raw/raw3  /dev/sdb3       
/dev/raw/raw5  /dev/sdb5       
/dev/raw/raw6  /dev/sdb6       
/dev/raw/raw7  /dev/sdb7       
/dev/raw/raw8  /dev/sdb8       
/dev/raw/raw9  /dev/sdb9       
/dev/raw/raw10 /dev/sdb10      
/dev/raw/raw11 /dev/sdb11      
/dev/raw/raw12 /dev/sdb12      
/dev/raw/raw13 /dev/sdb13      
/dev/raw/raw14 /dev/sdb14      
/dev/raw/raw15 /dev/sdb15      
帮定的方法就是在两个节点分别执行下面的步骤:
(1),编辑/etc/sysconfig/rawdevices 文件,加入上述需要邦定的设备,例如:
         [root@racnode1 root]# cat /etc/sysconfig/rawdevices
         # raw device bindings
         # format:  <rawdev> <major> <minor>
         #          <rawdev> <blockdev>
         # example: /dev/raw/raw1 /dev/sda1
         #          /dev/raw/raw2 8 5
         
         /dev/raw/raw1  /dev/sdb1
         /dev/raw/raw2  /dev/sdb2       
         /dev/raw/raw3  /dev/sdb3       
         /dev/raw/raw5  /dev/sdb5       
         /dev/raw/raw6  /dev/sdb6       
         /dev/raw/raw7  /dev/sdb7       
         /dev/raw/raw8  /dev/sdb8       
         /dev/raw/raw9  /dev/sdb9       
         /dev/raw/raw10 /dev/sdb10      
         /dev/raw/raw11 /dev/sdb11      
         /dev/raw/raw12 /dev/sdb12      
         /dev/raw/raw13 /dev/sdb13      
         /dev/raw/raw14 /dev/sdb14      
         /dev/raw/raw15 /dev/sdb15      
         
         [root@racnode1 root]#
(2),然后重新启动服务:
         [root@racnode1 root]# service rawdevices restart
         Assigning devices:
                    /dev/raw/raw1  -->   /dev/sdb1
         /dev/raw/raw1:  bound to major 8, minor 17
                    /dev/raw/raw2  -->   /dev/sdb2
         /dev/raw/raw2:  bound to major 8, minor 18
                    /dev/raw/raw3  -->   /dev/sdb3
         /dev/raw/raw3:  bound to major 8, minor 19
                    /dev/raw/raw5  -->   /dev/sdb5
         /dev/raw/raw5:  bound to major 8, minor 21
                    /dev/raw/raw6  -->   /dev/sdb6
         /dev/raw/raw6:  bound to major 8, minor 22
                    /dev/raw/raw7  -->   /dev/sdb7
         /dev/raw/raw7:  bound to major 8, minor 23
                    /dev/raw/raw8  -->   /dev/sdb8
         /dev/raw/raw8:  bound to major 8, minor 24
                    /dev/raw/raw9  -->   /dev/sdb9
         /dev/raw/raw9:  bound to major 8, minor 25
                    /dev/raw/raw10  -->   /dev/sdb10
         /dev/raw/raw10: bound to major 8, minor 26
                    /dev/raw/raw11  -->   /dev/sdb11
         /dev/raw/raw11: bound to major 8, minor 27
                    /dev/raw/raw12  -->   /dev/sdb12
         /dev/raw/raw12: bound to major 8, minor 28
                    /dev/raw/raw13  -->   /dev/sdb13
         /dev/raw/raw13: bound to major 8, minor 29
                    /dev/raw/raw14  -->   /dev/sdb14
         /dev/raw/raw14: bound to major 8, minor 30
                    /dev/raw/raw15  -->   /dev/sdb15
         /dev/raw/raw15: bound to major 8, minor 31
         done
         [root@racnode1 root]#

(3),启动完成后检查raw device的邦定情况:
         [root@racnode1 root]# raw -qa
         /dev/raw/raw1:  bound to major 8, minor 17
         /dev/raw/raw2:  bound to major 8, minor 18
         /dev/raw/raw3:  bound to major 8, minor 19
         /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
         /dev/raw/raw10: bound to major 8, minor 26
         /dev/raw/raw11: bound to major 8, minor 27
         /dev/raw/raw12: bound to major 8, minor 28
         /dev/raw/raw13: bound to major 8, minor 29
         /dev/raw/raw14: bound to major 8, minor 30
         /dev/raw/raw15: bound to major 8, minor 31
         [root@racnode1 root]#

上述步骤(2)和(3),需要在节点2也执行一遍。
详细的步骤和过程参见《在两个节点邦定分区的过程》。
注意: 因为我们需要raw device,因此千万不要使用分区,例如:mkfs.ext3 -j -b 4096 /dev/sdb1

在第二个点执行的步骤:
(1),编辑/etc/sysconfig/rawdevices 文件,加入上述需要邦定的设备,例如:
         [root@racnode2 root]# cat /etc/sysconfig/rawdevices
         # raw device bindings
         # format:  <rawdev> <major> <minor>
         #          <rawdev> <blockdev>
         # example: /dev/raw/raw1 /dev/sda1
         #          /dev/raw/raw2 8 5
         /dev/raw/raw1  /dev/sdb1
         /dev/raw/raw2  /dev/sdb2       
         /dev/raw/raw3  /dev/sdb3       
         /dev/raw/raw5  /dev/sdb5       
         /dev/raw/raw6  /dev/sdb6       
         /dev/raw/raw7  /dev/sdb7       
         /dev/raw/raw8  /dev/sdb8       
         /dev/raw/raw9  /dev/sdb9       
         /dev/raw/raw10 /dev/sdb10      
         /dev/raw/raw11 /dev/sdb11      
         /dev/raw/raw12 /dev/sdb12      
         /dev/raw/raw13 /dev/sdb13      
         /dev/raw/raw14 /dev/sdb14      
         /dev/raw/raw15 /dev/sdb15      
         
         [root@racnode2 root]#

(2),然后重新启动服务:
         [root@racnode2 root]# service rawdevices restart
         Assigning devices:
                    /dev/raw/raw1  -->   /dev/sdb1
         /dev/raw/raw1:  bound to major 8, minor 17
                    /dev/raw/raw2  -->   /dev/sdb2
         /dev/raw/raw2:  bound to major 8, minor 18
                    /dev/raw/raw3  -->   /dev/sdb3
         /dev/raw/raw3:  bound to major 8, minor 19
                    /dev/raw/raw5  -->   /dev/sdb5
         /dev/raw/raw5:  bound to major 8, minor 21
                    /dev/raw/raw6  -->   /dev/sdb6
         /dev/raw/raw6:  bound to major 8, minor 22
                    /dev/raw/raw7  -->   /dev/sdb7
         /dev/raw/raw7:  bound to major 8, minor 23
                    /dev/raw/raw8  -->   /dev/sdb8
         /dev/raw/raw8:  bound to major 8, minor 24
                    /dev/raw/raw9  -->   /dev/sdb9
         /dev/raw/raw9:  bound to major 8, minor 25
                    /dev/raw/raw10  -->   /dev/sdb10
         /dev/raw/raw10: bound to major 8, minor 26
                    /dev/raw/raw11  -->   /dev/sdb11
         /dev/raw/raw11: bound to major 8, minor 27
                    /dev/raw/raw12  -->   /dev/sdb12
         /dev/raw/raw12: bound to major 8, minor 28
                    /dev/raw/raw13  -->   /dev/sdb13
         /dev/raw/raw13: bound to major 8, minor 29
                    /dev/raw/raw14  -->   /dev/sdb14
         /dev/raw/raw14: bound to major 8, minor 30
                    /dev/raw/raw15  -->   /dev/sdb15
         /dev/raw/raw15: bound to major 8, minor 31
         done
         [root@racnode2 root]# cat /proc/partitions
(3),启动完成后检查raw device的邦定情况:
         [root@racnode2 root]#  raw -qa
         /dev/raw/raw1:  bound to major 8, minor 17
         /dev/raw/raw2:  bound to major 8, minor 18
         /dev/raw/raw3:  bound to major 8, minor 19
         /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
         /dev/raw/raw10: bound to major 8, minor 26
         /dev/raw/raw11: bound to major 8, minor 27
         /dev/raw/raw12: bound to major 8, minor 28
         /dev/raw/raw13: bound to major 8, minor 29
         /dev/raw/raw14: bound to major 8, minor 30
         /dev/raw/raw15: bound to major 8, minor 31
         [root@racnode2 root]#


   注意: 也可以使用命令邦定:( 但是这里的配置在系统重新启动后就失效了,因此是临时的配置)
      raw /dev/raw/raw1  /dev/sdb1 
      raw /dev/raw/raw2  /dev/sdb2 
      raw /dev/raw/raw3  /dev/sdb3 
      raw /dev/raw/raw5  /dev/sdb5 
      raw /dev/raw/raw6  /dev/sdb6 
      raw /dev/raw/raw7  /dev/sdb7 
      raw /dev/raw/raw8  /dev/sdb8 
      raw /dev/raw/raw9  /dev/sdb9 
      raw /dev/raw/raw10 /dev/sdb10
      raw /dev/raw/raw11 /dev/sdb11
      raw /dev/raw/raw12 /dev/sdb12
      raw /dev/raw/raw13 /dev/sdb13
      raw /dev/raw/raw14 /dev/sdb14
      raw /dev/raw/raw15 /dev/sdb15
   例如:
      [root@racnode2 root]# raw /dev/raw/raw1 /dev/sdb1
      /dev/raw/raw1:  bound to major 8, minor 17
      [root@racnode2 root]#

(4),建立oracle用户组和用户:
   [root@racnode1 root]# groupadd dba
   [root@racnode1 root]# useradd -g dba oracle
   [root@racnode1 root]# passwd oracle
   Changing password for user oracle.
   New password:
   BAD PASSWORD: it is based on a dictionary word
   Retype new password:
   passwd: all authentication tokens updated successfully.
   [root@racnode1 root]# su - oracle
   [oracle@racnode1 oracle]$
   

   [root@racnode2 root]# groupadd dba
   [root@racnode2 root]# useradd -g dba oracle
   [root@racnode2 root]# passwd oracle
   Changing password for user oracle.
   New password:
   BAD PASSWORD: it is based on a dictionary word
   Retype new password:
   passwd: all authentication tokens updated successfully.
   [root@racnode2 root]# su - oracle
   [oracle@racnode2 oracle]$


   

(5),在两个node修改raw device 属主:
   chown oracle:dba /dev/raw/raw1
   chown oracle:dba /dev/raw/raw2
   chown oracle:dba /dev/raw/raw3
   chown oracle:dba /dev/raw/raw5
   chown oracle:dba /dev/raw/raw6
   chown oracle:dba /dev/raw/raw7
   chown oracle:dba /dev/raw/raw8
   chown oracle:dba /dev/raw/raw9
   chown oracle:dba /dev/raw/raw10
   chown oracle:dba /dev/raw/raw11
   chown oracle:dba /dev/raw/raw12
   chown oracle:dba /dev/raw/raw13
   chown oracle:dba /dev/raw/raw14
   chown oracle:dba /dev/raw/raw15

   节点1执行过程如下:
      [root@racnode1 root]# chmod 777 a.sh
      [root@racnode1 root]# cat a.sh
      chown oracle:dba /dev/raw/raw1
      chown oracle:dba /dev/raw/raw2
      chown oracle:dba /dev/raw/raw3
      chown oracle:dba /dev/raw/raw5
      chown oracle:dba /dev/raw/raw6
      chown oracle:dba /dev/raw/raw7
      chown oracle:dba /dev/raw/raw8
      chown oracle:dba /dev/raw/raw9
      chown oracle:dba /dev/raw/raw10
      chown oracle:dba /dev/raw/raw11
      chown oracle:dba /dev/raw/raw12
      chown oracle:dba /dev/raw/raw13
      chown oracle:dba /dev/raw/raw14
      chown oracle:dba /dev/raw/raw15
      [root@racnode1 root]# ./a.sh
      [root@racnode1 root]# ll /dev/raw/raw1
      crw-rw----    1 oracle   dba      162,   1 Sep 15  2003 /dev/raw/raw1
      [root@racnode1 root]#
      
   节点2执行过程如下:
      [root@racnode2 root]# chmod 777 a.sh
      [root@racnode2 root]# cat a.sh
      chown oracle:dba /dev/raw/raw1
      chown oracle:dba /dev/raw/raw2
      chown oracle:dba /dev/raw/raw3
      chown oracle:dba /dev/raw/raw5
      chown oracle:dba /dev/raw/raw6
      chown oracle:dba /dev/raw/raw7
      chown oracle:dba /dev/raw/raw8
      chown oracle:dba /dev/raw/raw9
      chown oracle:dba /dev/raw/raw10
      chown oracle:dba /dev/raw/raw11
      chown oracle:dba /dev/raw/raw12
      chown oracle:dba /dev/raw/raw13
      chown oracle:dba /dev/raw/raw14
      chown oracle:dba /dev/raw/raw15
      [root@racnode2 root]# ./a.sh
      [root@racnode2 root]# ll chown oracle:dba /dev/raw/raw15
      ls: chown: No such file or directory
      ls: oracle:dba: No such file or directory
      crw-rw----    1 oracle   dba      162,  15 Sep 15  2003 /dev/raw/raw15
      [root@racnode2 root]#
      

   
   
   (6),切换到oracle用户,在两个node修改raw device 属性:
      chmod 600 /dev/raw/raw1 
      chmod 600 /dev/raw/raw2 
      chmod 600 /dev/raw/raw3 
      chmod 600 /dev/raw/raw5 
      chmod 600 /dev/raw/raw6 
      chmod 600 /dev/raw/raw7 
      chmod 600 /dev/raw/raw8 
      chmod 600 /dev/raw/raw9 
      chmod 600 /dev/raw/raw10
      chmod 600 /dev/raw/raw11
      chmod 600 /dev/raw/raw12
      chmod 600 /dev/raw/raw13
      chmod 600 /dev/raw/raw14
      chmod 600 /dev/raw/raw15
   
   节点1执行过程如下:
      [root@racnode1 root]# ll /dev/raw/raw1
      crw-rw----    1 oracle   dba      162,   1 Sep 15  2003 /dev/raw/raw1
      [root@racnode1 root]# su - oracle
      [oracle@racnode1 oracle]$ cat > a.sh
      chmod 600 /dev/raw/raw1 
      chmod 600 /dev/raw/raw2 
      chmod 600 /dev/raw/raw3 
      chmod 600 /dev/raw/raw5 
      chmod 600 /dev/raw/raw6 
      chmod 600 /dev/raw/raw7 
      chmod 600 /dev/raw/raw8 
      chmod 600 /dev/raw/raw9 
      chmod 600 /dev/raw/raw10
      chmod 600 /dev/raw/raw11
      chmod 600 /dev/raw/raw12
      chmod 600 /dev/raw/raw13
      chmod 600 /dev/raw/raw14
      chmod 600 /dev/raw/raw15
      
      [oracle@racnode1 oracle]$ chmod 777 a.sh
      [oracle@racnode1 oracle]$ ./a.sh
      [oracle@racnode1 oracle]$ ll chmod 600 /dev/raw/raw15
      ls: chmod: No such file or directory
      ls: 600: No such file or directory
      crw-------    1 oracle   dba      162,  15 Sep 15  2003 /dev/raw/raw15
      [oracle@racnode1 oracle]$

   节点2执行过程如下:
      [root@racnode2 root]# su - oracle
      [oracle@racnode2 oracle]$ cat > a.sh
      chmod 600 /dev/raw/raw1 
      chmod 600 /dev/raw/raw2 
      chmod 600 /dev/raw/raw3 
      chmod 600 /dev/raw/raw5 
      chmod 600 /dev/raw/raw6 
      chmod 600 /dev/raw/raw7 
      chmod 600 /dev/raw/raw8 
      chmod 600 /dev/raw/raw9 
      chmod 600 /dev/raw/raw10
      chmod 600 /dev/raw/raw11
      chmod 600 /dev/raw/raw12
      chmod 600 /dev/raw/raw13
      chmod 600 /dev/raw/raw14
      chmod 600 /dev/raw/raw15
      
      [oracle@racnode2 oracle]$ chmod 777 a.sh
      [oracle@racnode2 oracle]$ ./a.sh
      [oracle@racnode2 oracle]$ ll chmod 600 /dev/raw/raw15
      ls: chmod: No such file or directory
      ls: 600: No such file or directory
      crw-------    1 oracle   dba      162,  15 Sep 15  2003 /dev/raw/raw15
      [oracle@racnode2 oracle]$
      
      
      
      
6,配置两个node的kernel 参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是大致的步骤: 1. 首先,您需要准备两台VMware虚拟机,并在其中安装操作系统(建议使用Linux系统)。这两台虚拟机需要在同一网络中,并且能够相互通信。 2. 在操作系统中安装必要的依赖项,如gcc、libaio、sysstat等。您可以使用以下命令来安装这些依赖项(在CentOS系统中): ``` yum install gcc gcc-c++ libaio libaio-devel sysstat -y ``` 3. 下载Oracle 11g安装文件和Grid Infrastructure安装文件。这些文件可以在Oracle官网上下载。 4. 在两台虚拟机上,分别解压缩Oracle 11g和Grid Infrastructure安装文件。 5. 在两台虚拟机上,分别运行Grid Infrastructure的安装向导。按照向导的提示进行操作,设置相应的参数,如节点名称、VIP地址、存储选项等。在安装向导的“选择安装选项”页面中,选择“安装Grid Infrastructure for a Cluster”选项。 6. 完成Grid Infrastructure的安装后,在两台虚拟机上,分别运行Oracle 11g的安装向导。按照向导的提示进行操作,设置相应的参数,如实例名称、密码、字符集等。在安装向导的“选择安装选项”页面中,选择“创建一个RAC数据库”。 7. 在安装向导的“节点选择”页面中,选择两台虚拟机,并设置相应的节点角色,如主节点和备节点。在安装向导的“存储选项”页面中,设置相应的ASM磁盘组。 8. 完成Oracle 11g的安装后,运行DBCA(Database Configuration Assistant)工具,创建数据库实例。 9. 最后,测试RAC数据库是否正常工作。 以上是大致的步骤,具体操作可能因环境和版本而异。如果您需要更详细的指导,我建议您参考Oracle官方文档或相关的安装教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值