当前位置:   article > 正文

Linux红帽认证管理员(RHCAS)考试笔记

rhcas

写在前面

笔记是考红帽的笔记,大都是老师的笔记,有些地方有自己的补充,这是CSA 的笔记。CE的在下面

CE的笔记(Ansible)

在这里插入图片描述


配置网卡

RHEL7/8的系统管理器init(systemd)

  • 配置单元(unit):service(服务)、target(启动级别)
    关于网络服务设置: network --> NetworkManager(RHEL8已经没有network服务)
    在这里插入图片描述
    + 临时设置:命令工具:
hostname、hostname  新主机名
ifconfig  [-a]、ifconfig  连接名  IP地址/掩码长度
route  -n、route  add|del  default  gw  默认网关地址
host  查询对象  [DNS服务器地址]
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

  • 固定/永久设置:改配置文件、重载服务
/etc/hostname
  /etc/sysconfig/network-scripts/ifcfg-连接名
   hostnamectl set-hostname  新主机名
  • 1
  • 2
  • 3

在这里插入图片描述

  • 辅助配置工具: nmcli(命令行)、nmtui(文本用户界面)、nm-connection-editor(图形)
    • 接口名:内核识别的网卡设备的物理名称
    • 连接名:网卡所使用的这一份网络配置的逻辑名称
nmcli基本用法:
  nmcli device status
  nmcli connection  show
  nmcli connection  show  "连接名"
  nmcli connection modify  "连接名" ipv4.method man ipv4.addresses "IP地址/掩码"
  nmcli connection  modify  "连接名"  ipv4.gateway 默认网关地址
  nmcli connection  modify  "连接名"  ipv4.dns DNS服务器地址
  nmcli connection  modify  "连接名"  connection.autoconnect yes
  nmcli connection  up  "连接名"
  nmcli connection  down  "连接名"
  
  nmcli connection  add  con-name  "连接名"  ifname  接口名  type  ethernet
  nmcli connection  del  "连接名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

[root@server1 ~]$ ifconfig   #查看ip地址
[root@server1 ~]$ nmtui #文本方式配置ip地址为ens33网卡配置ip,如果找不到ens33网卡,可按以下方式添加
[root@server1 ~]$ nmcli connection add con-name ens33 ifname ens33 type ethernet    #添加ens33网卡
[root@server1 ~]$ nmtui  #然后再使用该命令配置ip,
  • 1
  • 2
  • 3
  • 4

vmnet的虚拟网络编辑器添加虚拟网卡,用来让真机和虚拟机互联,虚拟网卡构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@server1 ~]# nm
nm                    nm-connection-editor  nmtui                 nmtui-edit
nmcli                 nm-online             nmtui-connect         nmtui-hostname
[root@server1 ~]# nmtui
[root@server1 ~]# 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述
配置网卡分三步,配置ip。网关,激活网卡,修改域名
在这里插入图片描述
修改获取方式为手动,Manual, 配置IP/掩码、网关、DNS、demo: 192.168.1.8/24、192.168.1.254、192.168.1.254
在这里插入图片描述
激活
或者使用命令行的方式配置
在这里插入图片描述

nmcli connection modify enp1s0 ipv4.method manual ipv4.addresses 172.25.0.25/24      命令行修改ip
nmcli connection up enp1s0    命令行激活网卡
显示所有包括不活动连接:nmcli con show
显示所有活动连接: nmcli con show –active
显示网络连接配置:nmcli con show "System eth0“
显示设备状态:nmcli dev status
显示网络接口属性:nmcli dev show eno16777736
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述
在这里插入图片描述

linux常见目录

图形环境,通过 Activities -> Files -> Other Locations -> Computer

  • 命令行环境,ls /
    Linux目录的层次分隔:斜杠 /
    + 最顶层 就是 一个 / ,表示根目录
名称描述
bin、sbin存放可执行文件
home存放普通用户的家目录
dev存放硬件设备
mnt可挂载外部设备
media自动识别并挂载的目录
proc内存数据的映射,临时数据,不占硬盘空间
tmp存放临时文件的目录
var存放经常变化的数据 ,比如日志、邮件
boot存放内核文件
etc存放配置文件
opt可以存放第三方文件
usr存放用户相关数据

命令行的基本格式:
命令名字 [-选项…] [参数…]

  • 选项的作用,控制命令的执行方式、效果
  • 参数的作用,为命令提供操作对象

基本命令

命令行常用的快捷键

  • CTRL-A 将光标移到行首(在命令行下)
  • CTRL-E 将光标移动到行尾(在命令行下)
  • CTRL-U 擦除从光标位置开始到行首的所有字符内容。在某些设置下,CTRL-U会不以光标位置为参考而删除整行的输入。
  • CTRL+ K ·: 从光标处向后删除指令串
  • CTRL-J 新行(换行[line feed]并到行首)。在脚本中,也可能表示为八进制形式(‘/012′)或十六进制形式(‘/x0a’)。
  • CTRL-B 退格 (非破坏性的),这个只是将光标位置往回移动一个位置。
  • CTRL-H 擦除(Rubout)(破坏性的退格)。在光标往回移动的时候,同时擦除光标前的一个字符。
  • CTRL-C 中断,终结一个前台作业。
  • CTRL-D “EOF” (文件结尾:end of file)。它用于表示标准输入(stdin)的结束。在控制台或xterm 窗口输入文本时,CTRL-D 删除在光标下的字符。从一个shell中退出 (类似于exit)。如果没有字符存在,CTRL-D 则会登出该会话。在一个xterm窗口中,则会产生关闭此窗口的效果。
  • CTRL-F 将光标向前移动一个字符(在命令行下)
  • CTRL-G BEL。在一些老式打印机终端上,这会引发一个响铃。在xterm终端上可能是哔的一声。
  • CTRL-I 水平制表符。
  • CTRL-O 产生一个新行(在命令行下)。
    + CTRL-P 从history缓冲区召回上一次的命令(在命令行下)。此快捷键召回的顺序是由近及远的召回,即按一次,召回的是前一次的命令,再按一次,是召回上一次之前的命令,这和CTRL-N都是以当前的输入为起点,但是两个命令操作刚好相反,CTRL-N是从起点开始由远及近(如果起点是历史命令的话)。
    + CTRL-Q Resume (XON)。恢复/解冻,这个命令是恢复终端的stdin用的,可参见CTRL-S。
  • CTRL-R 回溯搜索(Backwards search)history缓冲区内的文本(在命令行下)。注意:按下之后,提示符会变成(reverse-i-search)”:输入的搜索内容出现在单引号内,同时冒号后面出现最近最匹配的历史命令。
  • CTRL-S Suspend(XOFF),挂起。这个是冻结终端的stdin。要恢复可以按CTRL-Q。
  • CTRL-T 交换光标位置与光标的前一个位置的字符内容(在命令行下)。比如:echo $var;,假设光标在a上,那么,按下C-T之后,v和a将会交换位置:echo $avr;。
  • CTRL-V 在输入文本的时候,按下C-V之后,可以插入控制字符。比如:echo -e '/x0a’;和echo ;这两种效果一样。这点功能在文本编辑器内非常有效。
  • CTRL-W 当在控制台或一个xterm窗口敲入文本时, CTRL-W 会删除从在光标处往后(回)的第一个空白符之间的内容。在某些设置里,
  • CTRL-W 删除光标往后(回)到第一个非文字和数字之间的字符。
  • CTRL-X 在某些文字处理程序中,这个控制字符将会剪切高亮的文本并且将它复制到剪贴板中。
  • CTRL-Y 将之前已经清除的文本粘贴回来(主要针对CTRL-U或CTRL-W)。
  • CTRL-Z 暂停一个前台的作业;在某些文本处理程序中也作为替换操作;在MSDOS文件系统中作为EOF(End-of-file)字符。

ctrl+l清屏
ctrl+c终止任务
tab键补全命令 (如果不好用,要装bash-completion软件包)
esc+.调用上个指令的最后一个参数,使用alt+.可以实现相同效果
ls -l查看文件详细信息
ls -lh详细信息+易读容量单位
ls -ld /opt查看opt目录本身的详细信息
ls -A查看隐藏文件
pwd看当前所在位置
cd /opt切换到/opt目录
mkdir a创建a目录
mkdir -p e/e创建多级目录
touch x创建普通文件,名字叫x
cat x查看x文件里面的内容
cat /etc/hosts查看ip域名对应关系
less /etc/passwd查看长篇文档,可以使用键盘方向键手动翻页,而不是像cat命令直接看到最后一页
su - test切换到名为test的账户,管理员切换到其他账户无需密码,但是普通账户切换到其他账户需要密码
rm a删除a文件
rm -r a如果a是个目录,需要加r选项
rm -rf a强制删除无提示
rm -rf *删除当前目录下所有文件,高风险命令,慎用!!
cp /etc/passwd /opt拷贝etc下的passwd文件,到根目录下opt,常用选项 -r,recursive,复制多级目录的时候需要加
mv passwd /root移动passwd文件到管理员的家目录
mv passwd abc为passwd文件改名为abc

获取命令的帮助man

  • 执行 man 命令名 来获取这个命令的使用帮助
  • 重点看SYNOPSIS(语法格式)DESCRIPTION(选项的含义和用法描述)
  • /word查找包含word的文字描述,按 n或N来切换不同查找结果
  • PgUp、PgDn翻页,按q键退出

文本编辑器

vi / vim
三种工作模式:

  • 1,命令模式 刚进入编辑器时,可以查看文档内容,可以进行复制yy、粘贴p操作、剪切dd(可以当删除使用),u可以撤销上一次操作
  • 2,输入模式 在命令模式按i 键 ,再按esc可以返回命令模式
  • 3,末行模式 在命令模式输入:
  yum  -y  install  vim-enhanced 可以安装增强版的vim编辑器
  • 1

客户端配置文件:/etc/yum.conf、/etc/yum.repos.d/*.repo

在这里插入图片描述
在这里插入图片描述


配置软件仓库

用途:软件仓库/YUM源为其他客户机集中提供软件包及关联信息 ,RHEL8光盘预设源:BaseOS、AppStream

[仓库1标识]
    name  =  仓库描述
    baseurl = 仓库的地址
    enabled = 1|0
    gpgcheck = 1|0
    #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[仓库2标识]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

cd /etc/yum.repos.d/
vi abc.repo
[BaseOS]		仓库名称
name=BaseOS		仓库描述
baseurl=http://server1.net0.example.com/rhel8/BaseOS		 仓库软件来源
enabled=1	仓库是否开启 ,1是开启0是关闭,默认不写这行也行,不写就是开启
gpgcheck=0      检测软件合法性,通常是0无需检测
[AppStream]
name=AppStream
baseurl=http://server1.net0.example.com/rhel8/AppStream
enabled=1
gpgcheck=0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

常见的软件包安装:

 # yum  -y  install  bash-completion  net-tools  vim-enhanced  bind-utils
  • 1

在这里插入图片描述
阿里云 yum文件

yum repolist   查询仓库
yum -y install vim    利用仓库安装vim软件
yum -y install bash-completion   安装支持tab键的软件,安装完后需要退出,再登陆
yum provides ifconfig  查询ifconfig命令来自于哪个软件包
yum -y install  net-tools   安装支持ifconfig等命令的软件包
#yum配置好之后使用yum或者dnf命令都可以调用仓
yum clean all    清除软件仓库缓存
yum repolist    查询软件仓库信息
yum -y install vsftpd   安装软件包(vsftpd服务)
yum -y remove vsftpd   删除软件包
yum provides ifconfig   查询ifconfig命令来自哪个软件包
yum  search  关键词 //根据关键词搜索相关的软件
yum   -y  update  软件名.. .. //升级软件包
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

  • systemctl服务控制:

    • systemctl,系统控制器,用来管理Linux系统的开机/关机/服务资源运行状态
    • 直接执行 systemctl 列出可以管理的系统资源,包括各种系统服务
    • 控制服务当前运行状态systemctl start|stop|restart|status 服务名.. ..
    • 控制服务开机自启状态:systemctl enable|disable 服务名.. .. [--now]
  • firewalld、SELinux安全开关:

    • 防火墙的作用,内核的一套网络保护机制,通过firewalld服务来控制

    • 如何停止防火墙:systemctl disable firewalld --now

    • SELinux的作用,内核的一套系统保护机制,通过内核启动参数或者启动配置来控制

    • 如何关闭SELinux机制(三种状态 —— Enforcing强制保护、Permissive宽松模式、Disabled禁用
      在这里插入图片描述

# vi  /etc/selinux/config
SELINUX=Permissive     ==》重启后生效
# setenforce  0|1       ==》立即变成宽松|强制模式
# getenforce               ==》查看结果
  • 1
  • 2
  • 3
  • 4

服务管理:

systemctl start vsftpd  	开启服务
systemctl stop vsftpd  	关闭服务
systemctl restart httpd    重启服务
systemctl status vsftpd   查服务详细状态,可以看到服务是否开启等信息
systemctl is-active  vsftpd  查服务精简状态,仅仅看是否开启
systemctl is-enabled vsftpd     查看服务是否开机自启
systemctl enable vsftpd   设置服务开机自启
systemctl disable firewalld --now   取消服务的开机自启,并关闭服务
systemctl enable firewalld --now   设置开机自启,并且开启服务
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

忘记服务名字查看

[root@liruilong tmp]# systemctl list-unit-files | grep  ^fire*
firewalld.service                             disabled
[root@liruilong tmp]# 

  • 1
  • 2
  • 3
  • 4

防火墙 :

systemctl stop firewalld  关闭
systemctl disable firewalld  取消开机自启
  • 1
  • 2

selinux :

美国NSA国家安全局提供的一套基于内核的增强的强制安全保护机制,主要针对用户、进程、文档做了一些安全标签及相关限制。
getenforce 查selinux是否开启,可以看到下列3种状态
Enforcing是开启状态 ,Permissive是关闭(宽松),disabled是永久关闭
setenforce 1 临时设置selinux,1是开启,0是关闭

  • 安全策略谁来提供:NSA、RedHat
  • 查看文件、进程的安全上下文:
    • ls -Z … …
    • ps -Z … …

vim /etc/selinux/config     此配置文件决定了服务器重启后,selinux处于什么状态,永久设置
  • 1

可设置项目:

  • 1,设置布尔值(对某些软件工具提前预设的开关)
 getsebool -a    查看布尔值
setsebool -P ftpd_anon_write=on   修改某服务对应的布尔值开关on是开启,off是关闭
  • 1
  • 2
  • 2,设置安全的上下文
ls -Z  abc.html   查看某文件上下文值
chcon -t admin_home_t  abc.html    修改文件上下文值,-t是指定文件的归属
restorecon abc.html   根据服务的预设值自定定义abc文件的上下文值
  • 1
  • 2
  • 3
  • 3,设置端口
yum -y install setroubleshoot-server    selinux排错工具包
semanage  port  -l    查询
semanage port -l | grep http    过滤查询,只看http相关内容
semanage port -a -t http_port_t -p tcp 82    在selinux管理的服务端口中,为http添加82端口
-a 是添加,如果是-d 就是删除
-t 指定某服务类型 
-p 是定义协议和要添加的端口
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

防火墙系统服务:

firewalld  预设安全区域:
  • 1
  • block:阻止所有数据包
  • drop:丢弃所有数据包
  • public:公共区域,允许SSH等极个别服务,默认区域
  • rusted:信任区域,允许任何访问
  • work:办公区域,允许SSH、Samba少数几个服务

预设保护服务:

  • http、https、dns……

防火墙管理工具:

  • firewall-cmd、firewall-config

防火墙规则的作用范围:

  • 运行配置 —— 当前有效,重启firewalld服务后失效
  • 永久配置 —— 当前无效,重启firewalld服务后有效 ,通过添加 --permanent 选项设置

查看/修改默认区域:

# firewall-cmd  --get-default-zone
# firewall-cmd  --set-default-zone=trusted
  • 1
  • 2

如何设置具体的防火墙规则:

# firewall-cmd  --add-service=服务名  --zone=区域名
# firewall-cmd  --add-source=源地址  --zone=区域名
  • 1
  • 2

常用配置

#执行如下命令,查看防火墙状态,是否为running。
firewall-cmd --state
#执行如下命令,重新载入配置。比如在添加规则等之后,需要执行此命令。
firewall-cmd --reload
#执行如下命令,列出支持的zone。
firewall-cmd --get-zones
#执行如下命令,列出支持的服务,在列表中的服务是放行的。
firewall-cmd --get-services
#执行如下命令,查看FTP服务是否支持,返回yes表示支持,返回no表示不支持。
firewall-cmd --query-service ftp
#执行如下命令,临时开放FTP服务。
firewall-cmd --add-service=ftp
#执行如下命令,永久开放FTP服务。
firewall-cmd --add-service=ftp --permanent
#执行如下命令,永久移除FTP服务。
firewall-cmd --remove-service=ftp --permanent
#执行如下命令,永久添加80端口。
firewall-cmd --add-port=80/tcp --permanent
#执行如下命令,查看规则,此命令和iptables相同。
iptables -L -n
#执行如下命令,查看帮助。
man firewall-cmd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
#查看 firewalld 服务当前所使用的区域: 
firewall-cmd --get-default-zone 
#查询 eno16777728 网卡在 firewalld 服务中的区域: 
firewall-cmd --get-zone-of-interface=eno16777728 
#把 firewalld 服务中 eno16777728 网卡的默认区域修改为 external,并在系统重启后生效。分 别查看当前与永久模式下的区域名称:
firewall-cmd --permanent --zone=external --change-interface= eno16777728
firewall-cmd --get-zone-of-interface=eno16777728 
firewall-cmd --permanent --get-zone-of-interface=eno16777728 
#把 firewalld 服务的当前默认区域设置为 public: 
 firewall-cmd --set-default-zone=public 
#启动/关闭 firewalld 防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器 时请慎用):
firewall-cmd --panic-on 
firewall-cmd --panic-off 
#查询 public 区域是否允许请求 SSH 和 HTTPS 协议的流量: 
firewall-cmd --zone=public --query-service=ssh 
firewall-cmd --zone=public --query-service=https 
#把 firewalld 服务中请求 HTTP 协议的流量设置为永久拒绝,并立即生效: 
firewall-cmd --permanent --zone=public --remove-service=http 
firewall-cmd --reload  
#把在 firewalld 服务中访问 8080 和 8081 端口的流量策略设置为允许,但仅限当前生效: 
firewall-cmd --zone=public --add-port=8080-8081/tcp 
firewall-cmd --zone=public --list-ports 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

账户管理:

useradd   abc   添加账户
userdel -r xyz01   删除用户,-r是删除与用户有关的文件
echo  xxxxx   |  passwd  --stdin  abc  为abc账户非交互式配置密码 xxxxx
id   abcd   查看用户基本信息  uid是用户id号码   gid是用户所在基本组的号码  groups是用户附加组信息
---------------------------
tail  -1   /etc/passwd    查看系统刚刚创建的用户信息
grep abc: /etc/passwd   查看系统种名字包含abc字符串的用户信息
usermod -u 1600 xyz02   为已经创建好的xyz02账户修改id号
usermod -d /opt  xyz03  修改xyz03的家目录为/opt
gpasswd -a xyz03 xyz02    为xyz03添加一个附加组(附属组)xyz02
gpasswd -d xyz03 xyz02   为xyz03从附加组xyz02中删除
usermod -s /sbin/nologin abcd    修改abcd账户的解释器为不可交互的状态
groupadd admins    创建组admins
useradd -G admins zhsan  创建账户zhsan的同时添加附加组admins组
su -  zhsan   切换账户      
--------------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

定义计划任务:

在这里插入图片描述

crontab -e  为当前账户添加计划任务
crontab -e -u lisi  指定lisi账户添加计划任务
* * * * * date >> /opt/test     每分钟执行date任务
5-15 * * * * date >> /opt/test     每小时的5-15分钟
10,13,17 * * * * date >> /opt/test   每小时的10,13,17分钟执行
*/5 * * * * date >> /opt/test    每隔3分支执行一次
10-15/2 * * * * date >> /opt/test   每小时的10-15分钟里,每隔2分钟执行一次
crontab -r    删除计划任务
systemctl is-enabled crond.service   检测计划任务服务是否开机自启
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述


设置基本权限:

基本权限   r 读     w写      x执行(目录是进入权限)
chmod o+w abcd     为abcd文件的其他人添加写权限
chmod u-x abcd   为abcd文件的所属主删除x权限
chmod g+x abcd   为abcd文件的所属组 添加x权限

所属主   所属组   其他人
u		g	     o
------------------
数字方式定义文件权限
r=4       w=2	x=1
chmod 777 abcd       将abcd文件的所属主   所属组   其他人 的权限都设置成拥有rwx
chmod 700 abcd      将abcd文件的所属主设置成拥有rwx权限  而所属组与其他人没有任何权限
-----------------------
修改所属
chown lisi test     只修改所属用户
chown :lisi test   只修改所属组
chown abcd:abcd test   修改用户:组  
chown -R lisi abc   递归修改abc目录以及目录中所有文件的所属主为lisi	  -R表示递归,对chmod命令也适用
--------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

acl 访问控制列表

setfacl -m user:zhsan:rw /var/tmp/hosts    给zhsan用户单独针对hots文件的rw权限
setfacl -m group:zhsan:rw /var/tmp/hosts  给zhsan组单独针对hots文件的rw权限
setfacl -b /var/tmp/hosts    清除acl权限
getfacl /var/tmp/hosts 查看acl权限
  • 1
  • 2
  • 3
  • 4


特殊权限,创建共用目录

在这里插入图片描述

附加权限:
  • 4 set uid:附加到 “属主” 的x位上,变成 s
    使普通的程序具有特殊属性(任何人在执行这个程序的时候,自动拥有这个程序的所有者的权限)
  • 2 set gid:附加到 “属组” 的x位上,变成 s
    使普通的程序具有特殊属性(任何人在执行这个程序的时候,自动拥有这个程序的所属组的权限)
    使普通的目录的属组权限能够自动往下继承(在目录下新建的文档自动属于这个目录的属组)
  • 1 粘滞位:附加到 “其他人” 的x位上,变成 t
    使用户在拥有w权限的目录下不能够删除其他人的文件

附加权限设置示例:
+ chmod u+s 文件… … //比如:/usr/bin/passwd
+  chmod g+s 文件… …
+  chmod o+t 文件… … //比如:/tmp
+  chmod 4755 文件… …
+  chmod 1777 目录… …
+  chmod 2770 目录… …

set uid   可以使某用户在执行拥有此权限的文件时自动拥有此文件所属主的权限
set gid   可以使某用户在执行此文件时,自动拥有此文件的所属组权限,如果是目录拥有此权限,表示在该目录下创建的文件自动属于此目录的属组
粘滞位(t权限) 在一个拥有w权限的目录中,使用户之间不可以任意删除别人的文件
  • 1
  • 2
  • 3

配置时间同步

NTP,Network Time Protocol,时间同步:将计算机与指定服务器的时间保持一致

  • NTP服务端(考试服务器):ntpd或chronyd
  • NTP客户端:软件包chrony(系统服务chronyd)
  • 客户端配置文件:/etc/chrony.conf
  • pool 时间服务器的域名 iburst //适合一个域名解析为多个IP地址的情况(服务器池)
  • server 时间服务器的域名 iburst //适合一个域名解析为单个服务器IP地址的情况
iburst 参数的作用:
+ 1)第一次同步时,头4个包的间隔为2秒,以便能更快的获得标准时间。
+ 2)如果在一个标准轮询间隔内没有应答,会向NTP服务器再发送8个包(而不是通常的一个)。
+ 3)如果NTP 服务器仍没有给出可识别的应答,那么本机的时间将不会变化。
  • 1
  • 2
  • 3
NTP验证/设置工具:
   $timedatectl 			        //查看时间日期状态信息
   $chronyc sources  -v//检查当前使用的NTP源信息
  • 1
  • 2
开启防火墙
$firewall-cmd --add-service=ntp --permanent
$firewall-cmd --reload
  • 1
  • 2
手动设置系统日期、时间:

 date  -s  'HH:MM'
 date  -s  'HH:MM:SS'
 date  -s  'yyyy-mm-dd'
 date  -s  'yyyy-mm-dd HH:MM'
  • 1
  • 2
  • 3
  • 4
  • 5

补充:

  • 根据BIOS时间设置系统时间: hwclock -s
  • 根据系统时间设置BIOS时间:hwclock -w
$systemctl status chronyd    查看同步服务状态,通常都是开启状态
$vim /etc/chrony.conf   修改配置文件
server server1.net0.example.com iburst      将有iburst字样那行注释掉,从新添加此内容
$systemctl restart chronyd     重启服务
$chronyc sources -v   检查结果   带^*表示同步时间成功 
$date -s 20:20:00   随意修改时间后,在重启服务器检测是否同步
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
配置参数设置
  • server 192.169.10.8 iburst //把本地作为服务器的同步源
  • stratumweight 0 // stratumweight指令设置当chronyd从可用源中选择同步源时,每个层应该添加多少距离到同步距离。默认情况下,设置为0,让chronyd在选择源时忽略源的层级。
  • allow 192.169.10.0/24 //允许192.169.10.0网段的服务器同步本机的时间
  • allow 127.0.0.1 //允许本服务器同步
  • local stratum 1 // 每个NTP服务器都可以和其他NTP服务器同步,同时又可以向外提供NTP服务,stratum指的是系统时钟的层数,取值范围为1~16,它定义了时钟的准确度。层数为1的时钟准确度最高,准确度从1到16依次递减,层数为16的时钟处于未同步状态,不能作为参考时钟
时区设置
$timedatectl list-timezones |  grep  -E "Asia/S.*"
$timedatectl set-timezone "Asia/Shanghai"
  • 1
  • 2
#手动同步系统时钟
$chronyc -a makestep
#查看时间同步源
$chronyc sources -v
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
远程复制:
在这里插入图片描述


配置autofs自动挂载,

在网络资源使用时自动挂载,不使用时自动卸载,达到节约资源的目的。

  • 本地文件系统:文档存放在本机连接的磁盘上EXT4、XFS、SWAP,FAT32
  • 网络文件系统:文档存放在网络中的一台服务器上,通过共享方式提供(比如NFS)NFS,Network File System
mount挂载(本地):
  mount  /dev/cdrom   /mnt/dvd
  mount  /dev/sda1   /mnt/tdir
  • 1
  • 2

NFS客户端 ——查看共享资源列表:

  • showmount -e 目标主机 //需要软件包 nfs-utils
    挂载NFS共享资源:
    +  mount 服务器地址:共享文件夹路径 /mnt/tdir
文件系统的挂载方式
  • 1)手动挂载:mount 设备路径 挂载点目录

  • 2)开机自动挂载:修改 /etc/fstab 配置文件
    设备路径 挂载点目录 文件系统类型 defaults,_netdev 0 0

  • 3)半自动挂载(已经配置好/etc/fstab):

    • mount 设备路径
    • mount 挂载点目录
  • 4)触发挂载(按需自动挂载):autofs服务

  • 软件包/系统服务:autofs nfs-utils

  • 主配置:/etc/auto.master
    目标文件夹监控策略配置文件

  • 监控策略配置:/etc/*
    子目录名 -挂载选项:设备路径
    子目录名 -挂载选项NFS服务器地址:共享目录绝对路径

通过部署autofs服务,可以代替管理员按需、自动完成以下任务:

  • 1)当有用户需要使用 /rhome/ 目录下的 ldapuser0 子目录时,提前创建此目录,并将服务器上的 classroom.example.com:/rhome/ldapuser0 挂载到本机的 /rhome/ldapuser0
  • 2)当用户不再使用 /rhome/ 目录下的 ldapuser0 子目录时,自动卸载此目录上已挂载的资源,并删除此目录

本地账号:存放在本机的/etc/passwd、/etc/shadow,家目录一般位于 /home/用户名
网络账号:存放在网络(AD域、LDAP域)中的认证服务器上,家目录也存在认证服务器上

showmount  -e server1
yum -y install autofs nfs-utils   安装所需软件包
vim /etc/auto.master      修改主配置文件
/rhome /etc/rhome.rule   在第一行添加,/rhome是在本地什么位置作为远程资源的挂载目录,/etc/rhome.rule是远程资源配置文件所在路径,可以自定义
vim /etc/rhome.rule   修改上一步定义的远程资源配置文件,添加以下内容:
ldapuser0 -fstype=nfs 172.25.0.254:/rhome/ldapuser0 定义账户、文件系统类型、远程资源路径
systemctl restart autofs   重启服务
ls /rhome   查看原本没有的/rhome目录,发现已经自动生成
ls rhome/ldapuser0   再查看里面的内容,报权限错误 ,正常,已经激活自动挂载
ls /rhome  再次查看目录,已经看到远程资源,成功
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

find搜索

按照条件查找系统当中的任何文件:
find  [目录范围]  [查找条件1]  -o  [查找条件2] .. ..
find  [目录范围]  [查找条件1]  -a  [查找条件2] .. ..
  • 1
  • 2
常见的查找条件表示:
  • -name 文档名称
  • -type 文档类型 【f、d、l、b、c】
  • -size +|-文档大小
  • -mtime +|-修改时间 【1 之前24小时~48小时】
  • -user 所属用户
  • -group 所属组
处理find查找结果:
  • -exec 命令行(嵌入 {} 替代查找结果) ;

修改文件的时间戳:

touch  -d  '2015-12-31  12:30'  f2.txt
  • 1
demo
可以按条件查找文件
-type  按文件类型搜索
 f   普通文件    d  目录     l 连接文件   b 块设备 
find /opt -type f	 //在/opt下查找所有普通文件
-name 按名称搜索    
find  /opt  -name  abc     //在/opt下查找名字叫abc的文件
-size  + -   按文件大小搜索
find / -size +50M     //在根目录下找大于50M的文件
-user  按用户名搜索
find . -user root    //再当前目录找所属主是root的文件
----------------------------------
-o 或者    -a 并且      可以实现多个条件的逻辑组合  
 find . -type f -a -name abc   // 找当前目录下的普通文件并且名字叫abc,此处的-a也也可省略不写
 find . -type f -o -name abc   //找当前目录下的普通文件或者名字叫abc的文件
----------------------------------
#找出/etc/目录下大小超过 5MB 的文件,并将其副本放入/root/findfiles 目录。
find /etc -size +5M -exec cp -p {} /root/findfiles \;     
-exec代表有继续执行的指令  cp 是拷贝   -p保持原文件属性权限,{}是find搜索到的文件  \;是结束
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

grep查找字符串

可以找到文档中的字符串,并且以行为单位输出.

grep基本用法:
  • grep ‘关键词’ 文件… …
  • grep ‘正则表达式’ 文件… …
常见的选项:
  • -v:将条件取反
  • –color:突出显示结果
  • -w:单词匹配
  • -c:统计匹配行数
简单正则表达式:
  • ^word:查找以word开头
  • word$:查找以word结尾
  • ^$:查找空行
  • -E:支持使用扩展正则表达式(egrep)
 grep "abc"  abc	//在abc文档中找有abc字符串的行
grep "ab"  abc      //在abc文档中找有ab字符串的行
 grep "^ab"  abc   //在abc文档中找以ab字符串开头的行
 grep "ab$"  abc   //在abc文档中找以ab字符串结尾的行
  • 1
  • 2
  • 3
  • 4

找到的内容还可以利用重定向保存到文件中

重定向 >, >>

echo 123 > xyz.txt    //喊出123 覆盖保存在文件xyz.txt中,如果xyz.txt中之前有内容,将会被覆盖
echo 123 >> xyz.txt   //喊出123 追加保存在文件xyz.txt中,不会覆盖原有内容
grep "sbin"  /etc/man_db.conf  >  /root/out.txt       //使用grep在man_db.conf 文件中搜索到的包含sbin的行都保存到 out.txt文件中
  • 1
  • 2
  • 3

tar归档

将多个文件合成一个文件,方便保存和管理 ,还可以配合gzip、bzip2 、xz三种压缩工具进行压缩

-c 创建 -f指定文件名 -x 释放 -P 保存原始路径
-z 使用gzip方式在归档时压缩,扩展名可以写.gz
-j 使用bzip2 方式在归档时压缩,扩展名可以写.bz2
-J 使用xz 方式在归档时压缩,扩展名可以写.xz

  • 归档:把很多文件归纳到一起 tar
  • 压缩:减小文件占用空间的大小 gzip、bzip2、xz

tar命令的选项:
-c:创建新文档
-x:释放备份文档
-f:指定文档名称
-z:处理 .gz 格式
-j:处理 .bz2 格式
-J:处理 .xz 格式
-t:显示文档列表
-p:保持原有权限
-P:保持绝对路径
-C:指定释放备份文件时的目标位置
–exclude=排除的子目录

tar 制作备份文件:
  • tar -zcf 备份文件名.tar.gz 被备份的文档…
  • tar -jcf 备份文件名.tar.bz2 被备份的文档…
  • tar -Jcf 备份文件名.tar.xz 被备份的文档…
tar 从备份文件恢复:

tar -xf 备份文件名 [-C 目标文件夹]

tar 查看备份文件内容:

tar -tf 备份文件名

yum -y install tar		//安装tar工具
yum -y install bzip2		//安装压缩工具
tar -czPf test.tar.gz /var/log   //将/var/log打包压缩成test.tar.gz,使用的压缩方式是gzip
tar -cjPf test.tar.bz2 /var/log
tar -cJPf test.tar.xz /var/log
  • 1
  • 2
  • 3
  • 4
  • 5

破解密码

//重启 系统,按 e 键打断启动过程
//修改 linux 行(ro 改 rw,末尾添加 rd.break)然后按 ctrl+x 启动
按ctrl+x     //以无需密码的方式启动系统
chroot  /sysroot/      //切换到根系统
echo  redhat  |  passwd --stdin  root    //改密码
touch   /.autorelabel    //重置selinux标记
exit
reboot    //重启  
yum -y install vim  net-tools  bash-completion    //在blue主机安装常用软件包
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

在这里插入图片描述


磁盘的使用

lsblk    //查看分区状态
fdisk /dev/vdc     //使用fdisk分区工具,对/dev/vdc硬盘进行分区
p 查询分区状态 			
q 不保存退出
n 新建分区
Select (default p):      //回车,默认是主分区
Partition number (1-4, default 1):     //第一个分区默认序号是1
First sector :    //起始扇区,直接回车
Last sector       +500M      //创建500M分区
w    //保存退出
mkfs.xfs /dev/vdc1     //使用xfs文件系统为vdc1这个分区格式化
mount   /dev/vdc1   /mnt    //将新分区挂载到/mnt目录
df -h   
umount   /dev/vdc1   //卸载分区

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

正常的实体机使用的都是/dev/sd[a-]的硬盘档名
虚拟机可能会使用/dev/vd[a-p]这种装置档名

调整逻辑卷大小

在计算机上使用磁盘空间的过程:

识别磁盘 --> 分区 --> 格式化 --> 挂载 --> 访问挂载点
lsblk --> fdisk -l --> fdisk(MSDOS分区表)/gdisk(GPT分区表 >2.2TB磁盘)/parted --> mkfs相关 --> mount --> ls、vim

磁盘分区操作 ——
fdisk -l
fdisk /dev/vdb
parted /dev/vdb

分区模式msdos:四个主分区、扩展分区、逻辑分区
分区模式gpt(支持>2T空间):主分区(操作系统支持一般<128个)

刷新硬盘分区表:
partprobe /dev/vdb 或者 partx -a /dev/vdb
reboot
格式化操作:

  • mkfs.ext3 分区设备
  • mkfs.ext4 分区设备
  • mkfs.xfs 分区设备
  • mkfs.vfat 分区设备
逻辑卷管理

LVM逻辑卷管理机制 —— 化零(物理卷PV)为整(卷组VG)、动态扩容伸缩,按需(逻辑卷LV)分配

把零散的分区(PV物理设备(物理卷)) ===》整编的大卷组(VG虚拟磁盘) ===》 根据需要获取空间(虚拟分区LV)
游击队 ===》 八路军 ===》按需增编/简编人员

识别磁盘 --> 分区 --> 卷组 --> 逻辑卷 --> 格式化 --> 挂载 --> 访问挂载点

实现方式:

分区/物理卷(2G、4G、6G) --> 卷组(12G) --> 逻辑卷(10G、1G)

LVM管理工具
  • 物理卷操作(不常用):pvscan、pvdisplay、pvcreate
  • 卷组操作:vgscan(扫描)、vgdisplay(显示)、vgcreate、vgremove、vgextend(扩容)
  • 逻辑卷操作:lvscan、lvdisplay、lvcreate、lvremove、lvextend

PE:分配逻辑卷空间的时候,最小的单位,默认为4M

创建卷组:

   vgcreate  [-s  PE大小]  卷组名  分区.. ..
  • 1

创建逻辑卷:

   lvcreate  -L  大小  -n  名称   卷组名
   lvcreate  -l  PE个数  -n  名称   卷组名
  • 1
  • 2

扩展逻辑卷:

   lvextend  -L  +大小  /dev/卷组名/逻辑卷名
  • 1

扩展卷组:

   vgextend  卷组名  分区.. ..
  • 1

通知内核新的文件系统大小:

   resize2fs  /dev/卷组名/逻辑卷名 //适用于EXT2/3/4文件系统(blkid检查)
   xfs_growfs  逻辑卷名的挂载点//适用于XFS文件系统(blkid检查)
  • 1
  • 2

逻辑卷的设备位置:

/dev/卷组名/逻辑卷名
或者
/dev/mapper/卷组名-逻辑卷名
  • 1
  • 2
  • 3

在这里插入图片描述


​​在这里插入图片描述


在这里插入图片描述


[root@blue ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "myvg" using metadata type lvm2
  Found volume group "test" using metadata type lvm2
  Found volume group "rhel" using metadata type lvm2
[root@blue ~]# pvscan
  PV /dev/vdb2   VG myvg            lvm2 [1008.00 MiB / 208.00 MiB free]
  PV /dev/vdb1   VG test            lvm2 [<2.00 GiB / <1.67 GiB free]
  PV /dev/vda2   VG rhel            lvm2 [<29.00 GiB / 0    free]
  Total: 3 [<31.98 GiB] / in use: 3 [<31.98 GiB] / in no VG: 0 [0   ]
[root@blue ~]# lvscan 
  ACTIVE            '/dev/myvg/mylv' [800.00 MiB] inherit
  ACTIVE            '/dev/test/vo' [336.00 MiB] inherit
  ACTIVE            '/dev/rhel/swap' [<2.17 GiB] inherit
  ACTIVE            '/dev/rhel/root' [<26.83 GiB] inherit
[root@blue ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   30G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   29G  0 part 
  ├─rhel-root 253:0    0 26.8G  0 lvm  /
  └─rhel-swap 253:1    0  2.2G  0 lvm  [SWAP]
vdb           252:16   0   10G  0 disk 
├─vdb1        252:17   0    2G  0 part 
│ └─test-vo   253:2    0  336M  0 lvm  /vo
└─vdb2        252:18   0    1G  0 part 
  └─myvg-mylv 253:3    0  800M  0 lvm  
vdc           252:32   0   10G  0 disk 
└─vdc1        252:33   0  500M  0 part /mnt
[root@blue ~]# 

  • 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

在这里插入图片描述


创建卷组

逻辑卷 化零为整 更自由的使用磁盘空间 创建逻辑卷之前先要创建卷组,然后从卷组中划分空间给逻辑卷

vgcreate /dev/myvg /dev/vdb2     //正常创建卷组,默认扩展单元是4M(不满足目前题意,目前要求是16M)
vgdisplay  /dev/myvg   //可以在PE一栏中看到扩张单元的大小
vgremove /dev/myvg   //删除卷组myvg
vgcreate -s 16MiB /dev/myvg /dev/vdb2    //创建扩展单元为16MiB的卷组(目前练习题要求),之后可以用vgdisplay查看PE的大小
  • 1
  • 2
  • 3
  • 4

创建逻辑卷

lvcreate -n mylv -L 800M /dev/myvg    //正常创建
lvcreate -n mylv -l 50 /dev/myvg    //按照扩展单元的数量创建(目前练习题要求),之后可以用vgs查看
vgs     // 查看邏輯卷
  • 1
  • 2
  • 3
  1. 创建逻辑卷
    根据以下要求,创建新的逻辑卷:
    1) 逻辑卷的名字为mylv,属于myvg卷组,大小为50个扩展单元
    2) 卷组myvg中的逻辑卷的扩展块大小应当为16MiB
    3) 使用vfat文件系统将逻辑卷mylv格式化
    4) 此逻辑卷应当在系统启动时自动挂载到/mnt/mydata目录下
[root@blue ~]# 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): 

Using default response p.
Partition number (3,4, default 3): 
First sector (2074624-20971519, default 2074624): 
Last sector, +sectors or +size{K,M,G,T,P} (2074624-20971519, default 20971519): +1000M

Created a new partition 3 of type 'Linux' and of size 1000 MiB.

Command (m for help): w
The partition table has been altered.
Syncing disks.

[root@blue ~]# part
parted     partprobe  partx      
[root@blue ~]# partprobe /dev/vdb
[root@blue ~]# vgcreate -s 16MiB myvg /dev/vdb3
  Physical volume "/dev/vdb3" successfully created.
  Volume group "myvg" successfully created
[root@blue ~]# lvcreate -l 50 -n mylv myvg
  Logical volume "mylv" created.
[root@blue ~]# lvscan
  ACTIVE            '/dev/myvg/mylv' [800.00 MiB] inherit
  ACTIVE            '/dev/test/vo' [300.00 MiB] inherit
  ACTIVE            '/dev/rhel/swap' [2.16 GiB] inherit
  ACTIVE            '/dev/rhel/root' [<46.84 GiB] inherit
[root@blue ~]# vgscan
  Found volume group "myvg" using metadata type lvm2
  Found volume group "test" using metadata type lvm2
  Found volume group "rhel" using metadata type lvm2
[root@blue ~]# lsblik
-bash: lsblik: command not found
[root@blue ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   50G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   49G  0 part 
  ├─rhel-root 253:0    0 46.9G  0 lvm  /
  └─rhel-swap 253:1    0  2.2G  0 lvm  [SWAP]
vdb           252:16   0   10G  0 disk 
├─vdb1        252:17   0  500M  0 part 
│ └─test-vo   253:2    0  300M  0 lvm  /vo
├─vdb2        252:18   0  512M  0 part [SWAP]
└─vdb3        252:19   0 1000M  0 part 
  └─myvg-mylv 253:3    0  800M  0 lvm  
vdc           252:32   0   10G  0 disk 
[root@blue ~]# mkfs.vfat /dev/myvg/mylv 
-bash: mkfs.vfat: command not found
[root@blue ~]# yum -y install dosfstools
Updating Subscription Management repositories.
Unable to read consumer identity
.......
[root@blue ~]# mkfs.vfat /dev/myvg/mylv 
mkfs.fat 4.1 (2017-01-24)
[root@blue ~]# vim /etc/fstab 

[1]+  Stopped                 vim /etc/fstab
[root@blue ~]# mkdir /mnt/mydata
[root@blue ~]# fg
vim /etc/fstab
[root@blue ~]# mount -a
[root@blue ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 483592       0    483592   0% /dev
tmpfs                    501328       0    501328   0% /dev/shm
tmpfs                    501328    6880    494448   2% /run
tmpfs                    501328       0    501328   0% /sys/fs/cgroup
/dev/mapper/rhel-root  49087060 1765620  47321440   4% /
/dev/vda1               1038336  163540    874796  16% /boot
/dev/mapper/test-vo      301728   12732    288996   5% /vo
tmpfs                    100264       0    100264   0% /run/user/0
/dev/mapper/myvg-mylv    817584       4    817580   1% /mnt/mydata
[root@blue ~]# 
  • 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
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85

逻辑卷扩容

lvextend -L 300M /dev/test/vo    //将名字叫vo的逻辑卷扩容到300M
blkid /dev/test/vo    //查看vo逻辑卷的文件系统
lsblk    //再查看该逻辑卷的挂载点
xfs_growfs /vo    //刷新大小,如果是xfs的文件系统
resize2fs  /vo     //刷新大小,如果是ext的文件系统
  • 1
  • 2
  • 3
  • 4
  • 5

交换分区

相当于win的虚拟内存,在物理内存不足时借用硬盘空间,硬盘中预先划分一定的空间,然后将把内存中暂时不常 用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。
但由于交换分区毕竟是通过硬盘设备读写数据的, 速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源.

  • 交换分区:虚拟内存,一般设置成物理内存的1~2倍,<16G

格式化交换分区

swapon -s    //查询交换分区状态,通常有可能会存在个默认的交换分区,不能删除
先用fdisk /dev/vdb  //再创建一个512M的分区比如创建了vdb3
mkswap  /dev/vdb3    //格式化交换分区
vim /etc/fstab   //修改开机挂载磁盘的文件
/dev/vdb3   swap     swap    defaults        0 0
swapon  -a  //测试上述文件是否修改正确
swapon -s  //再次查看会多出swap分区
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

启用/停止控制:

 swapon   设备路径
 swapoff   设备路径
  • 1
  • 2

查看交换分区使用情况:

 swapon  -s
 free
  • 1
  • 2
  1. 添加交换分区
    为你的系统额外添加一个512MiB的交换分区,此交换分区应在系统启动时自动挂载,不要删除或以任何方式改动系统上原有的交换分区。
[root@blue ~]# 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): 

Using default response p.
Partition number (2-4, default 2): 
First sector (1026048-20971519, default 1026048): 
Last sector, +sectors or +size{K,M,G,T,P} (1026048-20971519, default 20971519): +512M

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

Command (m for help): w
The partition table has been altered.
Syncing disks.

[root@blue ~]# part
parted     partprobe  partx      
[root@blue ~]# part
parted     partprobe  partx      
[root@blue ~]# partprobe  /dev/vd
vda   vda1  vda2  vdb   vdb1  vdb2  vdc   
[root@blue ~]# partprobe  /dev/vdb
[root@blue ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   50G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   49G  0 part 
  ├─rhel-root 253:0    0 46.9G  0 lvm  /
  └─rhel-swap 253:1    0  2.2G  0 lvm  [SWAP]
vdb           252:16   0   10G  0 disk 
├─vdb1        252:17   0  500M  0 part 
│ └─test-vo   253:2    0  300M  0 lvm  /vo
└─vdb2        252:18   0  512M  0 part 
vdc           252:32   0   10G  0 disk 
[root@blue ~]# mkswap /dev/vd
vda   vda1  vda2  vdb   vdb1  vdb2  vdc   
[root@blue ~]# mkswap /dev/vd
vda   vda1  vda2  vdb   vdb1  vdb2  vdc   
[root@blue ~]# mkswap /dev/vdb2
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=ac1a1ba6-7f1a-4b92-80bc-11836d4236c0
[root@blue ~]# vim /etc/fstab

  • 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
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

在这里插入图片描述

[root@blue ~]# swapon -a
[root@blue ~]# swapon -s
Filename				Type		SizeUsed	Priority
/dev/dm-1                              	partition	2265084	0	-2
/dev/vdb2                              	partition	524284	0	-3
[root@blue ~]# 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

VDO卷

虚拟数据优化器,可以对数据进行重删过滤,
VDO(Virtual Data Optimize)是RHEL8/Centos8上新推出的一个存储相关技术(最早在7.5测试版中开始测试),是Redhat收购的Permabit公司的技术。
VDO的主要作用是节省磁盘空间,比如让1T的磁盘能装下1.5T的数据,从而降低数据中心的成本。
那vdo是如何实现的呢,关键原理主要是重删和压缩,重删就是硬盘里拷贝来相同的数据,以前要占多份空间,现在只需要1份空间就可以了。类似我们在百度网盘中上传一个大型软件安装包,能实现秒传,其实是之前就有,所以无需再传一遍,也无需再占百度一份空间。另一方面是数据压缩,类似于压缩软件的算法,也可以更加节省磁盘空间。
VDO是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽,VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可,功能的实现主要基于以下技术。

  • 1)零区块的排除:在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理。
  • 2)重复数据删除:在第二阶段,对于输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(Universal Deduplication Service),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可。
    + 3)压缩:一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能。
yum  -y  install  vdo     //装包
systemctl restart vdo   //启动服务,并设置开机自启
找到vdc磁盘(此盘之前不能有配置)
man  vdo   //搜索 /example ,在例子中查找相关配置命令
 vdo create --name=vdo0 --device=/dev/sdb1 --vdoLogicalSize=10T    //然后按题目稍作修改,name是vdo卷的名称,device是使用哪个物理磁盘,最后是定义虚拟磁盘大小
格式化 mkfs.xfs  -K   /dev/mapper/myvdo      // `-K可以加快速度`
设置/etc/fstab文件,并且使用mount  -a检测
/dev/mapper/myvdo /vblock xfs _netdev 0 0      //	_netdev的作用是等待网络相关程序启动后再执行挂载任务,通常网络启动之后vdo服务也就起来了,就可以挂载了

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

vdo基本操作:
  vdo create --name=VDO卷名称 --device=设备路径 --vdoLogicalSize=逻辑大小
  vdo list
  vdo status -n VDO卷名称
  vdostats [–human-readable] [/dev/mapper/VDO卷名称]
  vdo remove -n VDO卷名称


系统调优

使用tuned服务,RHEL7/8的调优服务tuned:提供了大量预设的调优方案,旨在于简化调优的实施,充分利用系统资源与能效。
管理员可以针对不同的业务选择不同的优化策略

tuned-adm  命令直接回车 可以看到选项提示信息
tuned-adm  list //列出可用的优化方案
tuned-adm recommend   查询建议的优化方案
tuned-adm profile   XXXXX     使用某优化方案
tuned-adm active   查看当前使用的优化方案
  • 1
  • 2
  • 3
  • 4
  • 5

CocKpit驾驶舱

于SSH类似,用于远程控制,类似于阿里云的控制台。为初级管理员提供基本操作,通过web端的控制台,访问地址:服务器IP:9090

yum包安装并开启服务:

 yum  -y  install  cockpit  cockpit-dashboard  cockpit-machines
 
 systemctl  enable  cockpit.socket  --now
  • 1
  • 2
  • 3

Web浏览器访问 https://虚拟机的IP地址:9090:
在这里插入图片描述
在这里插入图片描述
本机访问虚拟机的cockpit:
本机的虚拟机网卡的ip要和虚拟机的网卡ip设置为同一个网段的才可以访问。
在这里插入图片描述
在这里插入图片描述

实战

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/192076
推荐阅读
相关标签
  

闽ICP备14008679号