问题导读:
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
$ sudo sed -i s/us.archive.ubuntu.com/mirrors.163.com/g /etc/apt/sources.list
$ sudo sed -i s/security.ubuntu.com/mirrors.163.com/g /etc/apt/sources.list 复制代码
自动帮我们写源配置,如果不行,可以手动添加,采用下面的代码
配置国内的镜像源2
sudo gedit /etc/apt/sources.list
sudo vi /etc/apt/sources.list 复制代码
sudo vim /etc/apt/sources.list 三种命令三选一,vi应该是自带的,没自带的话下载,我用的是vim,没的话可以sudo apt-get install vim;提示输入管理员密码
加入这些内容,在最后添加
deb http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse 复制代码
配置CloudStack官方源:
sudo vi /etc/apt/sources.list.d/cloudstack.list 复制代码
注释前面都有#,这篇博文字母开头的都是要输入的指令
添加:deb http://cloudstack.apt-get.eu/ubuntu precise 4.0
注意不要在注释里写
配置CloudStack官方源证书:
wget -O - http://cloudstack.apt-get.eu/release.asc| sudo apt-key add -
复制代码
更新系统的安装源:
复制代码
出现下面结果基本就OK
查看主机名:
hostname --fqdn
sudo vi /etc/hosts 复制代码
添加 ip(如果是机房的机子请用百度查ip地址,而不是192开头的地址)和显示的主机名
安装时间服务器
sudo apt-get install openntpd
复制代码
安装CloudStack Management Server
sudo apt-get install cloud-client
复制代码
将用户cloud加入到sudo用户组 //CloudStack默认以cloud用户启动,但默认会通过sudo以root身份管理相关文件与目录
复制代码
配置sudo用户组免密码切换 //同样是为了解决和上面相同的权限问题
复制代码
配置免密码记得不要使用root用户,并且使用vi或则visudo。以免破坏系统
找到类似下面的内容,然后修改
%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
sudo apt-get install mysql-server
复制代码
在弹出的界面中输入密码,如: 123456
我有博文写的就是Mysql的安装
修改MySQL配置文件参数
sudo vi /etc/mysql/my.cnf
在[mysqld]模块中加入以下参数,有些本身就有,请注意前面是否有#,去除才有效果
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW' 复制代码
重启MySQL
sudo service mysql restart 复制代码
初始化数据库cloud
sudo cloud-setup-databases cloud:cloudstack@localhost --deploy-as=root:123456 -e file -m cloudstack -k cloudstack
复制代码
出现下图就OK
CloudStack 需要一个地方来存放Primar和Secondary Storage,官方推荐使用NFS共享。
安装NFS
sudo apt-get install nfs-common nfs-kernel-server
复制代码
创建目录sudo mkdir -p /export/primary
sudo mkdir -p /export/secondary 复制代码
编辑NFS配置文件
复制代码
添加如下信息
/export *(rw,async,no_root_squash,no_subtree_check) 复制代码
这里面是写日常控制命令,async是同步
刷新配置
复制代码
挂载测试NFS共享
sudo mkdir /mnt/primary
sudo mount -t nfs 192.168.2.38:/export/primary /mnt/primary
sudo mkdir /mnt/secondary
sudo mount -t nfs 192.168.2.38:/export/secondary /mnt/secondary 复制代码
上面的地址,我一直好奇怎么不是这正的IP,而是在局域网的IP,求懂得人,跟贴解释,当然有的人的搞笑帖子直接COPY别人的地址,还说是原创,
df -h
出下面结果就OK
可见挂载成功,然后输入
sudo vi /etc/fstab
添加
192.168.2.38:/export/primary /mnt/primary nfs rw,tcp,intr 0 1
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
修改以下配置
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0 复制代码
然后使用如下命令查看配置
cat /etc/libvirt/libvirtd.conf | grep -v '#' | grep -v "^$" 复制代码
得到结果
sudo vi /etc/init/libvirt-bin.conf
修改以下参数
env libvirtd_opts="-d -l"
sudo vi /etc/libvirt/qemu.conf 复制代码
修改以下参数
复制代码
重启服务
sudo service libvirt-bin restart 复制代码
配置安全策略
sudo dpkg --list "apparmor"
sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper 复制代码
配置防火墙
sudo ufw allow proto tcp from any to any port 22
sudo ufw allow proto tcp from any to any port 80
sudo ufw allow proto tcp from any to any port 1798
sudo ufw allow proto tcp from any to any port 16509
sudo ufw allow proto tcp from any to any port 5900:6100
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
地址栏输入http://{IP}:8080/client/,默认admin password