注意事项

f0-rhel8虚拟机,使用root用户登录(密码为tedu)
red系统的root密码是redhatblue不知道密码
在家做实验,在群共享里面有一个rht-labcheck-82.tar.gz
下载这个文件,拷贝到vmware虚拟机server1中
解压该文件,里面有csa_rhel8和ce_rhel8
chmod +x 给两个文件赋予x权限
./csa_rhel8执行
./ce_rhel8执行

在学校做实验:真机自带这两个文件
可以直接命令行执行
# csa_rhel8
# ce_rhel8


考试流程

1.考试之前必须注册RHN账户(到官网注册一个账户)
怎么注册(参考QQ群共享02_红帽RHN账户注册流程.pdf)
2.考试时需要带笔,身份证
3.入座后,需要填写基本信息:
姓名(拼音) 上下午一致
如果不一致,需要自己给红帽写邮件(英文),描述自己的问题,申请修改名称!!
邮箱
保密协议
考试300满分,210分及格!
上午考试3小时,下午考试4小时!
每个人屏幕都有倒计时显示!


rhcsa考题

red操作

01. 配置网络地址

虚拟机 red 的管理口令为 redhat,
请为此虚拟机配置以下网络参数:
1)主机名:red.net0.example.com
2)IP 地址:172.25.0.25/24
3)默认网关:172.25.0.254
4)DNS 服务器:172.25.0.254

解题步骤

  1. hostnamectl set-hostname red.net0.example.com
  2. nmcli conn show //查看网卡名称
  3. nmcli conn modify eth0 ipv4.method manual ipv4.address 172.25.0.25/24 ipv4.gateway 172.25.0.254 ipv4.dns 172.25.0.254 autoconnect yes
  4. nmcli conn up eth0
  5. #备注:也可以使用nmtui配置网络参数

02. 配置默认软件仓库

YUM 软件仓库已可从以下地址使用:
http://server1.net0.example.com/rhel8/BaseOS
http://server1.net0.example.com/rhel8/AppStream
请配置你的虚拟机,以将这些位置作为默认软件源。

解题步骤

[root@red ~]# vim /etc/yum.repos.d/rhel8.repo
[baseos]
name=baseos
enabled=1
baseurl=http://server1.net0.example.com/rhel8/BaseOS
gpgcheck=0
[appstream]
name=appstream
baseurl=http://server1.net0.example.com/rhel8/AppStream
enabled=1
gpgcheck=0  # 考试时gpgcheck需要为1,下面需要添加一行gpgkey= 
#备注:enabled默认值是1,不需要添加,也可以写出来  
[root@red ~]# yum clean all
[root@red ~]# yum repolist -v

03. 调试 SELinux 配置

httpd 在 82 端口上提供 Web 服务,满足以下要求:
1)此 Web 服务器能够提供/var/www/html/中所有现有的 HTML 文件
2)此 Web 服务器在系统启动时自动启动
3)确保 SELinux 保护机制运行在 Enforcing 模式

解题步骤

yum list | grep ^policy
# 或者
yum provides "semanage"
yum -y install policycoreutils-python-utils
semanage port -a -t http_port_t -p tcp 82
systemctl restart httpd
systemctl enable htppd

注释讲解 :
httpd默认监听80端口,没事!
但是,这里题目要求让httpd监听82端口(配置文件已经提前改好了),一旦httpd监听82,selinux就会拦截,不让httpd使用82端口
题目的要求就是在selinux不关闭的情况下,还得让httpd能用82端口,要求服务是开机自启动的
semanage是命令,是固定的(该命令是管理selinux规则的命令)使用命令修改port(端口)的规则,对端口规则干什么呢?是加规则,还是删规则这里的-a是(add)添加规则,如果用-d是(delete)删除规则-t是target目标,意思就是给谁改规则,后面的http_port_t是固定的,说的是给httpd改规则,允许它使用tcp协议的82端口这里的-p(protocol协议)
改完规则后,就可以启动,设置开机自启动

04. 配置用户账户

创建用户 tammy,
其用户 ID 为 2020,
此用户的密码应当是 ilovelinux。

