CloudStack+KVM 虚拟机部署测试详细流程

目录

基本介绍

部署准备

开始部署

1.查看并修改虚拟机网络

2.创建manager节点

2.配置manage节点

2.克隆为agent节点

3.配置NFS服务

4.安装MySQL服务

5.设置网络桥接

6.安装CloudStack

(1)网络源

(2)本地源

7.配置CloudStack

8.创建资源域 

9.注册ISO,添加实例,创建模板

可能遇到的问题


基本介绍

本文旨在介绍如何在本机虚拟机里部署一套CloudStack环境的测试流程,包括一台管理节点(manager)和一台计算节点(agent)。其中,manager节点会搭建作为二级存储的NFS服务,agent会搭建用于镜像下载的nginx服务器。

本文使用KVM创建虚拟机,通过libvirtd管理虚拟机。

部署准备

软件安装:

VMWare Workstation,XShell

资源下载:

CentOS-7-x86_64-Minimal-1810.iso  //系统镜像

cloudstack-common-4.13.1.0-1.el7.x86_64.rpm

cloudstack-management-4.13.1.0-1.el7.x86_64

cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm

systemvmtemplate-4.11.3-kvm.qcow2.bz2

本文所用所有资源的百度云分享链接:https://pan.baidu.com/s/1AiuZUF5JvudgIgFjc_8j4Q  提取码:oy3h 

开始部署

1.查看并修改虚拟机网络

       首先,打开Wmware Workstation,选择菜单栏“编辑”->虚拟网络编辑器,查看VMnet8的子网地址。

每台机器VMnet8被分配的子网地址都不相同,但在每个网段中,本机都默认为1,网关都默认为2。

以本机“192.168.100.0”网段为例,在该网段中,默认本机的IP地址为“192.168.100.1”,默认网关的IP地址为“192.168.100.2”。

而若是“192.168.67.0”网段,则默认本机的IP地址为“192.168.67.1”,默认网关的IP地址为“192.168.67.2”。

请注意并修改后续操作中IP地址,以保证在VMnet8的网段中。

       若想更改网段,可以点击右下角“更改设置”,以管理员权限打开虚拟网络编辑器,修改左下角子网IP。

       默认DHCP分配IP范围为128-254,可以点击“DHCP设置”调整,本文调整如下。开放地址范围为192.168.100.100-192.168.100.254。

CloudStack+KVM 虚拟机部署测试详细流程_第1张图片

       综上,本机虚拟网络相关的信息如下:

地址范围:192.168.100.100-192.168.100.254
网关:192.168.100.2
子网掩码:255.255.255.0

2.创建manager节点

本文先创建manager节点虚拟机,安装必要的软件后,会克隆该虚拟机作为agent节点,再分别部署各自节点。

本文manager节点IP设置为192.168.100.100,agent节点IP设置为192.168.100.101。可自行修改为其他,但注意必须在DHCP范围内。

在VmWare Station 中新建虚拟机,在新建向导中依次选择“典型”、“稍后安装操作系统”、“Linux”、“CentOS 7 64位”。

命名该虚拟机为Manager,避免混淆。

CloudStack+KVM 虚拟机部署测试详细流程_第2张图片

磁盘容量为默认20G足可,在最后一步中点击“自定义硬件”,按下图配置。

CloudStack+KVM 虚拟机部署测试详细流程_第3张图片

Manager节点推荐内存为2G,

处理器内核2颗,开启Intel VT-x/EPT,

CD驱动器加载CentOS的iso镜像,并确定已勾选启动时连接,

再删除多余的声卡和打印机硬件,

点击“关闭”并点击“完成”。

再次编辑该虚拟机设置,点击左下角添加,添加硬盘。

CloudStack+KVM 虚拟机部署测试详细流程_第4张图片 添加新硬盘

        一路点“下一步”,最后完成新硬盘添加。

        启动虚拟机,开始镜像安装。点击虚拟屏幕,按上下键选择“Install CentOs 7”,进入可视化安装界面。

第一步,选择中文。

CloudStack+KVM 虚拟机部署测试详细流程_第5张图片 选择“中文”

       点击“继续”,等待依赖检索完成,依次配置“安装位置”、“网络和主机名”。

CloudStack+KVM 虚拟机部署测试详细流程_第6张图片 配置“安装目标位置”
CloudStack+KVM 虚拟机部署测试详细流程_第7张图片 配置“网络和主机名”

        选择“IPv4 设置”,选择“手动分配,点击"Add”,

添加静态IP地址“192.168.100.100”,子网掩码“255.255.255.0”,网关“192.168.100.2”。

请根据自己VMnet8的实际网段与自己设定的manager节点静态IP进行修改。

 在下方DNS服务器输入阿里DNS服务器223.5.5.5。

 如下图所示。点击“保存”和“完成”。

