-
安装基础服务
yum -y remove epel-release.noarch yum install -y openstack-nova-compute openstack-utils python-openstackclient python2-PyMySQL python-memcached #服务运行在3个计算节点,使用ceph的话进行安装 yum install -y ceph-common
-
编辑nova.conf配置文件
#判断计算节点是否支持虚拟机的硬件加速 egrep -c '(vmx|svm)' /proc/cpuinfo #如果此命令返回值不是0,则计算节点支持硬件加速 #如果此命令返回值是0,则计算节点不支持硬件加速
备份配置文件 cp /etc/nova/nova.conf{,.bak} grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf
vi /etc/nova/nova.conf [DEFAULT] #nova-compute在并发创建虚拟机过程中,有并发任务限制 max_concurrent_builds = 10 #物理 CPU 超售比例,默认是 16 倍,超线程也算作一个物理 CPU,需要根据具体负载和物理 CPU 能力进行综合判断后确定具体的配置 cpu_allocation_ratio = 4.0 initial_cpu_allocation_ratio = 16.0 #内存分配超售比例,默认是 1.5 倍,生产环境不建议开启超售。 ram_allocation_ratio = 1.0 initial_ram_allocation_ratio = 1.5 #内存预留量,这部分内存不能被虚拟机使用 reserved_host_memory_mb = 4096 #磁盘预留空间,这部分空间不能被虚拟机使用 reserved_host_disk_mb = 10240 #服务下线时间阈值,默认60,如果一个节点上的 nova 服务超过这个时间没有上报心跳到数据库,api 服务会认为该服务已经下线,如果配置过短或过长,都会导致误判。 service_down_time = 120 my_ip = 管理网卡ip #rootwrap daemon方式运行命令,缩短nova/neutron等组件调用系统命令的时间 use_rootwrap_daemon=True #启用计算和元数据 API enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:RABBIT_CXK_PASS@openstack-controller01:5672,openstack:RABBIT_CXK_PASS@openstack-controller02:5672,openstack:RABBIT_CXK_PASS@openstack-controller03:5672 #启用对网络服务的支持 use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver block_device_allocate_retries = 240 #有时候碰到硬盘太大,会失败,vif超时参数 vif_plugging_timeout = 0 vif_plugging_is_fatal = False log_dir = /var/log/nova #迁移 resize_confirm_window = 1 #允许迁移到本机 allow_resize_to_same_host = true allow_migrate_to_same_host = true #支持热迁移 live_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED" debug = true [api] auth_strategy = keystone [filter_scheduler] #主机组配置 #关联:实例创建在同一个计算节点上,当该计算节点资源不够就会失败。 #不关联:实例创建在不同计算节点上,当计算节点数不够时失败。 #软关联:实例尽量创建在同一个计算节点上,当计算节点资源不够不会失败,会落在另一个计算节点上 #软不关联:实例尽量创建在不同计算节点上,当计算节点数量不够时,实力会落在同一个计算节点上 vailable_filters=nova.scheduler.filters.all_filters enabled_filters=AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter [glance] api_servers = http://vip:9292 [keystone_authtoken] auth_url = http://vip:5000/v3 cache = true token_cache_time = 3600 memcached_servers = openstackcontroller1ip:11211,openstackcontroller2ip:11211,openstackcontroller3ip:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = NOVA_CXK_PASS [libvirt] #支持虚拟机硬件加速 #virt_type = kvm virt_type = qemu num_pcie_ports = 10 #镜像使用nfs,qcow2、使用ceph,rbd images_type = rbd images_rbd_pool = vms images_rbd_ceph_conf = /etc/ceph/ceph.conf rbd_user = cinder #查看virsh secret-list rbd_secret_uuid = 77b54383-2456-4cb7-ac90-2c3754fc814f disk_cachemodes = "network=writeback" #禁用文件注入 inject_password = false inject_key = false inject_partition = -2 #虚拟机临时root磁盘discard功能 hw_disk_discard = unmap [oslo_concurrency] lock_path = /var/lib/nova/tmp [placement] region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://vip:5000/v3 username = placement password = PLACEMENT_CXK_PASS [vnc] enabled = true server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = http://vip:6080/vnc_auto.html #支持网络,等待计算节点网络安装 [neutron] url = http://vip:9696 auth_url = http://vip:5000 auth_type = password project_domain_name = default user_domain_name = default region_name = RegionOne project_name = service username = neutron password = NEUTRON_CXK_PASS
-
配置迁移时用的密钥
#允许nova进行登入,并设置密码(随机计算节点) usermod -s /bin/bash nova echo nova | passwd --stdin nova #生成密钥对(随机计算节点) su - nova ssh-keygen -t rsa for i in 51 52 53 ;do ssh-copy-id -o StrictHostKeyChecking=no nova@10.168.188.$i ;done #当前计算节点下载密钥 scp -p -r root@10.168.188.51:/var/lib/nova/.ssh/ /var/lib/nova/ chown -R nova:nova /var/lib/nova/.ssh/
-
启动并加入开机自启
systemctl restart libvirtd.service openstack-nova-compute.service systemctl status libvirtd.service openstack-nova-compute.service systemctl enable libvirtd.service openstack-nova-compute.service
-
在控制节点上添加计算节点
source /sh/admin-openstack.sh #添加计算节点到cell 数据库 openstack compute service list --service nova-compute #发现计算节点 #手动发现 su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova #定期主动发现(控制节点此文档已经按照了) #1、修改/etc/nova/nova.conf配置文件 #[scheduler] #discover_hosts_in_cells_interval=600 #2、重启nova服务 #systemctl restart openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
-
在控制节点上验证-列出当前服务组件
#列出服务组件以验证每个进程的成功启动和注册: openstack compute service list #列出身份服务中的 API 端点以验证与身份服务的连接: openstack catalog list #列出图像服务中的图像以验证与图像服务的连接性 openstack image list #检查Cells和placement API是否正常运行 nova-status upgrade check
喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章; 文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother 进入运维交流群