解题步骤

useradd -u 2020 tammy
echo "ilovelinxu" | passwd --stdin tammy

05. 创建用户账户 根据下列要求创建用户及组账号

1)名为 admins 的组
2)用户 zhsan,其附属组为 admins
3)用户 lisi,其附属组还属于 admins
4)用户 wangwu,没有可交互的登录 Shell,且不属于 admins 组
5)zhsan、lisi、wangwu 的密码都应该是 ilovelinux

解题步骤

groupadd admins  #创建组,组的名称为admins
useradd -G admins zhsan   #创建用户zhsan,并设置附加组为admins
useradd -G admins lisi  #创建用户zhsan,并设置附加组为admins
useradd -s /sbin/nologin wangwu  #创建用户,用户名为wangwu,它没有登陆shell
#设置三个账户的密码
echo ilovelinux | passwd --stdin zhsan
echo ilovelinux | passwd --stdin lisi
echo ilovelinux | passwd --stdin wangwu

06. 配置 cron 计划任务

配置计划任务,以用户 zhsan 的身份
每 5 分钟执行一次命令 logger “RH200 Test”。

解题步骤

logger 任意字符,该命令可以把任意字符写入日志(/var/log/messages)

crontab -u zhsan -e
# crontab -e是编辑计划任务,-u指定用户,编写计划任务如下:
*/5 * * * * logger "RH200 Test"
# 按ESC,在输入:wq保存退出
crontab -l -u zhsan  //查看zhsan的计划任务

07. 配置文件权限

将文件/etc/hosts 复制为/var/tmp/hosts,并按要求配置/var/tmp/hosts 的权限:
1)文件/var/tmp/hosts 属于 root 用户
2)文件/var/tmp/hosts 属于 root 组
3)任何用户对/var/tmp/hosts 都没有可执行权限
4)用户 zhsan 能够读取和写入/var/tmp/hosts 文件
5)用户 lisi 无法读取或写入/var/tmp/hosts 文件
6)所有其他用户(当前或未来)能够读取/var/tmp/hosts 文件

解题步骤

cp /etc/hosts /var/tmp/hosts   #拷贝文件(复制文件)
chown root:root /var/tmp/hosts   #修改/var/tmp/hosts这个文件的用户和组,:前面是用户,:后面是组
chmod a-x /var/tmp/hosts   #修改/var/tmp/hosts文件的权限,所有人去掉x权限
setfacl -m u:zhsan:rw /var/tmp/hosts 
setfacl -m u:lisi:- /var/tmp/hosts   #修改文件的ACL权限,-m(modify修改权限),u指定用户和权限,用户和权限之间有一个:
chmod o=r /var/tmp/hosts   #修改/var/tmp/hosts文件的权限,o(other)代表所有其他人,权限为r代表可读

08. 创建共用目录

创建具有以下特点的共用目录:
1)/home/tools 的组的所有权是 admins
2)此目录能被 admins 组的成员读取、写入和访问,除 root 外其他用户没有这些权限
3)在此目录下创建的文件,其组的所有权自动设置为 admins 组

解题步骤

mkdir /home/tools  #创建目录
chown :admins /home/tools   #修改目录的所属组为admins,改/home/tools目录
chmod 770 /home/tools/
ll -d /home/tools/
drwxrwx---. 2 root admins 6 Oct 16 14:41 /home/tools/
#修改目录的权限,用户可读,写,访问,组可读,写,访问,其他人没有这些权限
chmod g+s /home/tools/
# 对目录设置SGID,目录里面的文件,自动继承目录的组

09. 配置 NTP 时间客户端

配置你的系统,使其成为 server1.net0.example.com 的 NTP 客户端。

解题步骤

# red做客户端,server1是ntp服务器(服务器提前搭建好的)
yum -y install chrony   #安装NTP软件
vim /etc/chrony.conf  #修改配置文件,在文件第二行添加如下内容:
server server1.net0.example.com iburst
#  让本机和server这个NTP服务器同步时间,iburst代表尽快同步时间
# 按ESC,再输入:wq保存退出
systemctl restart chronyd  #启动服务
systemctl enable chronyd   #设置开机自启动
chronyc sources -v  #-v代表显示详细信息
# 验证效果,最后应该是^* server1.net0.example.com就对了

