管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符合Ceph高速SSD集群搭建的服务器,并且又要追求最高的硬盘IO速度,这个布署过程,我们没有使用到swift或者cinder或者ceph这样的块存储或分布式存储,使用是均是本地存储的glance服务,这样便意味着,这个方案无法实现虚拟机实例的热迁移等操作,因为官方说过,需要在compute节点上使用…
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有用的,但要关掉和牺牲一个L3 population的特性--抑制ARP报文广播.原因在下文的配置文件有说明,并因我们布的是私有云,不像公有云的多租户private网络数量之大,这个特性牺牲在中小私有云是可接受的.   一.首先登录controller1创建neutron数据库,并赋于远程和本地访问的…
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有用的,但要关掉和牺牲一个L3 population的特性--抑制ARP报文广播.原因在下文的配置文件有说明,并因我们布的是私有云,不像公有云的多租户private网络数量之大,这个特性牺牲在中小私有云是可接受的.   一.首先登录kxcontroller1创建kx_neutron数据库,并赋于远程和…
采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那个正常拷贝保存状态中的不完整主用文件,因此我们会看到在备节点上,它删了又拷的方式,非常损耗机器的硬盘.   所以我们采用Rysnc单向同步, 做这一步时,我已布署好了之前的集群.下面的示例是以办公网测试环境为例,科兴的雷同,只是IP和主机名不同而已   使用root用户运行源服务器controlle…
服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我全程是使用root用户身份进行安装   1.配置办公网openstack的所有物理服务器的域名解析,添加完后,PING测以下域名确保是否可达 vi /etc/hosts   10.40.42.10  controller 10.40.42.1   controller1 10.40.42.2   c…
这里只用到keepalived 或者pacemaker两种方法,可二选一来配置,官方提供的是pacemaker,但我们实际测试环境和生产环境上使的是keepalive     首先在4台controller上安装包(kxcontroller1 \ kxcontroller2 \ controller1 \ controller2 ) yum -y install gcc openssl-devel popt-devel keepalived pcre-devel   配置 keepalived(…
这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040100 --shared --provider:physical_network public  --provider:network_type flat  --router:external   声明public网段DHCP等信息 neutron subnet-create 1040100 10.…
之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   参考http://www.iyunv.com/thread-45149-1-1.html的灵感   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: yum groupinstall Virtualization "Virtualization Client" -y yum install libvirt libguestfs-too…
云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密   compute1-7     他们相互SSH免密 kxcompute1-9  他们相互SSH免密   1.注意!是每台机器上的nova用户向另一台机器的nova用户的免密登录   每台compute节点修改ssh配置,目的是为了不让其提示输入yes保存密钥 vi /etc/ssh/ssh_config 尾部添加   StrictHostKeyChec…
之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: yum groupinstall Virtualization "Virtualization Client" -y yum install libvirt libguestfs-tools qemu virt-manager virt-viewer qemu-kvm virt-inst…
之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入   在原来的物理机10.40.41.1的CentOS 6.7上制作镜像.(当然如果你的制作镜像的宿主机是CentOS7也是一样的) 宿主机坱要安装KVM相关软件: yum groupinstall Virtualization "Virtualization Client" -y yum install libvirt libguestfs-tools qemu virt-manager v…
所有compute节点 下载安装组件   # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y 修改新增内核参数:   vi /etc/sysctl.conf   net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 net.bridge.bridge-nf-call-iptables=1 net.bridge.bri…
所有kxcompute节点 下载安装组件   # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset -y 修改新增内核参数:   vi /etc/sysctl.conf   net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.all.rp_filter=0 net.bridge.bridge-nf-call-iptables=1 net.bridge.b…
其中一台controller上面加入环境变量,我选kxcontroller1,关注的是endpoint的名称不一样,其它创建的参数与测试环境一致 export OS_TOKEN=venicchina export OS_URL=http://kxcontroller:35357/v3 export OS_IDENTITY_API_VERSION=3     其中一台controller开始创  openstack service create --name keystone --descript…
首先登录controller1创建glance数据库,并赋于远程和本地访问的权限.      mysql -u root -p   CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY 'venic8888'…
首先登录kxcontroller1创建kx_glance数据库,并赋于远程和本地访问的权限.      mysql -u root -p   CREATE DATABASE kx_glance; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON kx_glance.* TO 'glance'@'%'  IDENTIFIED…
其中一台controller上面加入环境变量,我选controller1,关注的是endpoint的名称不一样,其它创建的参数与生产环境一致 export OS_TOKEN=venicchina export OS_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3     其中一台controller开始创建  openstack service create --name keystone --description…
还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服务组件   或者某天,你需要打包一个实例的快照,终止实例后,你想通过快照的方式将它恢复为原来的IP,可以使用以下方法.   以win7客户端为例. 先下载安装eclipse 安装 安装 eclipse 的python插件,插件安装方法可自行百度   本机,安装python2.7环境 安装完后,添加p…
这里我只使用compute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已   计算节点 # yum install openstack-nova-compute sysfsutils   修改配置文件 vi /etc/nova/nova.conf   [DEFAULT] resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keystone my_ip = 10.40.42.…
这里我只使用kxcompute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已   计算节点 # yum install openstack-nova-compute sysfsutils   修改配置文件 vi /etc/nova/nova.conf   [DEFAULT] vcpu_pin_set = 4-31 resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keys…
一.首先登录controller1创建nova数据库,并赋于远程和本地访问的权限.     mysql -u root -p   CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%'  IDENTIFIED BY 'venic8888'; flush PRI…
一.首先登录kxcontroller1创建kx_nova数据库,并赋于远程和本地访问的权限.     mysql -u root -p   CREATE DATABASE kx_nova; GRANT ALL PRIVILEGES ON kx_nova.* TO 'nova'@'localhost'  IDENTIFIED BY 'venic8888'; GRANT ALL PRIVILEGES ON kx_nova.* TO 'nova'@'%'  IDENTIFIED BY 'venic88…
这一小节基本配置相同,但留意以下紫色部份的配置,当初为了管理方便,我们让办公网openstack的dashboard的登录桥接了科兴的dashboard,由此统一dashboard界面的登录地址   2台controller安装组件 # yum install openstack-dashboard -y   修改一样的配置 vi /etc/openstack-dashboard/local_settings   OPENSTACK_HOST="controller"   ALLOWE…
生产环境建议在集群三台controller上做rabbitmq 使用到队列的openstack组件 OpenStack Compute OpenStack Block Storage OpenStack Networking Telemetry   本来愿望是美好的,但我们参考官方本置方法,并生了(openstack集群--rabbitmq集群配置)发现在演练切换rabbitmq时,会出现compute和neutron服务的访问抛出rabbitmq的错误日志,需要等很长时间服务超时了,才能恢复,…
kxcontroller1   kxcontroller2  controller1 这3台作角色 确保服务器的域名解析访问正常   确保NTP时间同步   配置HAproxy主备访问,其中的一项数据库3306端口项,参考Haproxy配置文档.   每台安装如下包 ---------------------------------------------------------------------- 201511月的安装包如下 yum install -y  mariadb-galera-…
  图1说明:办公网的openstack使用2台交换机,10.40.40.2是24口  10.40.40.6是48口,管理网段接10.40.40.2VLAN1002     虚拟机的public网段接10.40.40.6的VLAN1100  .因为10.40.40.6可以支持一个接口配置多个网段,而另一台交换机不支持 也是为了将来可以方便横向扩展. 图2图3说明:科兴交换机是复用之前的6台交换机,两两做堆叠,并且使用trunk打通VLAN,这个配置VLAN 42 和VLAN 1200 VLAN…
其实登录数据库集群中任意1台都可以创建库,它们会实时自动同步数据库和对应的数据库权限.   首先登录kxcontroller1创建kx_keystone数据库,并赋于远程和本地访问的权限.   mysql -u root -p CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON kx_keystone.* TO 'kx_keystone'@'localhost'   IDENTIFIED BY 'venic8888'; GRANT ALL PRIV…
某天,由于Linux服务器默认没有DNS缓存功能,每次服务器每访问一个http域名链接时,都会触发一次DNS域名解析查询,降低了调用API接口的时延,所以我司后续启用的内网的dnsmasq DNS服务功能,需要将实例的DNS IP进行修改     登录一台controller source admin-openrc.sh neutron subnet-list +--------------------------------------+----------------------------…
Nova部份 cpu_allocation_ratio = 4.0 物理 CPU 超售比例,默认是 16 倍,超线程也算作一个物理 CPU,需要根据具体负载和物理 CPU 能力进行综合判断后确定具体的配置.建议超售4倍,配置作用于controller有效   ram_allocation_ratio = 1.0 内存分配超售比例,默认是 1.5 倍,生产环境不建议开启超售.配置作用于controller有效,建议配置比例1:1,配合--禁用swap空间的内核参数   vcpu_pin_set =…
2台kxcontroller安装组件 # yum install openstack-dashboard -y   修改一样的配置 vi /etc/openstack-dashboard/local_settings   查找以下内容进行修改 OPENSTACK_HOST="kxcontroller"   ALLOWED_HOSTS=['*', ]   CACHES = {     'default': {          'BACKEND': 'django.core.cache.…