OpenStack运维
1.使用提供的云安全框架组件,将提供的OpenStack云平台的安全策略从http优化至https。
-
下载mod_ssl
-
配置/etc/openstack-dashboard/local_settings文件
-
添加
USE_SSL = True CSRF_COOKIE_SECURE = True #配置文件里有,删掉注释即可 SESSION_COOKIE_SECURE = True #配置文件里有,删掉注释即可 SESSION_COOKIE_HTTPONLY = True
-
编辑/etc/httpd/conf.d/ssl.conf
-
将
SSLProtocol all -SSLv2 -SSLv3
改为SSLProtocol all -SSLv2
2.在提供的OpenStack平台上,通过修改相关参数对openstack平台进行调优操作,相应的调优操作有:
(1)设置内存超售比例为1.5倍;
- 修改配置文件/etc/nova/nova.conf
- 将
ram_allocation_ratio=0.0
改为ram_allocation_ratio=1.5
- 将
(2)设置nova服务心跳检查时间为120秒。
- 修改配置文件
- 将
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*
标签:运维,--,主机,创建,openstack,iaas,OpenStack,节点
From: https://www.cnblogs.com/niedaizhi/p/17750024.html