10. 配置 autofs

按照以下要求,通过 autofs 自动挂载远程用户的主目录:
1)server1.net0.example.com(172.25.0.254)通过 NFS 共享目录/rhome 到你的系统,此文 件系统中包含为用户 ldapuser0 预配置的主目录
2)预设用户 ldapuser0 的登录密码是 password
3)预设用户 ldapuser0 的主目录是 server1.net0.example.com:/rhome/ldapuser0
4)预设用户 ldapuser0 的主目录应自动挂载到本地的/rhome/ldapuser0 目录
5)挂载后的主目录可供用户 ldapuser0 写入

注释思路
这题使用muont命令实现一模一样的效果,命令如下:
mount -t nfs server1.net0.example.com:/rhome/ldapuser0 /rhome/ldapuser0
这个命令的作用是把server1的共享,挂载到本地/rome/ldapuser0
-t是type共享类型,共享类型为nfs
但是,题目要求不能使用mount命令做题,要做一模一样的效果
而使用的是autofs(触发挂载)
题目中给了一个ldapuser0账户的密码,这个没用,管理su切换任何用户,无需密码

解题步骤

yum -y install autofs
yum -y install nfs-utils
#autofs的主配置文件是/etc/auto.master
vim /etc/auto.master
# 在配置文件中,任意行,手动添加如下内容:
/rhome /etc/rhome.rule
# 按ESC,再输入:wq保存退出
# 备注:这里的/rhome是要把server1的共享,挂载到自己本地的/rhome目录,这个/rhome不需要存在,autofs会自动创建
# 其他信息,暂时不知(挂载谁?挂载的是nfs,还是iso光盘,还是其他呢),其他信息都写在/etc/rhome.rule这个文件
# /etc/rhome.rule这个文件不存在,可以是任意一个文件,文件名任意
#根据主配置文件的要求,创建第二个配置文件(新建文件)
vim /etc/rhome.rule
ldapuser0 -fstype=nfs 172.25.0.254:/rhome/ldapuser0
# 按ESC,再输入:wq保存退出
# 备注:server1.net0.example.com的IP是172.25.0.254
systemctl start autofs
systemctl enable autofs.service 
#启动服务,设置开机自启动
# 验证:
ls /rhome/
# 默认没有/rhome/ldapuser0目录
su - ldapuser0
[ldapuser0@red ~]$ cd /rhome/ldapuser0/
[ldapuser0@red ~]$ exit

11. 查找文件

找出/etc/目录下大小超过 5MB 的文件,并将其副本放入/root/findfiles 目录。

解题步骤

mkdir /root/findfiles
find /etc/ -size +5M -type f -exec cp {} /root/findfiles \;

12. 查找字符串

找出文件/etc/man_db.conf 中包含字符串 sbin 的所有行,将其副本按原始顺序存放到文件 /root/out.txt 中。
文件/root/out.txt 中不得包含空行,且所有行必须是/etc/man_db.conf 中原始行的准确副本。

解题步骤

grep sbin /etc/man_db.conf
#在/etc/man_db.conf文件中找包含sbin的行
grep sbin /etc/man_db.conf > /root/out.txt
#找到之后把找到的所有行写入到/root/out.txt文件中

13. 创建归档

创建一个名为/root/backup.tar.bz2 的 tar 归档,
其应该包含/usr/local/的内容。此归档 文件必须使用 bzip2 进行压缩。

解题步骤

[root@red ~]# yum -y install tar bzip2
[root@red ~]# tar -cjPf /root/backup.tar.bz2 /usr/local/
# tar: Removing leading `/' from member names
# 使用tar命令-cf创建打包文件,-j是使用bzip2压缩,-z是使用gzip压缩
# tar -czf(使用gzip压缩) 和tar -cjf(使用bzip2压缩);-P是absolute-names 绝对名称,可以理解为绝对路径 -p(小写): 使用原文件的原来属性,不改变属主、权限等属性

