因为实验需要 ,这个平台搭建了好多遍了,下面就是搭建的全过程 ,看起来很复杂 ,只要了解了 其实搭建起来很快的
坐下笔记,以防后患!
有点乱---当时只用了两台机器搭建,现在扩展到多台机器了,
如下文章是使用两台机器装得 sc单独一台机器 ,其它的全部装到一台机器
一 . 安装前准备工作
1. 安装 Centos 5.4 +xen 的操作系统(过程见网上, xen 也可以在操作系统安装后进行安装)
注意:安装系统时,将 KVM , Virtualization 选上,另外禁用防火墙以及 SELinux
2. xen 的安装以及配置
#yum install –y xen ( 在线安装过程,需要联网 )
#vi /etc/xen/xen-config.sxp
修改相应的配置文件如下:(将每行前面的注释号 # 删除)
#(xend-http-server no) —— >(xend-http-server yes)
#(xend-address localhost) —— >(xend-address localhost)
然后重启 xen :
/etc/init.d/xend restart
修改默认启动内核(???)
3. 安装 JDK
因为系统默认的是 open-jdk ,我们现在安装完整版的 JDK 以备后用(使用 Tomcat 时候 Open-jdk 不可以运行)
# rpm -qa | grep java
输出如下内容:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
进行卸载:
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
然后现在就可以使用从官网下载的完整 jdk 进行安装了(最简单的 RPM 安装)
接下来进行 JDK 环境变量配置:
# vi /etc/profile
在最后面加上以下几行 :
export JAVA_HOME=/usr/java/jdk1.6.0_27
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
然后修改默认的 jdk 设置:
# cd /usr/bin/
# ln –s –f /usr/java/jdk1.6.0_18/jre/bin/java
# ln –s –f /usr/java/jdk1.6.0_18/jre/bin/javac
此时在检测下 jdk 版本
# java –version
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode)
二. Eucalyptus 的安装
1. 节点的配置
前端节点:
安装 CLC 、 CC 、 walrus 、 SC
IP:10.10.103.133
后端节点:
安装 NC
IP: 10.10.103.122
2. 安装前端节点
更新源:
#yum update
环境配置
#yum install -y gcc
#yum install -y ntp
#ntpdate pool.ntp.org
#yum install ant ant-nodeps dhcp bridge-utils swig
#yum install perl-Convert-ASN1.noarch scsi-target-utils httpd swig
配置防火墙:
a) 关闭防火墙:
/etc/init.d/iptables stop
b) 查看防火墙状态:
/etc/init.d/iptables status
c) 关闭 selinux
system-config-securitylevel-tui
选择安全级别为 disable 。
下载 eucalyptus 相关安装包
在 eucalyptus 的官方网站上下载相关的文件包,这里下载的是 centOS-i386 的包。
http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/
开始安装:
a) euca2ool 的安装
#tar -zxvf euca2ools-1.2-centos-i386.tar.gz
#cd euca2ools-1.2-centos-i386
#rpm -ivh python25-libs-2.5.1-bashton1.i386.rpm python25-2.5.1-bashton1.i386.rpm euca2ools-1.2-1.i386.rpm
# cd ..
b) 解压缩 eucalyptus 安装包
# tar -zxvf eucalyptus-1.6.2-centos-i386.tar.gz
# cd eucalyptus-1.6.2-centos-i386
c) euaclyptus 依赖包的安装
# cd eucalyptus-1.6.2-rpm-deps-i386
# yum install java-sdk
# rpm – Uvh aoetools-21-1.el4.i386.rpm \
euca-axis2c-1.6.0-1.i386.rpm \
euca-rampartc-1.3.0-1.i386.rpm \
groovy-1.6.5-1.noarch.rpm \
lzo2-2.02-3.el5.rf.i386.rpm \
vblade-14-1mdv2008.1.i586.rpm\
vtun-3.0.2-1.el5.rf.i386.rpm
# cd ..
d) CLC 、 CC 、 SC 、 walrus 的安装
# rpm – uvh eucalyptus-1.6.2-1.i386.rpm\
eucalyptus-cloud-1.6.2-1.i386.rpm \
eucalyptus-common-java-1.6.2-1.i386.rpm \
eucalyptus-cc-1.6.2-1.i386.rpm\
eucalyptus-walrus-1.6.2-1.i386.rpm \
eucalyptus-sc-1.6.2-1.i386.rpm \
eucalyptus-gl-1.6.2-1.i386.rpm
DHCP 的配置:
• # cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
• vi /etc/dhcp.conf
• ddns-update-style none;
• subnet 192.168.2.0 (本网段子网 10.10.103.0 ) netmask 255.255.255.0 {
• option routers 192.168.2.1; (本机的网关 10.10.103.20 )
• option subnet-mask 255.255.255.0;
• option nis-domain "domain.org";
• option domain-name "domain.org";
• option domain-name-servers 192.168.2.1; (本机的 DNS202.119.230.8 )
• option time-offset -18000;
• range dynamic-bootp 192.168.2.100 192.168.2.254 ( 10.10.103._—10.10.103._ )
• default-lease-time 21600;
• max-lease-time 43200;
• host ns {
• # next-server marvin.redhat.com; ( 注释掉 )
• hardware ethernet 12:34:56:78:AB:CD; (本机的 mac 地址)
• fixed-address 207.175.42.254; ( 本机的 ip)
• }
• }
启动 DHCP
/usr/sbin/dhcpd start
3 . 后端节点安装( 10.10.103.133 )
更新源:
#yum update
环境配置
#yum install -y gcc
#yum install -y ntp
#ntpdate pool.ntp.org
#yum install ant ant-nodeps dhcp bridge-utils swig
#yum install perl-Convert-ASN1.noarch scsi-target-utils httpd swig
配置防火墙:
a) 关闭防火墙:
/etc/init.d/iptables stop
b) 查看防火墙状态:
/etc/init.d/iptables status
c) 关闭 selinux
system-config-securitylevel-tui
选择安全级别为 disable 。
下载 eucalyptus 相关安装包
在 eucalyptus 的官方网站上下载相关的文件包,这里下载的是 centOS-i386 的包。
http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/
a) euaclyptus 依赖包的安装
# cd eucalyptus-1.6.2-rpm-deps-i386
# rpm – Uvh aoetools-21-1.el4.i386.rpm \
euca-axis2c-1.6.0-1.i386.rpm \
euca-rampartc-1.3.0-1.i386.rpm \
groovy-1.6.5-1.noarch.rpm \
lzo2-2.02-3.el5.rf.i386.rpm \
vblade-14-1mdv2008.1.i586.rpm\
vtun-3.0.2-1.el5.rf.i386.rpm
# cd ..
b) NC 的安装
rpm -Uvh eucalyptus-1.6.2-1.i386.rpm \
eucalyptus-gl-1.6.2-1.i386.rpm \
eucalyptus-nc-1.6.2-1.i386.rpm
l 配置 /etc/eucalyptus/eucalyptus.conf 文件
配置 eucalyptus 的网络模式(默认是 SYSTEM 模式)
一共有四种模式 ( 先介绍常用的两种 )
1.SYSTEM 模式
不具有 IP 地址管理功能 , 不能分配外部 IP , cc 节点必须运行配置好的 dhcp 服务,自动为实例分配 IP
2.STATIC 模式
该种模式具有 IP 管理功能 ip 与 mac 对应, cc 节点安装并运行未配置好的 DHCP 服务, eucalyptus.conf 需要做出相应的变化
VNET_MODE=“STATIC”
VNET_SUBNET=“192.168.1.0”
VNET_NETMASK=“255.255.255.0”
VNET_ROUTER=“192.168.1.255”
VNET_DNS=“192.168.1.1”
VNET_MACMAP= “ mac ” ip
• 在前端重新配置 DHCP 文件,否则运行镜像时看到镜像的 ip 地址全是 0 ;
• # cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf
• vi /etc/dhcp.conf
• ddns-update-style none;
• subnet 192.168.2.0 (本网段子网 10.10.103.0 ) netmask 255.255.255.0 {
• option routers 192.168.2.1; (本机的网关 10.10.103.20 )
• option subnet-mask 255.255.255.0;
• option nis-domain "domain.org";
• option domain-name "domain.org";
• option domain-name-servers 192.168.2.1; (本机的 DNS202.119.230.8 )
• option time-offset -18000;
• range dynamic-bootp 192.168.2.100 192.168.2.254 ( 10.10.103._—10.10.103._ )
• default-lease-time 21600;
• max-lease-time 43200;
• host ns {
• # next-server marvin.redhat.com; ( 注释掉 )
• hardware ethernet 12:34:56:78:AB:CD; (本机的 mac 地址)
• fixed-address 207.175.42.254; ( 本机的 ip)
• }
• }
启动 DHCP
/usr/sbin/dhcpd start
修改 /etc/libvirt/libvirtd.conf 文件
vi /etc/libvirt/libvirtd.conf 做一下修改:
#unix_sock_group = "libvirt"
=> unix_sock_group = "libvirt"
#unix_sock_ro_perms = "0777"
=> unix_sock_ro_perms = "0777"
#unix_sock_rw_perms = "0770"
=> unix_sock_rw_perms = "0770"
#auth_unix_ro = "none"
=> auth_unix_ro = "none"
#auth_unix_rw = "none"
=> auth_unix_rw = "none “
重启 libvirt
Groupadd libvirt
Service libvirtd restart
重启 xen :
xend restart
启动 eucalyptus
a) 在前端节点上启动 CLC 以及 CC
/etc/init.d/eucalyptus-cloud start
/etc/init.d/eucalyptus-cc start
b) 在后端节点上启动 NC
/etc/init.d/eucalyptus-nc start
注册控制机以及节点
a) 注册前端节点
# euca_conf --register-walrus 10.10.103.133 //walrus 所在 节点 ip
euca_conf --register-cluster cluster_1 10.10.103.133 //IP 地址前的是自定义的 CLC 的名字
euca_conf --register-sc cluster 10.10.103.133 // 注册 storage control
b) 注册后端节点
euca_conf --register-nodes 10.10.103.122// 后端节点 ip
b) 验证注册是否成功
#euca_conf --list-walruses
# euca_conf --list-clusters
# euca_conf --list-scs
# euca_conf --list-nodes
如果查看不到 clusters 按照下面做法
将 /var/lib/eucalyptus/keys/cluster_1 中的内容 copy 到上一层
目录
否则会在查看注册的 nodes 时会看不到!