【云计算比赛】2021江西省-openstack运维

【任务 3】OpenStack 运维任务[15 分]

【题目 1】镜像管理

在 openstack 私有云平台上,基于 cirros-0.3.4-x86_64-disk.img 镜

像,使用命令创建一个名为 cirros 的镜像。完成后提交控制节点的用
户名、密码和 IP 地址到答题框。

  • 基于openstack命令创建
1
[root@controller ~]# openstack image create --disk-format qcow2 --file cirros-0.3.0-x86_64-disk.img  cirros
  • glance组件创建
1
[root@controller ~]# glance image-create --disk-format qcow2 --file cirros-0.3.0-x86_64-disk.img --container-format bare  --name cirros2

【题目 2】实例类型管理

在 openstack 私有云平台上,使用命令创建一个名为 Fmin,ID 为 1,内存为 1024 MB,磁盘为 10 GB,vcpu 数量为 1 的云主机类型。
完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  • 基于openstack命令创建
1
2
3
4
5
6
7
8
9
[root@controller ~]# openstack flavor create  --id 1  --ram 1024 --disk 10 --vcpus 1  Fmin


[root@controller ~]# openstack flavor list
+----+------+------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+------+------+------+-----------+-------+-----------+
| 1 | Fmin | 1024 | 10 | 0 | 1 | True |
+----+------+------+------+-----------+-------+-----------+

【题目 3】网络管理

在 openstack 私有云平台上,创建云主机网络 extnet,子网 extsubnet,虚拟机网段为 192.168.y.0/24(其中 y 是 vlan 号),网关为 192.168.y.1。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  • 只演示命令行

创建网络extnet

1
2
3
4
5
[root@controller ~]# openstack network create --provider-physical-network provider --provider-network-type vlan --external extnet

#openstack network 参数
# --external 设置为外部网络
# --internal 设置为内部网络

创建子网

1
2
3
4
5
6
[root@controller ~]# openstack subnet create extsubnet --gateway 192.168.200.2 --subnet-range 192.168.200.0/24 --network extnet

extsubnet #子网名称
--gateway #网关
--subnet-range #网段
--network #指定在哪个网络创建子网

【题目 4】云主机管理

在 openstack 私有云平台上,基于“cirros”镜像、flavor 使用“Fmin”、 extnet 的网络,创建一台虚拟机 VM1,启动 VM1,并使用 PC 机能远程登录到 VM1。提交控制节点的用户名、密码和 IP 地址到答题框。

  • 只演示命令行

  • 上传的镜像

1
2
3
4
5
6
[root@controller ~]# openstack image list
+--------------------------------------+---------+--------+
| ID | Name | Status |
+--------------------------------------+---------+--------+
| 998692de-c2b7-4bef-a221-e420dbc8094f | cirros | active |
+--------------------------------------+---------+--------+
  • 创建的实例类型
1
2
3
4
5
6
[root@controller ~]# openstack flavor list
+----+------+------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+------+------+------+-----------+-------+-----------+
| 1 | Fmin | 1024 | 10 | 0 | 1 | True |
+----+------+------+------+-----------+-------+-----------+
  • 创建的网络
1
2
3
4
5
6
[root@controller ~]# openstack network list
+--------------------------------------+--------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+--------+--------------------------------------+
| 6d38009c-7893-41bf-acd9-7f1c6dae2ba1 | extnet | 798c9069-dd33-417e-94dc-3a9381562cf3 |
+------------------------
  • 创建虚拟机
1
[root@controller ~]# openstack server create --image cirros --flavor Fmin --network extnet VM1

【题目 5】Cinder 管理

在 openstack 私有云平台上,创建一个名为“lvm”的卷类型,创
建一块卷设备,名字为 block、类型为 lvm 的 40G 云硬盘,并附加到
虚拟机 VM1 上。完成后提交控制节点 IP 地址、用户名和密码到答题
框。

  • 只演示命令行
1
2
3
$ openstack volume type create lvm
$ openstack volume create --type lvm --size 40 block
$ openstack volume list
1
2
# 绑定硬盘
$ openstack server add volume VM1 block

【题目 6】Raid 管理

在 OpenStack 私有云平台,创建一台云主机,并创建一个 40G 大
小的 cinder 块存储,将块存储连接到云主机,然后在云主机上对云硬
盘进行操作。要求分出 4 个大小为 5G 的分区,使用这 4 个分区,创
建名为/dev/md5、raid 级别为 5 的磁盘阵列加一个热备盘(使用最后
一个分区作为热备盘)。完成后提交云主机的用户名、密码和 IP 地址
到答题框。

  • 只演示命令行
1
[root@controller ~]# openstack server create --image centos7_x --flavor Fmin --network extnet VM2
1
2
3
4
5
[root@controller ~]# openstack volume type create lvm
[root@controller ~]# openstack volume create --type lvm --size 40 v2
[root@controller ~]# openstack volume list
# 绑定硬盘
[root@controller ~]# openstack server add volume VM2 v2
  • 配置yum源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@vm1 yum.repos.d]# cd /etc/yum.repos.d/
[root@vm1 yum.repos.d]# rm -rf *
[root@vm1 yum.repos.d]# vim local.repo

[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[root@vm1 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
centos centos 4,071
repolist: 4,071
[root@vm1 yum.repos.d]#
  • 分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[root@vm1 ~]# fdisk /dev/vdb

Command (m for help): p

Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5fa0c5d7

Device Boot Start End Blocks Id System

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-83886079, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079): +5G
Partition 1 of type Linux and of size 5 GiB is set

#分4个区 步骤重复即可


Command (m for help): p

Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5fa0c5d7

Device Boot Start End Blocks Id System
/dev/vdb1 2048 10487807 5242880 83 Linux
/dev/vdb2 10487808 20973567 5242880 83 Linux
/dev/vdb3 20973568 31459327 5242880 83 Linux
/dev/vdb4 31459328 41945087 5242880 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
  • 创建raid5
1
2
3
4
5
[root@vm1 yum.repos.d]# mdadm -C -v /dev/md5 -l 5 -n 3 /dev/vdb[1-3] -x1 /dev/vdb4

#查看状态
[root@vm1 yum.repos.d]# cat /proc/mdstat
[root@vm1 yum.repos.d]# mdadm -D /dev/md5

【题目 7】数据库主从管理

使用 OpenStack 私有云平台,创建两台云主机 vm1 和 vm2,在
这两台云主机上分别安装数据库服务,并配置成主从数据库,vm1 节

点为主库,vm2 节点为从库(数据库密码设置为 000000)。完成后提
交数据库从节点 vm2 节点的用户名、密码和 IP 地址到答题框。

  • 只演示命令行

  • 创建云主机

1
2
[root@controller ~]#  openstack server create --image centos7_x --flavor Fmin --network extnet vm1
[root@controller ~]# openstack server create --image centos7_x --flavor Fmin --network extnet vm2
  • 主机名,yum配置、数据库安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#vm1
[root@vm1 ~]# hostnamectl set-hostname master
[root@vm1 ~]# bash
[root@master ~]# cd /etc/yum.repos.d/
[root@master ~]# rm -rf *
[root@master ~]# vim ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[root@master ~]# yum -y install mariadb-server mariadb
[root@master ~]# systemctl start mariadb
[root@master ~]# mysql_secure_installation

#vm2
[root@vm2 ~]# hostnamectl set-hostname slave
[root@vm2 ~]# bash
[root@slave ~]# cd /etc/yum.repos.d/
[root@slave ~]# rm -rf *
[root@slave ~]# vim ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[root@slave ~]# yum -y install mariadb-server mariadb
[root@master ~]# systemctl start mariadb
[root@master ~]# mysql_secure_installation
  • master配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#修改主服务器mariadb配置文件
[root@master ~]# vim /etc/my.cnf

在[mysqld]配置段添加如下内容,开启二制文件功能
server-id=1 #定义主服务ID,要求唯一性
log-bin=master-bin #开启二进制文件功能,可以自定义文件名称

[root@master ~]#systemctl restart mariadb


# 授权备用服务器账号与密码
MariaDB [(none)]> grant replication slave on *.* to "slave"@"%" identified by "123456";


MariaDB [(none)]> show master status;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000003 | 388 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
  • slave配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@slave ~]# vim /etc/my.cnf
在[mysqld]配置段添加如下内容
server-id=2

[root@slave ~]#systemctl restart mariadb

MariaDB [(none)]> change master to master_host="master",master_user="slave",master_password="000000",master_log_file="master-bin.000003",master_log_pos=388;
Query OK, 0 rows affected (0.05 sec)

# master_log_file,master_log_pos的值为上面master查看master状态得到了


MariaDB [(none)]> slave start;

#查看从服务器状态Slave_IO_Running和Slave_SQL_Running都为Yes即可
MariaDB [(none)]> show slave status\G
  • 验证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#master创建数据库
MariaDB [(none)]> create database demo charset utf8;

#slave查看数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| demo |
| mysql |
| performance_schema |
| test |
+--------------------+
7 rows in set (0.00 sec)

【题目 8】云平台安全策略提升

使用 OpenStack 私有云平台,通过提供的相关软件包,安装必要
组件,将私有云平台的访问策略从 http 提升至 https。完成后提交控
制节点的用户名、密码和 IP 地址到答题框。

  • controller
1
2
3
4
5
6
7
8
9
10
[root@controller ~]# yum -y install mod_ssl
[root@controller ~]# vim /etc/openstack-dashboard/local_settings
49 CSRF_COOKIE_SECURE = True
50 SESSION_COOKIE_SECURE = True
找到上面行 取消注释

添加
USE_SSL = True

[root@controller ~]# systemctl restart httpd

微信截图_20220508203909