说明:由于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
nfs 192.168.10.180 (secondary)
cloudstack 192.168.10.185 (primary)
node01 192.168.10.190
node02 192.168.10.191
在hosts中增加
# vi /etc/hosts 192.168.10.185 cloudstack cloudstack.abc.com # vi /etc/sysconfig/network HOSTNAME=cloudstack.abc.com
# vi /etc/selinux/config SELINUX=disabled
需要重启生效,直接生效配置。
# setenforce 0 # getenforce disabled
service iptables stop chkconfig iptables off
# crontab -e 01 */3 * * * /usr/sbin/ntpdate ntp.fudan.edu.cn
# cd /etc/yum.repos.d/ # mv *.repo ../ # wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# vi /etc/yum.repos.d/cloudstack.repo [cloudstack] name=cloudstack baseurl=http://cloudstack.apt-get.eu/rhel/4.4/ enabled=1 gpgcheck=0
# yum -y install cloudstack-management
# yum -y install mysql-server
# 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'
# service mysqld start # chkconfig mysqld on
# 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! #
# 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 #
# 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!
# service cloudstack-management start
配置说明: 安装是主存储采用NFS进行测试,NFS可以由其它服务器单独提供,这里供测试,根据如下要求,在另一服务器及管理机上配置NFS服务。
NFS(辅助存储): 192.168.10.180
NFS(主存储) : 192.168.10.185
# vi /etc/idmapd.conf Domain = abc.com
# mkdir -p /data/{primary,secondary}
# 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"
# 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)
service rpcbind start service nfs start chkconfig rpcbind on chkconfig nfs on showmount -e 127.0.0.1
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
说明: 系统虚拟机模板按要求要存放在辅助存储上的,我们可以先手动挂载nfs辅助存储, 然后把290M KVM虚拟化模板先下载到辅助存储目录下,然后在导入, 导入系统虚拟机模板步是必须要配置的内容。本例采用KVM虚拟化,下载导入KVM虚拟机模板。
# 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更正
默认用户名和密码为admin, password
跳过此指南。
安装完毕。