如何使用CentOS 5虚拟化和iSCSI创建集群测试台

如何使用CentOS 5虚拟化和iSCSI创建集群测试台 本指南尝试提供基于Xen的测试环境 您可以 ...

如何使用CentOS 5虚拟化和iSCSI创建集群测试

A.概述

本指南试图提供一个基于Xen的测试环境,您可以在其中练习设置两个节点集群(集群设置本身不在这里讨论 - 我只是给您您需要设置的内容)。

XEN可以托管两种类型的客户系统对虚拟化和全虚拟化:

  • 对于虚拟虚拟客户端,您需要通过NFS,FTP或HTTP可用的Red Hat Enterprise Linux 5安装树。
  • 对于完全虚拟化的guest虚拟机安装,您将需要DVD或CD-ROM分发媒体或可引导的.iso文件和网络可访问的安装树

有关详细信息,请参阅“ RHEL5虚拟化手册”

我将在我的设置中使用对虚拟客户端。 这里将涉及三个系统:

  • node00 - 物理系统
    虚拟IP: 192.168.222.1 (public1 vlan)
    192.168.100.1 (private1 vlan)
  • node01 - 对虚拟客户1
    虚拟IP: 192.168.222.10 (public1 vlan)
    192.168.100.10 (private1 vlan)
  • node02 - 对虚拟客户1
    虚拟IP: 192.168.222.20 (public1 vlan)
    192.168.100.20 (private1 vlan)

我用什么

  • 具有4G RAM的HP Blade bl25p机(实际上是AMD64刀片机)。 一台具有相当数量的RAM和处理速度的机器应该做。
  • Centos i386 5更新1 www.centos.org DVD ISO下载的HTTP,NFS和FTP安装源是从这个iso创建的。 此外,主机和客户系统可以使用的yum存储库将从centos iso映像生成。
  • 通过iscsi托管客户机和“虚拟lun”的逻辑卷(您还可以使用磁盘分区 - 有关详细信息,请参阅虚拟化指南)。

我的LVM设置

以下是我的LVM配置。 lvLUN0 *条目是我用于iSCSI设置的条目,将由两个虚拟客户机系统共享。

lvs

  LV       VG          Attr   LSize   Origin Snap%  Move Log Copy%
  lvLUN01  Virtual00VG -wi-ao  50.00G
  lvLUN02  Virtual00VG -wi-ao  50.00G
  lvNODE01 Virtual00VG -wi-ao  30.00G
  lvNODE02 Virtual00VG -wi-ao  30.00G
  lvNODE03 Virtual00VG -wi-ao  15.00G
  lvsys00  vg00        -wi-ao 512.00M
  lvsys01  vg00        -wi-ao   8.00G
  lvsys02  vg00        -wi-ao   8.00G
  lvsys03  vg00        -wi-ao 512.00M
  lvsys04  vg00        -wi-ao 128.00M
  lvsys05  vg00        -wi-ao   1.00G
  lvsys06  vg00        -wi-ao 256.00M

主机准备

我假设您知道如何安装CentOS或其他基于RHEL的发行版,并且您熟悉rpm安装。 由于我在工作中为测试/开发环境做了大量设置,所以我已经有一个安装服务器,可以通过PXE进行基于网络的安装。 下面提供了node00的kickstart文件。 您可以进行本地媒体安装(您可以使用ISO,以便将其刻录到DVD),只需参考kickstart文件中的某些配置。 我使用的包的列表在node00的kickstart文件的%packages部分。 您可以使用yum手动安装它们,如:

#将列出centos安装组

yum grouplist

#将安装Virtualization组

yum groupinstall Virtualization

ks文件和安装

1.a kickstart文件我用于主机(node00)

您将必须修改以下内容以适应您的设置。

