Openstack的cpu和内存超算比例配置

Openstack的cpu和内存超算比例配置,第1张

文章:如何设置OpenStack节点Swap分区

内存和磁盘超配虽然能提供更多数量的虚拟机,当该宿主机上大量虚拟机的负载都很高时,轻着影响虚拟机性能,重则引起 qemu-kvm 相关进程被杀,即虚拟机被关机。因此对于线上稳定性要求高的业务,建议不要超配 RAM 和 DISK,但可适当超配 CPU。建议这几个参数设置为:

在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产环境上不建议开启内存超售(建议配置比例1:1)。另外,建议设置nova.conf文件中的reserved_host_memory_mb 参数,即内存预留量(建议至少预留4GB),保证该部分内存不能被虚拟机使用。

vim /etc/nova/nova.conf

默认OpenStack的CPU超配比例是1:16,内存超配比例是1:1.5。下面配置的就是这个比例,你可以自己算一下,cat /proc/cpuinfo里面的逻辑核数,再x16就是你能够分配给虚拟机的。内存也是类似。

物理cpu数

单块cpu核数

总核数 = 物理CPU个数 × 每颗物理CPU的核数

配置文件nova.conf中修改了如下参数

想要让超算生效还需要修改一个配置 core filter 核心过滤器

nova.conf配置文件添加超算配置以后,还需要在schler调度原则上加一条规则:corefilter ,然后重启nova-schelder服务生效。

CPU超售的详细说明与使用方法

这个值其实是给nova-scheduler看的,scheduler来决定,你有没有资源创建虚拟机,以及创建在哪个节点上。

https://blog.csdn.net/zongyimin/article/details/77839537

最开始接触Openstack,这块是比较头疼的,不同的文档,设置都会有所差异,并且都能工作,到底哪个是正确的呢?恐怕很难有定论,这里总结一下,那天发到邮件列表里请教.

下面这几个设置,最终的结果,就是有一块网卡变成bridge,我理解bridge,就是一个交换机, 虚拟机在上面可以进行互相的通讯.

下面假设 fix IP 采用192.168.100.0/24

一:单网卡

经常有朋友问,如果是单网卡,如何设置(https://blog.hpcloud.com/road-essex-part-4-openstack%E2%84%A2-nova-and-horizon)

在nova.conf 文件里

public_interface=eth0

flat_interface=eth0

flat_network_bridge=br100

由于是单块网卡,这里就比较特别。

/etc/network/interface

auto br100

iface br100 inet static

address 192.168.100.1

netmask 255.255.255.0

bridge_stp off

bridge_fd 0

二:双网卡

双网卡,理解起来比较容易。

在nova.conf 文件里

public_interface=eth0

flat_interface=eth1

flat_network_bridge=br100

这里设置的含义就是eth1是一个bridge。

eth0的设置,就和普通网卡设置一样,可以设置静态IP,也是可以dhcp获得。eth1的设置,我至少看到过3种设置

1:把网卡设置成混杂模式

这个很多文档都是这样设置,包括大名鼎鼎的培训机构http://www.mirantis.com/blog/openstack-networking-single-host-flatdhcpmanager/

也是这样推荐。另外Puppet的安装openstack文档,也是这样推荐设置

iface eth1 inet manual

up ifconfig $IFACE 0.0.0.0 up

up ifconfig $IFACE promisc

2:不设置任何IP

这是我一直使用的设置,这个是https://github.com/managedit/openstack-setup

这位朋友,应该也是参与Openstack的开发者,以前维护Diablo 的deb包的更新

auto eth1

iface eth1 inet manual

up ifconfig eth1 up

3:设置IP

采用fix IP的网段,例如fix IP是:192.168.100.0/24, 前面10个IP地址,留给服务器使用。那么我们就可以给eth1设置IP。

http://www.hastexo.com/resources/docs/installing-openstack-essex-4-ubuntu-1204-precise-pangolin/step-1-prepare-your-system

在nova.conf 有一个参数

flat_network_dhcp_start=192.168.100.11

前面保留的IP,就可以用来设置eth1的IP, 启动nova-network后,这个IP,就会变成所有虚拟机的网关. 如果你是采用mutilhost的设计.

ref:http://www.chenshake.com/openstack-settings-on-the-network-card/

案例1:配置yum仓库

案例2:测试时间服务器

案例3:配置yum仓库

案例4:检查基础环境

案例5:部署Openstack

案例6:网络管理

案例7:登录openstack

1 案例1:配置yum仓库

1.1 问题

本案例要求配置基本环境:

配置三台虚拟机

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

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

配置静态IP ifcfg-eth0

openstack : 192.168.1.10

nova: 192.168.1.11, 192.168.1.12

配置主机名 /etc/hosts,能够相互 ping 通

配置 dns 服务器 /etc/resolv.conf

1.2 方案

此实验的整体方案需要三台机器,openstack作为主节点,nova01 和 nova02作为额外节点,真机做为DNS转发和NTP的服务器(这里不再在表-1中体现),提供域名解析和时间同步服务,具体情况如表-1所示:

表-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:准备三台虚拟机

[student@room9pc01 images]$base-vm openstack nova01 nova02

[student@room9pc01 images]$virsh start openstack

[student@room9pc01 images]$virsh start nova01

[student@room9pc01 images]$virsh start nova02

2)opensatck主机扩容为50G

