1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > linux+kvm虚拟化+搭建openstack云平台 私有云搭建

linux+kvm虚拟化+搭建openstack云平台 私有云搭建

时间:2024-04-22 12:57:31

相关推荐

linux+kvm虚拟化+搭建openstack云平台 私有云搭建

创建虚拟网络:

vim /etc/libvirt/qemu/networks/openstack.xml #创建一个名为openstack的虚拟网络

<network><name>openstack</name>#openstack为虚拟交换机的名字<bridge name="openstack"/><forward mode="nat"/>#桥接nat方式可以连通外网<ip address="192.168.100.254" netmask="255.255.255.0"> #ip为192.168.100.254,相当于虚拟机网关<dhcp><range start="192.168.100.100" end="192.168.100.200"/>#DHCP自动分配ip范围是100-200</dhcp></ip></network>

virsh net-define /etc/libvirt/qemu/networks/openstack.xml  #定义openstack虚拟网络,用绝对路径定义

virsh net-start openstack  #启动openstack虚拟网络

ifconfig     #ifconfig验证

qemu-img命令

qemu-img 是虚拟机的磁盘管理命令,支持非常多 的磁盘格式,例如raw、qcow2、vdi、vmdk等等

qemu-img 命令格式 :

qemu-img 命令 参数 块文件名称 大小

常用的命令有 :

create 创建一个磁盘

convert 转换磁盘格式

info 查看磁盘信息

resize 扩容磁盘空间

创建新的镜像盘文件

qemu-img create -f 格式 磁盘路径 大小

qemu-img create -f qcow2 disk.img 50G

查询镜像盘文件的信息

qemu-img info 磁盘路径

qemu-img info disk.img

-b 使用后端模板文件

qemu-img create -b disk.img -f qcow2 disk1.img

服务器配置

准备服务主机 3 台,配置如下:

openstack 管理主机

– 2CPU,6G 内存,50G 硬盘

– 配置静态IP:192.168.100.10node01,node02 计算节点 * 2

– 2CPU,4.5G 内存,100G 硬盘

– 配置静态IP:192.168.100.11(12)配置主机名 /etc/hosts能够相互 ping 通配置 dns 服务器 /etc/resolv.conf配置NTP服务时间同步

创建openstack 管理主机:

cp /var/lib/libvirt/images/.node_base.xml /etc/libvirt/qemu/openstack.xml#拷贝配置文件

cd /var/lib/libvirt/images/   #切换到指定目录

qemu-img create -f qcow2 -b .node_base_qcow2 openstack,img 50G#创建虚拟磁盘文件

vim /etc/libvirt/qemu/openstack.xml #修改虚拟机配置文件

9 <name>openstack</name>#虚拟机域名11 <memory unit='KiB'>7488282</memory>#虚拟机最大使用内存,可以手动调整12 <currentMemory unit='KiB'>7488282</currentMemory>#创建虚拟机使用内存13 <vcpu placement='static'>2</vcpu>#cup核数33 <source file='/var/lib/libvirt/images/openstack.img'/>#虚拟机硬盘文件46 <source bridge='openstack'/> #定义桥接网络源设备,

[root@GGD images]# virsh define /etc/libvirt/qemu/openstack.xml#定义指定文件创建虚拟机

[root@GGD images]# virsh startopenstack#启动虚拟机

[root@GGD images]# virsh console openstack#连接虚拟机

创建node01节点主机:

cp /var/lib/libvirt/images/.node_base.xml /etc/libvirt/qemu/node01.xml#拷贝配置文件

cd /var/lib/libvirt/images/ #切换到指定目录

qemu-img create -f qcow2 -b .node_base_qcow2 node01,img 100G#创建虚拟磁盘文件

vim /etc/libvirt/qemu/node01.xml #修改虚拟机配置文件

9 <name>openstack</name>#虚拟机域名11 <memory unit='KiB'>5488282</memory>#虚拟机最大使用内存,可以手动调整12 <currentMemory unit='KiB'>5488282</currentMemory>#创建虚拟机使用内存13 <vcpu placement='static'>2</vcpu>#cup核数33 <source file='/var/lib/libvirt/images/node01.img'/>#虚拟机硬盘文件46 <source bridge='openstack'/> #定义桥接网络源设备,

[root@GGD images]# virsh define /etc/libvirt/qemu/node01.xml#定义指定文件创建虚拟机

[root@GGD images]# virsh startnode01#启动虚拟机

[root@GGD images]# virsh console node01#连接虚拟机

创建node02 节点主机:

cp /var/lib/libvirt/images/.node_base.xml /etc/libvirt/qemu/node02.xml#拷贝配置文件

cd /var/lib/libvirt/images/ #切换到指定目录

qemu-img create -f qcow2 -b .node_base_qcow2 openstack,img 100G#创建虚拟磁盘文件

vim /etc/libvirt/qemu/node02.xml #修改虚拟机配置文件

9 <name>openstack</name>#虚拟机域名11 <memory unit='KiB'>5488282</memory>#虚拟机最大使用内存,可以手动调整12 <currentMemory unit='KiB'>5488282</currentMemory>#创建虚拟机使用内存13 <vcpu placement='static'>2</vcpu>#cup核数33 <source file='/var/lib/libvirt/images/node02.img'/>#虚拟机硬盘文件46 <source bridge='openstack'/> #定义桥接网络源设备,

[root@GGD images]# virsh define /etc/libvirt/qemu/node02.xml#定义指定文件创建虚拟机

[root@GGD images]# virsh startnode02#启动虚拟机

[root@GGD images]# virsh console node02#连接虚拟机

配置DNS

系统环境准备

openstack 安装时候需要使用外部 dns 来解析域名

vim /etc/resolv.conf

nameserver 114.114.114.114    #设置真机DNS地址

注:去掉search开头的所有行

虚拟机DNS设置(三台一样配置):

vim /etc/resolv.conf

nameserver 192.168.100.254

注:去掉search开头的所有行

将域名对应的 IP 解析到我们安装的openstack 服务器

vim /etc/hosts

192.168.100.10 openstack

192.168.100.11 node01

192.168.100.12 node02

• 注:DNS 服务器不能与 openstack 安装在同一台主机上

NTP时间服务

node 服务器之间的时间必须保持一致(三台配置NTP)

• 编辑配置文件 vim /etc/chrony.conf

server 192.168.100.254 iburst

systemctl restart chronyd #重启服务

• 测试服务

[student@openstack ~]# chronyc sources -v   #出现*号代表NTP时间可用

^* gateway    2  6  17  62  -753us[-7003us] +/- 24ms

配置yum仓库

[root@GGD ~]# vim /etc/fstab #真机上挂载文件

/var/lib/libvirt/images/iso/CentOS7-1804.iso /var/ftp/centos-1804 iso9660 defaults 0 0/linux-soft/04/openstack/RHEL7OSP-10.iso /var/ftp/openstack/ iso9660defaults 0 0/linux-soft/04/openstack/RHEL7-extras.iso /var/ftp/extras/ iso9660 defaults 0 0/var/lib/libvirt/images/iso/CentOS7-1804.iso /var/ftp/node/ iso9660 defaults 0 0

创建挂载目录

mkdir /var/ftp/openstack/

mkdir /var/ftp/extras/

mkdir /var/ftp/node/

配置 yum 源,软件仓库一共 4 个,软件包共有10,670

[root@openstack ~]# vim /etc/yum.repos.d/openstack.repo

[openstack1]

name=openstack

baseurl=ftp://192.168.100.254/openstack/rhel-7-server-openstack-10-rpms

enabled=1

gpgcheck=0

[openstack2]

name=openstack

baseurl=ftp://192.168.100.254/openstack/rhel-7-server-openstack-10-devtools-rpms

enabled=1

gpgcheck=0

[extras]

name=extras

baseurl=ftp://192.168.100.254/extras

enabled=1

gpgcheck=0

