说明:由于cloudstack初次接触,先用NFS搭建cloudstack主辅助存储,可随着了解的深入的,主存储可以采用集群文件系统进行配置。本系统文章仅说明Cloudstack管理KVM虚拟化平台,对其它服务器虚拟化不做示例说明,如对KVM虚拟化不太了解,可以参考本博客KVM虚拟化学习笔记进行了解,Cloudstack系统文章也是对KVM虚拟化的技术的延伸。
2014.12.31更新:Cloudstack4.4.2+KVM 详细安装手册 下载地址
http://koumm.blog.51cto.com/703525/1597968
操作系统采用CentOS6.5 x64, 安装时选择图形界面,开发包及开发工具等。本文出自:http://koumm.blog.51cto.com/
本系统文章列表
CloudStack 4.4+KVM之管理服务器安装
http://koumm.blog.51cto.com/703525/1558660
CloudStack 4.4+KVM之KVM计算节点安装
http://koumm.blog.51cto.com/703525/1558670
CloudStack 4.4+KVM之配置CloudStack过程
http://koumm.blog.51cto.com/703525/1558683
CloudStack 4.4+KVM之通过ISO文件创建CentOS虚拟机
http://koumm.blog.51cto.com/703525/1564958
CloudStack 4.4+KVM之虚拟机模板创建
http://koumm.blog.51cto.com/703525/1565551
CloudStack 4.4+KVM之虚拟机在线动态迁移
http://koumm.blog.51cto.com/703525/1565556
一、cloudstack管理服务器网络准备
1. 主机规划
nfs 192.168.10.180 (secondary)
cloudstack 192.168.10.185 (primary)
node01 192.168.10.190
node02 192.168.10.191
2. 修改主机名
在hosts中增加
1
2
3
4
|
# vi /etc/hosts
192.168.10.185 cloudstack cloudstack.abc.com
# vi /etc/sysconfig/network
HOSTNAME=cloudstack.abc.com
|
3. 关闭SELINUX设置
1
2
|
# vi /etc/selinux/config
SELINUX=disabled
|
需要重启生效,直接生效配置。
1
2
3
|
# setenforce 0
# getenforce
disabled
|
4. 关闭防火墙
1
2
|
service iptables stop
chkconfig iptables off
|
5. 配置NTP时间服务同步互联网时间服务器
1
2
|
# crontab -e
01 *
/3
* * *
/usr/sbin/ntpdate
ntp.fudan.edu.cn
|
6. 配置系统YUM源
1)配置163 CentOS系统安装源
1
2
3
|
# cd /etc/yum.repos.d/
# mv *.repo ../
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
|
2)添加cloudstack软件包的官方源(可选方式)
1
2
3
4
5
6
|
# vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http:
//cloudstack
.apt-get.eu
/rhel/4
.4/
enabled=1
gpgcheck=0
|
7. 安装Management Server
1
|
# yum -y install cloudstack-management
|
8. 安装mysql并配置数据库
1)安装mysql-server
1
|
# yum -y install mysql-server
|
2)修改mysql配置并加入以下几行
1
2
3
4
5
6
7
|
# vi /etc/my.cnf
datadir=
/var/lib/mysql
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-
format
=
'ROW'
|
3)重启mysql,并加入开机自启动
1
2
|
# service mysqld start
# chkconfig mysqld on
|
4)执行mysql的安全配置,设置密码等过程,如需要简单可直接全选Y.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password
for
the root user. If you've just installed MySQL, and
you haven't
set
the root password yet, the password will be blank,
so you should just press enter here.
Enter current password
for
root (enter
for
none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y
/n
] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created
for
them. This is intended only
for
testing, and to
make
the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous
users
? [Y
/n
] y
... Success!
Normally, root should only be allowed to connect from
'localhost'
. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y
/n
] n
... skipping.
By default, MySQL comes with a database named
'test'
that anyone can
access. This is also intended only
for
testing, and should be removed
before moving into a production environment.
Remove
test
database and access to it? [Y
/n
] y
- Dropping
test
database...
... Success!
- Removing privileges on
test
database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y
/n
] y
... Success!
Cleaning up...
All
done
! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks
for
using MySQL!
#
|
5)安装cloudstack数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:111111
Mysql user name:cloud [ OK ]
Mysql user password:****** [ OK ]
Mysql server ip:localhost [ OK ]
Mysql server port:3306 [ OK ]
Mysql root user name:root [ OK ]
Mysql root user password:****** [ OK ]
Checking Cloud database files ... [ OK ]
Checking
local
machine
hostname
... [ OK ]
Checking SELinux setup ... [ OK ]
Detected
local
IP address as 192.168.10.185, will use as cluster management server node IP[ OK ]
Preparing
/etc/cloudstack/management/db
.properties [ OK ]
Applying
/usr/share/cloudstack-management/setup/create-database
.sql [ OK ]
Applying
/usr/share/cloudstack-management/setup/create-schema
.sql [ OK ]
Applying
/usr/share/cloudstack-management/setup/create-database-premium
.sql [ OK ]
Applying
/usr/share/cloudstack-management/setup/create-schema-premium
.sql [ OK ]
Applying
/usr/share/cloudstack-management/setup/server-setup
.sql [ OK ]
Applying
/usr/share/cloudstack-management/setup/templates
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_db
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_schema
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_multipart
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_index
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_multipart_alter
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_bucketpolicy
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_policy_alter
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_offering
.sql [ OK ]
Applying
/usr/share/cloudstack-bridge/setup/cloudbridge_offering_alter
.sql [ OK ]
Processing encryption ... [ OK ]
Finalizing setup ... [ OK ]
CloudStack has successfully initialized database, you can check your database configuration
in
/etc/cloudstack/management/db
.properties
#
|
9. 初始化cloudstack管理节点
1
2
3
4
5
6
|
# cloudstack-setup-management
Starting to configure CloudStack Management Server:
Configure sudoers ... [OK]
Configure Firewall ... [OK]
Configure CloudStack Management Server ...[OK]
CloudStack Management Server setup is Done!
|
10. 启动cloudstack-management
1
|
# service cloudstack-management start
|
11. 配置NFS存储,该内容可以独立配置。
配置说明: 安装是主存储采用NFS进行测试,NFS可以由其它服务器单独提供,这里供测试,根据如下要求,在另一服务器及管理机上配置NFS服务。
NFS(辅助存储): 192.168.10.180
NFS(主存储) : 192.168.10.185
1)配置域名(主要配合NFS配置使用)
1
2
|
# vi /etc/idmapd.conf
Domain = abc.com
|
2) 准备NFS目录
1
|
# mkdir -p /data/{primary,secondary}
|
3) 修改nfs服务参数
1
2
3
4
5
6
7
8
|
# vi /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
RQUOTAD_PORT=875
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
RPCNFSDARGS=
"-N 4"
|
4)配置文件
1
2
3
|
# vi /etc/exports
/data/primary
*(rw,fsid=1,async,no_root_squash,no_subtree_check)
/data/secondary
*(rw,fsid=1,async,no_root_squash,no_subtree_check)
|
5) 配置nfs服务启动
1
2
3
4
5
|
service rpcbind start
service nfs start
chkconfig rpcbind on
chkconfig nfs on
showmount -e 127.0.0.1
|
6) 挂载测试,测试完毕后卸载掉,不需要手动挂载.
1
2
3
4
5
6
7
8
9
10
|
mount
-t nfs 192.168.10.185:
/data/primary
/mnt/1/
mount
-t nfs 192.168.10.180:
/data/secondary
/mnt/2/
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_cloudstack-lv_root
36G 5.1G 29G 16% /
tmpfs 1.9G 68K 1.9G 1%
/dev/shm
/dev/sda1
485M 39M 421M 9%
/boot
192.168.10.185:
/data/primary
36G 5.1G 29G 16%
/mnt/1
192.168.10.180:
/data/secondary
36G 6.1G 28G 19%
/mnt/2
[root@cloudstack mnt]
#
|
注:CentOS6.5 NFS在配置的时出现过疑似BUG,同一服务器上两个输出目录,客户端挂载时挂载的是同一个目录,非两个不同目录,在如下/var/log/message日志中有证明。这就是我搞两个NFS服务器的原因。
Sep 19 15:05:59 cloudstack rpc.mountd[13097]: /data/primary and /data/secondary have same filehandle for *, using first
12. 导入系统虚拟机模板
说明: 系统虚拟机模板按要求要存放在辅助存储上的,我们可以先手动挂载nfs辅助存储, 然后把290M KVM虚拟化模板先下载到辅助存储目录下,然后在导入, 导入系统虚拟机模板步是必须要配置的内容。本例采用KVM虚拟化,下载导入KVM虚拟机模板。
1
2
3
4
5
6
7
8
|
# mount -t nfs 192.168.10.180:/data/secondary /mnt/2/
# cd /mnt/2/
# wget http://cloudstack.apt-get.eu/systemvm/4.4/systemvm64template-4.4.0-6-kvm.qcow2.bz2
# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/2/ -f systemvm64template-4.4.0-6-kvm.qcow2.bz2 -h kvm -F
Uncompressing to
/usr/share/cloudstack-common/scripts/storage/secondary/e5a0ec24-0ae5-4740-8f54-94e08898a3c4
.qcow2.tmp (
type
bz2)...could take a long
time
Moving to
/data/secondary/template/tmpl/1/3///e5a0ec24-0ae5-4740-8f54-94e08898a3c4
.qcow2...could take a
while
Successfully installed system VM template systemvm64template-4.4.0-6-kvm.qcow2.bz2 to
/data/secondary/template/tmpl/1/3/
#
|
cloudstack4.4.x系统虚拟机默认用户名密码:root/password 2014.12.31更正
13. 安装完成, 访问http://192.168.10.185:8080/client
跳过此指南。
安装完毕。
本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1558660,如需转载请自行联系原作者