openstack运维

openstack运维题

openstack平台运维
  1. 在openstack私有云平台上,基于cirrors.qcow2镜像,使用命令创建一个名为cirros的镜像。
 [root@controller ~]# glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress opt/openstack/images/CentOS_7.5_x86_64_XD.qcow2

2.在openstack私有云平台上,使用命令创建一个名为Fmin,ID为1,内存为1024 MB,磁盘为10 GB,vcpu数量为1的云主机类型。

 [root@controller ~]# nova flavor-create Fmin 1 1024 10 1

在openstack私有云平台上,编写模板server.yml,创建名为“m1.flavor”、 ID 为 1234、 内存为 1024MB、硬盘为 20GB、 vcpu数量为 2的云主机类型。

 [root@controller ~]# openstack orchestration template version list #查看可用于编排的模板版本
 [root@controller ~]# Vi  server.yaml 

server.yaml
heat_template_version: 2015-04-30
description: 
resources:         
        flavor:        
         type: OS::Nova::Flavor    
         properties:        
                name: "m1.flavor"    
                flavorid: "1234"    
                disk: 20        
                ram: 1024        
                vcpus: 2
outputs:    
  flavor_info:    
description: Get the information of virtual machine type    
    value: { get_attr: [ flavor, show ] }

 [root@controller ~]# heat stack-create m1_flavor_stack -f server.yaml #创建资源
  1. 在openstack私有云平台上,通过使用命令创建云主机外部网络extnet,子网extsubnet,虚拟机浮动 IP 网段为172.18.x.0/24(其中x是考位号), 网关为172.18.x.1,网络使用vlan模式;创建云主机内网intnet,子网intsubnet,虚拟机子网 IP 网段为192.168.x.0/24(其中x是考位号),网关为192.168.x.1;完成内网子网intsubnet和外部网络extnet的连通。

创建外网

 [root@controller ~]# openstack network create extnet --provider-physical-network provider --provider-network-type vlan --external 

创建子网

 [root@controller ~]# openstack subnet create extsubnet --subnet-range 172.18.25.0/24 --network extnet --gateway 172.18.25.1

查看是否创建成功

 [root@controller ~]# neutron subnet-list

创建内网

 [root@controller ~]# openstack network create intnet --provider-network-type vxlan --provider-segment 1

创建子网

 [root@controller ~]# openstack subnet create  intsubnet  --subnet-range 192.168.25.0/24  --network intnet --gateway 192.168.25.1/24

创建路由

 [root@controller ~]# openstack router create ext-router

绑定ext-route和外网extnet,并启动snat

 [root@controller ~]# openstack router set --external-gateway extnet --enable-snat ext-route

ext-route添加子网intsubnet

 [root@controller ~]# openstack router add subnet ext-route intsubnet
  1. 在Controller节点中编写名为modvm.sh的shell脚本查看云主机VM1的内存大小,如果内存小于2G,调整云主机VM1的内存为2G。

  2. 在openstack私有云平台上,基于“cirros” 镜像、1vCPU/1G /10G 的flavor、 intsubnet的网络,绑定浮动IP,使用命令创建一台虚拟机VM1,启动VM1,并使用PC机能远程登录到VM1。

     [root@controller ~]# openstack flavor create --ram 1024 --disk 10 --vcpus 1 flavor 
     [root@controller ~]# onova boot --flavor flavor --image cirros --nic net-name=intnet --security-groups default VM1
     [root@controller ~]#openstack floating ip create extnet --floating-ip-address 172.18.25.104    // 创建出浮动ip
    [root@controller ~]openstack server add floating ip VM1  172.18.25.104    // 绑定相应的浮动ip到云主机
  3. 在openstack私有云平台上,将云主机VM1保存为qcow2格式的快照并保存到controller节点/root/cloudsave目录下。
 [root@controller ~]# Mkdir /root/cloudsave

 [root@controller ~]# openstack server image create VM1 --name myVM1

 [root@controller ~]# openstack image save --file /root/cloudsave/myVM1.qcow2 myVM1
  1. 在controller节点上新建名为Chinaskill的容器,并获取该容器的存放路径;将 centos7_5.qcow2 镜像上传到chinaskill容器中,并设置分段存放, 每一段大小为 10M。

    bash
    swift post Chinaskill
    swift stat Chinaskill
    swift upload Chinaskill -S 10485760 /opt/openstack/images/centos7_5.qcow2
  1. 在openstack私有云平台上,创建一个名为“lvm”的卷类型,创建1块卷类型为lvm的40G云盘,并附加到虚拟机VM1上。

     openstack volume type create lvm
     openstack volume create  --type lvm --size 10 v1
     openstack volume list
     openstack server add volume VM1 v1
  1. 在虚拟机VM1上,使用附加的云盘,划分为4个10G的分区,创建一个raid 5,其中1个分区作为热备。

    fdisk /dev/vdb分4个分区
    mdadm -C -v demo -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
  1. 在Controller节点中编写/root/openstack/deletevm.sh的shell脚本,释放虚拟机VM1,执行脚本完成实例释放。

    source /etc/keystone/admin-openrc.sh
    openstack server delete VM1
  2. 使用镜像 Openstack-error-1 重建云主机“all-in-one”(账号: root 密码: 000000)。重建后的云主机内有错误的openstack 平台,其中有已经创建好的云主机 vm-test无法启动,请排除错误,启动vm-test云主机。

    方案:

    1.首先到控制节点检查

    2.查看glance日志 /var/log/glance/

    3.查看/var/lib/glance/下的文件的权限750 所属主和所属者是不是glance

  3. 登录172.17.x.10/dashboard,使用centos7镜像创建三台云主机来搭建rabbitmq集群。使用普通集群模式,其中一台做磁盘节点,另外两台做内存节点,配置完毕后启动rabbitmq服务。

    # 三台主机
    yum install -y rabbitmq-server
    systemctl restart rabbitmq-server
    systemctl enable rabbitmq-server
    
    #rabbitmq1启动图形界面
    rabbitmq-plugins enable rabbitmq_management
    systemctl restart rabbitmq-server
    
    scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/
    scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/
    
    # 两台节点主机
    chown rabbitmq:rabbitmq .erlang.cookie
    
    #配置节点加入集群
    #rabbitmq2
    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@rabbitmq1
    rabbitmqctl start_app
    
    #rabbitmq3
    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@rabbitmq1
    rabbitmqctl start_app
  4. 使用提供的云安全框架组件,将 http://172.17.x.10/dashboard 中的 keystone安全策略从http优化至 https。

    yum install -y mod_ssl
    
    vi /etc/openstack-dashboard/local_settings
    USE_SSL = True
    CSRF_COOKIE_SECURE = True             ##原文中有,去掉注释即可
    SESSION_COOKIE_SECURE = True          ##原文中有,去掉注释即可
    SESSION_COOKIE_HTTPONLY = True
    
    vi /etc/httpd/conf.d/ssl.conf
    #将SSLProtocol all -SSLv2 -SSLv3改成
    SSLProtocol all -SSLv2
    
    systemctl restart httpd
    systemctl restart memcached
  5. 在openstack私有云平台上,添加controller节点资源到云平台(即controller节点也作为compute节点使用)。

    修改openrc.sh,把compute节点的IP和主机名改为controller节点的IP和主机名
    在控制节点运行iaas-install-nova-compute.sh
  1. 从PC机上传CentOS_7.5_x86_64.qcow2文件到controller节点,并在openstack私有云平台上,使用glance相关命令上传镜像,镜像源为CentOS_7.5_x86_64.qcow2,名为Gmirror1,min _ram为2048M,min_disk为30G。

    openstack image create --disk-format qcow2 --public --min-ram 2048 --min-disk 30 --file /opt/images/CentOS_7.5_x86_64_XD.qcow2  Gmirror1
  2. 在云主机VM1上,对附加的云盘进行分区格式化后,永久挂载到/opt目录下。在Controller节点中编写名为/root/openstack/deletevm.sh的shell脚本释放云主机VM1,执行脚本完成实例释放。

    fdisk -l
    mkfs -t ext4 /dev/vdb
    
    vi /etc/fstab
    /dev/vdb     /opt    ext4      defaults      0 0
    
    #查看挂载
    lsblk -f
  1. 在openstack私有云平台上,将云主机Hostrans(前面一题创建的)使用手动迁移的方式,迁移至另一个计算节点。

    # 查看虚拟机在哪个节点上
    nova show Hostrans
    
    #关闭虚拟机
    openstack server stop Hostrans
    
    #将compute节点迁移
    scp -r /var/lib/nova/instances/5e157cc9-c25e-41e5-829b-5fb13d0a98f6/ controller:/var/lib/nova/instances/
    
    #修改数据库
    mysql -uroot -p000000
    use nova;
    update instances set host='controller', node='controller' where uuid='5e157cc9-c25e-41e5-829b-5fb13d0a98f6'
    
    #重启两个节点服务
    openstack-server restart
  1. 在openstack私有云平台上,配置swift对象存储为glance的后端存储。

    vim /etc/glance/glance-api.conf
    
    [glance_store]
    
    default_store = swift          默认为file 改为swift
    
    stores = file, http                默认不用动
    
    swift_store_auth_version = 2        默认版本为2
    
    stores=glance.store.swift.Store,glance.store.filesystem.Store      此项一定要加上,不然无法上传
    
    swift_store_auth_address =  http://controller:5000/v2.0  controller的keystone认证
    
    swift_store_user = service:swift    使用swift用户
    
    swift_store_key = swift        密码
    swift_store_container = glance       将要被创建的容器
    swift_store_create_container_on_put = True    上传开
    swift_store_large_object_size = 5120        最大5G限制,但与glance结合后限制无效
    swift_store_large_object_chunk_size = 200        最大200个容器
    swift_enable_snet = False
    systemctl restart openstack-glance-api
  2. 使用镜像 centos7,创建两台云主机master和slave,并分别绑定浮动IP;在这2台云主机上安装mysql数据库系统并配置为主从数据库(master为主节点、slave为从节点);并在mater云主机的数据库中创建ChinaSkilldb库,在ChinaSkilldb库中创建表testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)),在表中插入记录(1,"Cloud","ChinaSkill")。

你可能感兴趣的:(openstack运维)