如何使用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