分享

使用Linux/ubuntu安装cloudstack

pig2 发表于 2014-9-13 12:15:04 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 1 15100

问题导读:
1.即CloudStack默认以什么用户启动?
2.如何添加配置CloudStack官方源?
3.如何配置sudo免密码?
4.如何安装配置CloudStack?








win8下安装cloudstack,确实受伤了,曲线救国,今天用Linux/ubuntu安装cloudstack。  一次性完成,虚拟机好像不行,用 的是双系统;
抓紧时间做cloudstack的应用和改源码

网上有很多装ubuntu系统的教程,我这就不讲了,接下来直接开始,我向来写安装教程都尽量做到傻瓜式一步一步,鉴于本人只是偶尔看下linux,解释不好的地方,请大家多多指出,大家共同学习。

首先进入系统,可以Ctrl+F1到F6,选择进入多个文本模式(刚玩不建议);直接图形化操作吧,文本切换图形化界面用Ctrl+fF7,进入后Ctrl+ALlt+T打开命令窗口。而且最主要图形化界面可以拖我写的内容代码直接到命令行运行,空格和tab的间隔让人郁闷,这里用一般用户登录,许多命令钥用到管理员权限,所以用到sudo前缀,为了安全性没进入管理员身份

准备工作,管理员密码和简单的VI/VIM操作规则

Linux命令:vim介绍linux之vi编辑器

配置国内的镜像源1
  1. $ sudo sed -i s/us.archive.ubuntu.com/mirrors.163.com/g /etc/apt/sources.list
  2. $ sudo sed -i s/security.ubuntu.com/mirrors.163.com/g /etc/apt/sources.list
复制代码



自动帮我们写源配置,如果不行,可以手动添加,采用下面的代码

配置国内的镜像源2

  1. sudo gedit /etc/apt/sources.list
  2. sudo vi /etc/apt/sources.list
复制代码



sudo vim /etc/apt/sources.list  三种命令三选一,vi应该是自带的,没自带的话下载,我用的是vim,没的话可以sudo apt-get install vim;提示输入管理员密码
加入这些内容,在最后添加
  1. deb http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
  2. deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse
  3. deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
  4. deb http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
  5. deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
  6. deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
  7. deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse
  8. deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
  9. deb-src http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
  10. deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
复制代码




配置CloudStack官方源:
  1. sudo vi /etc/apt/sources.list.d/cloudstack.list
复制代码



注释前面都有#,这篇博文字母开头的都是要输入的指令
添加:deb http://cloudstack.apt-get.eu/ubuntu precise 4.0
注意不要在注释里写
配置CloudStack官方源证书:
  1. wget -O - http://cloudstack.apt-get.eu/release.asc| sudo apt-key add -
复制代码

更新系统的安装源:
  1. sudo apt-get update
复制代码

出现下面结果基本就OK




1.png
2.png



查看主机名:
  1. hostname --fqdn
  2. sudo vi /etc/hosts
复制代码



添加 ip(如果是机房的机子请用百度查ip地址,而不是192开头的地址)和显示的主机名
安装时间服务器
  1. sudo apt-get install openntpd
复制代码



安装CloudStack Management Server
  1. sudo apt-get install cloud-client
复制代码

将用户cloud加入到sudo用户组 //CloudStack默认以cloud用户启动,但默认会通过sudo以root身份管理相关文件与目录
  1. sudo adduser cloud sudo
复制代码

配置sudo用户组免密码切换 //同样是为了解决和上面相同的权限问题
  1. sudo visudo
复制代码
配置免密码记得不要使用root用户,并且使用vi或则visudo。以免破坏系统

找到类似下面的内容,然后修改
  1. %sudo ALL=(ALL:ALL) NOPASSWD:ALL
复制代码

初始化root用户密码,如cloudstack //CloudStack默认需要root权限远程SSH连接到Agent
sudo -i
passwd  这里的开头是#

Enter new UNIX password:
Retype new UNIX password:
passwd:
password updated successfully

# chmod 777 /root //为了解决一个bug,即CloudStack默认以cloud用户启动,但却读取的是启动服务的用户的home目录用来存放一些临时文件,从而导致权限问题

exit

接下来的两行代码,大家看看就好,我试了,找了好多方法解决都不OK,但是网上许多帖子都COPY了,我笑了,不知道其他写的人,你抄袭别人的拜托搞个转发可好,要不也得

实验下,我这里不OK,也许才疏学浅,希望有大神指导

