模拟实验。。。使用VMware创建的虚拟机进行。。。
先创建主机,设置双网卡,一个 桥接 模拟公网 一个 NAT 模式 模拟私网
创建两个虚拟机, 都是 “双网卡”
一个 管理节点 主机名 manager 根据自己设置来进行配置
公网ip 192.168.199.91 私网IP192.168.44.91
一个 计算节点 主机名 agent 根据自己设置来进行配置
公网ip 192.168.199.92 私网IP192.168.44.92
一、基本设置。
通用设置
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
不想关闭的话开放下列端口
nfs 相关 端口
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --permanent --add-port 32803/tcp
firewall-cmd --permanent --add-port 32769/udp
firewall-cmd --permanent --add-port 892/tcp
firewall-cmd --permanent --add-port 892/udp
firewall-cmd --permanent --add-port 875/tcp
firewall-cmd --permanent --add-port 875/udp
firewall-cmd --permanent --add-port 662/tcp
firewall-cmd --permanent --add-port 662/udp
firewall-cmd --reload
设置SELINUX 为 permissive
vim /etc/selinux/config
SELINUX=permissive
重启后生效
安装 epel 并重新生成安装缓存*
yum -y epel*
yum makecache
升级 系统软件
yum -y upgrade
安装必备软件 nfs 服务 当作CloudStack二级存储使用
yum -y install nfs-utils
设置 nfs 相关端口配置,否则 前面开放的端口就没什么用了
vim /etc/sysconfig/nfs
加在配置文件末尾 或者把相应注释去掉
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
注,此时只安装了软件,未设置nfs共享存储位置。也未开放服务
时间同步服务
应该安装一个时间同步服务的,可以查看是否存在 chronyd服务,存在的话,就不用再安装了,CentOS7默认应该是安装的。这个算是ntp 的升级版?
systemctl status chronyd
网桥相关软件
这个也是比较重要的
yum -y install bridge-utils
yum -y install net-tools
设置 CloudStack安装源
vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.11/
enabled=1
gpgcheck=0
1,管理节点设置。
防火墙 未关闭的话 开放下列端口
CloudStack 使用端口
firewall-cmd --permanent --add-port=8250/tcp
firewall-cmd --permanent --add-port=9090/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=3922/tcp
firewall-cmd --reload
管理节点同时当作nginx服务器开放端口
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
mysql 服务 这个不是必备的
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
设置网桥 文件
创建 cloudbr0 网桥,当作私网 的网桥
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
加入以下内容
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.44.91
NETMASK=255.255.255.0
#GATEWAY=192.168.44.2
STP=yes
编辑NAT网卡 加上网桥配置 作为私网网卡。每个人网卡名应该不太一样
vim /etc/sysconfig/network-scripts/ifcfg-ens34
修改或加入以下三行
BOOTPROTO=none
ONBOOT=yes
BRIDGE=cloudbr0
创建cloudbr1 网桥 作为公网网桥
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr1
有GATEWAY
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr1
ONBOOT=yes
IPADDR=192.168.199.91
NETMASK=255.255.255.0
GATEWAY=192.168.199.1
STP=yes
编辑桥接网卡 修改如下内容
BOOTPROTO=none
ONBOOT=yes
BRIDGE=cloudbr1
修改完后重启网络 最好关掉 NetworkManager服务
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl restart network
查看 route 应该显示的内容 类似下面的图
默认的 访问请求会 走cloudbr1 网桥,而来自192.168.199.44.0/24 网段的请求会走cloudbr0 不知道这样说对不对。。。有人看到的话请指正。网络这块实在是不懂。
设置 nfs 共享点,为求方便,不再重新创建一个主机当作nfs服务器
管理节点当作二级存储 提供点
创建 文件夹,有条件可以将添加一块新硬盘挂载到该文件夹上
mkdir -p /export/secondary
编辑共享nfs设置
vim /etc/exports
二级存储
/export/secondary *(rw,async,no_root_squash,no_subtree_check)
启动nfs服务
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
安装MySQL数据库和服务
CentOS没有直接的CentOS安装源,要先下载源安装包再安装,不过有一个mariadb算是mysql分支,使用效果一样。
安装
yum -y install mariadb-server mariadb
设置开机启动
systemctl enable mariadb
编辑配置文件 /etc/my.ini
vim /etc/my.cnf
在[mysqld] 模块下加入
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
据说 max_connections 应该等于管理节点个数 * 350
启动mariadb 服务
systemctl start mariadb
可以执行一下 按提示操作就好。
mysql_secure_installation
Disallow root login remotely? [Y/n]
表示是否禁止远程连接 可以选择n,其他的除了设置密码直接回车就好
然后设置 允许远程连接的 账户名密码
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456'";
2,计算节点设置。
防火墙 未关闭的话 开放下列端口
CloudStack相关端口
firewall-cmd --add-port=16509/tcp --permanent
firewall-cmd --add-port=1798/tcp --permanent
firewall-cmd --add-port=16514/tcp --permanent
firewall-cmd --add-port=5900-6100/tcp --permanent
firewall-cmd --add-port=49152-49216/tcp --permanent
firewall-cmd --reload
设置网桥 文件,和manager基本一致,IP地址变了
创建 cloudbr0 网桥,当作私网 的网桥
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
加入以下内容
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.44.92
NETMASK=255.255.255.0
#GATEWAY=192.168.44.2
STP=yes
编辑NAT网卡 加上网桥配置 作为私网网卡。每个人网卡名应该不太一样
vim /etc/sysconfig/network-scripts/ifcfg-ens34
修改或加入以下三行
BOOTPROTO=none
ONBOOT=yes
BRIDGE=cloudbr0
创建cloudbr1 网桥 作为公网网桥
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr1
有GATEWAY
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr1
ONBOOT=yes
IPADDR=192.168.199.92
NETMASK=255.255.255.0
GATEWAY=192.168.199.1
STP=yes
编辑桥接网卡 修改如下内容
BOOTPROTO=none
ONBOOT=yes
BRIDGE=cloudbr1
修改完后重启网络 最好关掉 NetworkManager服务
systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl restart network
查看 route
默认的 访问请求会 走cloudbr1 网桥,而来自192.168.199.44.0/24 网段的请求会走cloudbr0 不知道这样说对不对。。。有人看到的话请指正。网络这块实在是不懂。
计算节点当作主存储 提供点 其实不一定要使用nfs的主存储可以使用本地存储,为统一就也使用nfs
创建 文件夹,有条件可以将添加一块新硬盘挂载到该文件夹上
mkdir -p /export/primary
编辑共享nfs设置
vim /etc/exports
主存储
echo "/dev/sdb /export/primary ext4 defaults 0 0" >> /etc/fstab
启动nfs服务
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
可以查看一下 manager和agent就是管理节点计算节点主机名。在/etc/hosts 文件中 编辑。
showmount -e manager
showmount -e agent
二、安装CloudStack
软件下载地址
http://cloudstack.apt-get.eu/centos7/4.11/
模板下载地址
http://cloudstack.apt-get.eu/systemvm/4.11/
1,manager节点 当然安装管理服务
要安装4.11.0 最好将相应软件包下载下来。。。默认安装是4.11.3,我的总是出现SSL错误,也不知是因为什么。
将4.11.0的软件下载到本地进行安装。
yum -y install cloudstack-common-4.11.0.0-1.el7.centos.x86_64.rpm cloudstack-management-4.11.0.0-1.el7.centos.x86_64.rpm
数据库初始化
cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:123456
管理节点初始化 并且启动服务
cloudstack-setup-management
安装KVM 模板 ,同样下载到本地安装
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary \
-f /root/systemvmtemplate-4.11.0-kvm.qcow2.bz2 \
-h kvm –F
网络安装命令如下
/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.0-kvm.qcow2.bz2 \
-h kvm -F
2,计算节点 安装agent
yum -y install cloudstack-common-4.11.0.0-1.el7.centos.x86_64.rpm cloudstack-agent-4.11.0.0-1.el7.centos.x86_64.rpm
主要是下面的一些配置文件设置
2.虚拟化配置
CloudStack通过libverd来管理所有的kvm
有两部分需要进行配置, libvirt和QEMU
1) 编辑QEMU VNC配置文件/etc/libvirt/qemu.conf
vim /etc/libvirt/qemu.conf
去掉注释
vnc_listen="0.0.0.0"
2)CloudStack使用libvirt管理虚拟机
配置/etc/libvirt/libvirtd.conf文件
vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0
这里tcp_port="16059"或者是"16509"都是可以的。没什么影响
配置/etc/sysconfig/libvirtd文件
vim /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"
当管理节点添加此主机时,这个tcp_port = “16059"会自动变成16509,还有 LIBVIRTD_ARGS=”-1",这些都是cloudstack改变的。无须再手动改它!!
3)重启libvirtd 并设置为开机自启
systemctl restart libvirtd
systemctl enable libvirtd
4)检查
lsmod | grep kvm
3,进行一些全局配置
web访问 managerIP:8080/client
进入UI 界面 如192.168.44.91:8080/client
默认用户名 admin 密码 password
选择我以前使用过CloudStack 跳过指南
模板下载web所在的网段
secstorage.allowed.internal.sites=0.0.0.0/0
管理节点主机IP
host=192.168.44.91
管理CIDR
management.network.cidr=192.168.44.0/24
修改完成 管理节点重启 cloudstack-management
systemctl restart cloudstack-management
三、进行基本设置
重新访问192.168.44.91:8080/client 。。。选择以前使用过CloudStack 点击基础架构。
点击资源域 查看全部 添加资源域。网络类型选择基本
添加区域 管理程序是KVM
配置 网络 编辑管理的KVM流量标签是cloudbr0 来宾KVM流量标签是 cloudbr1
设置提供点 IP 填写 私有网段IP 即NAT IP
设置来宾IP 公共网络IP段
添加主机
添加主存储
添加二级存储
完成后 确定创建资源域,基本来说能成功的。。。创建完成启动资源域。。等待一段时间 查看控制板
基本正常。。。
接下来可以 尝试创建一个 ISO虚拟机了。。。具体步骤参考
https://blog.csdn.net/dandanfengyun/article/details/105268240
在此之前 可以 查看一下系统VM
如 Console Proxy VM
点击基础架构 系统VM 快速查看 查看控制台
默认用户名 root 密码 password
然后可以查看一下 IP 和 route 路由
ip addr
route -n
三个网卡 分别处理 公共网络 私有网络 内部 请求什么的。。。
基本网络设置后创建的虚拟主机,IP 分配的应该直接就是公网IP,可以与外网通信 如 ping www.baidu.com
也可以直接 使用 ssh 连接。外部可以直接ping 通该虚拟主机
当然前提是改虚拟机要开启network。。。