实施系统软硬件环境
硬件: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 参数