准备环境 (真机)
禁用 selinux 配置文件 /etc/selinux/config
SELINUX=disabled
禁用 firewalld
systemctl stop firewalld
systemctl (un)mask firewalld
1 yum 源的安装和配置(网络yum源)
光盘作为 yum 源 CentOS7-1708.iso (共9591包)
有 repodata 目录的才可以作为 yum 源
自定义 yum 源
创建一个 repodata
createrepo .
更新
createrepo --update .
2 dns 服务
yum install bind bind-chroot
编辑配置文件 named.conf
listen-on port 53 { 192.168.1.254; };
allow-query { any; };
forwarders { 202.106.196.115; };
dnssec-enable no;
dnssec-validation no;
3 时间服务器
yum install -y chrony
server:配置 /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
client:配置 /etc/chrony.conf
server 192.168.1.254 iburst
检查状态
chronyc sources -v
* 同步成功,+ 备胎 , ? 同步失败
#------------------------------------------------------------------------#
初始化虚拟机
1 修改 /etc/selinux/config
SELINUX=disabled
2 配置网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
3 停止 firewalld NetworkManager
systemctl stop firewalld
systemctl stop NetworkManager
4 卸载
yum remove -y NetworkManager-* firewalld-* python-firewall
5 重启机器
6 配置 yum 源
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos7"
enabled=1
gpgcheck=0
7 安装软件
yum provides 命令
yum install 包名
8 验证数字签名
下载 RPM-GPG-KEY-CentOS-7
导入 rpm --import RPM-GPG-KEY-CentOS-7
修改 local.repo gpgcheck=1
使用 yum install lftp lrzsz 验证
9 配置网络,禁用空路由
配置文件 /etc/sysconfig/network
NOZEROCONF="yes"
网卡配置文件见范例
10 添加串口终端
配置文件 /etc/default/grub
修改内容看范例
修改完成之后创建引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
11 修改 fstab
blkid
修改 UUID=xxxxxx 为 /dev/xvda1
12 安装分区扩展软件
yum install -y cloud-utils-growpart
扩展磁盘分区空间(让 /dev/vda1 变大)
/usr/bin/growpart /dev/vda 1
扩展文件系统识别空间(让 df -h 可使用空间变大)
/usr/sbin/xfs_growfs /
13 关闭虚拟机,清理信息 (真机)
设置语言为英文 LANG=en_US.UTF-8
virt-sysprep -d 虚拟机名称
14 删除虚拟机定义
virsh undefine centos7.0
15 快速创建虚拟机
例如创建虚拟机 node1
创建磁盘文件
cd /var/lib/libvirt/images
qemu-img create -b node.img -f qcow2 node1.img 32G
创建虚拟机配置文件
sed 's/node/node1/' node.xml >/etc/libvirt/qemu/node1.xml
virsh define /etc/libvirt/qemu/node1.xml
启动虚拟机
virsh start node1
连接查看虚拟机
virsh console node1
#-----------------------------------------#
添加网卡
<interface type='bridge'>
<source bridge='private1'/>
<model type='virtio'/>
</interface>
添加硬盘
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 disk.img 20G
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
#-----------------------------------------#
创建 2 个虚拟机
要求:
虚拟机1
8G 内存
2块网卡
第一块网卡连接虚拟交换机 vbr
第二块网卡连接虚拟交换机 private1
设置静态 IP,默认网关 192.168.1.254
2块硬盘
其中 / 的 vda1 要求 50G
vdb 20G
虚拟机2
6G 内存
2块网卡
第一块网卡连接虚拟交换机 vbr
第二块网卡连接虚拟交换机 private1
设置静态 IP,默认网关 192.168.1.254
要求与第一台虚拟主机的两个 IP 都能 ping 通
硬盘
/ 的 vda1 要求 50G
# 环境检查
sestatus 检查 selinux 是否关闭了
rpm -qa |grep -P "firewalld|NetworkManager" 是否卸载了 NetworkManager 和 firewalld
chronyc sources -v 检查时间服务器是否可用
nslookup 检查 dns 服务器是否可用
yum repolist 检查包 9591 个
free -m 查看内存是否够 8G
lsblk 查看是否有 20G 的 vdb 设备
ifconfig 查看是否两块网卡,而且都能 ping 通
# 配置 openstack yum 源 共 12 个 10731 包
[openstack_extras]
name=openstack extras
baseurl="ftp://192.168.1.254/openstack-ext"
enabled=1
gpgcheck=0
[rhel-7-server-openstack-10-devtools-rpms]
name=rhel-7-server-openstack-10-devtools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms
enabled=1
gpgcheck=0
[rhel-7-server-openstack-10-optools-rpms]
name=rhel-7-server-openstack-10-optools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-optools-rpms
enabled=1
gpgcheck=0
[rhel-7-server-openstack-10-rpms]
name=rhel-7-server-openstack-10-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms
enabled=1
gpgcheck=0
[rhel-7-server-openstack-10-tools-rpms]
name=rhel-7-server-openstack-10-tools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-tools-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhceph-2-mon-rpms]
name=rhel-7-server-rhceph-2-mon-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-mon-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhceph-2-osd-rpms]
name=rhel-7-server-rhceph-2-osd-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-osd-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhceph-2-tools-rpms]
name=rhel-7-server-rhceph-2-tools-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-tools-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhscon-2-agent-rpms]
name=rhel-7-server-rhscon-2-agent-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-agent-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhscon-2-installer-rpms]
name=rhel-7-server-rhscon-2-installer-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-installer-rpms
enabled=1
gpgcheck=0
[rhel-7-server-rhscon-2-main-rpms]
name=rhel-7-server-rhscon-2-main-rpms
baseurl=ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-main-rpms
enabled=1
gpgcheck=0
#-----------------------------------------#
安装 openstack
1、配置卷组,安装依赖软件包
yum install -y lvm2
pvcreate /dev/vdb
vgcreate cinder-volumes /dev/vdb
vgs
yum install -y qemu-kvm \
libvirt-daemon libvirt-client libvirt-daemon-driver-qemu \
python-setuptools
2、安装 packstack
yum install -y openstack-packstack
创建安装 openstack 的应答文件
packstack --gen-answer-file=answer.ini
编辑应答文件 answer.ini
配置默认密码
11: CONFIG_DEFAULT_PASSWORD=Taren1
设置禁用 swift (对象存储) 模块
42: CONFIG_SWIFT_INSTALL=n
NTP 服务器地址
75: CONFIG_NTP_SERVERS=192.168.1.254
计算节点IP地址
98: CONFIG_COMPUTE_HOSTS=192.168.1.19
需要配置vxlan网络的 IP 地址
102: CONFIG_NETWORK_HOSTS=192.168.1.19
禁用自动创建 cinder-volumns 卷组
554: CONFIG_CINDER_VOLUMES_CREATE=n
设置网络支持协议
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
设置组播地址
876: CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
设置虚拟交换机
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
设置虚拟交换机所连接的物理网卡
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
设置隧道网络使用的网卡
936: CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
禁用测试的DEMO
1179:CONFIG_PROVISION_DEMO=n
3、安装 openstack
安装
packstack --answer-file=answer.ini
[root@风云集团]#: