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
或者直接下载:
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