CloudStack+KVM 虚拟机部署测试详细流程_第8张图片 配置“ens33”

           点击“开始安装”。

CloudStack+KVM 虚拟机部署测试详细流程_第9张图片 安装中

 

        在安装时,设置ROOT密码,本文设置为12345。若密码过于简单,点击两次完成也可以完成设置。

        安装完成后,重启。

2.配置manage节点

       打开XShell,新建会话。

CloudStack+KVM 虚拟机部署测试详细流程_第10张图片

 点击“用户身份验证”,输入root和ROOT密码。

CloudStack+KVM 虚拟机部署测试详细流程_第11张图片

保存并连接,验证主机密钥,选择“接受并保存”。

在XShell中完成以下配置。

(1)设置IP映射

设置后可以直接通过Hostname,访问到对应节点。

复制一下指令到XShell会话框中,按回车执行。

vi /etc/hosts

在该文件新的一行中插入以下内容:

192.168.100.100 manager
192.168.100.101 agent

小提示

按I键进入INSERT模式。

按ESC,输入“:wq”保存并退出,输入“:q!"不保存退出。

按ESC,按两下D删除光标所在行。

(2)关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

然后设置selinux为permissive模式

修改config文件

vi /etc/selinux/config 

找到selinx并改成

SELINUX=permissive

重启生效

reboot

查看selinux

getenforce 

(3)时区设置(非必要)

timedatectl set-timezone  Asia/Shanghai

查看时区

timedatectl

 (4)安装EPEL

yum -y install epel*

重建本地仓库缓存

yum clean all && yum makecache

安装VIM,用以编辑文件。

yum -y install vim

安装lrzsz,用以向虚拟机发送文件。

yum -y install lrzsz

(5)安装时间同步模块

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

 重启chronyd服务

systemctl restart chronyd

(5)安装NFS服务

yum -y install nfs-utils

编辑配置文件

vim /etc/sysconfig/nfs

取消如下项的注释。其中,RQUOTAD_PORT需要手动添加。

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

启动服务并设置开机启动。

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs

查看新增硬盘

fdisk -l
新增磁盘/dev/sdb

格式化硬盘,建立ext4文件系统,“Process anyway?”选择“y”。

mkfs.ext4 /dev/sdb

 至此,两节点的通用配置已完成。

2.克隆为agent节点

关闭manager节点,在库中,右键manager节点,选择“管理”->“克隆”,进入克隆虚拟机向导。

依次选择“克隆当前状态”、“创建完整克隆”,命名为“agent”,然后点击完成。

由于克隆后agent节点IP与manager冲突,建议先在虚拟机内部修改完静态IP地址后,再通过XShell配置。

开启agent虚拟机,输入账户root,密码12345。

修改host名

vim /etc/hostname

修改manager为agent

修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

将IPADDR修改为192.168.100.101,修改后如下。

CloudStack+KVM 虚拟机部署测试详细流程_第12张图片

 重启虚拟机

reboot

在XShell中,创建新会话,名称为“agent”,主机为192.168.100.101,账号为root,密码为12345。

在XShell的会话中完成后续配置。

3.配置NFS服务

前面已经配置过文件,此步骤只需设置共享目录。请注意各个操作与其操作节点,避免混淆。

manager节点

创建挂载点

mkdir -p /export/secondary

硬盘挂载

 echo "/dev/sdb  /export/secondary  ext4 defaults 0 0"  >> /etc/fstab

快速挂载

mount -a

查看挂载

df -h

结果如下

CloudStack+KVM 虚拟机部署测试详细流程_第13张图片

设置共享目录

vim /etc/exports

添加

/export/secondary *(rw,async,no_root_squash,no_subtree_check)

 重新导入共享目录配置

exportfs -a

agent节点

创建挂载点

mkdir -p /export/primary

硬盘挂载

echo "/dev/sdb  /export/primary  ext4 defaults 0 0"  >> /etc/fstab

快速挂载

mount -a

设置共享目录

vim /etc/exports

添加

/export/primary *(rw,async,no_root_squash,no_subtree_check)

重新导入共享目录配置

exportfs -a

验证共享

manager 节点查看 agent的共享目录

showmount -e agent

agent 节点查看 manager 的共享目录

showmount -e manager

4.安装MySQL服务

manager节点

yum -y install mariadb-server mariadb

编辑 mariadb 配置文件

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'
bind-address = 0.0.0.0

启动mariadb 并设置为开机启动

systemctl enable mariadb
systemctl start mariadb

执行数据库初始化安全操作

mysql_secure_installation

初始未设置密码按回车跳过,选择设置密码,设置为12345,移除匿名用户,不屏蔽远程登录等,其他按回车选择默认。

赋予 root 远程登录权限

请注意并修改下方操作中的密码为自己设置的密码