[student@room9pc01 images]$ virsh blockresize--path /var/lib/libvirt/images/openstack.img--size 100G openstack

[student@room9pc01 images]$ virsh console openstack

[root@localhost~]#/usr/bin/growpart /dev/vda1

[root@localhost~]#/usr/sbin/xfs_growfs /

[root@localhost~]# df-h

Filesystem      Size  Used Avail Use%Mounted on

/dev/vda1        50G  914M  50G2%/

3)nova01 和 nova02 主机扩容为100G(以nova01为例)

[student@room9pc01 images]$ virsh blockresize--path /var/lib/libvirt/images/nova01.img--size 50G nova01

重新定义'/var/lib/libvirt/images/nova01.img'块设备大小

[root@localhost~]#/usr/bin/growpart /dev/vda1

[root@localhost~]#/usr/sbin/xfs_growfs  /

[root@localhost~]# df-h

Filesystem      Size  Used Avail Use%Mounted on

/dev/vda1      100G  917M  100G1%/

4)三台主机配置静态ip(以一台为例)

openstack:192.168.1.10

nova01: 192.168.1.11

nova02: 192.168.1.12

[root@localhost~]#cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vim ifcfg-eth0

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

PERSISTENT_DHCLIENT="yes"

IPADDR=192.168.1.10

NEMASK=255.255.255.0

GATEWAY=192.168.1.254

5)三台主机修改主机名,配置/etc/hosts,和/etc/resolv.conf文件(以一台为例)

[root@localhost~]# hostname openstack

[root@localhost~]# echo openstack>/etc/hostname

[root@localhost~]#vim /etc/hosts

192.168.1.10openstack

192.168.1.11nova01

192.168.1.12nova02

[root@localhost~]#vim /etc/resolv.conf//去掉search开头的行

generatedby /usr/sbin/dhclient-script

nameserver192.168.1.254

6)修改三台主机的内存(openstack6G,nova01 和nova02 4G)

[student@room9pc01~]$ virsh edit openstack

...

<memory unit='KiB'>6588282</memory>

<currentMemory unit='KiB'>6588282</currentMemory>

...

[student@room9pc01~]$ virsh edit nova01

...

<memory unit='KiB'>4588282</memory>

<currentMemory unit='KiB'>4588282</currentMemory>

...

[student@room9pc01~]$ virsh start  openstack

域 openstack 已开始

[student@room9pc01~]$ virsh start  nova01

域 nova01 已开始

[student@room9pc01~]$ virsh start  nova02

域 nova02 已开始

2 案例2:测试时间服务器

