1 CloudStack
1.1 查看并修改虚拟机网络
打开虚拟机VMware Workstation,选择菜单栏“编辑”->虚拟网络编辑器,查看VMnet8的子网地址。
每台机器VMnet8被分配的子网地址都不相同,但在每个网段中,本机都默认为1,网关都默认为2。
以本机“192.168.221.0”网段为例,在该网段中,默认本机的IP地址为“192.168.221.1”,默认网关的IP地址为“192.168.221.2”。
综上,本机虚拟网络相关的信息如下:
地址范围:192.168.221.100-192.168.221.254
网关:192.168.221.2
子网掩码:255.255.255.0
1.2 创建Manager节点
本文先创建manager节点虚拟机,安装必要的软件后,会克隆该虚拟机作为agent节点,再分别部署各自节点。
本文manager节点IP设置为192.168.221.100,agent节点IP设置为192.168.221.101。
在VmWare Station 中新建虚拟机,在新建向导中依次选择“典型”、“稍后安装操作系统”、“Linux”、“CentOS 7 64位”。
命名该虚拟机为Manager,避免混淆。Manager配置如下:
Manager节点推荐内存为2G,
处理器内核2颗,开启“虚拟化Intel VT-x/EPT 或AMD-V/RVI”,
CD驱动器加载CentOS的iso镜像,并确定已勾选启动时连接,
再删除多余的声卡和打印机硬件,
点击“关闭”并点击“完成”。
在Manager安装过程中,网络设置如下:
静态IP地址“192.168.221.100”,子网掩码“255.255.255.0”,网关“192.168.221.2”,DNS服务器输入阿里DNS服务器223.5.5.5
1.3 配置Manager节点
- 在XShell中,创建新会话,名称为“manager”,主机为192.168.221.100。
- 设置IP映射
设置后可以直接通过Hostname,访问到对应节点。
vi /etc/hosts
在该文件新的一行中插入以下内容:
192.168.221.100 manager192.168.221.101 agent
- 关闭防火墙
systemctl disable firewalldsystemctl stop firewalld
- 设置selinux为permissive模式
vi /etc/selinux/config
找到selinx并改成
SELINUX=permissive
重启生效
reboot
- 查看selinux
getenforce
时区设置(非必要)
timedatectl set-timezone Asia/Shanghai
查看时区
timedatectl
- 安装EPEL
yum -y install epel*
重建本地仓库缓存
yum clean all && yum makecache
安装VIM,用以编辑文件
yum -y install vim
安装lrzsz,用以向虚拟机发送文件
yum -y install lrzsz
- 安装时间同步模块
yum -y install chrony
修改配置文件
vim /etc/chrony.conf
将服务器修改为阿里云的时间同步服务器
server 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst
改为
server ntp1.aliyun.com iburstserver ntp2.aliyun.com iburstserver ntp3.aliyun.com iburstserver ntp4.aliyun.com iburst
重启chronyd服务
systemctl restart chronyd
- 安装NFS服务
yum -y install nfs-utils
编辑配置文件
vim /etc/sysconfig/nfs
取消如下项的注释。其中,RQUOTAD_PORT需要手动添加
LOCKD_TCPPORT=32803LOCKD_UDPPORT=32769MOUNTD_PORT=892RQUOTAD_PORT=875STATD_PORT=662STATD_OUTGOING_PORT=2020
启动服务并设置开机启动
systemctl enable rpcbindsystemctl start rpcbindsystemctl enable nfssystemctl start nfs
查看新增硬盘
fdisk -l
格式化硬盘,建立ext4文件系统,“Process anyway?”选择“y”
mkfs.ext4 /dev/sdb
至此,两节点的通用配置已完成。
1.4 克隆Agent节点
关闭manager节点,在库中,右键manager节点,选择“管理”->“克隆”,进入克隆虚拟机向导。
依次选择“克隆当前状态”、“创建完整克隆”,命名为“agent”,然后点击完成。
由于克隆后agent节点IP与manager冲突,先在虚拟机内部修改完静态IP地址后,再通过XShell配置。
- 修改host名
vim /etc/hostname
修改manager为agent
- 修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将IPADDR修改为192.168.221.101,修改后如下
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="none"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="d0a5b749-1159-45cc-8a88-c8bb250101a1"255
- 重启虚拟机
reboot
- 在XShell中,创建新会话,名称为“agent”,主机为192.168.221.101,
在XShell的会话中完成后续配置。
1.5 配置NFS服务
1.5.1 Manager节点
- 创建挂载点
mkdir -p /export/secondary
- 硬盘挂载
echo "/dev/sdb /export/secondary ext4 defaults 0 0" >> /etc/fstab
- 快速挂载
mount -a
- 查看挂载
df -h
- 设置共享目录
vim /etc/exports
- 添加
/export/secondary *(rw,async,no_root_squash,no_subtree_check)
- 重新导入共享目录配置
exportfs -a
1.5.2 Agent节点
- 创建挂载点
mkdir -p /export/primary
- 硬盘挂载
echo "/dev/sdb /export/primary ext4 defaults 0 0" >> /etc/fstab
- 快速挂载
mount -a
- 查看挂载
df -h
- 设置共享目录
vim /etc/exports
- 添加
/export/primary *(rw,async,no_root_squash,no_subtree_check)
- 重新导入共享目录配置
exportfs -a
1.5 3 验证共享
- manager 节点查看 agent的共享目录
showmount -e agent
- agent 节点查看 manager 的共享目录
showmount -e manager
1.6 安装MySQL服务
1.6.1 Manager节点
yum -y install mariadb-server mariadb
- 编辑 mariadb 配置文件
vim /etc/my.cnf
在mysqld 模块下加入
innodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350log-bin=mysql-binbinlog-format = 'ROW'bind-address = 0.0.0.0
- 启动mariadb 并设置为开机启动
systemctl enable mariadbsystemctl start mariadb
- 执行数据库初始化安全操作
mysql_secure_installation
初始未设置密码按回车跳过,选择设置密码,设置为******,移除匿名用户,不屏蔽远程登录等,其他按回车选择默认
- 赋予 root 远程登录权限
mysql -uroot -p[你的密码] -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '832547' WITH GRANT OPTION";
1.7 设置Agent节点网络桥接
yum -y install net-tools bridge-utils
- 编辑网卡桥接文件 cloudbr
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
修改后内容如下
TYPE=BridgeBOOTPROTO=noneDEVICE=cloudbr0ONBOOT=yesIPADDR=192.168.221.101NETMASK=255.255.255.0GATEWAY=192.168.221.2DNS1=223.5.5.5STP=yes
- 设置网卡文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改后如下
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="none"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="d0a5b749-1159-45cc-8a88-c8bb250101a1"DEVICE="ens33"ONBOOT="yes"BRIDGE=cloudbr0
- 重新启动网络服务
systemctl restart network
- 查看 网桥 和路由
brctl show route -n
1.8 安装CloudStack
- 配置网络源文件,两台节点配置相同
vi /etc/yum.repos.d/cloudstack.repo
添加
[cloudstack]name=cloudstackbaseurl=http://cloudstack.apt-get.eu/centos7/4.13/enabled=1gpgcheck=0
- manager节点
yum -y install cloudstack-management
- agent 节点
yum -y install cloudstack-agent
- manager节点安装KVM模板
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2 -h kvm -F
- agent 节点配置libvirt
编辑QEMU VNC配置文件
vim /etc/libvirt/qemu.conf
取消注释
vnc_listen="0.0.0.0"
配置/etc/libvirt/libvirtd.conf文件
vim /etc/libvirt/libvirtd.conf
取消注释或添加
listen_tls = 0listen_tcp = 1tcp_port = "16509"auth_tcp = "none"mdns_adv = 0
配置/etc/sysconfig/libvirtd文件
vim /etc/sysconfig/libvirtd
取消注释
LIBVIRTD_ARGS="--listen"
重启libvirtd 并设置为开机自启
systemctl restart libvirtdsystemctl enable libvirtd
1.9 配置CloudStack
-
登录CloudStack
默认访问端口为manager节点IP的8080端口。
打开浏览器,访问http://192.168.221.100:8080/client/
默认账号为admin,默认密码为password,选择语言为“简体中文”,登陆。
初次登陆选择左下角“我以前使用过”。
-
选择左下角“全局设置”,搜索并修改以下设置。
host 192.168.221.100 //host地址,即管理节点IP地址cpu.overprovisioning.factor 2.0 //CPU超配mem.overprovisioning.factor 2.0 //内存超配,即2GB变4GBsecstorage.allowed.internal.sites 0.0.0.0/0 //从该网段下载ISO或模板,后期搭建ngix服务器可修改management.network.cidr 192.168.221.0/24 //管理网段,可不修改,但会有警报信息
在manager节点中,重启cloudsatck-management服务
systemctl restart cloudstack-management
-
创建资源域
重新登录,选择左下角“基础架构”,选择“资源域”,点击工具栏“+ 添加资源域”。配置如下即可。
点击“启动资源域”,等待创建完成,然后启动即可。
1.10 注册ISO,添加实例,创建模板
如下,等待系统VM创建成功后,开始后续步骤。
1.10.1 Agent节点
创建一个NGINX 服务器当作镜像下载站
- 安装 nginx 软件
yum -y install nginx
- 编辑 nginx 配置文件
vim /etc/nginx/nginx.conf
- 在access_log /var/log/nginx/access.log main一行后加上
autoindex on;# 显示目录autoindex_exact_size on;# 显示文件大小autoindex_localtime on;# 显示文件时间
- 清空 /usr/share/nginx/html 目录
cd /usr/share/nginx/htmlrm -rf *
将准备好的ISO镜像放进去,本文使用的是虚拟机的镜像,直接拖入会话框,传送至/usr/share/nginx/html目录
- 重启nginx 服务,设置为开机启动
systemctl enable nginxsystemctl start nginx
- 可通过浏览器直接访问agent节点IP地址查看
1.10.2 注册ISO
选择左侧“模板”->选择视图“ISO”,点击工具栏“注册ISO”
依次填写所有信息,URL可以从192.168.221.101网页中复制链接
点击“确定”,点击该ISO,点击“资源域”,查看状态
1.10.3 添加实例
依次选择左边“实例”->工具栏“添加实例”。
选择ISO创建
选择刚刚注册的ISO。
计算方案选择Medium,分配内存为1GB,可在“服务方案”中修改
其余一律默认即可,最后填写信息。
启动VM,等待VM创建并运行。
选择该虚拟机快速查看->查看控制台。
在弹出的控制台网页中,安装ISO即可。
安装过程同虚拟机大致一样,不同的是网络只需打开即可,不需要设置静态IP和主机名。
安装完成后,重启
至此,一台可以用于生产的实例已经部署完成,后续可以安装其他生产环境,仅做测试,安装系统即可。
1.10.4 创建模板
接下来是,将安装有生产环境的示例创建模板,用以创建更多实例。
关闭实例。“快速查看”->停止。
等待停止后,点击“查看卷”。
选择“快速查看”->“创建模板”
填写信息后,创建即可。
以后添加实例时,选择该模板即可创建一模一样的实例。
1.10.5 管理界面
-
控制板
-
基础架构
- 实例
- 存储
- 模板
参考资料
[1]https://blog.csdn.net/qq_44714521/article/details/109145500
[2]http://docs.cloudstack.apache.org/en/latest/quickinstallationguide/qig.html