CloudStack 4.17 安装部署

article/2025/9/9 21:31:59

市面上cloudstack大多部署教程都比较旧,这里写一篇最新版本的部署安装教程(4.17),为了方便解释相关配置以及进行相关配置,本篇会把管理节点和计算节点分开写
1.管理节点部署(admin)
管理节点ip:192.168.1.11/24–hk.admin
计算节点ip:192.168.1.12/24–hk.node1–需要开启虚拟化功能(VT)
NFS节点ip:192.168.1.13/24–hk.nfs.node1
注意:管理节点、计算节点路由可达即可,两者是通过ssh端口(22)来通信,NFS节点(主存储用NFS)必须要放到距离计算节点最近最优的地方,可以不为同一个局域网,但时延最好不要超过10ms,主存储可以是本地存储,二级存储必须为NFS或者为可选里面的任意一个,主存储是放到计算节点上面的(如果主存储也是NFS,即主存储是挂载到计算节点上),二级存储都是挂载到管理节点上,主要是用于存放一些模板、镜像之类的数据,主存储主要是存放用户磁盘数据,本篇主存储和二级存储都采用NFS(大型公有云建设建议接入性能更好的ceph块存储,ceph安装配置请参考https://blog.csdn.net/weixin_43838503/article/details/122251323)

操作系统:centos7.9 最小安装
内核版本:建议升级到5.x
如果要升级内核版本置5.x,请执行以下命令

yum -y install http://mirror.cloud.idcsmart.com/cloud/kernel/5.4.166/kernel-lt-5.4.166-1.el7.elrepo.x86_64.rpm
grub2-set-default 'CentOS Linux (5.4.166-1.el7.elrepo.x86_64) 7 (Core)'
reboot

开始安装管理节点(192.168.1.11)
基础环境准备

hostnamectl set-hostname hk.admin
yum -y update
yum -y install bash-c* vim net-tools wget lrzsz
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disabled
reboot

主机解析配置

echo 192.168.1.11 hk.admin >>/etc/hosts
echo 192.168.1.12 hk.node1 >>/etc/hosts

配置epel

yum -y install epel*
yum clean all
yum makecache

时间同步设置

timedatectl set-timezone  Asia/Shanghai
yum -y install chrony
vim /etc/chrony.conf
将以下内容
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
替换成
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
重启服务
systemctl restart chronyd

NFS配置(192.168.1.13)
配置主存储、二级存储

yum -y update
yum -y install bash-c* vim net-tools wget lrzsz
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disabled
rebootyum -y install epel-release
yum install -y rpcbind nfs-utils
mkdir -p /data/hk.nfs.node1.secondary
mkdir -p /data/hk.nfs.node1.primary
vim /etc/exports
/data/hk.nfs.node1.secondary  192.168.1.11(rw,no_root_squash,sync)
/data/hk.nfs.node1.primary    192.168.1.12(rw,no_root_squash,sync)systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable rpcbind.service
systemctl enable nfs.service

回到管理节点,先挂载二级存储到管理节点,给后面导入系统模板用
**注意:**建议后面每添加一个二级存储都先手动挂载到管理节点后执行一下导入系统模板命令,否则可能会导致添加完资源域后二级存储显示为0,具体命令在后文会介绍

yum install -y rpcbind nfs-utils
mkdir -p /data/hk.node1.secondary测试到服务器端存储目录可访问性
showmount -e 192.168.1.13
输出结果为NFS服务器上配置的一致即可挂载:
mount -t nfs 192.168.1.13:/data/hk.nfs.node1.secondary /data/hk.node1.secondary开机自动挂载
vim /etc/fstab
192.168.1.13:/data/hk.nfs.node1.secondary      /data/hk.node1.secondary	   nfs     defaults        0 0

开始mysql配置
可以单独安装mysql,我这里为了节约时间,使用yum一键安装

yum -y install mariadb-server mariadb
在mysqld模块下引入
vim /etc/my.cnf
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350 #这个值通常是管理节点个数*350
log-bin=mysql-bin
binlog-format = 'ROW'
bind-address = 0.0.0.0启动数据库
systemctl start mariadb
systemctl enable mariadb数据库初始化安全配置
mysql_secure_installation
如果看不懂英文,请翻译确认一下是什么意思再回车,基本都是默认,禁止root登陆那一项选no就行授权root远程登陆权限(密码12345678,测试使用,生产环境请更改为安全度更高的复杂密码)
mysql -uroot -p12345678 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION";

开始安装cloudstack管理节点
安装源配置,这里采用在线安装,如果网速慢,请先下载到本地再安装

vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.17/
enabled=1
gpgcheck=0yum clean all
yum makecache
yum -y install cloudstack-management
cloudstack数据库初始化
cloudstack-setup-databases cloud:12345678@localhost --deploy-as=root:12345678启动cloudstack
cloudstack-setup-management

访问测试,默认账号admin、默认密码password
http://192.168.1.11:8080

安装系统模板到二级存储

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /data/hk.nfs.node1.secondary/ -u http://cloudstack.apt-get.eu/systemvm/4.17/systemvmtemplate-4.17.0-kvm.qcow2.bz2 -h kvm -F

重启cloudstack
systemctl restart cloudstack-management

日志查看
tail -f /var/log/cloudstack/management/management-server.log

开始安装计算节点(192.168.1.12)
基础环境配置

hostnamectl set-hostname hk.node1
echo 192.168.1.11 hk.admin >>/etc/hosts
echo 192.168.1.12 hk.node1 >>/etc/hosts
yum -y update
yum -y install bash-c* vim net-tools wget lrzsz
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config
SELINUX=disabled
reboot

epel安装

yum -y install epel*
yum clean all
yum makecache

时间同步设置

timedatectl set-timezone  Asia/Shanghai
yum -y install chrony
vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
替换成
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
重启
systemctl restart chronyd

NFS配置

管理节点和计算节点通信后会自动挂载主存储,这里无需手动挂载

网络配置
对应的网卡名字和ip地址请大家按自己配置的填写

yum -y install net-tools bridge-utils
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
IPADDR=192.168.1.12
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
STP=yesvi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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="ens192"
DEVICE="ens192"
ONBOOT="yes"
HOTPLUG=no
BRIDGE=cloudbr0systemctl restart network

开始安装cloudstack计算节点
安装源配置

vi /etc/yum.repos.d/cloudstack.repo
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.17/
enabled=1
gpgcheck=0yum clean all
yum makecache
yum -y install cloudstack-agent

配置KVM基本环境

编辑QEMU VNC配置文件/etc/libvirt/qemu.conf
vim /etc/libvirt/qemu.conf
去掉注释
vnc_listen="0.0.0.0"CloudStack使用libvirt管理虚拟机
配置/etc/libvirt/libvirtd.conf文件
vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0配置/etc/sysconfig/libvirtd文件
vim /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"systemctl restart libvirtd
systemctl enable libvirtd加载kvm模块,注意,确保计算节点的cpu虚拟化功能有开启
modprobe kvm
lsmod | grep kvm

登陆cloudstack修改全局设置
这里需要修改一些default配置,例如cpu超频、镜像下载站点网络授权等
为了方便大家查看设置,以下以图片的形式为主
在这里插入图片描述
在这里插入图片描述
cpu超倍:cpu.overprovisioning
在这里插入图片描述
ISO镜像下载授权配置,这里按实际所需配置,我这里授权的是允许所有网络访问下载
在这里插入图片描述

重启管理节点服务,让全局设置生效

systemctl restart cloudstack-management

添加第一个zone(资源域),相关概念不在介绍
注意:如果是虚拟机环境,先把管理节点、计算节点、NFS节点先快照一份,最新版本添加资源域问题较多,以便把配置好的环境快速还原,另外,cloudstack4.17版本创建资源域的时候,网络部分先不要选高级,对于新手来说,选这个就意味着资源域会创建失败,因为高级网络部分还需要一些其他配置,这里不作介绍,后面会单独出一篇或者续写一下高级网络部分和NAT部分
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这里需要注意的是,流量类型是指对应的计算节点桥接的网卡名称,不能写错,前文网络部分有写明桥接网卡名称,我这里管理网络和来宾网络都是cloudbr0
在这里插入图片描述

以下配置简单说明一下,提供点名称自行填写就好,但最好有个命名规范,系统预留ip是指这些ip是给系统VM用的,最少需要3个,一般预留2个,5个即可,系统VM的ip段可以不与接下来要配置的来宾ip段一样,但是这两者必须要路由可达,即两者要能互通,我建议用同一个地址段,系统VM不需要占用太多ip,关于系统VM的概念,请参考cloudstack相关文档,这里不在介绍
在这里插入图片描述
来宾网段指的是给客户虚拟机使用的ip,不管是公网ip还是私网ip做的nat,如果客户有互联网的需求,这段地址必须要能上网
在这里插入图片描述
在这里插入图片描述
添加主机建议直接填写root账户,如果是其它账户,请参考cloudstack相关文档进行配置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
开始执行以上配置任务,添加主机不出问题,基本就ok了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就ok了,主要看能不能读到二级存储,能读到就说明安装成功,如果发现读不到,二级存储显示为0,请检查以上步骤是否有遗漏,或者在执行一次系统模板安装命令,再重启管理节点,若以上操作都不行,看一下系统VM状态,首次创建资源域的时候,会创建两台系统VM,一台是给访问实例控制台用,一台是给二级存储代理用,这两台VM状态必须要为正在运行和up为绿色,如果是灰色,控制台或者二级存储肯定不能访问,这是acs的第一个门槛,80%的人会遇到,这个是日志目录/var/log/cloud.log,需要登陆进二级存储系统VM,密码是password, 如图
在这里插入图片描述

关于系统模板、iso镜像制作都比较简单,大家去搜索一下就懂了,这里不在单独写了


http://chatgpt.dhexx.cn/article/DE7E0pMK.shtml

相关文章

Cloudstack

1、cloudstack介绍 一个开源具有高可用性及扩展性的云计算平台,Cloudstack是一个开源的云操作系统; cloudstack支持管理大部分主流的hypervisors,如:VMware,KVM,Citrix XenServer,Xen Cloud Pla…

【私有云架构】Cloudstack 与 OpenStack:哪个更适合您?

创建云管理平台是因为云计算几乎已成为大多数日常业务使用的必需品。CloudStack 与 OpenStack 之争并不是很重要,而是在控制大量数据的高级云管理平台之间进行选择。 对于许多组织而言,重要的一步是实施逻辑云管理,该管理拥有许多用于控制各种…

CloudStack那些事儿1 : 初识CloudStack

CloudStack是什么呢?百科上对CloudStack的定义如下: CloudStack是一个开源的具有高可用性及扩展性的云计算平台,同时是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。使用CloudSt…

OpenStack与CloudStack

目录 一、云计算 二、IaaS 三、OpenStack与CloudStack (一)概述 (二)项目历史与运营团队 (三)架构 (四)计算 (五)网络 (六)存…

CloudStack(二)基础网络模式安装部署

概述: 在CloudStack(一)简介及相关理论介绍里面简单的介绍了下cloudstack的相关概念好让我们安装部署的时候好理解一点,在cloudstack的区域里面有两种网络模式, 基础模式 基础网络模式只提供了简单的网络模型,管理网络、来宾网络(只支持1个来宾网络)、存储网络、V-Route(只提供…

CloudStack 云计算平台框架

前言 CloudStack 和OpenStack 一样都是IaaS层 开源框架,可以管理XenServer、ESXI、KVM、OVM等主流虚拟机,相对OpenStack比较简单、稳定; 二、Cloud Stack架构 Zone:相当于现实中的1个数据中心,它是CloudStack中最大的一…

【大数据实验1】cloudstack安装部署(小白式傻瓜教学)

cloudstack安装部署 0 说明1 Prerequisites 先决条件2 Environment 环境2.0 先看看有没有KVM2.1 Operating System 操作系统2.2 Configuring the network 配置网络2.3 Hostname2.4 SELinux2.5 NTP2.6 Configuring the CloudStack Package Repository 配置CloudStack软件包存储库…

Java线程池

目录 一、什么是线程池 二、线程池有哪些好处? ①降低资源的消耗 ②提高响应速度 ③提高线程的可管理能力 三、线程池如何使用 ①创建线程池​编辑 工厂模式: 工厂模式代码实现: ②往线程池当中添加任务 四、Java当中有哪些线程池 ​编辑 ①Executors.newFixedThreadPool …

线程池(一)线程池的基本使用

一、线程池简介 线程池的概念 线程池就是首先创建一些线相衬,它们的集合称为线程池,使用线程池可以很好的提高性能,线程池在系统启动时既创建大量空闲的线程,程序将一个任务传给线程池。线程池就会启动一条线程来执行这个任务&…

线程池介绍及创建线程池的4种方式

1. 什么是线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成…

线程池的使用

1.线程池使用场景 java中经常需要用到多线程来处理一些业务,我们非常不建议单纯使用继承Thread或者实现Runnable接口的方式来创建线程,那样势必有创建及销毁线程耗费资源、线程上下文切换问题。同时创建过多的线程也可能引发资源耗尽的风险,这…

线程池_线程池详解

1 线程池使用场景? java中经常需要用到多线程来处理一些业务,我们非常不建议单纯使用继承Thread或者实现Runnable接口的方式来创建线程,那样势必有创建及销毁线程耗费资源、线程上下文切换问题。同时创建过多的线程也可能引发资源耗尽的风险&…

Netty 线程池

Netty的线程池有什么样的特性 Java 原生线程池 Java 原生的线程池主要有三种:ThreadPoolExecutor、ScheduledThreadPoolExecutor、ForkJoinPool。 ThreadPoolExecutor 是最古老的类,我们通常说的线程池,也是指这个类。 ScheduledThreadPoo…

Linux —— 线程池

目录 一、什么是线程池 二、线程池的优点 三、线程池的应用 四、实现一个简单的线程池 五、单例模式 1. 饿汉实现方式 2. 懒汉实现方式 3. 单例模式实现线程池(懒汉方式) 六、其他常见的各种锁 一、什么是线程池 线程池是线程的一种使用模式。在…

线程池的实现原理

系统学习性,移步 IT-BLOG 线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数超过了最大数量超出数量的线程排队等候,等其他线程执行完毕,再从队列…

java——线程池

一、线程池 线程池可以看做是线程的集合。它的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后 启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕, 再…

java线程池(详解)

线程池介绍 线程池(thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,对线程统一管理。 线程池就是存放线程的池子,池子里存放了很多可以复…

Java线程池详解

本文包含知识点 线程池的使用场景分析线程池的创建及重要参数线程池实现线程复用的原理springboot中使用线程池Callabel与Runnable任务在基于spring体系的业务中正确地关闭线程池实现优先使用运行线程及调整线程数大小的线程池(线程池的优化)在java web项目中慎用Executors以及…

C++线程池

1.基础概念 线程池:一种线程的使用模式,线程过多会带来调度开销,进而影响缓存局部性和整体性。而线程池维护着多个线程,等待监督管理者分配可并行执行的任务。这样避免了在短时间内创建和销毁线程的代价。线程池不仅能够内核的充分…

线程池详解

成功不是将来才有的&#xff0c;而是从决定去做的那一刻起&#xff0c;持续累积而成。 目录 背景 线程池介绍 线程池使用 Executors 线程池如何关闭&#xff1f; 面试题 总结 背景 下面是一段创建线程并运行的代码: for (int i 0; i < 100; i) {new Thread(() -&…