2.1 问题

本案例要求掌握时间服务的配置:

修改 openstack,nova01,nova02 的时间服务器

重启服务后验证配置

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:修改openstack,nova01 和 nova02 的时间服务器(以一台为例)

[root@openstack~]#vim /etc/chrony.conf

...

server192.168.1.254iburst

[root@openstack~]# systemctl restart chronyd

步骤二:验证

[root@openstack~]# chronyc sources-v

...

||||\

MSName/IP address        Stratum Poll Reach LastRx Last sample

===============================================================================

^*gateway36376-93ns[+903ns]+/-26ms

步骤三:两台虚拟机配置静态ip

注意:两台主机同样 *** 作,改一下ip即可(以openstack.tedu.cn为例)

[root@localhost~]# echo openstack.tedu.cn>/etc/hostname

[root@localhost~]# hostname openstack.tedu.cn

//另外一台主机改名为nova.tedu.cn,配置ip为1.20

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

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

IPV6INIT="no"

IPV4_FAILURE_FATAL="no"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

IPADDR="192.168.1.10"

PREFIX=24

GATEWAY=192.168.1.254

[root@openstack~]# systemctl restart network

3 案例3:配置yum仓库

3.1 问题

本案例要求配置yum仓库:

配置 yum 源,软件仓库一共 4 个

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:三台主机配置yum源(以一台主机为例,共10670个软件包)

[student@room9pc01~]$cd /linux-soft/04/openstack/

[student@room9pc01 openstack]$ ls

cirros.qcow2  RHEL7-extras.iso  RHEL7OSP-10.iso  small.qcow2

[student@room9pc01 openstack]$mkdir /var/ftp/RHEL7-extras

[student@room9pc01 openstack]$mkdir /var/ftp/RHEL7OSP-10

[student@room9pc01 openstack]$ mount RHEL7-extras.iso  /var/ftp/RHEL7-extras/

mount:/dev/loop1 写保护,将以只读方式挂载

[student@room9pc01 openstack]$ mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/

mount:/dev/loop2 写保护,将以只读方式挂载

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

[local_repo]

name=CentOS-$releasever-Base

baseurl="ftp://192.168.1.254/centos-1804"

enabled=1

gpgcheck=1

[RHEL7-extras]

name=RHEL7-extras

baseurl="ftp://192.168.1.254/RHEL7-extras"

enabled=1

gpgcheck=0

[RHEL7OSP-package]

name=RHEL7OSP-package

baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms"

enabled=1

gpgcheck=0

[RHEL7OSP-devtools]

name=RHEL7OSP-devtools

baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms"

enabled=1

gpgcheck=0

[root@openstack~]#scp /etc/yum.repos.d/local.repo192.168.1.11:/etc/yum.repos.d/

root@192.168.1.11's password:

local.repo                                                                                          100%  490  484.4KB/s  00:00   

[root@openstack ~]# scp /etc/yum.repos.d/local.repo 192.168.1.12:/etc/yum.repos.d/

root@192.168.1.12's password:

local.repo

4 案例4:检查基础环境

4.1 问题

本案例要求准备基础环境,为安装openstack做准备:

安装额外的软件包

是否卸载firewalld 和 NetworkManager

检查配置主机网络参数(静态IP)

主机名必须能够相互 ping 通

检查配置主机yum源(4个,10670)

依赖软件包是否安装

检查NTP服务器是否可用

检查 /etc/resolv.conf 不能有 search 开头的行

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:检查基础环境

1)安装额外软件包(三台机器 *** 作,这里以一台为例)

[root@openstack yum.repos.d]# yum install-y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

2)是否卸载firewalld 和 NetworkManager

[root@openstack~]# rpm-qa|grep NetworkManager*

[root@openstack~]# rpm-qa|grep firewalld*

3)检查配置主机网络参数

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

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

PERSISTENT_DHCLIENT="yes"

IPADDR=192.168.1.10

NEMASK=255.255.255.0

