**
磁盘管理
**
磁盘基本概述
- Linux中磁盘的命名方式与磁盘的接口有关,规则如下:
- 传统IDE接口硬盘:/dev/hd[a-z]
- SCISI接口硬盘:/dev/sd[a-z]
- 虚拟化硬盘:/dev/vd[a-z]
- 在设备名称的定义规则如下,其他分区可以以此类推
- 系统的第一块 SCSI 接口的硬盘名称为/dev/sda
- 系统的第二块 SCSI 接口的硬盘名称为/dev/sdb
- 系统中分区由数字编号表示,1-4留给主分区使用和扩展分区,逻辑分区从5开始
- 实例
- /dev/sda 第一块磁盘
- /dev/sda1 第一块磁盘的第一个分区
- /dev/sdb1 第二块磁盘的第一个分区
- 我们可以使用lsblk查看磁盘分区
MRB的特点
MBR支持最大2TB磁盘,他无法处理大于2TB容量磁盘
只支持最多多4个主分区。若想想要更多分区,需要创建扩展分区,并其在创建
GPT
支持128个主分区
大于2TB容量磁盘
磁盘容量检查
使用df命令查看磁盘容量,不参加
lsblk 查看分区情况。当使用磁盘时必须进行分区,必须查看分析情况
磁盘分区
fdisk分区
fdisk -l:列出所有磁盘的分区情况
-m :输入常用的命令
n:新建一个分区
d:删除一个分区
l:列出已知的分区类型
t:更改分区类型
w:保存分区的内容退出
q:不保存内容退出
partprobe:刷新分区表
root密码:Asimov
普通用户密码:redhat
root用户执行:yum -y install ansible
普通用户执行:exam-setup
# 开始考试
查看网卡:nmcli connection show 查看以太网连接网卡是哪个,modify参数需要写的是Connection的名字,而不是device的名字
配置网卡 nmcli connection modify Connetioname ipv4.address 略 autoconnect yes
启动网卡 nmcli connection up Connetioname
gdisk分区
安装gdisk工具:yum -y install gdisk
磁盘格式化
使用mkfs命令格式化磁盘,创建文件系统
mkfs.xfs 格式化为xfs类型
mkfs.ext3 格式化为ext3类型
mkfs.ext4 :格式化为ext4类型
mkswap 格式化swap类型
磁盘挂载
命令mount挂载磁盘,实质为文件指定访问入口
临时挂载命令:mount 磁盘,挂载点
blkid:查看UUID号
UUID=“22afb0e2-54db-47e6-9548-0fe2c540a8d9” /abc xfs defaults 0 0
磁盘名/UUID 挂载点 格式化 不备份
永久挂载磁盘命令:
blkid查看UUID号
fstab配置文件介绍
参数
卸载挂载磁盘
交换分区swap
创建swapfile
格式化swap分区
检测当前swap分区情况
开启新建的swap分区
关闭新建的swap分区
首先进行分区,选择空余磁盘进行分区
进行格式化mkswap 磁盘名
进行挂载使用,挂载点为swap
进行生效使用,swapon。swapon 磁盘名,
swapon 磁盘名,开启swap分区
swapoff 磁盘名 ,关闭swap分区
查看交换分区
swapon -s 或者是free -m
**
进程管理
**
进程是已启动可执行程序的运行中实例
/proc目录下以数字为名的目录,每一个目录代表一个进程,保存着进程的属性信息。每一个进程的PID是唯一的就算进程退出了,其他进程就不会占用其PID
进程的组成部分
已分配内存的地址空间
安全属性,包括所有权凭据和特权
程序代码的一个或多个执行线程
进程状态
ready:准备状态 ,命令输入在命令行但是没有执行
exec:执行状态,,了已经输入回车
stopped:已经停止,相当于是发送ctr+z
ready:又回到了准备状态,相当于执行力ctr+c
unitnerruptible:不可中断的睡眠,有任务和没任务都不去执行一直处于睡眠状态
interruptible:可中断的睡眠,没有任务处于睡眠,有任务被唤醒执行任务
zombie:僵尸进程,子进程任务完成之后没有全部退出
进程睡眠的原因
当一个执行中的进程,需要加载额外的io资源的时候,由于io设备的速度太慢,使用会转入睡眠状态等待,交出CPU给其他进程,一免浪费剩余执行时间
在多任务处理处置系统中,每个CPU(或CPU核心)在一个时间点上处理一个进程,在进程运行时,他对CPU时间和资源分配的直接要求会有变化,进程分配有一个状态,它随着环境要求而改变。
Linux进程的分类
前台进程:
守护进程
Linux进程状态
R:TASK_RUNNING,可运行状态
S:可中断睡眠
D:不可中断睡眠
K:处于睡眠状态
Linux进程优先级
进程优先级范围:0-139,数字越小,优先级越高
0-99:实时优先级,内核调整
100-139:静态优先级,用户可控制
进程优先级高的特点
获得更多的CPU运行时间
更优先获得CPU运行的机会
要修改进程的优先级可以通过调整进程的nice值来实现,nice值越小,优先级越高:
nice值的范围是(-20,19),-20对应100,19对应139
相对优先级
nice级别越高,表示优先级越低(该进程容易将其CPU使用量让给其他进程)
nice级别越低,表示优先级越高(该进程更加不倾向于让出CPU)
让给不存在资源争用(例如当前活动进程数少于可用CPU核心数时),即使nice级别高的进程也将仍使用
PS()
用户标识符(uid),他确定
PS支持三种格式:
UNIX(POSIX)选项,可以分组但必须以连字符开头
BSD选项,可以分组但不可与连字符同用
GNU选项,以双字符开头
进行管理命令
PS aux:(用户 PID)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
用户 进程号 CPU使用百分比 内存百分比 虚拟内存大小 常驻内存集 终端 进程状态 开启的时间
PS-elf
PS-o(是小写字母o不是数字零,指定需要显示的字段)
PS -o user,pid:代表只显示进程的用户以及进程号
F S UID PID PPID (父进程号) C (CPU编号)0PRI(优先级) NI(nice值) ADDR SZ(大小)) WCHAN STIME TTY (终端) TIME (时间)CMD(命令)
进程状态 用户 进程号
1 I root 3 2 0 60 -20 - 0 - 21:37 ? 00:00:00 [rcu_gp]
# vmstat 动态查看虚拟内存情况
# vmstat:只能查看当前内存状态
# vmstat 3 :没三秒刷新一次,会无限次数的刷新
# vmstat 3 5:没三秒刷新一次,一共刷新5次
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1573732 4284 792276 0 0 21 3 178 147 2 2 97 0 0
僵尸进程
命令 & 把前台的命令放在后台运行
jobs:命令用于显示当前所有的后台作用
fg:命令用于将后台作业调至前台运行
bg:使用bg命令+作业好可使后台停止的作业重新执行
kill:加上作业号可以动手杀死指定作业
把后台命令调用到前台 fg fg %n (n不是经常号,而且通过jobs命令查看中括号里面的数字)
把后台命令调用到前台 bg bg %n (n不是经常号,而且通过jobs命令查看中括号里面的数字)
kill %n 杀死某个后台进程
监控进程活动
实时进程监控
intitle程序的类型
sysv风格:int(centos5),实现系统初始化时,随后的初始操作都是借助于脚本来实现的
特点
脚本中含有大量的命令,每个命令都要启动一个进程,命令执行完以后就要终止这个进程。如此一来,系统初始化时将大量的创建进程,销毁进程,工作效率会非常低。
服务间可能会存在依赖关系,不许严格按照一定的顺序来启动服务,前一个服务没启动完后面的服务就无法执行启动过程。并不能进行。
配置文件:/etc/inittab
Upstar风格:int(centos6),由Ubuntu研发的,通过总线形式以接近于并行的方式工作效率比sysv高
特点
基于总线方式能够让进程间互相通信的一个应用进程
不用等俯卧撑启动完成,只要一初始化后可以把自己的状态返回给其他进程
配置文件:/etc/inittab,/etc/int/*.conf
systenmd风格:systemd(centos7)
特点:启动速度比sysv和upstart都快
不需要通过任何脚本启动服务,system自身就可以启动服务,其本身就是一个强大的解释器。启动服务时不需要sh/bash的参与
systemd不真正在系统初始化时区启动任何一个服务
只要服务没用到,他就告诉你启动了,实际上并没有启动。仅当第一次去访问时才会真正启动服务
配置文件:/usr/lib/systemd/system,/etc/systemd/system
socket(套接字)
系统启动和服务器进程由systemd系统和服务管理器进行管理。此程序提供了一种方式,可以在启动时和运行中的系统上激活系统资源、服务器守护进程和其他进程
守护进程时在执行各种任务的后台等待或运行的进程。为了侦听连接,守护进程使用套接字。套接字(socket表示也可以)可以由守护进程创建,或者与守护进程分离,并且可能由另一个进程创建随后在客户端建立连接时将套接字传递到守护进程
服务通常指的时一个或多个守护进程,但启动或停止一项服务可能会对系统的状态进行一次性更改(如配置网络接口),不会留下守护进程之后继续运行。
Systemd的新特性
系统引导时实现服务并行启动
按需激活进程
系统状态快照
基于依赖关系定义控制逻辑
systemd的核心概念unit
systemd使用unit
0代表关机
1:代表单用户模式
2/3/4:多用模式
5:图形化
6:重启
unit关键特性
socket与服务程序分离
基于bus的激活机制:
使用使用dbus实现进程间通信的服务
不兼容特性
systemctl命令固定不变
非由systemd启动的服务,systemctl无法与之通信
只有已经启动的服务在级别切换时才会执行stop,在centos6以前是所有s开头的服务全部start,使用k开头的服务stop
系统服务不会读取任何来自标准输入的数据流
每个服务的unit操作均受5分钟超时时间限制
6版本以及之前
开启服务:service 服务名字 start
停止服务:开启服务:service 服务名字 stop
重启服务:开启服务:service 服务名字 restart
设置服务开机自启:chkconfig --add 服务名
设置服务不开机自启:chconfig 服务名 off
关机:shutdown -h now
重启:reboot
7以及之后的版本
开启服务:systemctl start 服务名字
停止服务:systemctl stop 服务名字
重启服务:systemctl restart服务名字
查看服务状态:systemctl status服务名字
设置开机自启:systemctl enable 服务名字
不开机自启:systemctl diaable 服务名字
使用systemctl管理服务
语法:systemctl COMMAND name[.service | ]
权限管理
权限简介
文件的权限主要针对三类对象进行定义
owner:属主,u
group:属组,g
other:其它,o
三种权限
r=4:文件 ----可读,可以使用类似cat等命令查看文件内容
w=2:文件 ----可写