部署Openstack

安装openstack期间,有些软件包所依赖的软件包,并没有在安装过程中安装,这些软件包需提前安装

yum install -y qemu-kvm  libvirt-client  libvirt-daemon  libvirt-daemon-driver-qemu  python-setuptools

openstack 计算节点添加依赖包(node01,node02节点添加)

yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools#node01,node02添加依赖包

配置packstack应答文件(只需在管理节点上安装)

安装 openstack 需要使用 packstack

首先安装 openstack-packstack

[root@openstack ~]# yum install -y openstack-packstack

使用 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.100.254   #NTP服务器地址

98: CONFIG_COMPUTE_HOSTS=192.168.100.11,192.168.100.12  #安装起虚拟机程序

102: CONFIG_NETWORK_HOSTS=192.168.100.10,192.168.100.11,192.168.100.12  #配置nova网络以逗号隔开,把需要的IP添加到这里

333: CONFIG_KEYSTONE_ADMIN_PW=admin  #管理员密码

840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan   #设置支持flat扁平网络,默认支持vxlan网络,设置flat扁平网络可以跟外部同信

910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  #定义一个虚拟交换机名字,固定叫br-ex需要绑定网卡

921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0  #把eth0绑定到交换机外网口,设定外网通讯端口

1179: CONFIG_PROVISION_DEMO=n  #取消例子安装

• 如果前期环境准备无误,只要耐心等待安装结束即可

• 根据主机配置不同,安装过程需要20分钟左右或更久

• 如果出现错误,根据屏幕上给出的日志文件进行排错

执行应答文件

[root@openstack ~]# packstack --answer-file=answer.ini

查看外部OVS网桥

br-ex为外部OVS网桥

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex

ONBOOT=“yes”

NM_CONTROLLED=“no”

IPADDR=“192.168.100.10”

NETMASK=“255.255.255.0”

GATEWAY=“192.168.100.254”

DEVICE=br-ex

NAME=br-ex

DEVICETYPE=ovs

OVSBOOTPROTO=“static”

TYPE=OVSBridge

eth0为外部OVS网桥的端口

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

NAME=eth0

DEVICETYPE=ovs

TYPE=OVSPort

OVS_BRIDGE=br-ex

ONBOOT=yes

BOOTPROTO=none

Horizon配置

Horizon是一个用以管理、控制OpenStack服务的Web控制面板,也称之为Dashboard仪表盘

• 可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例

• 基于python的django web框架进行开发

功能与特点

• 实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等

• 访问与安全管理:创建安全群组,管理密钥对,设置浮动IP等

• 偏好设定:对虚拟硬件模板可以进行不同偏好设定

• 镜像管理:编辑或删除镜像

• 用户管理:创建用户等

• 卷管理:创建卷和快照

• 对象存储处理:创建、删除容器和对象

Horizon BUG 处理

• 安装虽然没有报错,但默认无法打开 Horizon,这是一个软件的配置 BUG

/etc/httpd/conf.d/15-horizon_vhost.conf

WSGIApplicationGroup %{GLOBAL}

ServerAlias localhost

WSGIDaemonProcess apache group=apache processes=3

threads=10 user=apache

WSGIProcessGroup apache

WSGIApplicationGroup %{GLOBAL}  <— 这里添加

修改配置文件后重启apache服务:systemctl restart httpd重新载入配置文件 apachectl graceful

初始化环境变量

[root@openstack ~]# source ~/keystonerc_admin

[root@openstack ~(keystone_admin)]# env | grep OS

HOSTNAME=openstack

OS_REGION_NAME=RegionOne

OS_PASSWORD=admin #登入密码

OS_AUTH_URL=http://192.168.100.10:5000/v2.0

OS_USERNAME=admin#登入用户名

OS_TENANT_NAME=admin

• 使用帮助

[root@openstack ~(keystone_admin)]# openstack help

到这里openstack云平台就可以用web登入了

用户名:admin

密码:初始登入密码在keystonerc_admin 文件里

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。