GATEWAY=192.168.1.254

4)验证主机名是否互通

[root@openstack~]# ping openstack

...

64bytes fromopenstack(192.168.1.10):icmp_seq=1ttl=255time=0.023ms

64bytes fromopenstack(192.168.1.10):icmp_seq=2ttl=255time=0.027ms

...

[root@openstack~]# ping nova01

PINGnova01(192.168.1.11)56(84)bytes of data.

64bytes fromnova01(192.168.1.11):icmp_seq=1ttl=255time=0.139ms

...

[root@openstack~]# ping nova02

PINGnova02(192.168.1.12)56(84)bytes of data.

64bytes fromnova02(192.168.1.12):icmp_seq=1ttl=255time=0.251ms

...

5)检查配置主机yum源

[root@openstack~]# yum repolist

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

源标识                                                          源名称                                                          状态

RHEL7-extras                                                    RHEL7-extras76

RHEL7OSP-devtools                                              RHEL7OSP-devtools3

RHEL7OSP-package                                                RHEL7OSP-package680

local_repo                                                      CentOS-7-Base9,911

repolist:10,670

6)检查时间同步是否可用

[root@openstack~]# chronyc  sources-v

210Numberof sources=1

....

||||\

MSName/IP address        Stratum Poll Reach LastRx Last sample

===============================================================================

^*gateway3737728+31us[+89us]+/-25ms

[root@openstack~]#

7)检查/etc/resolv.conf 不能有 search 开头的行

[root@openstack~]#cat /etc/resolv.conf

generatedby /usr/sbin/dhclient-script

nameserver192.168.1.254

5 案例5:部署Openstack

5.1 问题

本案例要求通过packstack完成以下配置:

通过packstack部署Openstack

根据相关日志文件进行排错

5.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装packstack

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

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

//answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色

Packstack changed given value  to requiredvalue /root/.ssh/id_rsa.pub

[root@openstack~]# vim answer.ini

42CONFIG_SWIFT_INSTALL=n

45CONFIG_CEILOMETER_INSTALL=n//计费相关模块

49CONFIG_AODH_INSTALL=n//计费相关模块

53CONFIG_GNOCCHI_INSTALL=n//计费相关模块

75CONFIG_NTP_SERVERS=192.168.1.254//时间服务器的地址

98CONFIG_COMPUTE_HOSTS=192.168.1.11

102CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11

333CONFIG_KEYSTONE_ADMIN_PW=a//修改管理员的密码

840CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan//驱动类型

876CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5

//设置组播地址,最后一个随意不能为0和255,其他固定

910CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex//物理网桥的名称

921CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0

//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接

1179CONFIG_PROVISION_DEMO=n//DEMO是否测试

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

Welcome to the Packstack setup utility

The installation log file is available at:/var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log

Installing:

Clean Up[DONE]

Discovering ip protocol version[DONE]

root@192.168.1.11's password:

root@192.168.1.10's password:

Setting up ssh keys

****Installation completed successfully******//出现这个为成功

6 案例6:网络管理

6.1 问题

本案例要求运用OVS完成以下配置:

查看外部OVS网桥及其端口

验证OVS配置

6.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:查看外部OVS网桥

1)查看br-ex网桥配置(br-ex为OVS网桥设备)

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

ONBOOT="yes"

NM_CONTROLLED="no"

IPADDR="192.168.1.10"

PREFIX=24

GATEWAY=192.168.1.254

DEVICE=br-ex

NAME=br-ex

DEVICETYPE=ovs

OVSBOOTPROTO="static"

TYPE=OVSBridge

2)查看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

3)验证OVS配置

[root@openstack~]# ovs-vsctl show

Bridge br-ex

Controller"tcp:127.0.0.1:6633"

is_connected:true

fail_mode:secure

Port br-ex

Interface br-ex

type:internal

Port phy-br-ex

Interface phy-br-ex

type:patch

options:{peer=int-br-ex}

Port"eth0"

Interface"eth0"