mysql -uroot -p12345 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '12345' WITH GRANT OPTION";

5.设置网络桥接

agent节点

yum -y install net-tools bridge-utils

 编辑网卡桥接文件 cloudbr

vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0

修改后内容如下。静态IP根据自己实际情况修改。

TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.100.101
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=223.5.5.5
STP=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="ad4d6e67-ae59-4a3c-9270-7045700517cd"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=cloudbr0

重新启动网络服务

systemctl restart network

查看 网桥 和路由

brctl show route -n

至此,基本环境安装已经完成,建议拍摄快照,以免后期配置错误,功亏一篑。

6.安装CloudStack

(1)网络源

manager和agent节点

配置网络源文件,两台节点配置相同

vi /etc/yum.repos.d/cloudstack.repo

 添加

[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.13/
enabled=1
gpgcheck=0

manager节点

yum -y install cloudstack-management

agent 节点

yum -y install cloudstack-agent

(2)本地源

官方下载地址:

http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-management-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-common-4.13.1.0-1.el7.x86_64.rpm

本文提供的百度云里下载。

本文使用lrzsz进行文件发送,若遇问题,也可以使用WinSCP等其他软件发送。

manager节点

将cloudstack-common和cloudstack-management两个rpm文件,分别拖入XShell会话框,发送给虚拟机。

CloudStack+KVM 虚拟机部署测试详细流程_第14张图片 发送中

执行下述指令进行本地安装。

yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-management-4.13.1.0-1.el7.x86_64.rpm

安装过程或以后使用过程中,有任何问题,可以通过日志查看。

tail -f /var/log/cloudstack/management/management-server.log

初始化数据库,创建新用户cloud。

最后,root:12345为root账号及root密码,密码不同请修改。

cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:12345

启动management

cloudstack-setup-management

agent 节点

将cloudstack-common和cloudstack-agent两个rpm文件,分别拖入XShell会话框,发送给虚拟机。

执行下述指令进行本地安装。

yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm 

manager节点

安装KVM模板

在二级存储中安装KVM模板。以下两种方式二选一

a.网络源安装

/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

b.本地源

官方地址:

http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2

本文提供的百度云里下载。

同上述过程,拖入会话即可。

注意:当前文件夹是否为root,不是请先“cd /root”,或者修改下述代码中路径。

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt  \
-m /export/secondary \
-f /root/systemvmtemplate-4.11.3-kvm.qcow2.bz2 \
-h kvm –F

agent 节点

配置libvirt

编辑QEMU VNC配置文件/etc/libvirt/qemu.conf

vim /etc/libvirt/libvirtd.conf

取消注释或添加

listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0

小提示

可以按下ESC,使用“/+搜索词”,如“/listen”进行搜索。

 配置/etc/sysconfig/libvirtd文件

LIBVIRTD_ARGS="--listen"

重启libvirtd 并设置为开机自启

systemctl restart libvirtd
systemctl enable libvirtd

7.配置CloudStack

 默认访问端口为manager节点IP的8080端口。

打开浏览器,访问http://192.168.199.100:8080/client/。

默认账号为admin,默认密码为password,选择语言为“简体中文”,登陆。

CloudStack+KVM 虚拟机部署测试详细流程_第15张图片

 初次登陆选择左下角“我以前使用过”。

选择左下角“全局设置”,搜索并修改以下设置。

cpu.overprovisioning.factor 2.0               //CPU超配
mem.overprovisioning.factor 2.0               //内存超配,即2GB变4GB
secstorage.allowed.internal.sites 0.0.0.0/0   //从该网段下载ISO或模板,后期搭建ngix服务器可修改
management.network.cidr 192.168.100.0/24      //管理网段,可不修改,但会有警报信息

在manager节点中,重启cloudsatck-management服务

systemctl restart cloudstack-management

重启时间较长,请耐心等候,可以观察日志文件,了解启动进程。

tail -f /var/log/cloudstack/management/management-server.log

8.创建资源域 

重新登录,选择左下角“基础架构”,选择“资源域”,点击工具栏“+ 添加资源域”。

配置如下即可。

CloudStack+KVM 虚拟机部署测试详细流程_第16张图片

CloudStack+KVM 虚拟机部署测试详细流程_第17张图片

CloudStack+KVM 虚拟机部署测试详细流程_第18张图片

 

CloudStack+KVM 虚拟机部署测试详细流程_第19张图片

CloudStack+KVM 虚拟机部署测试详细流程_第20张图片

 

CloudStack+KVM 虚拟机部署测试详细流程_第21张图片

 请注意,“添加主机”这一步,是添加计算节点作为集群的默认主机,而不是管理节点。

CloudStack+KVM 虚拟机部署测试详细流程_第22张图片

CloudStack+KVM 虚拟机部署测试详细流程_第23张图片

 

CloudStack+KVM 虚拟机部署测试详细流程_第24张图片

CloudStack+KVM 虚拟机部署测试详细流程_第25张图片

 点击“启动资源域”,等待创建完成,然后启动即可。

9.注册ISO,添加实例,创建模板

如下,等待系统VM创建成功后,开始后续步骤。

CloudStack+KVM 虚拟机部署测试详细流程_第26张图片

CloudStack+KVM 虚拟机部署测试详细流程_第27张图片

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/html
rm -rf *

将准备好的ISO镜像放进去,本文使用的是虚拟机的镜像,直接拖入会话框,传送至/usr/share/nginx/html目录。

重启nginx 服务,设置为开机启动

systemctl enable nginx
systemctl start nginx

 可通过浏览器直接访问agent节点IP地址查看。

CloudStack+KVM 虚拟机部署测试详细流程_第28张图片

注册ISO

选择左侧“模板”->选择视图“ISO”,点击工具栏“注册ISO”。

CloudStack+KVM 虚拟机部署测试详细流程_第29张图片

 依次填写所有信息,URL可以从192.168.100.101网页中复制链接。

CloudStack+KVM 虚拟机部署测试详细流程_第30张图片

 点击“确定”,点击该ISO,点击“资源域”,查看状态。

CloudStack+KVM 虚拟机部署测试详细流程_第31张图片

 安装完成后,如下所示。

CloudStack+KVM 虚拟机部署测试详细流程_第32张图片

添加实例

依次选择左边“实例”->工具栏“添加实例”。

选择ISO创建。

CloudStack+KVM 虚拟机部署测试详细流程_第33张图片

 选择刚刚注册的ISO。

CloudStack+KVM 虚拟机部署测试详细流程_第34张图片

 计算方案选择Medium,分配内存为1GB,可在“服务方案”中修改。

CloudStack+KVM 虚拟机部署测试详细流程_第35张图片

 其余一律默认即可,最后填写信息。

CloudStack+KVM 虚拟机部署测试详细流程_第36张图片

 启动VM,等待VM创建并运行。

选择该虚拟机快速查看->查看控制台。

CloudStack+KVM 虚拟机部署测试详细流程_第37张图片

在弹出的控制台网页中,安装ISO即可。

安装过程同虚拟机大致一样,不同的是网络只需打开即可,不需要设置静态IP和主机名。

安装完成后,重启。

至此,一台可以用于生产的实例已经部署完成,后续可以安装其他生产环境,本文仅做测试,安装系统即可。

创建模板

接下来是,将安装有生产环境的示例创建模板,用以创建更多实例。

关闭实例。“快速查看”->停止。

CloudStack+KVM 虚拟机部署测试详细流程_第38张图片

 等待停止后,点击“查看卷”。

CloudStack+KVM 虚拟机部署测试详细流程_第39张图片

选择“快速查看”->“创建模板”。

CloudStack+KVM 虚拟机部署测试详细流程_第40张图片

 填写信息后,创建即可。

 

CloudStack+KVM 虚拟机部署测试详细流程_第41张图片

 以后添加实例时,选择该模板即可创建一模一样的实例。

CloudStack+KVM 虚拟机部署测试详细流程_第42张图片

可能遇到的问题

Q:安装软件时一直切换镜像,最后也不下载,这是怎么回事?

A:有两种可能

1.没有配置DNS服务器。

没有配置网桥的话,配置网络

vi /etc/sysconfig/network-scripts/ifcfg-ens33

添加DNS服务器

DNS1=223.5.5.5

配置网桥了的话,在网桥文件里添加DNS。

vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0

2.网关配置错误

本文使用的VMnet8网段为192.168.100.0-192.168.100.254网段,其中192.168.100.2为虚拟网关地址,每个人的网段号不同,请根据自己的网段查看网关是否正确。

查看配置文件,注意其中GATEWAY字段是否正确。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

Q:管理节点重启后,CloudStack 的WEB UI上不去,这是怎么回事?

A:一般是Server还在启动中,稍等即可。

可以通过查看日志的方式排除问题。

tail -f /var/log/cloudstack/management/management-server.log

 

Q:系统VM创建失败,日志显示“can't create development for vm”,这是为什么?

A:这可能有两个原因造成:

1.agent节点硬件资源不足

本文建议的4GB内存加2核,再加上2倍超配,经多次试验完全能满足要求。

2.没有安装KVM模板

如果日志中报错“Not such file or directory”,然后指向/export/secondary里的template文件夹,那么就是这个原因,按照第6部中的“安装KVM模板”步骤完成即可。

 

Q:日志报数据库中列错误,怎么处理?

A:按照第6步中,初始化数据库的步骤,重新创建用户,安装management。

你可能感兴趣的:(大数据)