安装VMware虚拟机
1.下载安装VMware-workstation-full-15.0.0和下载CentOS-7-x86_64-DVD-1511.iso
链接: https://pan.baidu.com/s/1c6j6CozkFk-7WQuiKLjb6g 提取码: 53uh
- 创建虚拟机
- 弹出【新建虚拟机向导】对话框
打开VMware Workstation以后,在主界面中选择其顶部菜单栏中的【文件】->【新建虚拟机】选项,弹出【新建虚拟机向导】对话框,如图2-1所示。
图2-1
选中【自定义(高级)】单选按钮,点击【下一步】按钮。
(2)选择虚拟机硬件
在图2-2所示的【硬件兼容性】下拉列表中选择虚拟机的硬件兼容性,在【限制】列表框中可以看到虚拟的硬件规格限制(创建的虚拟机硬件规格不能超过这个限制)。
图2-2
在这里保持硬件兼容性为默认设置【Workstation 17.5.x】,点击【下一步】按钮,进入【安装客户机操作系统】界面。
(3)安装客户机操作系统
在图2-3所示的【安装客户机操作系统】界面中选择如何安装客户机(虚拟机)的操作系统。
图2-3
在【安装来源】选项组中选中【稍后安装操作系统】单选按钮,点击【下一步】按钮,进入【选择客户机操作系统】界面。
- 选择客户机操作系统
在图2-4所示的【选择客户机操作系统】界面中可以选择要创建的虚拟机准备安装的操作系统。
在【客户机操作系统】选项组中选中【Linux】单选按钮,并在【版本】下拉列表中选择版本为【CentOS 7 64位】,单击【下一步】按钮,进入【命名虚拟机】界面。
图2-4
- 命名虚拟机
在图2-5所示的【命名虚拟机】界面中可以对要创建的虚拟机进行命名,并设置虚拟机文件在宿主机磁盘中存放的位置。
在【虚拟机名称】文本框中输入该虚拟机的名称,在【位置】文本框中输入或者通过【浏览】按钮设置该虚拟机文件将要存放的位置。设置好后单击【下一步】按钮,进入【处理器配置】界面。
图2-5
- 处理器配置
在图2-6所示【处理机配置】界面中可以设置虚拟机将占用宿主机的几个处理器并设置处理器内核数量。
图2-6
根据宿主机的配置,在【处理器数量】和【每个处理器的内核数量】下拉列表中选择适当的虚拟机处理器数量以及每个处理器的内核数量(不要超过宿主机的配置),选择好后单击【下一步】按钮,进入【此虚拟机的内存】界面。
- 此虚拟机的内存
在图2-7所示的【此虚拟机的内存】界面中可以将宿主机的物理内存划分出部分空间给虚拟机使用,当虚拟机开机后将占用此部分内存。
通过拖动该界面左侧的数值滑杆设置虚拟机的内存,或者直接在【此虚拟机的内存】文本框中输入虚拟机的内存,建议设置为4GB及以上,设置好后单击【下一步】按钮,进入【网络类型】界面。
图2-7
- 网络类型
在图2-8所示的【网络类型】界面中可以设置虚拟机如何与宿主机进行通信。这里可选用的网络连接对应于3种模式:桥接模式、NAT模式、仅主机模式。其中,仅主机模式只能实现虚拟机与宿主机之间的通信,无法让虚拟机连通互联网。
图2-8
在【网络连接】选项组中选中【使用仅主机模式网络】单选按钮,单击【下一步】按钮,进入【I/O控制器类型】界面。
- 选择I/O控制器类型
在图2-9所示的【选择I/O控制器类型】界面中可以选择虚拟机硬盘控制器的类型。
在【SCSI控制器】选项组中保持默认选中【LSI Logic(推荐)】单选按钮,单击【下一步】按钮,进入【选择磁盘类型】界面中选择虚拟磁盘的类型。
图2-9
- 选择磁盘类型
在图2-10所示的【选择磁盘类型】界面中选择虚拟磁盘的类型。
图2-10
在【虚拟磁盘类型】选项组中保持默认选中【SCSI(推荐)】单选按钮,单击【下一步】按钮,进入【选择磁盘】界面。
- 选择磁盘
在图2-11所示的【选择磁盘】界面中设置虚拟机磁盘的来源。在【磁盘】选项组中选中【创建新虚拟磁盘】单选按钮,单击【下一步】按钮,进入【指定磁盘容量】界面。
图2-11
- 指定磁盘容量
在图2-12所示的【指定磁盘容量】界面中可以指定虚拟机磁盘的最大容量。
图2-12
在【最大磁盘大小】文本框中设置磁盘大小,单位为GB,建议设置100GB以上。选中【将虚拟磁盘存储为单个文件】单选按钮。所有设置完成后单击【下一步】按钮,进入【指定磁盘文件】界面。
(13)指定磁盘文件
在前面的所有设置结束以后,可以开始图2-13所示的设定磁盘文件名的操作。
图2-13
在【磁盘文件】文本框中为要创建的磁盘文件命名,保持文件的扩展名为“.vmdk”。完成以后将在设置的虚拟机目录下创建磁盘文件,该文件保存的是该虚拟机的硬盘数据。设置好以后单击【下一步】按钮,进入【已准备好创建虚拟机】界面。
- 已准备好创建虚拟机
前面的所有操作完成后,进入图2-14所示的【已准备好创建虚拟机】界面,可以查看前面设置的虚拟机的信息。
图2-14
当确定配置信息无误后单击【完成】按钮,虚拟机即可创建成功。
3.给虚拟机设置网络
(1)弹出【虚拟网络编辑器】对话框
选择界面顶部菜单栏中的【编辑】->【虚拟网络编辑器】选项,弹出【虚拟网络编辑器】对话框,如图3-1所示。
图3-1
(2)编辑虚拟网络---NAT模式设置
接下来配置NAT模式网络,使虚拟机能够通过NAT设备和宿主机的物理网络连接而与外网通信。NAT模式的关键是NAT设备,NAT设备可以理解为一个虚拟路由器,该路由器连接虚拟机网络和宿主机的物理网络两个不同的网段。
单击图3-1的【更改设置】按钮,确认运维人员权限后,使各个网络模式处于可编辑状态,在【虚拟网络编辑器】对话框中,选择网络【VMnet8】(类型为NAT模式),如图3-2所示。
图3-2
在图所示【子网IP】文本框中输入“172.17.2.0”,在【子网掩码】文本框中输入“255.255.255.0”,单击【NAT设置】按钮,弹出【NAT设置】对话框,如图3-3所示。
图3-3
在图所示的【网关IP】文本框中输入“172.17.2.2”,这样所有虚拟机将通过该网关经由宿主机的物理网络连接互联网。
4.安装CentOS
在VMware Workstation主界面中选中该虚拟机后单击【编辑虚拟机设置】超链接。
(1)加载系统安装镜像文件
在【虚拟机设置】对话框中,选择【CD/DVD(IDE)】选项,如图4-1所示。
图4-1
在右侧【连接】选项组中选中【使用ISO映像文件】单选按钮,单击【浏览】按钮,选择CentOS的系统安装镜像文件,如图4-1的“CentOS-7-x86_64-DVD-1511.iso”。注意,在【设备状态】选项组中选中【启动时连接】复选框,单击【确定】按钮,即可完成设置。
(2)开启虚拟机并选择安装CentOS
(3)选择语言
在图4-2所示的界面中可以设置操作系统的语言。
保持默认选中的第一行选项,即选用英文系统,单击【Continue】按钮,继续安装操作系统。
图4-2
(4)软硬件环境检查
进入图4-3所示的界面,进行安装前的软硬件环境检查。
在图所示的界面中,需要手动选择安装系统的磁盘。单击存在感叹号的图标,即【INSTALLATION DESTINATION】图标来设置系统安装目的盘。
图4-3
(5)设置磁盘分区
配置好分区后,点击右下角【Begin Installation】,继续进行安装。
(6)设置超级用户密码
安装结束后,单击【Reboot】按钮,重启系统。
(7)登录系统并验证
在等待登录界面中输入用户名“root”,按【Enter】键;输入上一步设置的密码,按【Enter】键。
5.部署过程
修改centos系统的主机名
#hostnamectl set-hostname openstack3
#bash
设置centos系统为静态IP地址
注意修改自己的网卡配置文件
#vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络服务
#systemctl restart network
验证IP地址
#ip addr
安装MobaXterm
官网下载地址:
MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download,选择Free版本进行下载。
使用MobaXterm连接虚拟机
打开下载好的MobaXterm,先点击左上角的Session,弹出弹框后点击SSH,输入主机地址和用户名,连接虚拟机。
连接成功后,输入密码,到达虚拟机的命令行。
添加主机hosts记录
#echo "172.17.2.62 openstack3" >> /etc/hosts
验证修改结果
#more /etc/hosts
设置本机SSH免密码登录
生成ssh密钥
#ssh-keygen
添加密钥信息到~./ssh/know_hosts文件
#ssh-copy-id root@172.17.2.62
关闭防火墙
#systemctl stop firewalld
#systemctl disable firewalld
查看防火墙状态
#systemctl status firewalld,状态显示dead,则已关闭防火墙。
关闭SeLinux
#setenforce 0
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
关闭NetworkManager服务
#systemctl stop NetworkManager
#systemctl disable NetworkManager
查看NetworkManager状态
#systemctl status NetworkManager,状态显示dead,则已关闭防火墙。
修改官方yum源为阿里云yum源
先将yum.repos.d目录下的所有repo文件使用命令rm -rf 删除,之后修改官方yum源为阿里云yum源:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
重建本地yum索引缓存
#yum makecache
出现Metadata Cache Created,即成功。
系统升级
升级
#yum -y update
到最后出现complete,即升级成功,后重启
#reboot
安装常用软件
#yum -y install vim bash-completion yum-utils
安装OpenStack Stein的yum库
#yum -y install centos-release-openstack-stein
修改CentOS-OpenStack-stein.repo配置文件
输入命令 cd /etc/yum.repos.d/,进入yum.repos.d目录,因为对网络需求大,当出现网络波动时会导致报错,最好修改为国内源进行部署
输入cp -a CentOS-OpenStack-stein.repo CentOS-OpenStack-stein.repo.bak,将CentOS-OpenStack-stein.repo进行备份。
输入vim CentOS-OpenStack-stein.repo,进入编辑界面,在[centos-openstack-stein]下,将baseurl前的#号删除,并将网址改为http://mirrors.aliyun.com,然后用#号注释掉mirrorlist。
以下文件也需要修改,修改方法同上。
清除本地yum索引缓存,然后再重建索引缓存
#yum clean all && yum makecache
安装packstack工具
#yum -y install openstack-packstack
安装OpenStack allinone
#packstack --allinone
自动化安装时间很长,静静等待,直到出现如下信息,表示成功安装。
查看Dashboard web页面的登录账号及密码
#cat keystonerc_admin
Dashboard web登录界面
登录方式:http://172.17.2.62
将Openstack主机网卡添加到br-ex网桥上
输入命令ip a查看主机上当前的网络接口。
#ip a
输入命令cd /etc/sysconfig/network-scripts/,进入network-scripts目录
#cd /etc/sysconfig/network-scripts/
#cp ifcfg-ens33 ifcfg-br-ex
使用文本编辑器修改br-ex网桥的配置文件,命令如下。
#vi ifcfg-br-ex
将TYPE的值修改为OVSBridge,将DEVICETYPE的值设为ovs,将NAME和DEVICE的值都改为br-ex。
使用文本编辑器修改ens33网卡的配置文件,命令如下。
#vi ifcfg-ens33
本例将其内容修改如下。
其中关键是将TYPE值修改为OVSPort,并添加最后两行定义。
重启network服务使上述修改生效,然后使用ip命令验证配置的更改,命令如下。
#systemctl restart network
#ip a
创建网络
(1)先通过dashboard去登录管理员的账号,然后去管理员中的网络中,删除自带的路由,删除自带的public外部网络,创建外部网络,创建网络的时候供应商网络选择flat,项目选择admin,物理网络填入extnet,原因在生成的文件中找到CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex这句,而物理网络不能重复并且要看一下文件中的配置,这里是extnet,然后勾选外部网络。
- 创建子网时,网络地址格式如图,网关可以通过ip a去查看自己虚拟机的网关,在子网详情中,分配地址池填入想要的范围,推荐留下前后10位,DNS填114.114.114.114。
(3)然后去新建路由,外部网络选择刚刚新建的网络就可以了,这样通过这个路由的接口网络都可以ping通外网。
磁盘空间重新分配
- df -lh 查看磁盘占用情况
- 对/home 中的内容进行备份:tar -czvf /root/home.tgz -C /home .
- 检测备份:tar -tvf /root/home.tgz
- 去除home的挂载:umount /dev/mapper/centos-home,可能会出现target is busy,可以使用umount -l /dev/mapper/centos-home,l表示lazy,或使用fuser -m /home
- 移除home逻辑卷:lvremove /dev/mapper/centos-home
- 重新为home创建一个新的400G的逻辑卷,格式化并挂载:lvcreate -L 400GB -n home centos
- 创建home的文件格式为xfs;mkfs.xfs /dev/centos/home
- 将home挂载;mount /dev/mapper/centos-home
- 将所有剩余空间分配给/root,同时调整文件系统的大小(-r):lvextend -r -l +100%FREE /dev/mapper/centos-root
- 恢复备份:tar -xzvf /root/home.tgz -C /home
- 验证:使用df -lh命令验证磁盘空间是否更改。
增加一个计算节点(172.17.2.61)
- 连接另一台服务器,按照上述方法安装部署,并更改主机名为“compute
- 输入命令vi /etc/hosts ,将第二个节点的主机名追加到/etc/hosts配置文件中,并将第一个节点的主机名的解析添加进去。
- 将第二个节点的主机名的解析也添加到第一个节点的/etc/hosts配置文件中。
(4)设置时间同步,输入命令:timedatectl set-timezone "Asia/Shanghai",两个节点都要配置,以保证两个节点主机的时间同步。
- 编辑应答文件。在第一个节点查看应答文件,并编辑修改应答文件。
修改内容如下:
修改计算节点IP设置:CONFIG_COMPUTE_HOSTS=172.17.2.62,172.17.2.61
修改浮动IP子网网络地址:
CONFIG_PROVISION_DEMO_FLOATRANGE=172.17.2.0/24
修改用户密码(可不改):CONFIG_KEYSTONE_ADMIN_PW=000000
CONFIG_KEYSTONE_DEMO_PW=000000
(6)在第一个节点使用修改过的应答文件运行Packstack安装器安装Openstack多节点系统。
输入命令 packstack --answer-file=packstack-answers-20240802-062549.txt ,安装Openstack多节点系统。
(7)验证双节点部署。
虚拟机管理器列表如下图所示,
计算主机列表如下图所示,
计算服务列表如下图所示,
网络代理列表如下图所示,
创建实例
- 创建网络
到项目中,打开网络导航栏,新建网络,这里创建出来的网络是geneve类型的网络,其他步骤和上面管理员创建网络的一样。
- 创建路由
点击刚刚管理员创建的public路由,然后在接口中点击添加接口,把刚刚创建的网络添加进去。
- 添加安全组规则
这时候应该只有一个default安全组,点击管理规则,然后添加规则,分别创建all TCP和all ICMP规则,然后默认创建,如图:
- 添加镜像
去下载所需要的镜像,这里用的是cirros-0.6.2-x86_64-disk.img,镜像格式选择QCOW2-QEMU 模拟器,用iso格式会卡在安装步骤中,无限重复安装步骤,选择如图所示:
- 创建实例类型
在管理员的账号中可以创建实例类型,相当于一个硬件模板,在创建实例的时候要选择合适的模板,而在安装中,他已经自动创建了几个默认的模板,我们在创建的时候选择就可以了,如下图:
- 创建实例
在源中,选择刚刚上传的镜像,实例类型选择合适的,不能太小,网络选择刚刚自己创建的geneve类型的网络,其他保持默认就可以了,也可以选择去创建密钥对并选择上(这个可以不用),之后点击创建实例后,等待创建完成即可,
创建成功后进入控制台,登录后可以ping通外网如下图:
- 为实例添加浮动IP
为实例分配浮动ip时,要先用public网络创建浮动ip,然后将ip分配给实例,分配浮动ip后,就可以用该ip了,可以在MobaXterm通过ssh密钥连接或者密码连接了。
创建卷并连接到实例
- 创建卷
去卷的导航中,选择创建卷,卷来源选择没有源,空白卷,空间填入想填的大小,如图:
- 连接实例
到刚刚创建的实例中,选择连接卷,这个卷在安装系统的时候被扫描到,可以作为系统盘,下图为选择的卷:
- 创建快照并通过快照创建实例
先暂停实例,然后在实例选择中点击创建快照,创建的快照会出现在镜像中,在创建实例的时候选择源的时候,选择实例快照后选择刚刚创建的快照就可以回到创建快照的状态了。
创建用户并分配角色
- 创建项目
创建项目,成员和组可以不用选,创建完后去下拉框中修改配额去修改为自己想要的配额,如图:
- 创建角色
创建角色是为了分配权限,在创建用户的时候选择相应的角色就可以获得相应的权限,也可以通过admin去分配或收回权限,可以在项目中项目成员里为各个成员分配权限,一个成员可以拥有多个角色,如下图:
- 创建用户
创建用户,选择刚刚创建的项目,该项目中的成员可以互相查看并修改各自创建的实例,卷,镜像等等,创建用户如图: