2021 RHCSA考题题目

模拟环境下载:链接:https://pan.baidu.com/s/1T0ny1EYZhJPHe4Vk_QF5Pw 提取码:770r

考试环境

机器信息

RHCSA考试环境只有两台虚拟机,模拟环境可能有classroom和bastion其他两台虚拟机,不用管它。

主机名 IP地址 角色
servera 172.25.250.10 考试需要操作的机器
serverb 172.25.250.11 考试需要操作的机器

登陆密码

  • 第一台虚拟机的登陆用户名是root,密码是redhat
  • 第二台虚拟机需要按照题目要求重置密码

考试期间题目没有要求,不要修改密码

RHCSA考试环境还原:

  • 快照里面选择“RHCSA考试模拟环境”即可。

    • 可能会提示这个错误:“此虚拟机的处理器所支持的功能不同于保存虚拟机状态的虚拟机的处理器所支持的功能,是否继续运行虚拟机”。选择否。然后会提示:“还原CPU状态时候出错”,选择放弃
  • 启动虚拟机。修改root密码(方法参考下面修改密码的题目)。grub加密了:用户名root,密码Asimov

  • 开机后开启虚拟机

    [root@foundation0 ~]# virsh start servera
    [root@foundation0 ~]# virsh start serverb
    [root@foundation0 ~]# virsh list --all
    
  • 考试时候不需要上面这些操作,会有一个虚拟机管理的小工具,可以对虚拟机启动,关机,重启,重置等

注意: 考试时候全部在控制节点操作

开机

virsh start servera
virsh start serverb
virsh start bastion

请在servera机器操作

一、给servera配置网络地址

给servera配置以下网络配置

  • 主机名:servera.lab.example.com
  • IP地址:172.25.250.100
  • 子网掩码:255.255.255.0
  • 网关:172.25.250.254
  • DNS:172.25.250.254
#设置主机名
[root@foundation0 ~]# ssh root@servera
[root@servera ~]# hostnamectl set-hostname servera.lab.example.com
[root@servera ~]# cat /etc/hostname 
servera.lab.example.com
#设置ip地址
#查看网卡配置,有则改,没有则加
[root@servera ~]# nmcli conn show 
#修改网卡
[root@servera ~]# nmcli connection modify 'Wired connection 1'  ipv4.addresses 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254 
#启动网卡
[root@servera ~]# nmcli connection up Wired\ connection\ 1 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/21)

二、给servera配置软件仓库

软件仓库地址:

  • http://content/rhel8.0/x86_64/dvd/BaseOS
  • http://content/rhel8.0/x86_64/dvd/AppStream
[root@foundation0 ~]# ssh root@servera
#清空repo仓库文件(考试不用操作)
[root@servera ~]# rm -f /etc/yum.repos.d/*.repo

#考试操作
[root@servera ~]# cd /etc/yum.repos.d/
[root@servera yum.repos.d]# cat rhcsa.repo 
[baseos]
name=BaseOS
baseurl=http://content/rhel8.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=0

[appstream]
name=AppStream
baseurl=http://content/rhel8.0/x86_64/dvd/AppStream
enabled=1
gpgcheck=0

#测试是否配置成功
[root@servera yum.repos.d]# yum makecache

三、给servera调试SELinux

配置httpd在82端口提供web服务,使其满足以下条件:

  • 1)在/var/www/html下面添加index.html文件

  • 2)Web 服务器在端口 82 上提供此内容

  • 3)Web 服务器在系统启动时自动启动

[root@foundation0 ~]# ssh root@servera
#确保安装httpd和设置开机启动
[root@servera ~]# yum install httpd -y
[root@servera ~]# systemctl start httpd && systemctl enable httpd
#修改web服务端口
[root@servera ~]# vim /etc/httpd/conf/httpd.conf
Listen 82
#确保selinux是开启状态,然后修改selinux策略
[root@servera ~]# getenforce 
Enforcing
#semanage命令不会写可以参考semanage --help和semanage port --help
[root@servera ~]# semanage port -a -t http_port_t -p tcp 82
[root@servera ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      82, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
#重启httpd服务
[root@servera ~]# systemctl restart httpd
#生成index.html文件(考试时候不用操作,有测试的三个文件file1,file2,file3)
[root@servera ~]# echo hello world > /var/www/html/index.html
#访问测试
[root@servera ~]# curl 127.0.0.1:82
hello world

四、给servera创建用户和组

创建下列用户、组和组成员资格:

  • 名为sysmgrs的组

  • 用户natasha,附属组为sysmgrs

  • 用户harry,附属组为sysmgrs

  • 用户sarah,没有可交互式的shell,且不属于sysmgrs组

  • natasha 、 harry 和 sarah 的密码应当都是redhat

[root@foundation0 ~]# ssh root@servera
#创建sysmgrs组
[root@servera ~]# groupadd sysmgrs
#创建natasha用户
[root@servera ~]# useradd natasha -G sysmgrs
#创建harry用户
[root@servera ~]# useradd harry -G sysmgrs
#创建sarah用户
[root@servera ~]# useradd -s /sbin/nologin sarah
#修改三个用户的密码
echo redhat | passwd --stdin natasha
echo redhat | passwd --stdin harry
echo redhat | passwd --stdin sarah

#检查三个用户
[root@servera ~]# id natasha
uid=1002(natasha) gid=1003(natasha) groups=1003(natasha),1002(sysmgrs)
[root@servera ~]# id harry
uid=1003(harry) gid=1004(harry) groups=1004(harry),1002(sysmgrs)
[root@servera ~]# id sarah
uid=1004(sarah) gid=1005(sarah) groups=1005(sarah)

五、给servera配置cron计划任务

配置计划任务,以用户natasha的身份每两分钟执行一次这个命令:logger "EX200 in progress"

[root@servera ~]# crontab -e -u natasha
*/2 * * * * logger "EX200 in progress"

#确认
[root@servera ~]# su - natasha
[natasha@servera ~]$ crontab -l
*/2 * * * * logger "EX200 in progress"

六、Linux权限划分

创建具有以下特征的协作目录 /home/managers :

  • /home/managers 的组用权是 sysmgrs

  • 目录应当可被 sysmgrs 的成员读取、写入和访问,但任何其他用户不具这些权限。(当然,root 用户有权访问系统上的所有文件和目录)

  • /home/managers 中创建的文件自动将组所有权设置到 sysmgrs 组

[root@servera ~]# mkdir /home/managers
[root@servera ~]# chown root:sysmgrs /home/managers
[root@servera ~]# chown root:sysmgrs /home/managers
[root@servera ~]# chmod 2770 /home/managers

#检查权限是否正确
[root@servera ~]# su - harry
[harry@servera ~]$ ls -l /home/managers -d
drwxrws---. 2 root sysmgrs 6 Dec  9 21:40 /home/managers
[harry@servera ~]$ touch /home/managers/test.txt
[harry@servera ~]$ ls -l /home/managers/
total 0
-rw-rw-r--. 1 harry sysmgrs 0 Dec  9 21:43 test.txt

七、配置NTP客户端

配置您的系统,使其成为 materials.example.com 的 NTP 客户端。(注:materials.example.com 是 classroom.example.com 的 DNS 别名)

[root@servera ~]# vim /etc/chrony.conf
[root@servera ~]# grep materials.example.com /etc/chrony.conf
server materials.example.com iburst
[root@servera ~]# systemctl restart chronyd.service 
[root@servera ~]# systemctl enable chronyd.service

#检查
[root@servera ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* classroom.example.com         8   6    17    54  -4143ns[  -27us] +/-  430us

八、配置autofs

按照以下要求,在servera上完成autofs自动挂载

  • 将materials.example.com ( 172.25.254.254 )的NFS共享目录/rhome挂载到servera下面。此文件系统包含为用户 remoteuser1 预配置的家目录

  • remoteuser1的家目录是materials.example.com:/rhome/remoteuser1

  • remoteuser1的家目录应自动挂载到servera的/rhome/remoteuser1下

  • 家目录必须可供其用户写入

  • remoteuser1用户的密码是 flectrag

#准备工作,考试不用做。nfs服务端配置是好的
#确保materials.example.com机器上nfs安装并配置正确
[root@servera ~]# ssh materials.example.com
[root@classroom ~]# mkdir -p /rhome/remoteuser1
[root@classroom ~]# chmod 777 /rhome/remoteuser1/
[root@classroom ~]# vim /etc/exports
[root@classroom ~]# systemctl restart nfs-server.service rpcbind
[root@classroom ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/rhome/remoteuser1 *

#考试操作
[root@foundation0 ~]# ssh root@servera
#检查materials.example.com的共享目录
[root@servera ~]# showmount -e materials.example.com
Export list for materials.example.com:
/rhome/remoteuser1 *
#安装autofs和nfs工具包
[root@servera ~]# yum install autofs nfs-utils -y
#修改autofs配置
[root@servera ~]# vim /etc/auto.master #添加一行
/rhome /etc/auto.nfs
[root@servera ~]# vim /etc/auto.nfs		#添加一行
remoteuser1 -rw materials.example.com:/rhome/remoteuser1
#重启autofs
[root@servera ~]# systemctl restart autofs
[root@servera ~]# systemctl enable autofs
#此时df会显示没有挂载,cd进去会触发挂载
[root@servera ~]# cd /rhome/remoteuser1
[root@servera remoteuser1]# df -h
Filesystem                                Size  Used Avail Use% Mounted on
devtmpfs                                  388M     0  388M   0% /dev
tmpfs                                     411M     0  411M   0% /dev/shm
tmpfs                                     411M   16M  395M   4% /run
tmpfs                                     411M     0  411M   0% /sys/fs/cgroup
/dev/vda1                                  10G  1.6G  8.5G  16% /
tmpfs                                      83M     0   83M   0% /run/user/0
materials.example.com:/rhome/remoteuser1   10G  1.6G  8.5G  16% /rhome/remoteuser1
#创建一个remoteuser1 用户测试下(考试时候有这个用户,可以直接ssh连过去)
[root@servera remoteuser1]# useradd -d /rhome/remoteuser1 remoteuser1
[root@servera remoteuser1]# echo flectrag | passwd --stdin remoteuser1
#创建文件测试
[remoteuser1@servera ~]$ date > date.txt
[remoteuser1@servera ~]$ ls -l
total 4
-rw-r--r-- 1 root        root         0 Dec 10 14:48 1.txt
-rw-rw-r-- 1 remoteuser1 remoteuser1 29 Dec 10 15:25 date.txt

九、配置/var/tmp/fstab权限

将文件 /etc/fstab 复制到 /var/tmp/fstab 。配置 /var/tmp/fstab 的权限以满足如下条件:

文件 /var/tmp/fstab 自 root 用户所有

文件 /var/tmp/fstab 属于组 root

文件 /var/tmp/fstab 应不能被任何人执行

用户 natasha 能够读取和写入 /var/tmp/fstab

用户 harry 无法写入或读取 /var/tmp/fstab

所有其他用户(当前或未来)能够读取 /var/tmp/fstab

[root@servera ~]# cp /etc/fstab /var/tmp/fstab
[root@servera ~]# chown root:root /var/tmp/fstab
[root@servera ~]# chmod -x /var/tmp/fstab
[root@servera ~]# setfacl -m u:natasha:rw /var/tmp/fstab 
[root@servera ~]# setfacl -m u:harry:- /var/tmp/fstab
[root@servera ~]# ls -l /var/tmp/fstab	

#检查
[natasha@servera ~]$ ls -l /var/tmp/fstab 
-rw-rw-r--+ 1 root root 428 Dec 10 15:33 /var/tmp/fstab
[natasha@servera ~]$ getfacl /var/tmp/fstab
getfacl: Removing leading '/' from absolute path names
# file: var/tmp/fstab
# owner: root
# group: root
user::rw-
user:natasha:rw-
user:harry:---
group::r--
mask::rw-
other::r--

十、创建用户

配置用户 manalo ,其用户 ID 为 3533。此用户的密码应当为 flectrag。

[root@servera ~]# useradd -u 3533 manalo
[root@servera ~]# echo flectrag | passwd --stdin manalo

#验证
[root@servera ~]# id manalo
uid=3533(manalo) gid=3533(manalo) groups=3533(manalo)

十一、查找文件

查找当 jacques 所有的所有文件并将其副本放入 /root/findfiles 目录

#准备工作,创建个 jacques用户,考试时候有这个用户,不用担心
[root@servera ~]# useradd jacques
#考试时候操作
[root@servera ~]# mkdir /root/findfiles
[root@servera ~]# find / -user jacques -exec cp -a {} /root/findfiles/ \;

十二、查找字符串

查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。将所有这些行的副本按原始顺序放在文件 /root/list 中。 /root/list 不得包含空行,且所有行必须是 /usr/share/xml/iso-codes/iso_639_3.xml 中原始行的确切副本。

#准备工作,创建个 /usr/share/xml/iso-codes/iso_639_3.xml文件,考试时候有这个文件
[root@servera ~]# mkdir -p /usr/share/xml/iso-codes
[root@servera ~]# cp anaconda-ks.cfg /usr/share/xml/iso-codes/iso_639_3.xml
#考试时候操作
[root@servera ~]# grep "ng" /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
#检查,grep过滤两个文件,wc统计行数看下是否一致

十三、创建归档

创建一个名为 /root/backup.tar.gz 的 tar 存档,其应包含 /usr/local 的内容。该 tar 存档必须使用 gzip 进行压缩。

#查看tar命令帮助,考试有可能是考bzip2格式,同理
[root@servera ~]# tar --help | grep gzip
  -z, --gzip, --gunzip, --ungzip   filter the archive through gzip
#创建压缩包
[root@servera ~]# tar zcf /root/backup.tar.gz /usr/local/

十四、添加sudo免密操作

允许sysmgrs组成员sudo时不需要密码

[root@servera ~]# visudo
%sysmgrs	ALL=(ALL)	NOPASSWD: ALL

十五、配置创建新用户的密码策略

创建新用户时,默认密码策略为20天后,密码会过期。

[root@servera ~]# vim /etc/login.defs
PASS_MAX_DAYS   20

#创建用户测试
[root@servera ~]# useradd bob
[root@servera ~]# chage -l bob
Last password change					: Dec 10, 2021
Password expires					: Dec 30, 2021

十六、创建shell脚本

创建一个名为myresearch的脚本

该脚本放置在/usr/local/bin下

该脚本用于查找/usr下所有小于10m且具有修改组ID权限的文件,将这些文件放置于/root/myfiles下

[root@servera ~]# cat /usr/local/bin/myresearch
find /usr -size -10m -type f  -perm -2000 -exec cp -a {} /root/myfiles \;

十七、调整应用

有个rhsca应用,请确保使用victor用户执行rhcsa命令时候会提示”This is RHCSA EXAM“

#1、这个rhcsa应用其实就是一个放在/usr/local/bin下面的一个命令,可以通过which rhcsa来查看
#2、通过file rhcsa发现这个文件是一个二进制可执行文件,不可以vim修改
#3、通过man rhcsa命令可以发现,执行rhcsa命令时候会读取RHCSA_EXAM变量的内容然后打印出来
#4、所以答案就是
	- 1)使用su - victor切换到victor用户下
	- 2)编辑.bashrc文件:vim .bashrc
	- 3)插入一行:export RHCSA_EXAM="This is RHCSA EXAM"

serverb机器操作

serverb ip不对,改完密码后需要调整为172.25.250.200,参考下上面操作。考试时候这一台机器不需要调整ip,已经配置好了

一、修改root密码

root 密码设置为 flectrag

  • 1、 virt-manager进入虚拟机图形化管理界面

  • 2、给serverb重启,grub界面选择第一个,按e

  • 3、linux开头这一行,结尾输入rd.break console=tty0,然后按下control + x

  • 4、使用读写方式重新挂载sysroot,并使用chroot命令切换根目录

    #以读写方式重新挂载/sysroot
    mount -o rw,remount /sysroot
    #切根
    chroot /sysroot
    #修改root密码
    echo flectrag | passwd --stdin root
    #打标签
    touch /.autorelabel
    #两次exit退出
    exit
    

二、配置yum仓库

YUM 存储库已可以从 http://content/rhel8.0/x86_64/dvd/BaseOS 和 http://content/rhel8.0/x86_64/dvd/AppStream 使用配置您的系统,以将这些位置用作默认存储库。

#准备工作,考试时候不用删
[root@serverb ~]# rm -f /etc/yum.repos.d/*.repo

#考试操作,可以将servera的文件复制过来
[root@serverb ~]# cat /etc/yum.repos.d/rhcsa.repo
[baseos]
name=baseos
baseurl=http://content/rhel8.0/x86_64/dvd/BaseOS
enabled=1
gpgcheck=0

[appstream]
name=appstream
baseurl=http://content/rhel8.0/x86_64/dvd/AppStream
enabled=1
gpgcheck=0

#测试是否可用
[root@serverb ~]# yum makecache

三、调整逻辑卷

将逻辑卷 vo 及其文件系统的大小调整到 230 MiB。确保文件系统内容保持不变。

注:分区大小很少与请求的大小完全相同,因此可以接受范围为 217 MiB 到 243 MiB 的大小。

#准备工作,划分一块1GB的磁盘,然后在上面创建一个100MB的逻辑卷(考试时候不用操作,直接调整)
[root@serverb ~]# fdisk /dev/vdb 
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +1G

Created a new partition 1 of type 'Linux' and of size 1 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
[root@serverb ~]# lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  16G  0 disk 
└─vda1 252:1    0  10G  0 part /
vdb    252:16   0   5G  0 disk 
└─vdb1 252:17   0   1G  0 part
[root@serverb ~]# pvcreate /dev/vdb1 
[root@serverb ~]# vgcreate vg1 /dev/vdb1
[root@serverb ~]# lvcreate -L 100M  -n vo   vg1
[root@serverb ~]# mkfs.xfs /dev/vg1/vo 
[root@serverb ~]# mount /dev/vg1/vo /mnt/
[root@serverb ~]# lsblk 
NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda        252:0    0   16G  0 disk 
└─vda1     252:1    0   10G  0 part /
vdb        252:16   0    5G  0 disk 
└─vdb1     252:17   0    1G  0 part 
  └─vg1-vo 253:0    0  100M  0 lvm 
  
#下面是考试时候的操作
[root@serverb ~]# lvextend -L +130M /dev/vg1/vo 
[root@serverb ~]# xfs_growfs /mnt	#考试如果是ext文件系统要将xfs_growfs改为resize2fs,resize2fs后面根设备名称
[root@serverb ~]# df -h /mnt
Filesystem          Size  Used Avail Use% Mounted on
/dev/mapper/vg1-vo  227M  7.3M  220M   4% /mnt

四、添加swap分区

向您的系统添加一个额外的交换分区 756MiB 。交换分区应在系统启动时自动挂载。不要删除或以任何方式改动系统上的任何现有交换分区。

# 创建一块756M的分区
[root@serverb ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 
First sector (2099200-10485759, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-10485759, default 10485759): +756M

Created a new partition 2 of type 'Linux' and of size 756 MiB.

Command (m for help): w
The partition table has been altered.
Syncing disks.
#查看磁盘
[root@serverb ~]# lsblk 
NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda        252:0    0   16G  0 disk 
└─vda1     252:1    0   10G  0 part /
vdb        252:16   0    5G  0 disk 
├─vdb1     252:17   0    1G  0 part 
│ └─vg1-vo 253:0    0  232M  0 lvm  /mnt
└─vdb2     252:18   0  756M  0 part 
#格式化为swap
[root@serverb ~]# mkswap /dev/vdb2
#修改fstab文件
[root@serverb ~]# tail -1 /etc/fstab 
/dev/vdb2	swap swap defaults 0 0
#挂载
[root@serverb ~]# mount -a
#开启swap
[root@serverb ~]# swapon -a
#确认生效
[root@serverb ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:          821Mi       164Mi       419Mi        15Mi       237Mi       518Mi
Swap:         755Mi          0B       755Mi

五、创建逻辑卷

根据如下要求,创建新的逻辑卷:

逻辑卷取名为 qa ,属于 qagroup 卷组,大小为 60 个扩展块

qagroup 卷组中逻辑卷的扩展块大小应当为 16 MiB

使用 ext3 文件系统格式化新逻辑卷。该逻辑卷应在系统启动时自动挂载到 /mnt/qa 下

#创建一块大小为1G的新的磁盘
[root@serverb ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 
First sector (3647488-10485759, default 3647488): 
Last sector, +sectors or +size{K,M,G,T,P} (3647488-10485759, default 10485759): +1G

Created a new partition 3 of type 'Linux' and of size 1 GiB.

Command (m for help): w
The partition table has been altered.
Syncing disks.
#查看磁盘分配情况
[root@serverb ~]# lsblk 
NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda        252:0    0   16G  0 disk 
└─vda1     252:1    0   10G  0 part /
vdb        252:16   0    5G  0 disk 
├─vdb1     252:17   0    1G  0 part 
│ └─vg1-vo 253:0    0  232M  0 lvm  /mnt
├─vdb2     252:18   0  756M  0 part [SWAP]
└─vdb3     252:19   0    1G  0 part 
#创建pv
[root@serverb ~]# pvcreate /dev/vdb3
#创建vg,执行拓展块大小为16M
[root@serverb ~]# vgcreate -s 16M qagroup /dev/vdb3
#创建逻辑卷,指定拓展块个数为60
[root@serverb ~]# lvcreate -l 60 -n qa qagroup
#格式化
[root@serverb ~]# mkfs.ext3 /dev/qagroup/qa
#创建/mnt/qa目录并写入fstab文件
[root@serverb ~]# tail -1 /etc/fstab
/dev/qagroup/qa /mnt/qa ext3 defaults 0 0
[root@serverb ~]# mkdir -p /mnt/qa
#挂载
[root@serverb ~]# mount -a
#查看磁盘挂载情况
[root@serverb ~]# df -h /mnt/qa/
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/qagroup-qa  929M  1.2M  880M   1% /mnt/qa

六、创建vdo卷

考试时候有vdc磁盘,不需要自己创建

根据如下要求,创建新的 VDO 卷:

  • 使用未分区的磁盘

  • 该卷的名称为 vdough

  • 该卷的逻辑大小为 50G

  • 该卷使用 xfs 文件系统格式化

  • 该卷(在系统启动时)挂载到 /vbread 下

给serverb加一块50G磁盘做实验

#安装vdo工具
[root@serverb ~]# yum install vdo -y
#查看磁盘
[root@serverb ~]# lsblk 
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda            252:0    0   16G  0 disk 
└─vda1         252:1    0   10G  0 part /
vdb            252:16   0    5G  0 disk 
├─vdb1         252:17   0    1G  0 part 
│ └─vg1-vo     253:0    0  232M  0 lvm  
├─vdb2         252:18   0  756M  0 part [SWAP]
└─vdb3         252:19   0    1G  0 part 
  └─qagroup-qa 253:1    0  960M  0 lvm  /mnt/qa
vdc            252:32   0   50G  0 disk
#查看vdo命令帮助
[root@serverb ~]# man vdo | grep vdo.*create
       # vdo create --name=vdo0 --device=/dev/sdb1 --vdoLogicalSize=10T
[root@serverb ~]# vdo create --name=vdough --device=/dev/vdc --vdoLogicalSize=50G
Creating VDO vdough
Starting VDO vdough
Starting compression on VDO vdough
VDO instance 0 volume is ready at /dev/mapper/vdough
#创建文件系统,执行会比较慢
[root@serverb ~]# mkfs.xfs /dev/mapper/vdough
#修改fstab文件
[root@serverb ~]# tail -1 /etc/fstab 
/dev/mapper/vdough /vbread	xfs _netdev 0 0
[root@serverb ~]# mkdir /vbread
#挂载
[root@serverb ~]# mount -a
#检查
[root@serverb ~]# df -h /vbread
Filesystem          Size  Used Avail Use% Mounted on
/dev/mapper/vdough   50G  390M   50G   1% /vbread

七、系统调优

为您的系统选择建议的 tuned 配置集并将它设为默认设置。

#查看系统建议的配置
[root@serverb ~]# tuned-adm recommend
virtual-guest
#设置为系统建议的配置
[root@serverb ~]# tuned-adm profile virtual-guest

#确认是不是修改成功了
[root@serverb ~]# tuned-adm list
Available profiles:
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: virtual-guest

podman题目

podman环境搭建

自己去部署一个centos8的虚拟机,然后安装podman即可。

  • centos8镜像下载参考:https://mirrors.huaweicloud.com/os/image

1、利用注册表服务器上的httpd镜像,创建名为httpserver容器

  • 用registry服务器提供的httpd24:1-105镜像创建容器,容器镜像仓库为registry.lab.example.com/rhel8/httpd-24-1:1-105
  • 将其配置为systemd服务形式运行,且仅面向现有用户contsvc
  • 该服务应命名为container-httpserver,此服务在系统重启后将自动启动

两个题一起做,答案见下面

2 、通过以下方式上一个任务

  • 根据上一个容器,在/home/contsvc/目录下面创建一个container_journal的目录,将其挂载到容器里面的/var/log/journal目录下面,在容器里面执行logger xxx命令的时候,在容器里面的/var/log/journal/xxx.log和容器外的/home/contsvc/container_journal里面都会输出一条日志
#准备工作(考试时候环境应该都有,不需要自己创建)
#创建用户
[root@workstation ~]# useradd contsvc
[root@workstation ~]# echo redhat | passwd --stdin contsvc
#考试时候操作下面步骤,使用contsvc用户连接机器操作。(注意,不要使用root用户连接机器然后切换到普通用户,执行systemctl命令会报错)
[greg@bastion ansible]$ ssh [email protected]
#创建/home/contsvc/container_journal目录
[contsvc@workstation ~]$ mkdir /home/contsvc/container_journal
#考试时候操作:1、podman login xxx;2、podman search httpd-xxx;3、podman pull httpd-xxx
~]$ podman login registry.lab.example.com
Username: admin
Password: admin
~]$ podman search httpd-24-1:1-105
~]$ podman pull registry.lab.example.com/rhel8/httpd-24-1:1-105
#本地模拟,手动导入镜像:~]$ podman load < httpd.tar
~]$ podman load < httpd.tar
#创建容器
~]$ podman run -d   --name httpserver -v /home/contsvc/container_journal:/var/log/journal:z localhost/httpd:2.4-alpine
#去容器里面执行logger xxx测试
~]$ podman exec -it httpserver bash
logger xxx
#允许普通用户使用systemd
[contsvc@localhost user]$ loginctl show-user contsvc
Failed to get user: User ID 1001 is not logged in or lingering
[contsvc@localhost user]$ loginctl enable-linger contsvc
[contsvc@localhost user]$ loginctl show-user contsvc
UID=1001
GID=1001
Name=contsvc
Timestamp=Thu 2021-12-09 03:57:24 EST
TimestampMonotonic=3377560475
RuntimePath=/run/user/1001
[email protected]
Slice=user-1001.slice
State=lingering
Sessions=
IdleHint=yes
IdleSinceHint=0
IdleSinceHintMonotonic=0
Linger=yes
#生成开启启动配置
#创建目录
[contsvc@localhost ~]$ mkdir -p .config/systemd/user/
[contsvc@localhost ~]$ cd .config/systemd/user/
[contsvc@host user]$ podman generate systemd --new httpserver > container-httpserver.service
#设置开机启动
[contsvc@host user]$ systemctl --user daemon-reload
[contsvc@host user]$ systemctl --user enable container-httpserver.service
#重启机器测试
[contsvc@host ~]$ podman ps
CONTAINER ID  IMAGE                               COMMAND           CREATED        STATUS             PORTS       NAMES
202289925ba8  docker.io/library/httpd:2.4-alpine  httpd-foreground  3 minutes ago  Up 17 seconds ago              httpserver

最后,重启虚机,检查

virsh reboot servera
virsh reboot serverb