企业自建私有云-openstack-Nova计算服务(计算节点)

  1. 安装基础服务

    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
    
  2. 编辑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
    
  3. 配置迁移时用的密钥

    #允许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/
    
  4. 启动并加入开机自启

    systemctl restart libvirtd.service openstack-nova-compute.service
    systemctl status libvirtd.service openstack-nova-compute.service
    systemctl enable libvirtd.service openstack-nova-compute.service
    
  5. 在控制节点上添加计算节点

    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
    
  6. 在控制节点上验证-列出当前服务组件

    #列出服务组件以验证每个进程的成功启动和注册:
    openstack compute service list
    
    #列出身份服务中的 API 端点以验证与身份服务的连接:
    openstack catalog list
    
    #列出图像服务中的图像以验证与图像服务的连接性
    openstack image list
    
    #检查Cells和placement API是否正常运行
    nova-status upgrade check
    

喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章; 文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother 进入运维交流群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

含义小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值