补充题目1:

编写脚本(/root/abc.sh),脚本实现查找文件,拷贝文件
在/usr找文件,找小于10M的文件,找权限是sgid的文件
找到后拷贝到/root/findfiles目录

解题步骤

[root@red ~]# vim /root/abc.sh
#!/bin/bash
find /usr -size -10M -perm -g=s -exec cp -p {} /root/findfiles \;
# 备注:size按大小查找,-perm按权限查找
# 其他还需要会按用户查找

补充题目2:

在red主机上有一个软件rhcsa(我们的练习环境没有这个文件)
要求:运行这个软件,屏幕能显示hello world

解题步骤

cp /bin/ls /bin/rhcsa 
# //准备一个实验素材
which rhcsa
echo 'echo hello world' > /bin/rhcsa

补充题目3:

在red虚拟机,以后再新建用户,用户的密码过期时间为7天,提前3天警告过期

解题步骤

#正常在Linux系统中创建用户,他的密码有效期为99999天
[root@red ~]# useradd tom
[root@red ~]# grep tom /etc/shadow
tom:!!:18916:0:99999:7:::
[root@red ~]# vim /etc/login.defs
PASS_MAX_DAYS 7
PASS_WARN_AGE 3
# 其他内容此处省略...
# 验证结果:
[root@red ~]# useradd jerry
[root@red ~]# grep jerry /etc/shadow
jerry:!!:18916:0:7:3:::

容器第二题:为容器配置持久存储

扩展上一个任务的 logserver 容器服务:
1)配置主机的系统日志,以在系统重启后能保留其数据
2)将主机中/var/log/journal/目录及任何子目录中包含的 *.journal 文件复制到目录/home/tammy/container_logserver下
3)将服务配置为启动时自动将主机中的/home/tammy/container_logserver 目录挂载到容器中的/usr/share/nginx/html/目录

解题步骤

设置一下计算机的日志,把/var/log/journal/里面的所有*.journal文件,拷贝到/home/tammy/container_logserver里面
为了等会启动容器的时候,把这个目录映射到容器里面
1) 默认/var/log/journal压根就不存在(需要配置日志)
2)/home/tammy/container_logserver也不存在

[root@red ~]# mkdir /home/tammy/container_logserver
[root@red ~]# ls -ld /home/tammy/container_logserver/
[root@red ~]# chown tammy:tammy /home/tammy/container_logserver/
[root@red ~]# mkdir /var/log/journal

这么创建的目录是空目录,没东西可以拷贝
想办法让系统写日志到这里面,怎么写

[root@red ~]# systemd-tmpfiles --create --prefix /var/log/journal/
# 使用systemd-tmpfiles命令创建日志(create), 用--prefix指定把日志写到哪个目录
systemctl restart systemd-journald   # 重启服务
ls /var/log/journal  # 看看里面有没有文件

把这些文件cp拷贝到/home/tammy/container_logserver目录