下载vhd-util
$ sudo wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
$ sudo mv vhd-util /usr/lib/cloud/common/scripts/vm/hypervisor/xenserver//大家路过看看,不用这指令也没事

然后安装mysql
  1. sudo apt-get install mysql-server
复制代码

在弹出的界面中输入密码,如: 123456

我有博文写的就是Mysql的安装

修改MySQL配置文件参数
sudo vi /etc/mysql/my.cnf


在[mysqld]模块中加入以下参数,有些本身就有,请注意前面是否有#,去除才有效果

  1. innodb_rollback_on_timeout=1
  2. innodb_lock_wait_timeout=600
  3. max_connections=350
  4. log-bin=mysql-bin
  5. binlog-format = 'ROW'
复制代码






重启MySQL
  1. sudo service mysql restart
复制代码





初始化数据库cloud
  1. sudo cloud-setup-databases cloud:cloudstack@localhost --deploy-as=root:123456 -e file -m cloudstack -k cloudstack
复制代码





出现下图就OK
3.png

CloudStack 需要一个地方来存放Primar和Secondary Storage,官方推荐使用NFS共享。
安装NFS
  1. sudo apt-get install nfs-common nfs-kernel-server
复制代码

创建目录
  1. sudo mkdir -p /export/primary
  2. sudo mkdir -p /export/secondary
复制代码







编辑NFS配置文件
  1. sudo vi /etc/exports
复制代码



添加如下信息
  1. /export *(rw,async,no_root_squash,no_subtree_check)
复制代码
这里面是写日常控制命令,async是同步



刷新配置
  1. sudo exportfs -a
复制代码



挂载测试NFS共享
  1. sudo mkdir /mnt/primary
  2. sudo mount -t nfs 192.168.2.38:/export/primary /mnt/primary
  3. sudo mkdir /mnt/secondary
  4. sudo mount -t nfs 192.168.2.38:/export/secondary /mnt/secondary
复制代码

上面的地址,我一直好奇怎么不是这正的IP,而是在局域网的IP,求懂得人,跟贴解释,当然有的人的搞笑帖子直接COPY别人的地址,还说是原创,
df -h
出下面结果就OK
4.png
可见挂载成功,然后输入
sudo vi /etc/fstab
添加
  1. 192.168.2.38:/export/primary /mnt/primary    nfs rw,tcp,intr 0 1   
  2. 192.168.2.38:/export/secondary /mnt/secondary    nfs rw,tcp,intr 0 1
复制代码



安装kvm模板
sudo /usr/lib/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary \
-u http://download.cloud.com/templa ... -02062012.qcow2.bz2 -h kvm -F

安装成功后显示:
Successfully installed system VM template  to /mnt/secondary/template/tmpl/1/3/
安装配置agent:
sudo apt-get install cloud-agent
安装配置libvirt:
sudo vi /etc/libvirt/libvirtd.conf
修改以下配置
  1. listen_tls = 0
  2. listen_tcp = 1
  3. tcp_port = "16509"
  4. auth_tcp = "none"
  5. mdns_adv = 0
复制代码



然后使用如下命令查看配置
  1. cat /etc/libvirt/libvirtd.conf | grep -v '#' | grep -v "^$"
复制代码



得到结果

5.jpg

sudo vi /etc/init/libvirt-bin.conf
修改以下参数
  1. env libvirtd_opts="-d -l"
  2. sudo vi /etc/libvirt/qemu.conf
复制代码



修改以下参数
  1. vnc_listen = "0.0.0.0"
复制代码



重启服务
  1. sudo service libvirt-bin restart
复制代码



配置安全策略
  1. sudo dpkg --list "apparmor"
  2. sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
  3. sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
  4. sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
  5. sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper
复制代码



配置防火墙
  1. sudo ufw allow proto tcp from any to any port 22
  2. sudo ufw allow proto tcp from any to any port 80
  3. sudo ufw allow proto tcp from any to any port 1798
  4. sudo ufw allow proto tcp from any to any port 16509
  5. sudo ufw allow proto tcp from any to any port 5900:6100
  6. sudo ufw allow proto tcp from any to any port 49152:49216
复制代码



启动用户界面:
sudo /etc/init.d/tomcat6 stop
sudo update-rc.d -f tomcat6 remove
启动cloud-management
cd ~
sudo /etc/init.d/cloud-management restart
netstat -an | grep 8080
6.png
地址栏输入http://{IP}:8080/client/,默认admin   password

7.png

已有(1)人评论

跳转到指定楼层
xiaozhu888520 发表于 2014-9-13 12:48:06
很有用,膜拜了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条