主要内容:
LVM逻辑卷管理、VDO、RAID磁盘阵列、进程管理
一、新建逻辑卷
1、什么是逻辑卷
逻辑卷(Logical Volume)是逻辑卷管理(Logical Volume Management,LVM)系统中的一个概念。LVM是一种用于磁盘管理的系统,它允许用户更灵活地管理磁盘空间,提供了一种抽象层,使得磁盘分区可以像普通文件系统一样被管理和扩展。
在LVM中,逻辑卷是物理卷(Physical Volume)和卷组(Volume Group)之上的一个层次。以下是LVM中几个关键概念的简要解释:
物理卷(Physical Volume,PV):物理卷是LVM的基本存储单元,通常是一个硬盘分区或整个硬盘。物理卷被LVM初始化后,可以被LVM用来创建卷组。
卷组(Volume Group,VG):卷组是由一个或多个物理卷组成的集合。卷组将物理卷的空间统一管理,可以用来创建逻辑卷。
逻辑卷(Logical Volume,LV):逻辑卷是LVM系统中最终提供给用户使用的存储空间。逻辑卷可以被格式化为不同的文件系统(如ext4、XFS等),并挂载到系统中使用。
通过LVM,用户可以动态地调整逻辑卷的大小,而不需要重新分区或重新格式化硬盘。这为用户提供了极大的灵活性,特别是在需要扩展或缩小存储空间时。
例如,如果一个逻辑卷的空间不足,可以通过向卷组中添加更多的物理卷来扩展逻辑卷的大小。同样,如果需要缩小逻辑卷的大小,也可以在不中断服务的情况下完成。
1.1 LVM工作方式
在“ 分区 --> 格式化 ” 中间增加的一个逻辑层(虚拟化磁盘技术)
用途:整合分散的空间,空间支持扩大;
LVM制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)
注意:空闲存储必须是空闲分区或空闲磁盘,已格式化分区或挂载使用磁盘无法作为物理卷;
注意:参与逻辑卷的磁盘分区或磁盘,只能被用来作逻辑卷,不能再作为基础磁盘使用,若需要使用则删除逻辑卷和卷组,卸载开机挂载点;
注意:即使是空闲的扩展分区无法作为空闲存储创建物理卷,扩展分区只能划分逻辑分区使用;
1.2 LVM管理工具集
1.3 LVM快速部署及使用
前置步骤:准备空闲分区磁盘,至少一个空闲磁盘分区进行逻辑卷创建(例如:/dev/vdb1)
步骤1:提前进行磁盘分区
[root@localhost /]# parted /dev/vdb mkpart xixi ext4 60G 70G
信息: You may need to update /etc/fstab.
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
vdb 252:16 0 80G 0 disk
├─vdb1 252:17 0 9.3G 0 part
├─vdb2 252:18 0 9.3G 0 part
├─vdb3 252:19 0 9.3G 0 part
├─vdb4 252:20 0 9.3G 0 part
├─vdb5 252:21 0 9.3G 0 part
└─vdb6 252:22 0 9.3G 0 part
步骤2:创建卷组(VG)
格式:vgcreate 卷组名 空闲分区设备路径... //卷组名可随意
例如:
[root@localhost /]# vgcreate systeamvg /dev/vdb[1-2] //创建卷组Physical volume "/dev/vdb1" successfully created.Physical volume "/dev/vdb2" successfully created.Volume group "systeamvg" successfully created[root@localhost /]# pvscan //查看物理卷信息PV /dev/vda2 VG centos lvm2 [<19.00 GiB / 0 free]PV /dev/vdb1 VG systeamvg lvm2 [<9.31 GiB / <9.31 GiB free]PV /dev/vdb2 VG systeamvg lvm2 [<9.31 GiB / <9.31 GiB free]Total: 3 [37.61 GiB] / in use: 3 [37.61 GiB] / in no VG: 0 [0 ][root@localhost /]# vgscan //查看卷组信息Reading volume groups from cache.Found volume group "centos" using metadata type lvm2Found volume group "systeamvg" using metadata type lvm2
步骤3:创建逻辑卷(LV)
格式:lvcreate -L 大小 -n 逻辑卷名称 卷组名
例如:
[root@localhost /]# lvcreate -L 16G -n vo systeamvg //创建逻辑卷Logical volume "vo" created.[root@localhost /]# lvscan //查看逻辑卷信息ACTIVE '/dev/centos/swap' [2.00 GiB] inheritACTIVE '/dev/centos/root' [<17.00 GiB] inheritACTIVE '/dev/systeamvg/vo' [16.00 GiB] inherit
注意:创建逻辑卷后,系统会创建/dev/systeamvg/vo快捷方式
[root@localhost /]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 8.8G 0 rom /run/media/root/CentOS 7 x86_64
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
vdb 252:16 0 80G 0 disk
├─vdb1 252:17 0 9.3G 0 part
│ └─systeamvg-vo 253:2 0 16G 0 lvm
├─vdb2 252:18 0 9.3G 0 part
│ └─systeamvg-vo 253:2 0 16G 0 lvm
├─vdb3 252:19 0 9.3G 0 part
├─vdb4 252:20 0 9.3G 0 part
├─vdb5 252:21 0 9.3G 0 part
└─vdb6 252:22 0 9.3G 0 part
注意:type类型为lvm以及分区磁盘下有vg-lv,即为有LVM逻辑卷
步骤4:格式化逻辑卷(mkfs)
例如:
[root@localhost /]# ls -l /dev/systeamvg/vo //查看/dev/systeamvg/vo快捷方式
lrwxrwxrwx. 1 root root 7 3月 10 14:17 /dev/systeamvg/vo -> ../dm-2[root@localhost /]# mkfs.xfs /dev/systeamvg/vo //格式化逻辑卷
meta-data=/dev/systeamvg/vo isize=512 agcount=4, agsize=1048576 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=4194304, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0[root@localhost /]# blkid /dev/systeamvg/vo
/dev/systeamvg/vo: UUID="fa3d4c33-d571-4686-995b-e5d6205375c7" TYPE="xfs"
步骤5:设置开机自动挂载
例如:
[root@localhost /]# mkdir /mylv //创建挂载目录
[root@localhost /]# vim /etc/fstab //修改fstab文件
/dev/systeamvg/vo /mylv xfs defaults 0 0
[root@localhost /]# mount -a //检测fstab文件内容书写是否正确
[root@localhost /]# df -h //查看正在挂载使用的设备
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 4.4G 13G 26% /
devtmpfs 480M 0 480M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 7.8M 488M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 1014M 157M 858M 16% /boot
tmpfs 100M 4.0K 100M 1% /run/user/42
tmpfs 100M 36K 100M 1% /run/user/0
/dev/sr0 8.8G 8.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/systeamvg-vo 16G 33M 16G 1% /mylv
注意:当文件系统是/dev/mapper/*,表示为已经完成逻辑卷创建
补充:快捷方式多路径
[root@localhost /]# ls -l /dev/mapper/systeamvg-vo
lrwxrwxrwx. 1 root root 7 3月 10 14:38 /dev/mapper/systeamvg-vo -> ../dm-2
二、扩展逻辑卷大小
1、检查现有逻辑卷大小
使用lvscan命令,可以用来扫描逻辑卷的大小、卷组名,检查所在卷组的剩余空间,看是否满足扩展的需要。
注意:逻辑卷必须找之前基于创建的卷组扩展空间,卷组要查看是否满足扩展需求;
例如:
[root@localhost /]# df -h | grep vo //查看当前挂载设备信息及文件系统使用大小
/dev/mapper/systeamvg-vo 16G 33M 16G 1% /mylv
[root@localhost /]# lvscan | grep vo //查看逻辑卷总大小ACTIVE '/dev/systeamvg/vo' [16.00 GiB] inherit
[root@localhost /]# vgdisplay systeamvg | grep Free //查看卷组剩余空间大小Free PE / Size 670 / <2.62 GiB
2、扩展逻辑卷
情况1:卷组的剩余空间充足时,可直接扩展逻辑卷
- 格式:lvextend -L 新大小 /dev/卷组名/逻辑卷名 //推荐使用,无需计算大小
- 格式:lvextend -L +大小 /dev/卷组名/逻辑卷名
例如:
[root@localhost /]# lvextend -L 18G /dev/systeamvg/vo //扩展逻辑卷Size of logical volume systeamvg/vo changed from 16.00 GiB (4096 extents) to 18.00 GiB (4608 extents).Logical volume systeamvg/vo successfully resized.
[root@localhost /]# lvscan //查看逻辑卷ACTIVE '/dev/centos/swap' [2.00 GiB] inheritACTIVE '/dev/centos/root' [<17.00 GiB] inheritACTIVE '/dev/systeamvg/vo' [18.00 GiB] inherit
[root@localhost /]# df -h | grep vo
/dev/mapper/systeamvg-vo 16G 33M 16G 1% /mylv
注意:由于扩容卷组后应该通知Linux内核,否则使用df等工具时看到的仍是旧大小;[root@localhost /]# xfs_growfs /dev/systeamvg/vo //更新文件系统大小
meta-data=/dev/mapper/systeamvg-vo isize=512 agcount=4, agsize=1048576 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4194304, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4194304 to 4718592
[root@localhost /]# df -h | grep vo
/dev/mapper/systeamvg-vo 18G 33M 18G 1% /mylv
3、扩展卷组
情况2:当卷组的剩余空间不足时,需要先扩展卷组,否则扩展逻辑卷时会报错“lnsufficient free space”
格式:vgextend 卷组名 空闲分区...
例如:
[root@localhost /]# vgextend systeamvg /dev/vdb3 /dev/vdb4 //扩展卷组Physical volume "/dev/vdb3" successfully created.Physical volume "/dev/vdb4" successfully created.Volume group "systeamvg" successfully extended
[root@localhost /]# vgscanReading volume groups from cache.Found volume group "centos" using metadata type lvm2Found volume group "systeamvg" using metadata type lvm2[root@localhost /]# lvextend -L 25G /dev/systeamvg/vo //扩展逻辑卷Size of logical volume systeamvg/vo changed from 18.00 GiB (4608 extents) to 25.00 GiB (6400 extents).Logical volume systeamvg/vo successfully resized.
[root@localhost /]# lvscan | grep vo //查看逻辑卷ACTIVE '/dev/systeamvg/vo' [25.00 GiB] inherit
[root@localhost /]# df -h | grep vo //查看挂载设备信息
/dev/mapper/systeamvg-vo 18G 33M 18G 1% /mylv
注意:由于扩容卷组后应该通知Linux内核,否则使用df等工具时看到的仍是旧大小;[root@localhost /]# xfs_growfs /dev/systeamvg/vo //更新文件系统大小
meta-data=/dev/mapper/systeamvg-vo isize=512 agcount=5, agsize=1048576 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4718592, imaxpct=25= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4718592 to 6553600
[root@localhost /]# df -h | grep vo
/dev/mapper/systeamvg-vo 25G 33M 25G 1% /mylv
4、更新文件系统大小
对于格式化过的逻辑卷,扩容后应该通知Linux内核,否则使用df等工具时看到的仍是旧大小;
刷新文件系统容量:
- 格式:resize2fs 设备路径 // EXT3/4设备
- 格式:xfs_growfs 设备路径 //XFS设备
例如:
[root@localhost /]# xfs_growfs /dev/systeamvg/vo //更新文件系统大小
...
三、逻辑卷补充知识
1)逻辑卷支持缩减
- xfs文件系统:不支持缩减
- ext4文件系统:支持缩减
2)卷组划分空间的单位:PE
LVM卷组的PE,默认一个PE的大小为4M(PE大小一般为2的倍数)
例如:
[root@localhost /]# vgdisplay systeamvg //查看卷组详细信息PE Size 4.00 MiBTotal PE 9534Alloc PE / Size 6400 / 25.00 GiBFree PE / Size 3134 / 12.24 GiB....
创建卷组的时候设置PE大小
- 格式:vgcreate -s PE大小 卷组名 空闲分区...
为已创建的卷组设置PE大小
- 格式:vgchange -s PE大小 卷组名
创建逻辑卷的时候指定PE个数
- 格式:lvcreate -l PE个数 -n 逻辑卷名 卷组名
例如1:创建一个大小为350M的逻辑卷,逻辑卷名为lvaaa
[root@localhost ~]# vgcreate -s 1M systeamvg /dev/vdc6Physical volume "/dev/vdc6" successfully created.Volume group "systeamvg" successfully created
[root@localhost ~]# vgdisplay systeamvgPE Size 1.00 MiBTotal PE 4095Alloc PE / Size 0 / 0 Free PE / Size 4095 / <4.00 GiB
...
[root@localhost ~]# lvcreate -L 350M -n lvaaa systeamvgLogical volume "lvaaa" created.
[root@localhost ~]# lvscan | grep lvaaaACTIVE '/dev/systeamvg/lvaaa' [350.00 MiB] inherit
例如2:已有卷组的条件下,创建一个大小为250M的逻辑卷,逻辑卷名为lvredhat
[root@localhost /]# vgchange -s 1M systeamvgVolume group "systeamvg" successfully changed
[root@localhost /]# vgdisplay systeamvgPE Size 1.00 MiBTotal PE 38136Alloc PE / Size 25600 / 25.00 GiBFree PE / Size 12536 / 12.24 GiB
...
[root@localhost /]# lvcreate -L 250M -n lvredhat systeamvgLogical volume "lvredhat" created.
[root@localhost /]# lvscan | grep lvredhatACTIVE '/dev/systeamvg/lvredhat' [250.00 MiB] inherit
例如3:创建逻辑卷的时候指定PE个数为108,逻辑卷名为lvhaha
[root@localhost ~]# lvcreate -l 108 -n lvhaha systeamvgLogical volume "lvhaha" created.
[root@localhost ~]# lvscan | grep lvhahaACTIVE '/dev/systeamvg/lvhaha' [108.00 MiB] inherit
四、逻辑卷与卷组的删除操作
1、逻辑卷的删除
- 删除卷组的前提:基于此卷组创建的所有逻辑卷要全部删除;
- 删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷;
注意:直接删除卷组,会导致逻辑卷异常、扇区损坏等,必须一层层逐步删除;
格式:lvremove 设备
例如:
[root@localhost /]# lvscanACTIVE '/dev/centos/swap' [2.00 GiB] inheritACTIVE '/dev/centos/root' [<17.00 GiB] inheritACTIVE '/dev/systeamvg/vo' [25.00 GiB] inheritACTIVE '/dev/systeamvg/lvredhat' [250.00 MiB] inherit
[root@localhost /]# lvremove /dev/systeamvg/vo Logical volume systeamvg/vo contains a filesystem in use. //逻辑卷正在使用,需卸载[root@localhost /]# umount /dev/systeamvg/vo //卸载挂载点
[root@localhost /]# lvremove /dev/systeamvg/vo
Do you really want to remove active logical volume systeamvg/vo? [y/n]: yLogical volume "vo" successfully removed
[root@localhost /]# lvremove /dev/systeamvg/*
Do you really want to remove active logical volume systeamvg/lvredhat? [y/n]: yLogical volume "lvredhat" successfully removed
[root@localhost /]# lvscanACTIVE '/dev/centos/swap' [2.00 GiB] inheritACTIVE '/dev/centos/root' [<17.00 GiB] inherit
[root@localhost /]# vim /etc/fstab //删除fstab文件的逻辑卷开机自动挂载信息
2、卷组的删除
格式:vgremove 卷组名
例如:
[root@localhost /]# vgremove systeamvgVolume group "systeamvg" successfully removed
[root@localhost /]# vgscanReading volume groups from cache.Found volume group "centos" using metadata type lvm2
五、RAID磁盘阵列
需要服务器硬件RAID卡,用来整合硬盘为整体再部署操作系统
- RAID,Redundant Arrays of Inexpensive Disks
- 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘
- 阵列的价值:提升I/O效率、硬件级别的数据冗余
- 不同RAID级别的功能、特性各不相同
① RAID 0,条带模式
- 同一个文档分散存放在不同磁盘
- 并行写入以提高效率,一般存放缓存数据
- 至少需要两块磁盘组成,磁盘利用率100%
- 缺点:假如其中某一磁盘损坏则资料丢失50%,可靠性不高
② RAID 1,镜像模式
- 一个文档复制成多份,分别写入不同磁盘
- 多份拷贝提高可靠性,效率无提升
- 至少需要两块磁盘组成,磁盘利用率50%
- 缺点:效率不高
③ RAID5,高性价比模式
- 相当于RAID0和RAID1的折中方案
- 需要至少一块磁盘的容量来存放校验数据
- 至少需要三块磁盘组成,磁盘利用率n-1/n
④ RAID6,高性价比/可靠模式
- 相当于扩展的RAID5阵列,提供2份独立校验方案
- 需要至少两块磁盘的容量来存放校验数据
- 至少需要四块磁盘组成,磁盘利用率n-2/n
⑤ RAID 0+1/RAID 1+0
- 整合RAID 0、RAID 1的优势
- 并行存取提高效率、镜像写入提高可靠性
- 至少需要四块磁盘组成,磁盘利用率50%
RAID各级别特点对比:
RAID阵列实现方式:
1)硬RAID:由RAID控制卡管理阵列
- 主板 -> 阵列卡 -> 磁盘 -> 操作系统 -> 数据
2)软RAID:由操作系统来管理阵列
- 主板 -> 磁盘 -> 操作系统 -> RAID软件 -> 数据
六、Systemd进程管理
Systemd 是一个系统和服务管理器,用于启动和管理 Linux 系统中的进程和服务。它是 Linux 发行版中广泛采用的初始化系统,取代了传统的 SysV init 脚本。Systemd 的主要目标是提高系统的启动速度,并提供更强大的并行化能力,同时提供一套全面的系统管理工具。
以下是 Systemd 的一些关键特性:
并行化启动:Systemd 能够并行启动系统服务,从而显著加快系统的启动时间。
依赖关系管理:Systemd 通过服务单元文件(.service)定义服务之间的依赖关系,确保服务按照正确的顺序启动和停止。
进程管理:Systemd 不仅可以启动和管理服务,还可以监控这些服务的运行状态,并在服务失败时自动重启它们。
日志管理:Systemd 集成了日志服务(journald),提供了一个集中的日志管理系统,可以方便地查看和分析系统日志。
单元文件:Systemd 使用单元文件来定义和管理各种类型的系统资源,如服务(.service)、套接字(.socket)、设备(.device)、挂载点(.mount)等。
定时任务:Systemd 提供了定时器单元(.timer),可以用来替代 cron 进行定时任务的管理。
挂载和自动挂载:Systemd 可以管理文件系统的挂载和自动挂载,简化了文件系统的管理。
网络管理:Systemd 提供了网络管理工具(NetworkManager),可以方便地管理网络配置和连接。
- 程序:静态没有执行的代码,占用硬盘空间
- 进程:动态执行的代码,占用CPU与内存资源(计算资源)
- 进程分为:父进程与子进程,以树型结构展示;
- 进程编号:PID
- 所有进程的父进程:systemd(PID永远为1,又称为上帝进程)
1)pstree查看进程(Processes Tree)
格式:pstree [选项] [PID或用户名]
常用命令选项:
- [-a] 显示完整的命令行
- [-p] 列出对应进程的PID编号
例如:
[root@svr7 ~]# pstree -p lisi
bash(7341)───vim(7383)
[root@svr7 ~]# pstree -a lisi
bash└─vim haha.txt
[root@svr7 ~]# pstree -ap lisi
bash,7341└─vim,7383 haha.txt
2)ps查看进程快照(Processes Snapshot)
格式:ps [选项]...
常用命令选项:
[ aux ]
- 显示当前终端所有进程(a)
- 当前用户在所有终端下的进程(x)
- 以用户格式输出(u)
[ -elf ] //注意该选项有加 【-】
- 显示系统内所有进程(-e)
- 以长格式输出信息(-l)
- 包括最完整的进程信息(-f)
① ps aux 操作
列出正在运行的所有进程,显示进程信息非常详细
用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令
② ps -elf 操作
列出正在运行的所有进程,显示进程父进程信息
PPID为父进程的PID
例如:
[root@pc207 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 193708 5048 ? Ss 11:07 0:02 /usr/lib/system
root 2 0.0 0.0 0 0 ? S 11:07 0:00 [kthreadd]
...
root 6312 0.0 0.0 107948 352 ? S 16:36 0:00 sleep 60
root 6313 0.0 0.1 155324 1880 pts/1 R+ 16:37 0:00 ps aux
例如:
[root@pc207 ~]# ps -elf
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 48427 ep_pol 11:07 ? 00:00:02 /usr/
1 S root 2 0 0 80 0 - 0 kthrea 11:07 ? 00:00:00 [kthr
1 S root 3 2 0 80 0 - 0 smpboo 11:07 ? 00:00:00 [ksof
...
0 S root 6331 777 0 80 0 - 26987 hrtime 16:38 ? 00:00:00 sleep
0 R root 6332 4976 0 80 0 - 38831 - 16:38 pts/1 00:00:00 ps -e
...
例如:请计算正在运行的进程有多少个?
[root@pc207 ~]# ps aux | wc -l
215
[root@pc207 ~]# ps -elf | wc -l
215
3)top 交互式工具
用途:进程动态排名
格式:top [-d 刷新秒数] [-U 用户名]
快捷命令:
- 按大写P进行CPU排序
- 按大写M进行内存排序
TOP界面解释汇总1:
TOP界面解释汇总2:
详细参考:top命令解释_3 running, 342 sleeping, 0 stopped, 0 zombie %cpu(-CSDN博客
4)pgrep检索进程(Process Grep)
格式:pgrep [选项]... 查询条件
常用命令选项
- [-l] 输出进程名,而不仅仅是 PID
- [-U] 检索指定用户的进程
- [-x] 精确匹配完整的进程名
例如:
[root@svr7 ~]# pgrep -l a //输出包含a的进程名,而不仅仅是 PID(生序)
2 kthreadd
7 migration/0
10 lru-add-drain
11 watchdog/0
...
[root@svr7 ~]# pgrep -U lisi //查看用户进程(类似pstree -p)
7341
7383
[root@svr7 ~]# pstree -p lisi
bash(7341)───vim(7383)
[root@svr7 ~]# pgrep -x crond //精确匹配完整的进程名
1132
[root@svr7 ~]# pgrep -lx crond
1132 crond
[root@svr7 ~]# pgrep -lx cron //精确匹配完整的进程名,cron非进程名
1、控制进程(进程的前后台调度)
- 前台启动:输入正常命令行,运行期间占用当前终端;
- 后台启动:在命令行末尾添加“&”符号,不占用当前终端;
指令:
① &符号 //正在运行的状态放入后台
格式:执行命令程序 &
② Ctrl + z 组合键 //挂起当前进程(暂停并转入后台)
命令:
- [ jobs ] //查看后台任务列表
- [ fg 后台编号... ] //将后台任务恢复到前台运行
- [ bg 后台编号... ] //激活后台被挂起的任务
例如:
[root@localhost ~]# yum -y install xorg-x11-apps[root@svr7 ~]# xeyes & //正在运行的状态放入后台
[1] 完成 xeyes
[root@localhost ~]# jobs //查看后台进程信息
[1]+ 运行中 xeyes &
[root@localhost ~]# fg 1 //让后台编号为1 的进程恢复到前台运行
xeyes[root@localhost ~]# xeyes
^Z //按Ctrl+z 暂停放入后台
[1]+ 已停止 xeyes
[root@localhost ~]# jobs //查看后台进程信息
[1]+ 已停止 xeyes
[root@localhost ~]# bg 1 //激活后台编号为1 的进程继续运行
[1]+ xeyes &
[root@localhost ~]# jobs //查看后台进程信息
[1]+ 运行中 xeyes &
[root@localhost ~]# fg 1 //让后台编号为1 的进程恢复到前台运行
xeyes
^C //按Ctrl+c结束程序
2、杀死进程
干掉进程的不同方法:
Ctrl + C 组合键,中断当前命令程序
- 格式:kill [-9] PID...
- 格式:kill [-9] %后台任务编号
- 格式:killall [-9] 进程名... //停止程序需要+[-9]
- 格式:pkill [-9] 查找条件
例如:
[root@svr7 ~]# xeyes &
[1] 8410
[root@svr7 ~]# xeyes &
[2] 8417
[root@svr7 ~]# xeyes &
[3] 8424
...[root@svr7 ~]# kill 8410
[1] 已终止 xeyes
[root@svr7 ~]# kill -9 8417
[2] 已杀死 xeyes[root@svr7 ~]# jobs
[3] 运行中 xeyes &
[4] 运行中 xeyes &
[5] 运行中 xeyes &
[6]- 运行中 xeyes &
[7]+ 已停止 xeyes[root@svr7 ~]# killall -9 xeyes
[3] 已杀死 xeyes
[4] 已杀死 xeyes
[5] 已杀死 xeyes
[6]- 已杀死 xeyes
[7]+ 已杀死 xeyes杀死一个用户开启的所有程序(强制踢出一个用户)
例如:# killall -9 -u lisi
七、VDO基本概念(了解内容)
1、VDO(Virtual Date Optimizer虚拟数据优化器)
一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽;VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可;
# 所需软件包
yum -y install vdo kmod-kvdo
1)重复数据删除
输入的数据会判断是不是冗余数据;判断为重复数据的部分不会被写入,然后对源数据进行更新,直接指向原始已经存储的数据块即可;
2)压缩
对每个单独的数据块进行处理;
2、制作VDO卷基础命令
1)vdo基本操作:参考man vdo(全文查找/example)
- vdo create --name=VDO卷名称 --device=设备路径 --vdoLogicalSize=逻辑大小
- vdo list
- vdo status -n VDO卷名称
- vdo remove -n VDO卷名称
- vdostatus [--human-readable] [/dev/mapper/VDO卷名称]
2)VDO卷的格式化加速(跳过去重分析):
- mkfs.xfs –K /dev/mapper/VDO卷名称
- mkfs.ext4 -E nodiscard /dev/mapper/VDO卷名称
小结:
本篇章节为【第一阶段】ENGINEER-DAY3 的学习笔记,可以初步了解到 LVM逻辑卷管理、VDO、RAID磁盘阵列、进程管理。除此之外推荐参考相关学习网址:
- Linux fdisk 命令 | 菜鸟教程
Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解