ovs_version:"2.5.0"

7 案例7:登录openstack

7.1 问题

本案例要求通过Horizon完成以下 *** 作:

修改/etc/httpd/conf.d/15-horizon_vhost.conf 配置文件,使其可以成功登录openstack

7.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:浏览器访问openstack

1)浏览器访问

[root@openstack~]# firefox192.168.1.10//访问失败

2)需要改配置文件并重新加载

[root@openstack~]#

[root@openstack conf.d]# vi15-horizon_vhost.conf

35WSGIProcessGroup apache

36WSGIApplicationGroup%{GLOBAL}//添加这一行

[root@openstack conf.d]# apachectl  graceful//重新载入配置文件

3)浏览器访问,出现页面,如图-6所示:

图-6

3)查看用户名和密码

[root@openstack conf.d]# cd

[root@openstack~]# ls

answer.ini  keystonerc_admin//keystonerc_admin生成的文件,里面有用户名和密码

[root@openstack~]# cat keystonerc_admin

unset OS_SERVICE_TOKEN

exportOS_USERNAME=admin//用户名

exportOS_PASSWORD=a//密码

exportOS_AUTH_URL=http://192.168.1.10:5000/v2.0

exportPS1='[\u@\h \W(keystone_admin)]\$ '

exportOS_TENANT_NAME=admin

exportOS_REGION_NAME=RegionOne

4)在火狐浏览器中输入用户名和密码,登录后页面如图-7所示:

图-7

安装openstack可能会出现的错误以及排错方法

1)ntp时间不同步,如图-2所示:

图-2

解决办法:查看ntp时间服务器,是否出现*号,若没有,查看配置文件,配置ntp服务器步骤在案例3,可以参考

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

^*120.25.115.20261762-753us[-7003us]+/-24ms

[root@openstack~]# chronyc sources-v

^*192.168.1.25439377504+50us[-20us]+/-24ms

[root@nova~]# chronyc sources-v

^*192.168.1.25439377159-202us[-226us]+/-24ms

2)网桥名称写错,如图-3所示:

图-3

解决办法:检查配置文件

[root@openstack~]# vim answer.ini

...

921CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0

//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接

...

3)若/root/.ssh/id_rsa.pub,提示password,同样是配置文件没有写对,如图-4所示:

图-4

4)yum源没有配置正确,如图-5所示:

图-5

解决办法:检查yum是否为10853个软件包,查看是否是yum源没有配置正确,之后安装oprnstack-dashboard

5)出现Cannot allocate memory,如图-6所示:

图-6

解决办法:

内存不足,重新启动主机

6)出现/usr/bin/systemctl start openvswith ... falied,说明是ssse3指令集的错误,如图-7所示:

图-7

解决办法:编辑openstack的xml文件,在里面添加

<cpu mode='host-passthrough'>

</cpu>

7)若出现 Could not prefetch... ‘openstack’。 如图-8所示:

图-8

配置文件里面有中文符号

9)访问openstack出错

图-9

没有修改Apache配置文件

4)创建名为myproject的项目

[root@openstack~]# source~/keystonerc_admin  //初始化环境变量

[root@openstack~(keystone_admin)]# openstack project create myproject

+-------------+----------------------------------+

|Field|Value|

+-------------+----------------------------------+

|description|None|

|enabled|True|

|id|f73949e2701346328faf5c1272414cd0|

|name|myproject|

+-------------+----------------------------------+

5)查看项目信息

[root@openstack~(keystone_admin)]# openstack project list

+----------------------------------+-----------+

|ID|Name|

+----------------------------------+-----------+

|3fd5bffd734543d39cf742492273a47f|services|

|7f0b43274a9f4e149357fc8393ff2c68|admin|

|f73949e2701346328faf5c1272414cd0|myproject|

+----------------------------------+-----------+

6)更新vcpu配额为30

[root@openstack~(keystone_admin)]# nova quota-update--cores30myproject

7)删除myproject

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11725557.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存