find /var/log/journal -name "*.journal" -type f -exec cp {} /home/tammy/container_logserver \;
chown tammy:tammy /home/tammy/container_logserver/*
# 改权限的目的,为了让用户有权限
# 默认文件是root,tammy无法读写,改权限让tammy能用
# 备注:chown如果报错invalid user tammy,代表你的red虚拟机的第4题没有做!

扩展的能力
把/var/log/journal下面的所有*.journal文件名,写到/home/tammy/container_logserver/xx.txt

容器第一题:配置容器服务

利用仓库服务器(注册表服务器)上面的 nginx 镜像,创建一个名为 logserver 的容器。
1)将其配置为以 systemd 服务的形式运行,仅面向用户 tammy
2)该服务应命名为 container-logserver,并将其设置为开机自动启动

解题前提

启动一个容器(启动容器就需要容器镜像,镜像在utility服务器上面),牛老师上课是直接给tar文件,用podman load加载
utility服务器如果有就直接启动
如果没有utility服务器则,真机执行:rht-vmctl reset utility
然后启动utility虚拟机
这台主机utility不知道root密码,也不需要知道
这台主机提供了一个web服务,共享了容器镜像文件
这个web是需要用户名和密码的网站
用户名是admin,密码是redhat321
使用火狐浏览器访问https://registry.lab.example.com
能用用户名和密码登录,就可以了,主要是验证!
在这里面共享的有nginx镜像,mariadb镜像,httpd镜像
注意:因为各种原因不能用utility的话,直接用牛老师第一阶段课程里面的nginx镜像!直接podman load即可

解题步骤

yum -y module install container-tools   # 安装容器的软件
podman images    # 查看有没有镜像,没有!

没有镜像,就需要下载镜像,到哪里下载呢?
修改配置文件,告诉它到registry.lab.example.com里面下载
考试的时候,题目里面会明确给你网址,告诉你到哪里下载

vim /etc/containers/registries.conf
# 找到30行,修改结果如下:
registries = ['registry.lab.example.com']
# 找到41行,修改结果如下:
registries = ['registry.lab.example.com']

退出系统(下面的所有操作不能使用root做)
也不能使用root登录,su或者sudo切换为tammy做
题目明确要求使用tammy做题,一定要退出系统,重新登录

[root@localhost ~]# ssh tammy@172.25.0.25
# tammy@172.25.0.25's password: 
# tammy的密码看第四题,题目要求!

题目要求使用nginx镜像启动容器
使用podman search nginx 所有nginx镜像
先登录到registry.lab.example.com,要输入用户和密码
用户名是admin,密码是redhat321
环境在utility虚拟机中账号root密码redhat
考试的时候明确给账户和密码

[tammy@red ~]$ podman login registry.lab.example.com
podman search nginx
podman pull    # 使用podman pull 后面跟镜像的网址,下载镜像
podman images  # 使用podman images看看有没有下载成功

如果:各种原因,无法下载镜像,就直接拷贝牛老师的nginx.tar.gz镜像文件,拷贝到red虚拟机里面

# 在真机操作
[root@localhost ~]# scp /linux-soft/1/podman/nginx.tar.gz 172.25.0.25:/tmp/
# 然后在red虚拟机
podman load -i /tmp/nginx.tar.gz

有镜像文件后,开始启动容器
要求:
1)容器的名字叫logserver
2)用systemd管理容器,且容器是开机自启动
3)在容器第二题(把/home/tammy/container_logserver目录映射到容器里面的/usr/share/nginx/html目录)

[tammy@red ~]$ podman run --name logserver -d -p 8080:80 -v /home/tammy/container_logserver/:/usr/share/nginx/html:Z nginx
[tammy@red ~]$ podman ps  # 验证:看看容器有没有启动

备注:podman run是运行容器的命令
—name定义容器的名字
-d 是启动容器后放入后台
-v 把宿主机上面的目录映射到容器里面去
-p 端口映射
:Z是让SELinux运行容器读宿主机的资料(不要拦截)
最后的nginx,是刚刚下载的镜像的名字
容器启动了,但是默认计算机关机后,容器会自动关闭!
而考试要求,容器开机自启动(用systemd管理)
使用systemd管理服务或者管理容器,需要在/usr/lib/systemd/system/写一个service文件
有了这个service文件,你才能systemctl start或者enable
但是,/usr/lib/systemd/system/目录只有root能写
普通用户tammy没有权限,普通用户要写service文件就不能写到/usr/lib/systemd/system目录,普通用户也有固定的目录~/.config/systemd/user/目录
这个目录是固定的(需要背)

[tammy@red ~]$ mkdir -p ~/.config/systemd/user/
[tammy@red ~]$ cd ~/.config/systemd/user/
# 在当前目录写service文件,不需要自己写,程序自己写
[tammy@red user]$ podman generate systemd --name logserver --files
# 使用podman generate systemd命令为名称叫logserver的容器,自动生成service文件
# 这条命令执行后,会自动在当前目录下生成下面这个文件:
ls /home/tammy/.config/systemd/user/container-logserver.service
[tammy@red user]$ systemctl --user daemon-reload
[tammy@red user]$ systemctl --user enable container-logserver.service --now

备注:systemctl 直接加命令是以管理员方式执行
systemctl —user 后面加命令是以当前用户身份执行命令

系统有bug,重启后,容器可能还不会自启动
[tammy@red user]$ loginctl enable-linger
就算不登录系统,不输入用户名和密码,也实现开机自启动
[tammy@red user]$ crontab -e
@reboot systemctl —user start container-logserver.service
计划任务,当计算机重启后,执行一遍systemctl start启动容器

blue操作

01.设置 root 密码

获得系统 blue 的管理权限,并将 blue 的 root 密码设置为 redhat。

解题步骤

image.png
image.png
然后按Ctrl+x启动系统
进入系统后,输入如下命令

chroot /sysroot  # 打开计算机的根目录
echo redhat | passwd --stdin root  # 修改密码
touch /.autorelabel # 让selinux放行
exit  # 退出根目录
reboot  # 重启 reboot -f强制重启

备注:第一次重启会比较慢,红帽的练习有可能会花屏,如果长时间没反应,需要把虚拟机窗口关闭,再开一次!

02.配置网络地址

为此虚拟机配置以下网络参数:
1)主机名:blue.net0.example.com
2)IP 地址:172.25.0.26/24
3)默认网关:172.25.0.254
4)DNS 服务器:172.25.0.254

解题步骤

hostnamectl set-hostname blue.net0.example.com
nmcli conn modify eth0 ipv4.method manual ipv4.addr 172.25.0.26/24 ipv4.gateway 172.25.0.254 ipv4.dns 172.25.0.254 autoconnect yes
nmcli conn up eth0
#备注:也可以使用nmtui配置网络参数

03.配置您的系统以使用默认软件仓库

YUM 软件仓库已可从以下地址使用:
http://server1.net0.example.com/rhel8/BaseOS
http://server1.net0.example.com/rhel8/AppStream
请配置你的虚拟机,以将这些位置作为默认软件源。

解题步骤

可以直接拷贝red主机配置好的YUM,也可以再手动写一份(参考red的答案)
# scp 172.25.0.25:/etc/yum.repos.d/rhel8.repo /etc/yum.repos.d/

04.调整逻辑卷大小

将逻辑卷vo及其文件系统大小调整到300MiB。确保文件系统内容保持不变。
容量在上下20M的误差都是正确的!

解题步骤

lvs  # 查看LV的名称和大小,VG名称
vgs   # 查看VG卷组的容量是否够
lvextend -L 300m /dev/test/vo  # 扩容逻辑卷
lvs  # 查看LV的大小
df -h  # 查看挂载信息(容量没变)
df -Th  # 查看文件系统格式(xfs,ext4...)
xfs_growfs /vo # 扩容文件系统
df -h  #再次查看大小
# 如果是ext3或ext4格式就使用resize2fs /vo命令

05.添加交换分区

为你的系统额外添加一个512MiB的交换分区,此交换分区应在系统启动时自动挂载,不要删除或以任何方式改动系统上原有的交换分区。

解题步骤

(提前看后面的所有题目,后面的题目需要用vdc硬盘)
这题不能使用vda硬盘(里面安装的是操作系统)
这题不能使用vdc硬盘(因为后面题目需要)

lsblk # 观察硬盘分区情况
fdisk /dev/vdb # 交互式进行磁盘分区划分
# n新建分区,p主分区,。。,+512M ,w保存退出
mkswap /dev/vdb2  # 格式化交换分区
vim /etc/fstab  # 添加新内容如下:
... ...
/dev/vdb2 swap swap defaults 0 0
swapon -a   # 激活swap分区
swapon      # 验证是否正确

06.创建逻辑卷

根据以下要求,创建新的逻辑卷:
1)逻辑卷的名字为mylv,属于myvg卷组,大小为50个扩展单元(PE)
2)卷组myvg中的逻辑卷的扩展块(PE)大小应当为16MiB
3)使用vfat文件系统将逻辑卷mylv格式化
4)此逻辑卷应当在系统启动时自动挂载到/mnt/mydata目录下

解题步骤

vda不能使用(操作系统)
vdc不能使用(后面的题目指定需要vdc)
这题需要大约800M的空间,创建逻辑卷,那么我们创建分区就稍微大一点

fdisk /dev/vdb # 交互式进行磁盘分区划分
vgcreate -s 16M myvg /dev/vdb3
# 使用/dev/vdb3创建一个卷组,卷组的名称为myvg,这个卷组的扩展单元(PE)大小为16M
vgs  # 验证试验效果
lvcreate -L 800M -n mylv myvg  # 使用myvg这个卷组,创建一个名称为mylv的逻辑卷,容量为800M
# 或者
lvcreate -l 50 -n mylv myvg  # 使用myvg这个卷组,创建一个名称为mylv的逻辑卷,容量为50个PE
lvs # 验证试验效果
mkfs.vfat /dev/myvg/mylv
-bash: mkfs.vfat: command not found  # 报错,提示没有这个命令(没有安装软件包)
yum provides mkfs.vfat# 查看安装什么软件,可以提供mkfs.vfat
yum -y install dosfstools
mkfs.vfat /dev/myvg/mylv
mkdir /mnt/mydata # 提前创建一个挂载点
vim /etc/fstab  添加新的内容如下:
/dev/myvg/mylv /mnt/mydata vfat defaults 0 0
mount -a
# 注意:一定要重启计算机验证下,看看系统还能否启动

07.创建 VDO 卷

根据如下要求,创建新的 VDO 卷:
1)使用未分区的磁盘(/dev/vdc)
2)此 VDO 卷的名称为 myvdo
3)此 VDO 卷的逻辑大小为 50G
4)此 VDO 卷使用 xfs 文件系统格式化
5)此 VDO 卷在系统启动时自动挂载到/vblock 目录下

解题步骤

普通分区不能动态调整大小,因此有了LV逻辑卷
逻辑卷可以动态调整大小(其他功能:快照…)
VDO卷,它类似于逻辑卷,也可以动态调整大小,删重功能,预分配空间的功能(我的硬盘只有10G,但是可以创建100G的vdo卷)

yum -y install vdo  # 安装软件包
systemctl enable --now vdo
# 设置vdo服务为开机自启动(enable), --now是立刻启动(start)
vdo create -h  # 查看帮助
vdo create -n myvdo --device=/dev/vdc --vdoLogicalSize=50G
# 创建-n名称为myvdo的卷,--device使用vdc硬盘创建卷,--vdoLogicalSize指定卷的大小为50G
mkfs.xfs -K /dev/mapper/myvdo   # 把vdo卷格式化,-K快速格式化
mkdir /vblock
vim /etc/fstab  # 添加新内容如下:
/dev/mapper/myvdo /vblock xfs defaults,_netdev 0 0
# 备注:挂载网络硬盘时使用_netdev,等network服务启动后,在挂载这个设备,在这一题里面,不是网络设备,等network服务启动后,在挂载vdo卷
mount -a
reboot

注意重启出现下面界面image.png
只需要输入root密码即可
找问题,修改错误的地方,然后reboot

08.配置系统调优

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

解题步骤

调优比较麻烦,理论比较难,需要调的东西比较细,比较散,比较多,所以历来调优难,很多岗位有调优的需求,一般工资也高
红帽为了让调优变的简单,通过安装tuned软件,这个软件给他们提供了好几套预设好调优方案,我们只需要选择一个合适的方案即可。
比如:
方案1:偏性能调优
方案2:偏省电
方案3:网络性能
方案4:网络带宽
…. ….
有一个推荐的方案

yum -y install tuned
systemctl enable tuned --now
# 安装软件,设置开机自启动,并立刻启动
tuned-adm recommend
# virtual-guest(这是推荐的方案)
# 先查看系统推荐我们使用什么方案
tuned-adm profile virtual-guest# 使用系统推荐给我们的方案

Linux性能优化—Tuned特性原理及使用指南

Red Hat/Centos 性能调优 - tuned 服务