ToB企服应用市场:ToB评测及商务社交产业平台

标题: OpenStack运维题 [打印本页]

作者: 灌篮少年    时间: 2024-6-14 21:58
标题: OpenStack运维题
OpenStack例题:

  一、配置YUM源

  留意:假如web登录Dashboard仪表盘堕落了请联系管理员刷新,使用https://协议登录乐成,可能跟ssl有关。
  例题一、repo编写

  在配置httpd.conf文件时,需要修改主目录为opt,这样在网站上打开时才会显示opt目录中的文件
  修改以下两处:
  <Directory "/opt">
  DocumentRoot "/opt"
  使用提供的http服务地点,在http服务下,存在centos7.5和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。
  1. [root@controller yum.repos.d]#cat http.repo
  2. ​[centos]
  3. ​name=centos
  4. ​baseurl=http://IP地址/centos        #该IP是提供的http服务地址,练习改成自己的
  5. ​gpgcheck=0
  6. ​enabled=1
  7. ​[iaas]
  8. ​name=iaas
  9. ​baseurl=http://IP地址/iaas        #该IP是提供的http服务地址,练习改成自己的
  10. ​gpgcheck=0
  11. ​enabled=1
复制代码
二、时间同步配置

  例题一、配置时间同步

  在controller节点上部署chrony服务器,答应其他节点同步时间,启动服务并设置为开机启动;在compute节点上指定
  controller节点为上游NTP服务器,重启服务并设为开机启动。
  1. [root@controller  /]# yum install -y chrony && systemctl enable chronyd
  2. [root@controller  /]# vi /etc/chrony.conf               
  3. allow        192.168.0.0/16        #根据自身IP段进行配置,意为允许广播到的网络范围
  4. local        stratum        10
  5. [root@controller  /]# systemctl start chronyd
  6. [root@compute  /]# yum install -y chrony && systemctl enable chronyd
  7. [root@compute  /]# vi /etc/chrony.conf
  8.         server        controller节点IP        iburst
复制代码
留意:修改时区-假如时间不是CST时区可以修改回来

  留意域名解析服务器,由于是通过主机名解析不是直接通过IP地点,假如域名解析没有配置好,那么时间同步不会乐成,CST:中心标定时区。UTC:天下协调时间。我国为CST+8的时间标准。
  1. [root@controller  /]# date
  2. 2018年 03月 02日 星期五 14:09:45 CST
  3. [root@controller  /]# tzselect #设置时区
  4. 时区的设置文件:/etc/timezone
  5. 时间相关文件:/etc/localtime
  6. 时间相关的文件:/usr/share/zoneinfo/Asia 这里边放着亚洲主要城市的时间
  7. 设置时间 rm -rf /etc/localtime
  8. ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码
三、数据库利用

  例题一、数据库创建插入数据

  登录数据库服务,创建库test,并在库test中创建表company(表布局如(id int not null primary key,name varchar(50),addr varchar(255))所示),在表company中插入一条数据(1,"alibaba","china")。
  1. [root@controller  /]#mysql -uroot -p000000
  2. ​mysql> create database test;
  3. ​mysql> \u test
  4. ​mysql> create table company(
  5. ​->id int not null primary key,
  6. ​->name varchar(50),
  7. ​->addr varchar(255)
  8. ​->);
  9. ​mysql> insert into company values(1,'alibaba','china');
复制代码
例题二、RabbitMQ用户创建立置权限

  使用RabbitMQ服务的相干命令创建用户chinaskill,密码为chinapd,并赋予该用户administrator权限。
  1. [root@controller  /]#rabbitmqctl add_user  chinaskill chinapd
  2. [root@controller  /]#rabbitmqctl set_user_tags chinaskill administrator
  3. [root@controller  /]#rabbitmqctl set_permissions chinaskill ".*" ".*" ".*"
复制代码
启动RabbitMQ Web服务检验
  1. [root@controller  /]#rabbitmq-plugins enable rabbitmq-management
  2.         浏览器输入http://192.168.100.10:15672使用chinaskill登录
复制代码
例题三:主从数据库

  主从数据库配置:
  1. 1、安装数据库mariadb-server(多节点操作):
  2. [root@node-1  /]# yum install -y mariadb-server
  3. [root@node-2  /]# yum install -y mariadb-server
  4. [root@node-3  /]# yum install -y mariadb-server
  5. 2、主数据库修改配置文件:
  6. [root@node-1  /]# vi /etc/my.cnf
  7.    [mysqld]
  8.    server-id=1        #各服务器确保ID唯一性
  9.    log-bin=mysql-bin #log-bin不指定默认datadir指向的目录,mysql-bin也是头文件名
  10. 3、各节点初始化数据库:
  11. [root@node-1  /]# mysql_install_db --user=mysql
  12. [root@node-2  /]# mysql_install_db --user=mysql
  13. [root@node-3  /]# mysql_install_db --user=mysql
  14. 4、从数据库修改配置文件:
  15. [root@node-2  /]# vi /etc/my.cnf
  16.    [mysqld]
  17.    server-id=2
  18. [root@node-3  /]# vi /etc/my.cnf
  19.    [mysqld]
  20.    server-id=3
  21. 5、启动各节点的数据库,设置开机自启:
  22. [root@node-1  /]# systemctl start mariadb && systemctl enable mariadb
  23. [root@node-2  /]# systemctl start mariadb && systemctl enable mariadb
  24. [root@node-3  /]# systemctl start mariadb && systemctl enable mariadb
  25. 6、创建主从连接账号与授权:
  26. [root@node-1  /]# create user '用户名slave'@'%' identified by '密码';
  27. [root@node-1  /]# grant replication slave on *.* to 'slave'@'%';
  28. #grant 允许 #replication 同步复制 # slave从权限为*.*全部 账号为'slave'@'主机名'
  29. [root@node-1  /]# flush privileges;
  30. [root@node-1  /]# show master status;        
  31. #查看masterlog文件和pos偏移量
  32. 7、从数据库连接:
  33. [root@node-2  /]# change master to master_host='IP',master_user='slave',master_password='密码',master_log_file='mysql-logXXX',master_log_pos='570';
  34. [root@node-2  /]# show slave status\G        
  35. #查看详细信息
复制代码
四、heat模板

  例题一、heat-template编写

  使用自己搭建的openstack云平台,在/root目录下编写模板server.yaml,创建名为“m1.flavor”、 ID 为 1234、内存为1024MB、硬盘为20GB、vcpu数量为 1的云主机类型。
  1. [root@controller  /]#vi /root/server.yaml
  2. heat_template_version: 2013-05-23 #模板版本
  3. resources: #资源,不可少
  4.         m1: #名字随便起
  5.             type: OS::Nova::Flavor #不可少,使用Flavor代表要创建的是主机类型,可以在web中查看所有模板
  6.                 properties: #参数,不可少
  7.                         ram: 1024
  8.                         name: m1.flavor
  9.                         flavorid: 1234
  10.                         disk: 20
  11.                         vcpus: 1            
  12. [root@controller  /]#openstack stack create -f yaml -t /root/server.yaml stack2
  13. *openstack stack create命令执行yaml文件
  14. *-f指定类型为yaml,可以不写
  15. *-t指定模板为/root/server.yaml文件
  16. *stack2为给堆栈起一个名字,自己定义
复制代码
或者使用以下表达方式:
  1. heat_template_version: '2013-05-23'
  2. resources:
  3.   m1:
  4.     properties: {disk: 20, flavorid: 1234, name: m1.flavor, ram: 1024, vcpus: 1}
  5.     type: OS::Nova::Flavor
  6. *yaml写法:每个冒号“:”符号后必须有空格
  7. *大小写敏感
  8. *使用缩进表示层级关系,缩进不能用tab只能是空格,缩进空格数目不重要,只要相同等级元素左对齐
