1.3. 安装和配置红帽企业 Linux

设置了基本的群集硬件后,下一步是在每个成员上安装红帽企业 Linux,并保证所有系统都能够识别连接了的设备。其步骤如下:

  1. 在所有群集成员上安装红帽企业 Linux。详细说明请参阅《红帽企业 Linux 安装指南》

    此外,在安装红帽企业 Linux 时,强烈推荐你执行以下步骤:

    • 在安装红帽企业 Linux 前收集成员和接合以太网端口的 IP 地址。注意,接合以太网端口的 IP 地址可能是专用 IP 地址(如 10.x.x.x)。

    • 不要把本地文件系统(如 //etc/tmp、和/var)放在共享磁盘或和共享磁盘相同的 SCSI 总线上。这有助于防止其它群集成员不小心地挂载这些文件系统,还可以保留用于群集磁盘的总线上有限的 SCSI 标记号码。

    • /tmp/var 放在不同的文件系统中。这能够提高成员的性能。

    • 当成员引导时,请确定成员检测磁盘设备的顺序和红帽企业 Linux 安装时的检测顺序相同。如果设备没有按同一顺序被检测到,成员可能不能够引导。

    • 在使用配置了大于零的逻辑单元号码(LUN)的 RAID 贮存区时,有必要通过在 /etc/modules.conf 中添加以下内容来启用 LUN 支持:

      options scsi_mod max_scsi_luns=255

      修改了 modules.conf 文件后,有必要使用 mkinitrd 来重新建构初始内存磁盘。关于使用 mkinitrd 来创建 ramdisk 的信息,请参阅《红帽企业 Linux 系统管理指南》

  2. 重新引导成员。

  3. 在使用终端服务器时,配置红帽企业 Linux 来把控制台消息发送到控制台端口。

  4. 编辑每个群集成员上的 /etc/hosts 文件,包括在群集中使用的 IP 地址或保证其地址在 DNS 中。关于执行这项任务的详细信息请参阅第 1.3.1 节

  5. 降低交替内核引导超时的限度来缩短成员的引导时间。关于执行这项任务的信息,请参阅第 1.3.2 节

  6. 请确保连接远程电源开关的串口上没有关联任何登录程序(或 getty)。要执行这项任务,编辑 /etc/inittab 文件,使用一个散列符号(#)来把所有和用在远程电源开关上的串口相对应的项目都变成注释。然后使用 init q 命令。

  7. 校验是否所有系统都检测到了全部已安装硬件:

    • 使用 dmesg 命令来显示控制台启动消息。关于执行这项任务的详情请参阅第 1.3.3 节

    • 使用 cat /proc/devices 命令来显示内核中配置了的设备。关于执行这项任务的详情请参阅第 1.3.4 节

  8. 通过使用 ping 命令来在成员间发送测试包来校验各成员是否能够通过所有的网络接口通信。

  9. 如果打算配置 Samba 服务,请校验是否安装了 Samba 服务所需的 RPM 软件包。

1.3.1. 编辑 /etc/hosts 文件

/etc/hosts 文件包含 IP 地址到主机名的转换表。每个成员上的 /etc/hosts 文件都必须包含以下项目:

除了使用 /etc/hosts 文件外,你还可以使用 DNS 或 NIS 这类命名系统来定义群集所用的主机名。不过,要限制依赖关系的数量或优化可用性,强烈推荐你使用 /etc/hosts 文件来为群集网络接口定义 IP 地址。

以下是成员上的 /etc/hosts 文件示范:

127.0.0.1         localhost.localdomain   localhost
193.186.1.81      cluster2.example.com      cluster2
10.0.0.1          ecluster2.example.com     ecluster2
193.186.1.82      cluster3.example.com      cluster3
10.0.0.2          ecluster3.example.com     ecluster3

前面的例子显示了两个成员(cluster2cluster3)的 IP 地址和主机名,以及用于每个成员上的点对点心跳连接的以太网接口(ecluster2ecluster3)的专用地址和主机名。

校验 /etc/hosts 文件中的本地主机项目的格式是否正确。请确保本地主机中不包括非本地系统的项目。以下显示了一个错误配置的例子。它在本地主机项目中包括了一个非本地系统(server1):

127.0.0.1     localhost.localdomain     localhost server1

如果 /etc/hosts 文件的格式不正确,以太网连接可能不会正确进行。请检查 /etc/hosts 这个文件,如有必要,从本地主机项目中删除非本地系统来修正其格式。

注意,每个网络适配器都必须使用正确的 IP 地址和子网掩码来配置。

以下的例子显示了 /sbin/ifconfig 命令在群集成员上的部分输出:

eth0      Link encap:Ethernet  HWaddr 00:00:BC:11:76:93  
          inet addr:192.186.1.81  Bcast:192.186.1.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
          TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:19 Base address:0xfce0

eth1      Link encap:Ethernet  HWaddr 00:00:BC:11:76:92  
          inet addr:10.0.0.1  Bcast:10.0.0.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:18 Base address:0xfcc0

前面的例子显示了群集成员上的两个网络接口:eth0(成员的网络接口)和 eth1(点对点以太网连接的网络接口)。

你还可以为群集成员把 IP 地址添加到你的 DNS 服务器。关于配置 DNS 的详情请参阅《红帽企业 Linux 参考指南》,或向你的网络管理员咨询。

1.3.2. 缩短内核引导超时限度

有可能通过缩短内核引导超时限度来缩短成员的引导时间。在红帽企业 Linux 的引导过程中,引导装载程序允许你指定要引导的另一个内核。指定内核的默认超时时间是十秒钟。

修改成员的内核引导超时限度,按照以下方式来编辑恰当的文件:

在使用 GRUB 引导装载程序时,你应该修改 /boot/grub/grub.conf 中的超时参数来指定恰当的 timeout 秒数。 要把间隔设为 3 秒钟,按照以下方式来编辑参数:

timeout = 3

在使用 LILO 或 ELILO 引导装载程序时,编辑 /etc/lilo.conf 文件(x86 系统)或 elilo.conf 文件(Itanium 系统),并指定想要的 timeout 数值(以十分之一秒为单位)。以下的例子把超时限度设为三秒钟:

timeout = 30

要应用 /etc/lilo.conf 文件中的改变,使用 /sbin/lilo 命令。

在 Itanium 系统上,要应用 /boot/efi/efi/redhat/elilo.conf 文件中的改变,使用 /sbin/elilo 命令。

1.3.3. 显示控制台启动消息

使用 dmesg 命令来显示控制台启动消息。详情请参阅 dmesg(8) 的说明书页。

以下的 dmesg 命令输出示例显示了在成员上检测到两个外部 SCSI 总线和九个磁盘。(带后斜线的行在多数屏幕上应显示为一行):

May 22 14:02:10 storage3 kernel: scsi0 : Adaptec AHA274x/284x/294x \
	      (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi1 : Adaptec AHA274x/284x/294x \
              (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi : 2 hosts. 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST39236LW         Rev: 0004 
May 22 14:02:11 storage3 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdc at scsi1, channel 0, id 1, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdd at scsi1, channel 0, id 2, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sde at scsi1, channel 0, id 3, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdg at scsi1, channel 0, id 9, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdi at scsi1, channel 0, id 11, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: Dell      Model: 8 BAY U2W CU      Rev: 0205 
May 22 14:02:11 storage3 kernel:   Type:   Processor \
                          ANSI SCSI revision: 03 
May 22 14:02:11 storage3 kernel: scsi1 : channel 0 target 15 lun 1 request sense \
	      failed, performing reset. 
May 22 14:02:11 storage3 kernel: SCSI bus is being reset for host 1 channel 0. 
May 22 14:02:11 storage3 kernel: scsi : detected 9 SCSI disks total.

以下的 dmesg 命令输出示例显示了在成员上检测到一张“四以太网”卡:

May 22 14:02:11 storage3 kernel: 3c59x.c:v0.99H 11/17/98 Donald Becker
May 22 14:02:11 storage3 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov 
May 22 14:02:11 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:93, IRQ 5. 
May 22 14:02:12 storage3 kernel: eth1: Digital DS21140 Tulip rev 34 at 0x9400, \
	      00:00:BC:11:76:92, IRQ 9. 
May 22 14:02:12 storage3 kernel: eth2: Digital DS21140 Tulip rev 34 at 0x9000, \
	      00:00:BC:11:76:91, IRQ 11. 
May 22 14:02:12 storage3 kernel: eth3: Digital DS21140 Tulip rev 34 at 0x8800, \
	      00:00:BC:11:76:90, IRQ 10.

1.3.4. 显示在内核中配置了的设备

要确定安装了的设备(包括串口和网络接口)在内核中已被配置,请在每个成员上使用 cat /proc/devices 命令。使用这个命令还可以判定成员上是否安装了原始设备支持。例如:

Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 19 ttyC
 20 cub
128 ptm
136 pts
162 raw

Block devices:
  2 fd
  3 ide0
  8 sd
 65 sd

前面的例子显示了: