案例1:新建一个逻辑卷
案例2:调整现有磁盘的分区
案例3:扩展逻辑卷的大小
案例4:查找并处理文件
案例5:LINUX管理员综合测试
1 案例1:新建一个逻辑卷
1.1 问题
本例要求沿用前一天案例,使用分区 /dev/vdb1 构建 LVM 存储,相关要求如下:
-
新建一个名为 systemvg 的卷组
-
在此卷组中创建一个名为 vo 的逻辑卷,大小为180MiB
-
将逻辑卷 vo 格式化为 EXT4 文件系统
-
将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
1.2 方案
LVM创建工具的基本用法:
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:创建卷组
1)新建名为systemvg的卷组
2)确认结果
步骤二:创建逻辑卷
1)新建名为vo的逻辑卷
2)确认结果
步骤三:格式化及挂载使用
1)格式化逻辑卷/dev/systemvg/vo
2)挂载逻辑卷/dev/systemvg/vo
3)访问逻辑卷/dev/systemvg/vo
2 案例2:调整现有磁盘的分区
2.1 问题
本例要求沿用前一天案例,对磁盘/dev/vdb的分区表进行调整,要求如下:不更改原有分区,利用剩余空间新增三个分区,大小依次为:500MiB、2000MiB、512MiB
然后再基于刚建立的 2000MiB 分区构建新的 LVM 存储:
-
新的逻辑卷命名为 database,大小为50个物理扩展单元(Physical Extent),属于 datastore 卷组
-
在 datastore 卷组中的所有逻辑卷,其物理扩展单元(Physical Extent)的大小为16MiB
-
使用 EXT3 文件系统对逻辑卷 database 格式化,此逻辑卷应该在开机时自动挂载到 /mnt/database 目录
2.2 方案
实现此案例需要按照如下步骤进行。
步骤一:调整现有磁盘分区
1)新建扩展分区(使用剩余可用空间)
2)在扩展分区中新建3个逻辑分区
创建第1个逻辑卷(由于主分区编号已用完,分区类型自动选l逻辑分区):
创建第2个逻辑卷:
创建第3个逻辑卷:
根据预计的用途调整分区类型(可选):
确认分区结果并保存:
3)刷新分区表
步骤二:新建卷组、逻辑卷
1)新建卷组datastore,指定PE大小为16MiB
2)新建逻辑卷database,大小设置为50个PE
步骤三:格式化及使用逻辑卷
1)格式化逻辑卷/dev/datastore/database
2)配置开机挂载
3)验证挂载配置
3 案例3:扩展逻辑卷的大小
3.1 问题
本例要求沿用练习一,将逻辑卷 vo 的大小调整为 300MiB,要求如下:
-
原文件系统中的内容必须保持完整
-
必要时可使用之前准备的分区 /dev/vdb5 来补充空间
-
注意:分区大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之间都是可以接受的
3.2 方案
-
对于已经格式化好的逻辑卷,在扩展大小以后,必须通知内核新大小。
-
如果此逻辑卷上的文件系统是EXT3/EXT4类型,需要使用resize2fs工具;
-
如果此逻辑卷上的文件系统是XFS类型,需要使用xfs_growfs。
3.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:确认逻辑卷vo的信息
2)查看该卷组的剩余空间是否可满足扩展需要
此例中卷组systemvg的总大小都不够300MiB、剩余空间才16MiB,因此必须先扩展卷组。只有剩余空间足够,才可以直接扩展逻辑卷大小。
步骤二:扩展卷组
1)将提前准备的分区/dev/vdb5添加到卷组systemvg
2)确认卷组新的大小
步骤三:扩展逻辑卷大小
1)将逻辑卷/dev/systemvg/vo的大小调整为300MiB
2)确认调整结果
3)刷新文件系统大小
确认逻辑卷vo上的文件系统类型:
选择合适的工具刷新大小:
确认新大小(约等于300MiB):
4 案例4:查找并处理文件
4.1 问题
本例要求采用不少于两种方法完成以下任务:
-
找出所有用户 student 拥有的文件
-
把它们拷贝到 /root/findfiles/ 文件夹中
4.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:确认能找到指定的文件
1)确认新版内核的下载地址
对于上述操作中出现的/proc信息忽略即可。
步骤二:处理找到的文件
1)创建目标文件夹
2)拷贝找到的文件到目标文件夹
以下两种方法任选一种:
3)确认拷贝结果
5 案例5:Linux管理员 综合测试
5.1 问题
根据本文提供的练习步骤完成所有练习案例。
5.2 方案
开始练习之前,先依次重置虚拟机环境。
5.3 步骤
实现此案例需要按照如下步骤进行。
步骤01:配置一个用户
案例概述:
创建一个名为alex的用户,用户ID是 3456。密码是flectrag
步骤02:创建用户账号和组
案例概述:
创建下列用户、组以及和组的成员关系:
-
一个名为adminuser的组
-
一个名为natasha的用户,其属于adminuser,这个组是该用户的从属组
-
一个名为harry的用户,属于adminuser,这个组是该用户的从属组
-
一个名为sarah的用户,其在系统中没有可交互的shell,并且不是adminuser组的成员用户
-
natasha、harry、和sarah的密码都要设置为flectrag
步骤03:配置文件 /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进行读操作
步骤04:配置一个 cron 任务
案例概述:
为用户natasha配置一个定时任务,每天在本地时间14:23时执行以下命令:
/bin/echo hiya
解题参考:
步骤05:创建一个共享目录
案例概述:
创建一个共享目录/home/admins ,特性如下:
-
/home/admins目录的组所有权是adminuser
-
adminuser组的成员对目录有读写和执行的权限。除此之外的其他所有3用户没有任何权限(root 用户能够访问系统中的所有文件和目录)
-
在/home/admins目录中创建的文件,其组所有权会自动设置为属于adminuser组
-
[注]此处所谓的共享目录并不是指网络共享,只是某个组成员共用
解题参考:
步骤06:安装内核的升级
案例概述:
新版内核文件从以下地址获取:
http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/
-
升级你的系统的内核版本,同时要满足下列要求:
-
当系统重新启动之后升级的内核要作为默认的内核
-
原来的内核要被保留,并且仍然可以正常启动
解题参考:
步骤07:绑定到外部验证服务
案例概述:
系统 classroom.example.com 提供了一个 LDAP 验证服务。您的系统需要按照以下要求绑定到这个服务上:
-
验证服务器的基本 DN 是:dc=example,dc=com
-
帐户信息和验证信息都是由 LDAP 提供的
-
连接要使用证书进行加密,证书可以在下面的链接中下载 :
-
http://classroom.example.com/pub/example-ca.crt
-
当正确完成配置后,用户 ldapuser0 应该能够登录到您的系统中,但是没有主目录。当您完成 autofs的题目之后,才能生成主目录
-
用户ldapuser0的密码是password
解题参考:
根据提示完成用户和认证方式设置 ——
User Information:[*] Use LDAP
Authentication Method:[*] Use LDAP Authentication
根据提示选中 [*] Use TLS,并设置下列参数 ——
Server:classroom.example.com
Base DN:dc=example,dc=com
提示下载证书到 /etc/openldap/cacerts 目录时,另开一终端执行:
然后回到 authconfig-tui 工具确认,稍等片刻即可。
步骤08:家目录漫游
案例概述:
按照下述要求配置手动挂载 LDAP 用户的主目录:
-
classroom.example.com(172.25.254.254)通过 NFS 输出 /home/guests 目录到您的系统,这个文件系统包含了用户ldapuser0的主目录,并且已经预先配置好了
-
ldapuser0用户的主目录是 classroom.example.com:/home/guests/ldapuser0
-
ldapuser0的主目录应该挂载到本地的/home/guests/ldapuser0 目录下
-
用户对其主目录必须是可写的
-
ldapuser0用户的密码是password
解题参考:
步骤09:配置NTP网络时间客户端
案例概述:
配置您的系统,让其作为一个 classroom.example.com 的 NTP 客户端
解题参考:
步骤10:查找文件
案例概述:
找出所有用户student拥有的文件,并且把它们拷贝到/root/findfiles 目录中
解题参考:
步骤11:查找一个字符串
案例概述:
在文件/usr/share/dict/words中查找到所有包含字符串seismic的行:
-
将找出的行按照原文的先后顺序拷贝到/root/wordlist文件中
-
/root/wordlist文件不要包含空行,并且其中的所有行的内容都必须是 /usr/share/dict/words文件中原始行的准确副本
解题参考:
步骤12:创建一个归档
案例概述:
创建一个名为 /root/backup.tar.bz2 的归档文件,其中包含 /usr/local 目录中的内容,tar 归档必须使用 bzip2 进行压缩
解题参考: