iaas运维

发布时间 2023-10-08 20:02:29作者: 聂哥哒哒哒

OpenStack运维

1.使用提供的云安全框架组件,将提供的OpenStack云平台的安全策略从http优化至https。

  1. 下载mod_ssl

  2. 配置/etc/openstack-dashboard/local_settings文件

  3. 添加

    USE_SSL = True
    
    CSRF_COOKIE_SECURE = True                     #配置文件里有,删掉注释即可
    
    SESSION_COOKIE_SECURE = True               #配置文件里有,删掉注释即可
    
    SESSION_COOKIE_HTTPONLY = True
    
  4. 编辑/etc/httpd/conf.d/ssl.conf

  5. SSLProtocol all -SSLv2 -SSLv3改为SSLProtocol all -SSLv2

2.在提供的OpenStack平台上,通过修改相关参数对openstack平台进行调优操作,相应的调优操作有:

(1)设置内存超售比例为1.5倍;
  1. 修改配置文件/etc/nova/nova.conf
    1. ram_allocation_ratio=0.0改为ram_allocation_ratio=1.5
(2)设置nova服务心跳检查时间为120秒。
  1. 修改配置文件
  2. shutdown_timeout=60改为shutdown_timeout=120

3.在openstack私有云平台上,基于cirrors.qcow2镜像,使用命令创建一个名为cirros的镜像。

source /etc/keystone/admin-openrc.sh(挂载用户配置文件)
glance image-create --name "cirros" --disk-format qcow2 --container-format bare < cirros-0.5.2-x86_64-disk.qcow2

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

nova flavor-create Fmin 1 1024 10 1

5.在openstack私有云平台上,使用命令创建云主机外部网络extnet,子网extsubnet,虚拟机浮动 IP 网段为172.18.x.0/24(其中x是考位号), 网关为172.18.x.1,网络使用vlan模式。

#创建外部网络
openstack network create --provider-physical-network provider --provider-network-type vlan --external  extnet
#创建子网
openstack subnet create --subnet-range 172.18.25.0/24 --network extnet --gateway 172.18.25.1  extsubnet 

6.在openstack私有云平台上,通过使用命令创建云主机内网intnet,子网intsubnet,虚拟机子网 IP 网段为10.10.x.0/24(其中x是考位号),网关为10.10.x.1。

#创建内网
openstack network create --provider-network-type vlan --provider-segment 1 ntnet
#创建子网
openstack subnet create   --subnet-range 192.168.100.0/24  --network intnet --gateway 192.168.100.1/24 intsubnet

7.添加名为 ext-router 的路由器,配置路由接口地址,完成内网子网intsubnet和外部网络extnet的连通。

#创建路由
openstack router create ext-router
#添加接口
openstack router set --external-gateway extnet ext-route
openstack router add subnet ext-route intsubnet

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

#启动云主机
openstack server create --image cirros --flavor Fmin --nit net-id=intsubnetid VM1
#创建浮动IP
openstack floating ip create extnet --floating-ip-address 172.18.1.104
#绑定浮动IP
openstack server add floating ip VM1  172.18.1.104

9.在openstack私有云平台上,创建一个名为“lvm”的卷类型,创建1块卷类型为lvm的40G云盘,并附加到虚拟机VM1上

#创建卷类型
openstack volume type create lvm
#创建硬盘
openstack volume create --type lvm --size 40 cinder
#附加到虚拟机
openstack server add volume VM1 cinder

10.在虚拟机VM1上,使用附加的云盘,划分为4个10G的分区,创建一个raid 5,其中1个分区作为热备。

#先分区
fdisk或parted分四个区
#创建raid5
mdadm -C -v demo -l 5 -n 3 -x 1 /dev/vdb{1..4}

11.在Controller节点中编写/root/openstack/deletevm.sh的shell脚本,释放虚拟机VM1,执行脚本完成实例释放。

编写脚本
#!/usr/bin/bash
source /etc/keystone/admin-openrc.sh
if [ $? -eq 0 ] ; then
   openstack server delete VM1
   echo "成功释放vm1"
else
   echo "---没有权限---"
fi

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

方案1:
1.首先到控制节点检查
2.查看glance日志 /var/log/glance
3.查看/var/lib/glance下的文件的权限750所属主和所属者是否为glance

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

#编写文件
vi m1.flavor
#编写以下内容
heat_template_version: 2018-03-02
sources:
  flavor:
    type: OS::Nova::Flavor
    properties:
      disk: 20
      name: "m1.flavor"
      ram: 1024
      vcpus: 2
      flavorid: "1234"
      
#创建资源
openstack stack create -t m1.flavor stackname

14.在Controller节点中编写名为modvm.sh的shell脚本查看云主机VM1的内存大小,如果内存小于2G,调整云主机VM1的内存为2G。

#首先修改配置文件
/etc/nova/nova.conf
将``allow_resize_to_same_host=false``改为``allow_resize_to_same_host=true``

#重启服务
service nova-api restart
service nova-compute restart

#编写脚本
#!/usr/bin/bash
source /etc/keystone/admin-openrc.sh				#读取环境变量

flavor=`openstack server show VM1 | grep flavor | awk '{print $4}'`	#获取云主机使用的云主机类型

echo $flavor										#输出云主机使用的云主机类型
ram=`openstack flavor show $flavor | grep ram | awk '{print $4}'`	#获取云主机类型内存配置

echo $ram			#输出内存配置
if [ ${ram} -lt 2048 ] ; then				#判断ram是否小于2G
openstack flavor create --ram 2048 --disk `openstack flavor show $flavor | grep disk | awk '{print $4}'` --vcpu `openstack flavor show $flavor | grep vcpu | awk '{print $4}'` vm		#创建一个云主机类型,磁盘和cpu使用获取到的云主机的配置
openstack server resize --flavor vm VM1
sleep 3
openstack server resize -confirm VM1
echo '---succeed---'
else
echo 'ram gt 2048'
fi

15. 在openstack私有云平台上,将云主机VM1保存为qcow2格式的快照并保存到controller节点/root/cloudsave目录下。

#创建快照
openstack server image create VM1 --name my myVM1
#保存到/root/cloudsave目录下
openstack image save --file /root/cloudsave/myVM1.qcow2 myVM1

16.在controller节点上新建名为Chinaskill的容器,并获取该容器的存放路径;将 centos7_5.qcow2 镜像上传到chinaskill容器中,并设置分段存放, 每一段大小为 10M.

#创建容器
openstack container create Chinaskill
swift post Chinaskill
#分段存放
swift upload  -S 10485760 Chinaskill /opt/iaas/images/CentOS_7.5_x86_64_XD.qcow2 

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

#三节点安装rabbitmq-server
yum -y install rebbitmq-server
systemctl enable --now rebbitmq-server

#节点1开启图形界面
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server

#将三台主机的cookie值保持一致
scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie node3:/var/lib/rabbitmq/

#将node2和node3节点的.erlang.cookie文件所属主和所属组改为rabbitmq
chown rabbitmq:rabbitmq .erlang.cookie

#配置节点加入集群
node2:
先关闭app:rabbitmqctl start_app
加入集群:rabbitmqctl join_cluster --ram rabbit@rabbitmq1
开启app:rabbitmqctl start_app
node3:
先关闭app:rabbitmqctl start_app
加入集群:rabbitmqctl join_cluster --ram rabbit@rabbitmq1
开启app:rabbitmqctl start_app

18.使用镜像 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")。

#安装mysql数据库,双节点
yum -y install mariadb mariadb-server

#初始化数据库
mysql_secure_installation

#修改配置文件
主节点:
log_bin=mysql-log				//记录操作日志(必选)
binlog-ignore-db=mysql	//不同步mysql数据库(可选)
server_id=1							//集群id(必选)

从节点:
log_bin=mysql-log				//记录操作日志(可选)
binlog-ignore-db=mysql	//不同步mysql数据库(可选)
server_id=2							//集群id(必选)

#修改为文件重启数据库
systemctl restart mariadb

#赋予权限
主节点:
grant all privileges on *.* to root@'%' identified by '000000';
grant replication slave on *.* to 'user'@'slave' identified by '000000';
//'user'@'slave'  user是创建的用户名,slave是从节点的IP或主机
 
从节点:
change master to master_host='master',master_user='user',master_password='000000';
start slave;
show slave status\G (如果开启成功slave_io_running和slave_sql_running的状态都是yes)

MASTER_HOST : 设置要连接的主服务器的ip地址     
MASTER_USER : 设置要连接的主服务器的用户名     
MASTER_PASSWORD : 设置要连接的主服务器的密码    
MASTER_PORT: '3306' 设置要连接的主服务器的端口


验证主从数据库:
主节点:
mysql -uroot -p000000
create database ChinaSkilldb;
use ChinaSkilldb;
create table testable (id int not null primary key,Teamname varchar(50), remarks varchar(255));
insert into testable values(1,"Cloud","ChinaSkill");
select * from testable;

从节点:
mysql -uroot -p000000
show databases;
use ChincSkilldb;
show tables;
select * from testable;
19.使用镜像 Openstack-error-2 重建云主机“all-in-one”(账号: root 密码: 000000)。重建后的云主机后,安装swift对象存储服务完成后,使用swift stat查看状态时发现报错,请结合错误信息排查错误,使swift对象存储功能可以正常使用。

20.在openstack私有云平台上,添加controller节点资源到云平台(即controller节点也作为compute节点使用)。

编辑/etc/xiandian/openrc.sh
将
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
改为
HOST_IP_NODE=192.168.100.10
HOST_NAME_NODE=controller
控制节点执行
iaas-install-nova-compute.sh 

21.从PC机上传CentOS_7.5_x86_64.qcow2文件到controller节点,并在openstack私有云平台上,使用glance相关命令上传镜像,镜像源为CentOS_7.5_x86_64.qcow2,名为Gmirror1,min _ram为2048M,min_disk为30G。

glance image-create --name Gmirror1 --disk-format qcow2 --container-format bare --min-disk 30 --min-ram 2048 < CentOS_7.5_x86_64.qcow2

22.在云主机VM1上,对附加的云盘进行分区格式化后,永久挂载到/opt目录下。

#分区
fdisk或parted分区
#格式化
mkfs -t 类型
#永久挂载
编辑/etc/fstab
/dev/vdb /opt 磁盘类型 defaults 0 0
23.使用镜像 Openstack-error-3 重建云主机“all-in-one”(账号: root 密码: 000000)。重建后的云主机内的openstack 平台中,无法创建虚拟机并一直显示scheduler(调度),请结合报错信息排查错误,使云平台可以正常使用.

24.在openstack私有云平台上,将云主机Hostrans使用手动迁移的方式,迁移至另一个计算节点。

#查看云主机在哪个节点
nova show com | grep hostname
#查看云主机ID
nova show com | grep id
#暂停云主机
openstack server stop 云主机名称
#迁移云主机
scp /var/lib/nova/instances/云主机ID controller:/var/lib/nova/instances/
#修改数据库
mysql -uroot -p000000
updata nova.instance set host='controller',node='controller' where uuid='云主机id'
#重启两个节点服务
openstack-server restart

25.在openstack私有云平台上,配置swift对象存储为glance的后端存储。

#编辑/etc/glance/glance-api.conf
在[glance_store]下修改
default_stone = 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
swift_store_user = service:swift
swift_store_key = swift 
swift_store_container = glance 
swift_store_create_container_on_put = True 
swift_store_large_object_size = 5120  
swift_store_large_object_chunk_size = 200 
swift_enable_snet = False
#重启glance服务
systemctl restart openstack-glance-api
26.使用镜像 Openstack-error-5.qcow2 重建云主机“all-in-one”(账号: root 密码: 000000)。重建后的云主机内的openstack 平台中,一台云主机磁盘出现了不足的现象,需要给云主机挂载一块磁盘。管理员在使用cinder服务创建磁盘的时候,发生错误,请结合报错信息排查错误,使该功能可以正常使用

27.在提供的OpenStack平台上,对cinder存储空间进行扩容操作,要求将cinder存储空间扩容10G。

#先分区
#创建物理卷
pvcreate /dev/分区名
#扩展cinder卷组
vgextend cinder-volumes /dev/分区名
28.在OpenStack私有云平台,创建一台云主机,使用提供的软件包,编写一键部署脚本,要求可以一键部署gpmall商城应用系统。
29.使用manila共享文件系统服务,使manila为多租户云环境中的共享文件系统提供统一的管理服务。
30.使用Blazar服务,使得管理员可以在OpenStack中为虚拟(实例,卷等)和物理(主机,存储等)的不同资源类型提供资源预留的能力。
31.使用cloudkitty计费服务,处理来自不同监控指标后端的数据并进行计费规则创建。以达到费用核算目的。
32.在OpenStack私有云平台,创建一台云主机,使用提供的软件包,编写一键部署脚本,要求可以一键部署owncloud云网盘应用系统。

33.OpenStack各服务内部通信都是通过RPC来交互,各agent都需要去连接RabbitMQ;随着各服务agent增多,MQ的连接数会随之增多,最终可能会到达上限,成为瓶颈。使用提供的OpenStack私有云平台,通过修改limits.conf配置文件来修改RabbitMQ服务的最大连接数为10240

#修改/etc/sysctl.conf
增加fs.file-max=10240
#修改/etc/security/limits.conf
添加openstack soft nofile 10240
openstack hard nofile 10240
#修改 /usr/lib/systemd/ststem/rabbitmq-server
在[Service]下添加LimitNOFILE=10240

34.使用自动搭建的OpenStack平台,登录数据库,创建库test,并在库test中创建表company(表结构如(id int not null primary key,name varchar(50),addr varchar(255))所示),在表company中插入一条数据(1,"alibaba","china")

mysql -uroot -p000000
create database test;
create table test.company(id int primary key,name varchar(50),addr varchar(255));
insert into test.company(id,name,addr) values(1,"alibaba","china");

35.在提供的OpenStack私有云平台上,在/root目录下编写Heat模板create_user.yaml,创建名为heat-user的用户,属于admin项目,并赋予heat-user用户admin的权限,配置用户密码为123456。

vim create_user.yaml
heat_template_version: 2018-03-02
resources:
  user:
    type: OS::Keystone::User
    properties:
      name: heat-user
      password: 123456
      default_project: admin
      roles: [{"role":"admin","project":"admin"}]
36.使用提供的OpenStack私有云平台,修改相关配置文件,启用-device virtio-net-pci in kvm。

37.在提供的OpenStack平台上,通过修改相关参数对openstack平台进行调优操作,相应的调优操作有:

(1)预留前2个物理CPU,把后面的所有CPU分配给虚拟机使用(假设vcpu为16个);

(2)设置cpu超售比例为4倍;

(1)
修改/etc/nova/nova.conf文件
将vcpu_pin_set改为vcpu_pin_set=3-16
(2)
修改/etc/nova/nova.conf文件
将cpu_allocation_ratio=0.0改为cpu_allocation_ratio=4.0

38..在提供的OpenStack平台上,对mencached服务进行操作使memcached的缓存由64MB变为256MB。

修改/etc/sysconfig/memcached文件
将文件内的CACHESIZE="64"改为CACHESIZE="256"

39.在提供的OpenStack平台上,编写heat模板createnet.yml文件,模板作用为按照要求创建一个网络和子网。

#编写文件
heat_template_version: 2018-03-02
resources:
  net:
    type: OS::Neutron::Net
    properties:
      name: "net"
      shared: true
      admin_state_up: true
  subnet:
    type: OS::Neutron::Subnet
    properties:
      cidr: 10.10.2.0/24
      enable_dhcp: true
      gateway_ip: 10.10.2.1
      allocation_pools:
        - start: 10.10.2.20
          end: 10.10.2.100
      name: "subextnet"
      network_id: {get_resource: "net"}

40.使用提供的OpenStack私有云平台,修改普通用户权限,使普通用户不能对镜像进行创建和删除操作

41.在OpenStack私有云平台,创建一台云主机,并创建一个40G大小的cinder块存储,将块存储连接到云主机,然后在云主机上对云硬盘进行操作。要求分出2个大小为10G的分区,使用这2个分区,创建名为/dev/md0、raid级别为0的磁盘阵列,最后将md0格式化为ext4格式并挂载至/mnt目录。

#先分区
分出两个大小为10G的分区
#创建raid0
mdadm -C /dev/md0 -l 0 -n 2 /dev/vdc{1,2}
#格式化磁盘
mkfs -t ext4 /dev/md0
#挂载
mount /dev/md0 /mnt/
41.使用cyborg硬件加速服务,实现硬件资源的发现、上报、挂载\卸载等资源管理。
42.在OpenStack私有云平台,创建一台云主机,编写脚本,要求可以完成数据库的定期备份,并把数据库备份文件存放在/opt目录下。

无法定期备份

#!/usr/bin/bash
back_dir=/opt/				#备份文件保存路径
dd=`date +%F`					#日期
tool=mysqldump				#备份工具
user=root							#要登陆用户
passwd=000000					#用户密码
sql=user							#要备份的数据库
$tool -u$user -p$passwd $sql > $back_dir/$dd-$sql.sql
43.使用提供的iaas-error3镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为nova服务无法正常使用,创建云主机报错,请结合报错信息排查错误,使nova服务可以正常使用,可以正常创建云主机

44.在提供的OpenStack私有云平台上,在/root目录下编写Heat模板create_net.yaml,创建名为Heat-Network网络,选择不共享;创建子网名为Heat-Subnet,子网网段设置为10.20.2.0/24,开启DHCP服务,地址池为10.20.2.20-10.20.2.100。

heat_template_version: 2018-03-02
resources:
  net:
    type: OS::Neutron::Net
    properties:
      name: "Heat-Network"
      shared: false
      admin_state_up: true
  subnet:
    type: type: OS::Neutron::Subnet
    properties:
      name: Heat-Subnet
      cidr: 10.20.2.0/24
      enable_dhcp: true
      geteway: 10.20.2.1
      allocation_pools:
        - start: 10.20.2.20
          end: 10.20.2.100
      network_id: {get-resource: net}

45.在提供的OpenStack私有云平台,创建一台云主机(镜像使用CentOS7.9,flavor使用带临时磁盘50G的),配置该主机为nfs的server端,将该云主机中的/mnt/test目录进行共享(目录不存在可自行创建)。然后配置controller节点为nfs的client端,要求将/mnt/test目录作为glance后端存储的挂载目录。

#分区,格式化
#挂载到/mnt/test
#安装nfsyum install -y nfs-utils rpcbind
#编辑配置文件/etc/exports
写入/mnt/test *(rw,async,no_root_squash)

controller节点:
#安装nfs服务yum install -y nfs-utils rpcbind
#编辑文件/etc/fstab
#写入 server端IP:/mnt/test/ /var/lib/glance/images nfs defaults netdev 0 0
#更改/var/lib/glance/images所属组和所属主
chown -R glance:glance /var/lib/glance/images/

46.使用OpenStack私有云平台,找到virsh中ID为10的云主机(若不存在请自行创建)。在云主机所在的物理节点,进入virsh交互式界面,使用virsh命令,将memory虚拟机的内存调整为5242880KB大小。

?怎么创建ID为10的云主机
#进入virsh
#list获取云主机列表
#setmem 云主机id 5242880KB
#查看dominfo 云主机id

47.使用OpenStack私有云平台,使用centos7.9镜像,flavor使用1vcpu/2G内存/40G硬盘,创建云主机cscc_vm,假设在使用过程中,发现该云主机配置太低,需要调整,请修改相应配置,将dashboard界面上的云主机调整实例大小可以使用,将该云主机实例大小调整为2vcpu/4G内存/40G硬盘。

双节点修改配置文件/etc/nova/nova.conf
allow_resize_to_same_host=false改为allow_resize_to_same_host=true
重启nova服务
#创建符合类型的云主机类型
#在图形界面点击调整虚拟机大小,选择符合的云主机类型
48.使用karbor服务,保护云平台上的卷(一般就是映射到VMs上的可进行读写的数据存储载体或设备)
49.使用octavia负载均衡服务,实现云平台上的负载均衡。
50.使用提供的iaas-error4镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为dashboard界面服务无法正常使用,请结合报错信息排查错误,使dashboard界面服务可以正常使用。

51.在openstack私有云平台上,创建云主机VM1,镜像使用cirros。创建成功后,将云主机打快照并保存到controller节点/root/cloudsave目录下,保存名字为csccvm.qcow2。最后使用qemu-img相关命令,将镜像的campat版本修改为0.10(该操作是为了适配某些低版本的云平台)。

 openstack server image create vm1 --name csccvm
 mkdir /root/cloudsave
 openstack image save --file /root/cloudsave/csccvm.qcow2 csccvm
 cd /var/lib/glance/images/
 qemu-img amend -f qcow2 -o compat=0.10 10b86659-1951-452b-9dbf-1ba3d5ad2f9d

52.在提供的OpenStack平台上,编写heat模板createcinder.yml文件,模板作用为按照要求创建一个云硬盘。

heat_template_version: 2018-03-02
resources:
  cinder:
    type: OS::Cinder::Volume
    properties:
      name: yp
      size: 10
53.使用提供的OpenStack平台,创建一台云主机,根据提供的软件包,编写一键部署LNMP+WordPress的部署脚本
54.使用提供的iaas-error5镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为无法创建用户和项目,请结合报错信息排查错误,使keystone服务可以正常使用,可以正常创建用户与项目。

55.使用提供的OpenStack私有云平台,修改相关参数对openstack平台进行调优操作,相应的调优操作有:

(1)预留前2个物理CPU,把后面的所有CPU分配给虚拟机使用(假设vcpu为16个);

(2)设置cpu超售比例为4倍;

(3)设置内存超售比例为1.5倍;

(4)预留2048mb内存,这部分内存不能被虚拟机使用;

(5)预留10240mb磁盘,这部分磁盘不能被虚拟机使用;

(6)设置nova服务心跳检查时间为120秒。

#编辑配置文件/etc/nova/nova.conf
vcpu_pin_set = "3-16"
cpu_allocation_ratio=4.0
ram_allocation_ratio=1.5
reserved_host_disk_mb=10240
reserved_host_memory_mb=2048
shutdown_timeout=120还是graceful_shutdown_timeout=120

56.在提供的OpenStack平台上,编写heat模板createswift.yml文件,模板作用为按照要求创建容器。

heat_template_version: 2018-03-02
resources:
  container:
    type: OS::Swift::Container
    properties:
      name: skill
57.在OpenStack私有云平台,创建一台云主机,使用提供的软件包,编写脚本,要求可以一键部署nfs服务。
58.使用提供的iaas-error6镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为所有的命令均无法正常使用,请结合报错信息排查错误,使OpenStack平台服务可以正常使用。

59.在提供的OpenStack平台上,使用Cinder块存储服务,创建块存储卷,并使用该卷连接到云主机

openstack volume create cinder 40
openstack server add volume con cinder

60.在提供的OpenStack平台上,编写heat模板createuser.yml文件,模板作用为按照要求创建项目与用户,并赋予用户admin权限

heat_template_version: 2018-03-02
resources:
  user:
    type: OS::Keystone::User
    properties:
      name: user
      password: 000000
      domain: demo
      default_project: admin
      roles: [{"role":"admin","project":"admin"}]
61.使用提供的iaas-error7镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为neutron网络命令无法正常使用,请结合报错信息排查错误,使neutron服务可以正常使用。

62.使用提供的OpenStack私有云平台,优化KVM的I/O调度算法,将默认的deadline修改为none模式

echo 'noop' > /sys/block/sda/queue/scheduler 
 cat /sys/block/sda/queue/scheduler

63.使用提供的OpenStack私有云平台,申请三台云主机,使用提供的http源,在两个节点自行安装redis服务并启动,配置redis的访问需要密码,密码设置为123456。然后将这三个redis节点配置为redis的一主二从三哨兵架构

三节点安装redis:
yum -y install redis
systemctl enable --now redis

主节点:编辑配置文件vi /etc/redis.conf
bind 0.0.0.0
protected-mode no
daemonize yes
masterauth 123456
requirepass 123456
重启redis

从节点:编辑配置文件vi /etc/redis.conf
bind 0.0.0.0
protected-mode no
daemonize yes
slaveof 192.168.20.104 6379
masterauth 123456
requirepass 123456

哨兵架构:
三节点均为此配置
port 26379					端口默认为26379。

protected-mode no		关闭保护模式,可以外部访问。

daemonize yes				设置为后台启动。

sentinel monitor mymaster 192.168.20.104 6379 2
指定主机IP地址和端口(三台配置均为指定主机ip),并且指定当有2台哨兵认为主机宕机,则对主机进行容灾切换。mymaster:设置master名字,必须在其它有用到该名字的命令之前设置

sentinel auth-pass mymaster 123456		当在Redis实例中开启了requirepass,这里就需要提供密码。

sentinel down-after-milliseconds mymaster 3000	这里设置了主机多少秒无响应,则认为挂了。此处3秒

snetinel parallel-syncs mymaster 1		主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。

sentinel failover-timeout mymaster 180000		故障转移的超时时间,这里设置为三分钟。

启动哨兵模式:
redis-sentinel /etc/redis-sentinel.conf
64.使用提供的OpenStack私有云平台,申请三台云主机,分别命令为node1、node2、node3,使用提供的软件包,在这三个节点上安装数据库服务,数据库密码设置为123456。将这三个节点配置为数据库高可用集群即MariaDB_Galera_Cluster。
65.使用提供的iaas-error8镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为上传镜像一直处于pending状态,请结合报错信息排查错误,使glance服务可以正常使用
66.使用上一题配置完成的数据库集群,使用提供的mariadb-repo.tar.gz软件包,安装haproxy负载均衡服务。配置node1节点为负载均衡的窗口,配置负载均衡为轮询算法;HA服务监听的端口为node1节点的3307端口;配置访问三个节点的权重依次为1,2,4。
67.在OpenStack私有云平台,创建一台云主机,编写脚本,使得可以一键部署ELK系统。

68.在提供的OpenStack平台上,上传cirros镜像,并对该镜像打上一个test的标签

glance image-create --name "cirros" --disk-format qcow2 --container-format bare --tag test < cirros-0.5.2-x86_64-disk.qcow2
69.使用提供的iaas-error9镜像创建云主机,创建后的云主机内有错误的OpenStack平台,错误现象为cinder服务因创建的卷太多,无法满足使用,请结合报错信息排查错误,扩容cinder存储池,使cinder服务可以正常使用

70.在提供的OpenStack平台上,通过nova的相关命令创建云主机类型,名字exam,ID为1234,内存为1024,硬盘为20G,虚拟内核数量为2。并修改云平台中默认每个tenant的实例配额为20个。

#创建云主机类型
nova flavor-create exam 1234 1024 20 2
#修改配额
nova quota-class-update default --instances 20

71.在提供的OpenStack平台上,使用Zun组件创建容器

zun run --name test cirros

zun服务是容器管理服务

72.在日常运维管理中,安装包的依赖关系冲突是经常存在的。在控制节点,安装libguestfs-tools工具的时候,会发生依赖包的冲突,请解决依赖关系的报错,完成libguestfs-tools工具的安装
73.在OpenStack私有云平台,创建一台云主机,编写脚本,要求可以完成数据库的定期备份,把数据库备份文件存放在/opt目录下,要求每个备份文件都已时间命名,并只保留一个月的备份文件,超过一个月的自动删除
74.在提供的OpenStack平台上,使用ceilometer相关命令,修改名称为cpu_hi的告警状态为不生效

75.在自行搭建的 OpenStack平台中修改相关参数,使 glance 可以使用 cinder作为后端存储, 将镜像存储于 cinder 卷中。使用 cirros-0.3.4-x86_64-disk.img 文件创建 cirros-image 镜像存储 于 cirros-cinder 卷中,通过 cirros-image 镜像使用 cinder 卷启动盘的方式进行创建虚拟机

# 修改glance-api.conf,在行3350
stores=file,http,cinder
[default_store=cinder]

# 修改cinder.conf
allowed_direct_url_schemes = cinder
image_upload_use_internal_tenant=True

systemctl restart openstack-cinder* openstack-glance*
openstack image create cirros-image --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public 
openstack volume create cirros-cinder --image cirros-image --size 1
openstack server create cirros --volume cirros-cinder --network eth0 --flavor 2

76.在 OpenStack 平台的一台计算节点创建虚拟机,若是第一次在该节点创建次虚拟机,会 先将镜像文件复制到该计算节点目录/var/lib/nova/instances/_base。长期下来,该目录会占用 比较大的磁盘空间而要清理。可以通过修改 nova 的配置文件来自动清理该缓存目录,即在 该节点没有使用某镜像启动的云主机,那么这个镜像在过一定的时间后会被自动删除

sed -i 'remove_unused_base_images=true' /etc/nova/nova.conf
systemctl restart openstack-nova*