Linux:CentOS 7
此实验的整体方案需要三台机器,openstack 作为control,nova 作为计算节点,DNSNTP 做为 DNS 和 NTP 的服务器,提供域名解析和时间同步服务,具体情况如表-1 所示:
主机名 | 内存大小 | IP |
---|---|---|
openstack.test.cn | 8G | 192.168.1.10 |
nova.test.cn | 6G | 192.168.1.20 |
DNSNTP | 2G | 192.168.1.30 |
1、准备三张光盘,CentOS7-1708 光盘内容作为仓库源,配置 RHEL7-extars 内容加入仓库源 ,RHEL7OSP-10 光盘中包含多个目录,每个目录都是仓库源(可以使用脚本生成)
[root@zrj ~]# mkdir /var/ftp/system [root@zrj ~]# mkdir /var/ftp/extras
[root@zrj ~]# mkdir /var/ftp/HEL7OSP
[root@zrj ~]# mount CentOS7-1708.iso /var/ftp/system
[root@zrj ~]# mount RHEL7-extras.iso /var/ftp/extras
[root@zrj ~]# mount RHEL7OSP-10.iso /var/ftp/HEL7OSP
[root@zrj ~]# vim /etc/yum.repos.d/local.repo [local_repo]
[base]
name=CentOS-$releasever - Base
baseurl="file:///iso/base"
enabled=1
gpgcheck=1
[local_extras]
name=extras
baseurl="file:///iso/extras"
enabled=1
gpgcheck=0
[1local_devtools-rpms]
name=devtools-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[2local_optools-rpms]
name=optools-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-openstack-10-optools-rpms"
enabled=1
gpgcheck=0
[3local_rpms]
name=rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
[4local_tools-rpms]
name=tools-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-openstack-10-tools-rpms"
enabled=1
gpgcheck=0
[5local_mon-rpms]
name=mon-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhceph-2-mon-rpms"
enabled=1
gpgcheck=0
[6local_osd-rpms]
name=osd-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhceph-2-osd-rpms"
enabled=1
gpgcheck=0
[7local_rhceph-2-tools-rpms]
name=rhceph-2-tools-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhceph-2-tools-rpms"
enabled=1
gpgcheck=0
[8local_agent-rpms]
name=agent-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhscon-2-agent-rpms"
enabled=1
gpgcheck=0
[9local_installer-rpms]
name=installer-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhscon-2-installer-rpms"
enabled=1
gpgcheck=0
[10local_rhscon-2-main-rpms]
name=rhscon-2-main-rpms
baseurl="file:///iso/RHEL7OSP/rhel-7-server-rhscon-2-main-rpms"
enabled=1
gpgcheck=0
1、阿里云:https://mirrors.aliyun.com/centos/7/cloud/x86_64/选择需要的版本
[root@localhost ~]# yum install -y net-tools wget
[root@localhost ~]# curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# url -o /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# cat > /etc/yum.repos.d/openstack-train.repo << EOF
[pike]
name=openstack train
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-train/
failovermethod=priority
enabled=1
gpgcheck=0
EOF
1、配置dns
1)、主机名方案
主机名 | IP |
---|---|
openstack.test.inner | 192.168.1.10 |
nova.test.inner | 192.168.1.20 |
2)、修改为静态ip(两台机器)
[root@localhost ~]# echo openstack.tedu.cn > /etc/hostname
[root@localhost ~]# hostname openstack.tedu.cn //另外两台主机改名为 nova.tedu.cn 和
dnsntp
[root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
# Generated by dracut initrd
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
HWADDR=00:0c:29:42:c3:37
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=66c800b6-211a-4a47-afdb-5fb343fe4b09
DEVICE=eth0
ONBOOT=yes
[root@docker1 ~]# systemctl restart network
[root@zrj ~]# scp /etc/yum.repos.d/local.repo \ 192.168.1.3:/etc/yum.repos.d/ //拷贝给 dnsntp 这台主机
3)、配置 DNS
[root@dnsntp ~]# yum -y install bind bind-chroot
[root@dnsntp ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.3; }; //修改 ip
allow-query { any; }; //允许所有 recursion yes;
forwarders { 172.40.1.10; }; //转发 dns,真机的服务器地址
dnssec-enable no;
dnssec-validation no;
};
[root@dnsntp ~]# vim /var/named/test.inner.zone
...
openstack IN A 192.168.1.10
nova IN A 192.168.1.20
...
[root@dnsntp ~]# systemctl restart named
4)、添加dns服务器
[root@openstack ~]# echo 'nameserver 192.168.1.3' >> /etc/resolv.conf
[root@nova ~]# echo 'nameserver 192.168.1.3' >> /etc/resolv.conf
5)、测试
[root@openstack ~]# ping nova.test.inner
[root@nova ~]# ping openstack.test.inner
2、配置ntp
1)、配置ntp时间同步
[root@dnsntp ~]# yum -y install chrony
[root@dnsntp ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0 //允许所有人使用我的时间服务器
cmdallow 127.0.0.1 //控制指令 [root@dnsntp ~]# systemctl restart chronyd
[root@dnsntp ~]# netstat -antup | grep chronyd
udp 0 0 0.0.0.0:123 0.0.0.0:* 23036/chronyd
udp 0 0 0.0.0.0:123 0 127.0.0.1:323 23036/chronyd
[root@dnsntp ~]# chronyc sources -v //出现*号代表 NTP 时间可用
^* 120.25.115.20 2 6 17 62 -753us[-7003us] +/- 24ms
1、ip配置
1)、ip方案
主机名 | eth0 |
---|---|
openstack.test.inner | 192.168.1.10 |
nova.test.inner | 192.168.1.20 |
2、创建硬盘存储
1)、添加额外存储硬盘(openstack 主机上面操作)
[root@openstack ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
2)、创建卷组
[root@openstack ~]# yum install lvm2
[root@openstack ~]# pvcreate /dev/sdb
[root@openstack ~]# vgcreate cinder-volumes /dev/sdb
[root@openstack ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
cinder-volumes 1 0 0 wz--n- <50.00g <50.00g
3、安装相关依赖包
[root@openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
[root@nova ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools
1、安装packstack
[root@openstack ~]# yum install -y openstack-packstack
[root@openstack ~]# packstack --gen-answer-file answer.ini #生成应答文件
[root@openstack ~]# vim answer.ini #修改应答文件
42 CONFIG_SWIFT_INSTALL=n
45 CONFIG_CEILOMETER_INSTALL=N
49 CONFIG_AODH_INSTALL=N
53 CONFIG_GNOCCHI_INSTALL=N
75 CONFIG_NTP_SERVERS=192.168.1.30 #时间服务器的地址
95 CONFIG_CONTROLLER_HOST=192.168.1.10 #dashborad地址
98 CONFIG_COMPUTE_HOSTS=192.168.1.20 # nova节点地址
102 CONFIG_NETWORK_HOSTS=192.168.1.10 192.168.1.20 #网络节点
333 CONFIG_KEYSTONE_ADMIN_PW='a'
554 CONFIG_CINDER_VOLUMES_CREATE=n #创建卷,已经手动创建过了
840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan #网络驱动类型
876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5 #设置组播地址,最后一个随意,不能为 0 和255,其他固定
910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex #物理网桥的名称
921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 #br-ex 桥的名称由 eth0 连接
1179 CONFIG_PROVISION_DEMO=n #DEMO 是否测试
[root@openstack ~]# packstack --answer-file=answer.ini
**** Installation completed successfully ****** #出现这个为成功
2、登陆验证
[root@centos7 ~]# cat keystonerc_admin #当前目录会生成keystonerc_admin里面包含账号密码
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin #管理员账号
export OS_PASSWORD='a'#管理员密码
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.1.10:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
[root@client ~]# firefox http://192.168.1.10/dashboard