文中的 10节点 表示 controller 节点,20节点 表示 compute 节点;网卡名默认 eth0 和 enp7s0 表示内网, eth1 和 enp8s0 为外网(相对服务器的内外网)。
如果不在虚拟机内搭建,跳到系统安装
虚拟机配置内容
VMware 配置
双节点
Vmnet1
Vmnet8
双节点
开启虚拟机,禁用网卡命名规则,在开机界面按 ↑ 键,选中 Install CentOS 7
再按下 Tab ,在后面添加代码(如下图):
net.ifnames=0 biosdevname=0
系统安装
硬盘配置
10节点
选择 I will configure
然后 Done
点击自动创建
硬盘比较大时 会自动生成 /home
分区,应删除,再将根目录分区也删除、再重新创建(重新创建以自动占满 /home 留下的空间)。
20节点
前面一样,后面在分区时,减小根分区,为后面的 cinder
和 swift
服务留空。服务器应为2个服务共 200 GB 、虚拟机可以留 20-10 GB (或者 20%)。
这里是总共50 G 硬盘,默认分配之后,缩小10 G
网络配置
双节点
配置两个节点的 eth0
(服务器默认是 enp7s0
)如下:
类似的,20节点同理。
最后,关闭打开前面的 On
保证刷新显示出来IP。
然后开始安装。
配置IP
双节点
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置好之后应该是这样:
cat /etc/sysconfig/network-scripts/ifcfg-eth0
- 10节点
- 20节点
理论上只用将 ONBOOT
改为 yes
就可以了 (在前面 网络配置 可能导致没有 IPADDR
等… 的 bug,按照上图修改就可以了)。
重启网络
systemctl restart network
安装先电软件包
10节点
使用 SecureFX、Xftp 等 ftp 软件
将 CentOS-7-x86_64-DVD-1511.iso
和 XianDian-IaaS-v2.2.iso
上传到 /home 里面 (当然镜像挂载的方法也可以)。
mount /home/CentOS-7-x86_64-DVD-1511.iso /mnt
mkdir /opt/centos/
mkdir /opt/iaas/
cp -rvf /mnt/* /opt/centos/
umount /mnt/
mount /home/XianDian-IaaS-v2.2.iso /mnt
cp -rvf /mnt/* /opt/iaas/
umount /mnt/
设置10节点yum源
10节点
rm -rf /etc/yum.repos.d/* # 把10节点的yum源移除
vi /etc/yum.repos.d/centos.repo
验证:
yum clean all
yum list
安装ftp服务
10节点
yum install vsftpd -y
vi /etc/vsftpd/vsftpd.conf
在第一行添加: anon_root=/opt/
启动ftp服务:
systemctl start vsftpd
systemctl enable vsftpd
关闭防火墙并且使其开机不自启
双节点
systemctl stop firewalld
systemctl disable firewalld
配置20节点yum源
20节点
mv /etc/yum.repos.d/* /opt/ # 20节点的yum源在/opt下备份
vi /etc/yum.repos.d/centos.repo
验证:
yum clean all
yum list
设置脚本环境变量
双节点
yum install iaas-xiandian -y
vi /etc/xiandian/openrc.sh
(其中,第75行和89行是上面硬盘配置给cinder、swift留空的分区名称,具体名称以下面分区步骤之后的名称为准。)
可以将10节点编辑好的文件传到20节点上。
10节点
scp /etc/xiandian/openrc.sh 192.168.100.20:///etc/xiandian
检验:
20节点
cat /etc/xiandian/openrc.sh
为cinder和swift分区
20节点
以50 GB,每个服务给5 GB的方式为例。(具体大小看自己情况,仅参考)
[root@localhost ~]# lsblk #列出所有可用块设备的信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 39.5G 0 part
└─centos-root 253:0 0 39.5G 0 lvm /
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
(parted) p #显示分区表、可用设备、可用空间、所有找到的分区或特定分区
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 43.0GB 42.4GB primary lvm
(parted)
(parted) mkpart cinder #创建分区
parted: invalid token: cinder
Partition type? primary/extended? p #主分区/扩展分区?扩展
File system type? [ext2]? ext4 #Ext4——第四代扩展文件系统
Start? 43.0GB #从上个分区的 End 开始(Number 2)
End? 48.0GB #给 5 GB的空间
(parted)
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 43.0GB 42.4GB primary lvm
3 43.0GB 48.0GB 5046MB primary
(parted)
(parted) mkpart swift
parted: invalid token: swift
Partition type? primary/extended? p
File system type? [ext2]? ext4
Start? 48.0GB
End? 53.0GB
(parted)
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary xfs boot
2 525MB 43.0GB 42.4GB primary lvm
3 43.0GB 48.0GB 5046MB primary
4 48.0GB 53.0GB 5001MB primary
(parted)
(parted) q #退出parted
Information: You may need to update /etc/fstab.
[root@localhost ~]#
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 39.5G 0 part
│ └─centos-root 253:0 0 39.5G 0 lvm /
├─sda3 8:3 0 4.7G 0 part #cinder分区
└─sda4 8:4 0 4.7G 0 part #swift分区
sr0 11:0 1 1024M 0 rom
[root@localhost ~]#
最后生成的 cinder、swift 分区,填在上面脚本环境变量 openrc.sh
里面
( (parted) h
可以查看parted命令帮助。)
安装脚本
脚本执行是不可逆的,保证严格的顺序,执行错误就要重来。双节点脚本建议同时安装(虚拟机可以创建快照)
其中 […] 表示两个名字不同的脚本(例如 iaas-install-nova-controller.sh
和 iaas-install-nova-compute.sh
。)
可以参照 openrc.sh
里面的顺序来安装
双节点 iaas-pre-host.sh
双节点 CRT断开连接重新登录一下 ( Ctrl + D )
10节点 iaas-install-mysql.sh
(数据库)
10节点 iaas-install-keystone.sh
(认证服务)
10节点 iaas-install-glance.sh
(镜像服务)
双节点 iaas-install-nova-co[…].sh
(计算服务)
双节点 iaas-install-neutron-co[…].sh
(网络服务)
双节点 iaas-install-neutron-co[…]-gre.sh
(gre网络模式)
注意: 这里20节点安装 gre.sh
完成之后没有返回提示为正常;10节点安装最后会出现:
Unknown operation ‘enabled’.
这是脚本错误,查看脚本文件:
cat /usr/local/bin/iaas-install-neutron-controller-gre.sh
······
systemctl restart neutron-lbaas-agent
systemctl enabled neutron-lbaas-agent
enabled 改为 enable,执行 systemctl enable neutron-lbaas-agent
。
10节点 iaas-install-dashboard.sh
(Dashboard服务)
这里安装完Dashboard服务可以跳转到上传镜像,这样安装的平台为最简安装 (之后的也可以以后安装)
双节点 iaas-install-cinder-co[…].sh
(cinder块储存服务)
10节点
source /etc/keystone/admin-openrc.sh
双节点 iaas-install-swift-co[…].sh
(swift对象储存服务)
执行过程中需要确认登录 controller 节点和输入 controller 节点 root 用户密码
10节点 iaas-install-trove.sh
(trove服务)
注意: 安装Trove服务之前需要配置好网络(flat 或 gre),创建好子网,并确认系统已经安装 swift 和 cinder 两个服务,否则安装会失败。
10节点 iaas-install-heat.sh
(heat编配服务)
双节点 iaas-install-ceilometer-co[…].sh
(ceilometer监控服务)
10节点 iaas-install-alarm.sh
(alarm监控服务)
上传镜像
10节点
source /etc/keystone/admin-openrc.sh
cat /usr/local/bin/iaas-install-trove.sh
复制 iaas-install-trove.sh
尾部的一段代码,修改为如下执行:
glance image-create --name " CentOS_7.2_x86_64" --disk-format qcow2 --container-format bare --progress < /opt/iaas/images/CentOS_7.2_x86_64_XD.qcow2
进入平台
点击下面链接:
一、规则
在 项目 - 计算 - 访问&安全 删除全部规则
添加
所有 ICMP协议
+ 入&出口
+ 远程CIDR
+ 0.0.0.0/0
所有 TCP 协议
+ 入&出口
+ 远程CIDR
+ 0.0.0.0/0
所有 UDP 协议
+ 入&出口
+ 远程CIDR
+ 0.0.0.0/0
二、网络
在 管理员
- 系统
- 网络
创建① 名称 ext
项目 admin
类型 GRE
段ID 192
*[x] 外部网络
之后在 ext
网络中创建 子网
名称 ext-sub
网络地址: 192.168.200.0/24
网关IP: 192.168.200.1
在详情页地址池:192.168.200.100,192.168.200.200
(100到200)
创建② 名称 int
项目 admin
类型 GRE
段ID 10
创建子网 int-sub
地址 10.0.0.0/24
+ 网关IP: 10.0.0.1
在详情页地址池: 10.0.0.100,10.0.0.200
(100到200)
三、路由
在 项目
- 网络
- 路由
新建路由 router
外部网络 ext
之后在 router
中添加接口 子网 int:10.0.0.0/24 (int-sub)
在cmd中测试路由(ping 192.168.200.101)
整合资源
10节点
修改 openrc.sh
把compute节点的IP和主机名改为controller节点的IP和主机名(20->10)
执行脚本
iaas-install-nova-compute.sh
在平台 管理员
- 系统
- 虚拟机管理器
观察,主机名存在controller即操作成功。