复制代码
五、Cinder使用

  例题一、使用cinder命令创建云硬盘

  留意:若执行命令报ERROR: You must provide ······,请执行source /etc/keystone/admin-openrc.sh
  1. 一、先创建lvm卷类型
  2. ​[root@controller  /]#cinder type-create lvm
  3. ​二、创建名为blockvolume大小为2G的云硬盘
  4. ​[root@controller  /]#cinder create --volume-type lvm --display-name blockvolume 2
  5. ​三、云硬盘扩容
  6. ​[root@controller  /]#lvdisplay /dev/mapper/cinder--volumes-volume--e8fa3391--867c--4fe0--84db--042498969a83
  7. ​*查看卷名称和详细信息
  8. ​[root@controller  /]#cinder list
  9. ​*查看cinder卷名称
  10. ​[root@controller  /]#cinder extend blockvolume 3
  11. ​*扩展到3G
复制代码
六、快照管理

  例题一、cinder创建快照并导出

  使用自己搭建的openstack云平台,将云主机VM1生存为qcow2格式的快照并生存到controller节点/root/cloudsave目录下,生存名字为csccvm.qcow2。
  1. 在web中创建快照生成镜像
  2. glance image-list 查看生成的镜像
  3. glance image-download --file /root/cloudsave/csccvm.qcow2 239cb73a-f05a-46fd-affe-a28a50341168(imageID) --progress
复制代码
OpenStacka运维题:

  例题一、创建镜像

  使用自己搭建的openstack云平台,使用http:// /cirros-0.3.4-x86_64-disk.img镜像,使用命令创建一个名为cirros的镜像。
  1. [root@controller  /]#openstack image create --disk-format qcow2 --container-format bare --file /opt/iaas/images/CentOS_7.2_x86_64.qcow2 cirros --public --project admin               
  2. *--disk-format 硬盘格式qcow2
  3. *--container-format 容器格式为bare
  4. *--public 公有镜像
  5. *--project 项目为admin
  6. *--file 后跟文件(镜像)地址
复制代码
例题二、swift创建容器

  在控制节点和计算节点上分别使用iaas-install-swift-controller.sh和iaas-install-swift-compute.sh脚本安装Swift服务并创建test容器。
  1. [root@controller  /]# iaas-install-swift-controller.sh
  2. [root@controller  /]# swift post test
  3. *使用swift post后跟容器名
复制代码
例题三、实例类型管理

  在OpenStack私有云平台上,使用命令创建一个名为Fmin,ID为1,内存为1024 MB,磁盘为10 GB,vcpu数量为1的云主机类型。
  1. [root@controller /opt/iaas/iaas-repo]# nova flavor-create Fmin 1 1024 10 1
  2. 格式:nova flavor-create <Name> <ID> <RAW><Disk> <vCPUs>
复制代码
例题四、网络管理

  在openstack私有云平台上,使用命令创建云主机外部网络extnet,子网extsubnet,虚拟机浮动 IP 网段为172.18.x.0/24(其中x是考位号), 网关为172.18.x.1,网络使用vlan模式。
  1. (1)首先创建外部网络
  2. [root@controller /opt/iaas/iaas-repo]# openstack network create --project admin --provider-network-type vlan --provider-physical-network provider --external extnet
  3. (2)创建外部网络子网
  4. [root@controller /opt/iaas/iaas-repo]# openstack subnet create --network extnet --subnet-range 172.18.X.0/24 --gateway 172.18.X.1 --allocation-pool start=172.18.X.10,end=172.18.X.200 --dhcp extsubnet
复制代码
例题五、网络管理

  在openstack私有云平台上,通过使用命令创建云主机内网intnet,子网intsubnet,虚拟机子网 IP 网段为10.10.x.0/24(其中x是考位号),网关为10.10.x.1。
  1. (1)首先创建内部网络
  2. [root@controller /opt/iaas/iaas-repo]# openstack network create --internal intnet
  3. (2)创建内部网络子网
  4. [root@controller /opt/iaas/iaas-repo]# openstack subnet create --subnet-range 10.10.x.0/24 --gateway 10.10.x.1 --dhcp --network intnet intsubnet
复制代码
例题六、网络管理

  添加名为 ext-router 的路由器,配置路由接口地点,完成内网子网intsubnet和外部网络extnet的连通。
  1. [root@controller /opt/iaas/iaas-repo]# openstack router create ext-router
  2. [root@controller /opt/iaas/iaas-repo]# openstack router add subnet ext-subnet intsubnet
  3. [root@controller /opt/iaas/iaas-repo]# openstack router set --enbale --enable-snat --external-gateway extnet ext-router
复制代码
例题七、创建实例

  在openstack私有云平台上,基于“cirros” 镜像、1vCPU/1G /10G 的flavor、 intsubnet的网络,绑定浮动IP,使用命令创建一台虚拟机VM1,启动VM1,并使用PC机能远程登录到VM1。
  1. [root@controller /opt/iaas/iaas-repo]# openstack flavor create --ram 1024 --disk 10 --vcpus 1 flavor
  2. [root@controller /opt/iaas/iaas-repo]# nova boot --flavor flavor --image cirros --nic net-name=intnet --security-groups default VM1
  3. (1) 创建浮动IP地址
  4. [root@controller /opt/iaas/iaas-repo]# neutron floatingip-create extent
  5. [root@controller /opt/iaas/iaas-repo]# neutron floatingip-list
  6. (2)绑定浮动IP
  7. [root@controller /opt/iaas/iaas-repo]# neutron floatingip-list
  8. [root@controller /opt/iaas/iaas-repo]# neutron port-list
  9. [root@controller /opt/iaas/iaas-repo]# neutron floatingip-associate --fixed-ip-address 10.10.x.3 9fb1f908-167c-4f48-9113-1d061136eff1(floatingip的ID) 2c773859-32cb-47f3-80c2-79432bd8e6e3(内网prot的ID)
  10. 连接上去需要修改安全组规则,如果可以使用图形化界面可以到Web删除
  11. [root@controller /opt/iaas/iaas-repo]#Openstack help security
  12. [root@controller /opt/iaas/iaas-repo]#Openstack security group list
  13. [root@controller /opt/iaas/iaas-repo]#Opensatck security group rule list
  14. [root@controller /opt/iaas/iaas-repo]#Openstack security group rule delete ID
  15. [root@controller /opt/iaas/iaas-repo]#Openstack help security group rule create
  16. [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --egress --ethertype IPv4 安全组ID 放行所有IPv4流量出去
  17. [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --ingress --ethertype IPv4 安全组ID 放行所有IPv4流量进入
  18. [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --ingress --protocol icmp 安全组ID 允许ICMP流量进去
  19. [root@controller /opt/iaas/iaas-repo]#Openstack security group rule create --egress --protocol icmp/udp 安全组ID 允许ICMP出口  
复制代码
例题八、卷管理

  在openstack私有云平台上,创建一个名为“lvm”的卷类型,创建1块卷类型为lvm的40G云盘,并附加到虚拟机VM1上。
  1. [root@controller /opt/iaas/iaas-repo]# openstack volume type create lvm
  2. [root@controller /opt/iaas/iaas-repo]# openstack volume create --type lvm --size 40 v1
  3. [root@controller /opt/iaas/iaas-repo]# openstack server add volume VM1 v1
复制代码
例题九、RAID磁盘阵列

  在虚拟机VM1上,使用附加的云盘,划分为4个10G的分区,创建一个raid 5,其中1个分区作为热备。
  1. [root@controller /opt/iaas/iaas-repo]# fdisk /dev/vdb #输入m可以查看fdisk帮助,创建4个分区
  2. [root@controller /opt/iaas/iaas-repo]# Mdadm -Cv /dev/md5 -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
  3. 或者使用一下命令指定热备盘:
  4. [root@controller /opt/iaas/iaas-repo]# Mdadm -Cv /dev/md5 -l 5 -n 3 /dev/vdb{1,2,3} --spare-devices=1 /dev/vdb4
复制代码
例题十、Shell脚本释放实例

  在Controller节点中编写/root/openstack/deletevm.sh的shell脚本,释放虚拟机VM1,执行脚本完成实例释放。
  1. [root@controller /opt/iaas/iaas-repo]# source /etc/keystone/admin-openrc.sh
  2. [root@controller /opt/iaas/iaas-repo]# vi /root/openstack/deletevm.sh
  3. openstack server stop vm1
  4. openstack server delete vm1
  5. [root@controller /opt/iaas/iaas-repo]# chmod 755 /root/openstack/deletevm.sh #给脚本执行权限
  6. [root@controller /root/openstack]# ./deletevm.sh #执行脚本
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4