1.1、基本环境准备

block1

主机IP

controller1

192.168.56.11

compute1

192.168.56.21

block1

192.168.56.51

block2

192.168.56.52

Hrorizon

192.168.56.61



安装操作系统CentOS-7-x86_64基本系统:1VCPU+2048M内存+100G硬盘。

网络选择:使用网络地址转换(NAT)。

软件包选择:Minimal Install。

关闭iptables和SELinux。

设置所有节点的主机名和IP地址,同时使用内部DNS或者/etc/hosts做好主机名解析。

硬盘分区:/boot 512M,swap 1024M,/ 98.*G


1.2、客户端工具

需要在本地电脑上安装TightVNC Viewer客户端,用来连接虚拟机的VNC。


1.3、实验小技巧

建议初学者保持实验环境和本课程一致,包括但不局限于IP地址,主机名,网卡名称等,可以为你节约很多因为环境问题的排错时间。

做好虚拟机的快照,比如可以根据本课程的不同章节,创建不同的快照,便于保留实验环境和在实验过程中进行环境的回滚。

请不要把关注点仅仅放在实验环节,一定要在理解的基础上完成实验。


1.4、环境准备案例

1.4.1、更改VMware Workstation的NAT地址段

如果你的默认NAT地址段不是192.168.56.0/24可以修改VMware Workstation的配置,点击编辑虚拟网络配置,然后进行配置。


1.4.2、虚拟机开启虚拟化

勾选虚拟化Intel VT-x/EPT或AMD-v/RVI(v);如不勾选,无法进行KVM虚拟化


1.5、操作系统安装

为了统一环境,保证实验的通用性,将网卡名称设置为eth*,不使用CentOS 7默认的网卡命名规则。所以需要在安装的时候,增加内核参数。

1.5.1、改网卡名方式第一种

①光标选择“Install CentOS 7”

②点击Tab,打开kernel启动选项后,增加net.ifnames=0 biosdevname=0。


1.5.2、改网卡名方式第二种

1.5.2.1、增加如下红色的字段

[root@localhost]# vi /etc/sysconfig/grub 增加如下红色的字段

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rd.lvm.lv=centos/usr rhgb quiet net.ifnames=0 biosdevname=0"

GRUB_DISABLE_RECOVERY="true"


1.5.2.2、修改完毕后,执行如下的命令:

grub2-mkconfig -o /boot/grub2/grub.cfg

注:如果是UEFI方式安装操作系统,执行上述命令会报错,找不到文件,则执行如下命令:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

1.5.2.3、修改udev网卡文件70-persistent-net.rules文件,或直接将该文件改名或删除,(本人在操作时直接删除,未发现有影响)

[root@localhost ]# vi /etc/udev/rules.d/70-persistent-net.rules 。

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:32:0b:ac:58", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:32:0b:ac:59", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:32:0b:ac:5a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:32:0b:ac:5b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

注:MAC地址可以通过ifconfig |grep ether这个命令,进行查找。

1.5.2.4、重新修改各对应的网卡配置文件eth名称/etc/sysconfig/network-scripts/ifcfg-*

mv ifcfg-enp4sp0 ifcfg-eth0


1.5.2.5、修改/etc/sysconfig/network-scripts/下配置对应的网卡配置文件内容,将DEVICE和NAME参数修改为eth*即可。

cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

NAME=eth0

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.56.11

NETMASK=255.255.255.0

GATEWAY=192.168.56.2

DNS1=192.168.56.2


cat /etc/resolv.conf

nameserver 192.168.56.2


1.5.2.6、重启网络

systemctl restart network

systemctl status network

1.5.3、设置主机名解析

1.5.3.1、修改/etc/hosts文件

[root@controller ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.11 controller

192.168.56.21 compute1

192.168.56.31 neutron1

192.168.56.41 glance1

192.168.56.42 block1


1.5.3.2、机器之间配置免密钥登陆

ssh-keygen -t rsa

注:执行上面的命令后会在/root/.ssh/下生成id_rsa id_rsa.pub两个文件。


cd /root/.ssh/


ssh-copy-id -i id_rsa.pub root@$IP

注:需要将$IP修改为对端机器的IP地址。执行上面的命令后会在对端机器的/root/.ssh/下生成一个authorized_keys文件。

1.5.3.3、将修改好的hosts文件分发到所有机器上

scp /etc/hosts root@$IP://etc/

注:需要将$IP修改为对端机器的IP地址。

1.5.4、下载TAB功能

查看安装包:

yum list|grep bash

下载安装:

yum install -y bash-completion.noarch bash-completion-extras.noarch


1.5.5、安装常用命令

yum install -y net-tools vim lrzsz tree screen lsof tcpdump


1.5.6、关闭NetworkManager、防火墙和启动ntp服务自动更新时间

1.5.6.1、关闭防火墙

systemctl disable firewalld

systemctl stop firewalld


1.5.6.2、关闭NetworkManager

systemctl disable NetworkManager

systemctl stop NetworkManager

1.5.6.3、配置安装chrony自动更新时间

yum install -y chrony


controller:

配置/etc/chrony.coonf

vi /etc/chrony

……

7 server ntp1.aliyun.com iburst

……

28 allow 192.168.56.0/24

只保留server ntp1.aliyun.com iburst其他注释掉或者删除。

allow 192.168.56.0/24或者配置allow all

systemctl enable chronyd.service

systemctl start chronyd.service


其他节点:

配置/etc/chrony.coonf

vi /etc/chrony

……

7 server controller iburst

……

28 allow 192.168.56.0/24


scp /etc/chrony.conf root@$IP://etc/

注:需要将$IP修改为对端机器的IP地址。执行上面的命令将配置文件分发到每个节点的/etc/下。


验证:

chronyc sources -v

1.5.7、关闭SELinux

1.5.7.1、修改selinux配置文件

vim /etc/sysconfig/selinux

SELINUX=disabled #修改为disabled

或者用

sed -i 's#SELINUX=enforcing#SELINUX=disable#g' /etc/selinux/config


1.5.7.2、检查结果如下

getsebool

getsebool: SELinux is disabled


上传镜像:

dd if=/dev/cdrom of=/tmp/CentOS-7.2-x86_64-DVD-1511.iso

或者直接下载:

http://mirrors.aliyun.com


1.5.8、更新系统并重启

yum update -y && reboot


1.6、所有节点上安装openstack存储库

查看可下载openstack版本

yum list|grep openstack


yum install centos-release-openstack-train -y

安装基本依赖包

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel cmake bzip2



升级所有节点上的包

yum upgrade -y

安装 OpenStack 客户端

yum install python-openstackclient -y

安装openstack-selinux

yum install openstack-selinux -y

安装openstack-utils (openstack-config命令)

yum install -y openstack-utils