## START node00_ks.cfg
#modify for your own settings
install
nfs --server=remote_server --dir=/path/to/CENTOS5U1/i386
lang en_US.UTF-8
keyboard us
skipx
reboot
network --device eth2 --bootproto static --ip a.b.c.1 --netmask 255.255.255.0 --gateway a.b.c.2 --nameserver x.y.z.n --hostname node00.example.com
# grub and root password is a1s2d3f4g5
rootpw --iscrypted $1$3CXK2$CG9WlX2PuPpp7nxYMQGwP0
firewall --disabled
authconfig --enableshadow
selinux --disabled
timezone Asia/Singapore
bootloader --location=mbr --driveorder=cciss/c0d0 --append="rhgb quiet" --md5pass=$1$3CXK2$CG9WlX2PuPpp7nxYMQGwP0
clearpart --all --initlabel --drives=cciss/c0d0
part /boot --fstype ext3 --size=100 --ondisk=cciss/c0d0
part pv.100000 --size=100 --grow --ondisk=cciss/c0d0 --asprimary
volgroup vg00 --pesize=32768 pv.100000
logvol /tmp --fstype ext3 --name=lvsys05 --vgname=vg00 --size=1024
logvol /opt --fstype ext3 --name=lvsys04 --vgname=vg00 --size=128
logvol /var --fstype ext3 --name=lvsys03 --vgname=vg00 --size=512
logvol /usr --fstype ext3 --name=lvsys02 --vgname=vg00 --size=8192
logvol swap --fstype swap --name=lvsys01 --vgname=vg00 --size=8192
logvol /home --fstype ext3 --name=lvsys06 --vgname=vg00 --size=256
logvol / --fstype ext3 --name=lvsys00 --vgname=vg00 --size=512
%packages
@development-libs
@editors
@system-tools
@text-internet
@x-software-development
@virtualization
@dns-server
@core
@base
@ftp-server
@network-server
@legacy-software-development
@base-x
@web-server
@printing
@server-cfg
@sql-server
@admin-tools
@development-tools
lsscsi
createrepo
audit
net-snmp-utils
iptraf
tftp
lynx
mesa-libGLU-devel
kexec-tools
bridge-utils
device-mapper-multipath
vnc-server
xorg-x11-server-Xnest
xorg-x11-server-Xvfb
imake
openmotif
-vim-enhanced
-zisofs-tools
-zsh
-bluez-hcidump
-sysreport
## END of node00_ks.cfg

2.主机配置

设置HTTP,NFS和FTP安装服务器:

2.a网络服务器

#/etc/httpd/conf.d/centos5u1.conf
Alias /centos5u1 /var/ftp/pub/centos5u1
<Location /centos5u1>
Options Indexes FollowSymLinks MultiViews
IndexOptions FancyIndexing
Order deny,allow
Deny from all
Allow from 127.0.0.1 ::1 all
<Location>

然后启动httpd服务,确保它在启动期间执行:

service httpd start
chkconfig httpd on

2.b NFS服务器

编辑/ etc / exports并将以下内容添加到其中:

# /etc/exports
/var/ftp/pub/centos5u1 192.168*(ro)

service nfs start
chkconfig nfs on

2.c FTP服务器

因为我们已经在/ var / ftp / pub / centos5u1中有源代码 ,所以需要启动vsftpd:

service vsftpd start
chkconfig vsftpd on

2.d YUM存储库

对于此设置,我仅使用我下载的Centos DVD ISO的本地yum存储库。 首先,我将其挂载在/ var / ftp / pub / centos5u1 / i386 /中

cd /var/ftp/pub/centos5u1/
mkdir temp
mount -o loop CentOS-5.1-i386-bin-DVD.iso temp
cp -pr temp i386
umount temp
createrepo -g i386

i386 / repodata /将被更新。)

对于RHEL5,它是不同的:

createrepo -g repodata/comps-rhel5-server-core.xml Server

您需要在i386目录中执行此操作(在环回安装和复制整个目录结构之后)。

2.d.1 yum repo配置:

我将/etc/yum.repos.d/中的默认repo文件重命名为* -repo(而不是* .repo)以禁用它们。 然后我创建了这个文件:

#/etc/yum.repos.d/CentOS5.repo
[centos5-Server]
name=CentOS5 Server
baseurl=http://node00/centos5u1/i386
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

需要在/ etc / hosts中定义node00以使上述文件正常工作。 或者只是用它的IP地址替换node00

2.e VNC服务器

如果您有本地控制台访问物理机器,则不需要vnc连接。 所有你需要做的是切换到gui模式:

telinit 5

并打开一个gui终端(如gnome-terminal或kde konsole)。 但是,由于我做了一切远程,我使用vncserver和vncviewer做基于gui的东西。

2.e.1运行vncserver:

这将带来node00中的vncserver ,该节点可以通过node00:1上的“vncviewer”进行访问 (假设node00可以从您的vncviewer主机中解析出来)。

vncserver

You will require a password to access your desktops.
	  
	  Password:
	  Verify:
	  xauth:  creating new authority file /root/.Xauthority
	 
	  New 'node00.example.com:1 (root)' desktop is node00.example.com:1
	  
	  Creating default startup script /root/.vnc/xstartup
	  Starting applications specified in /root/.vnc/xstartup
	  Log file is /root/.vnc/node00.example.com:1.log