逻辑卷的构建、RAID磁盘阵列、进程管理

#逻辑卷的构建

又称 虚拟磁盘技术 作用:1、可以整合分散的空间 2、可以扩大空间

 

分区或者磁盘(物理卷PV) =》整体(卷组VG)=》新分区(逻辑卷(LV))

逻辑卷出现在分区 与格式化 之间

将众多的物理卷(PV)组建成卷组(VG),在从卷组中划分出逻辑卷(lv),最终将逻辑卷挂载使用

命令

 

- Scan扫描  

物理卷  
pvscan  
卷组  
vgscan  
逻辑卷  
lvscan  

查看卷组信息 - vgs  
pvs   
lvs  

- Create创建  
pvcreate  
vgcreate  
lvcreate  

- Display显示
pvdisplay
vgdisplay
lvdisplay

- Remove 清除

pvremove
vgremove
lvremove
- Extend扩展

pv 无
vgextend
lvextend

=================

制作逻辑卷

 

1、准备空闲的存储(必须是干净的)
    lsblk
2、创建卷组
    vgcreate zhuvg(卷组名) 设备的路径(可以多个)
    
    vgcreate zhuvg1 /dev/sdb3 /dev/sdb5
    
    vgs
    
    VG     #PV #LV #SN Attr   VSize   VFree 
      centos   1   2   0 wz--n- <19.00g     0 
      zhuvg1   2   0   0 wz--n-  19.99g 19.99g
    
    卷组名称 物理卷个数 逻辑卷个数 - - 卷组的大小 卷组的空闲空间
    
3、基于卷组划分逻辑卷
    lvcreate -n zhulv1(逻辑卷名字) -L 2G(逻辑卷的大小) zhuvg1(卷组名称)
    
    lvs

扩展逻辑卷到18G

 

1、卷组有足够的剩余空间
    
    【扩展空间】
    lvextend -L +2G /dev/zhuvg1/zhulv1
    
    或者
    
    lvextend -L 18G /dev/zhuvg1/zhulv1
    lvs  是18G  --- 空间的大小
    df -h 查看还是16G -- 文件系统的大小
    原因:添加的2G 未格式化
    
    【扩展文件系统】
    
    resize2fs: 扩展ext4文件系统(刷新ext4文件系统)
    xfs_growfs:扩展xfs文件系统(刷新文件系统)
    
2、卷组没有足够的剩余空间

    【先扩展卷组的空间】
    vgextend zhuvg1 /dev/sdb6 /dev/sdb7

逻辑卷可以缩小
ext4 支持缩小
xfs 不支持缩小

卷组划分空间单位为PE,只能1PE1PE的分给逻辑卷

 

默认情况下1PE为4M

修改PE
vgchange -s 1M zhuvg1

创建卷组的时候也可以 设置PE 用-s参数即可

vgcreate -s 1M zhuvg2 /dev/sdbn /dev/sdvm

创建逻辑卷可以使用PE的个数指定大小

 

lvcreate -L 20G -n zhulv2 zhuvg2

或者 PE默认4M  小写的L 指定PE个数

lvcreate -l 60 -n zhulv2 zhuvg2

逻辑卷的删除

 

逻辑卷要无挂载,才能删除
lvremove

删除卷组,基于该卷组的所有逻辑卷都要提前删除

RAID磁盘阵列

冗余:高可用 廉价冗余磁盘阵列

作用:通过硬件/软件技术,将多个较小/低俗的磁盘整合成一个大磁盘(直接可以使用–区别于卷组)

阵列的价值: 提升I/O效率,硬件级别的数据冗余

不同RAID级别的功能、特性不同

架构: 服务器有3个磁盘 =>RAID卡–整体的RAID阵列(/dev/sda) =>linux系统(它会认为只有一块盘)

RAID 级别

RAID 0 条带模式 至少需要两块磁盘(一个文档 分成两半或多块)

同一个文档分散存放在不同的磁盘 并行写入以提高效率

RAID 1 镜像模式 至少需要两块磁盘

一个文档复制成多份,分别写入不同磁盘 多份拷贝提高可靠性,效率无提升

RAID 5 高性价比模式 至少需要3块磁盘 — 采用奇偶校验

相当于RAID0和RAID1的折中方案 需要至少一块磁盘的容量来存放校验数据

RAID 6 高性价比/可靠模式 至少需要4块磁盘

扩展的RAID5阵列,提供两份独立校验方案 需要至少两块磁盘的容量来存放校验数据

RAID 0+1 / RAID 1+0 整合RAID 0、RAID 1的优势 并行存取提高效率、镜像写入提高可靠性 至少需要四块磁盘组成

0+1:

abcd 4块盘
ab 采用RAID 0
cd 采用RAID 0
然后将两个RAID 0 阵列 采用RAID 1 处理

统计展示

 

对比项 RAID 0 RAID 1 RAID 10 RAID 5 RAID 6
磁盘数 >=2 >=2 >=4 >=3 >=4
存储利用率 100% 50% 50% n-1/n n-2/n
校验盘 0 0 0 1 2
容错性
IO性能 较高 较高

RAID阵列的实现方式

硬RAID:由RAID控制卡管理阵列

主板-》阵列卡-》磁盘-》操作系统-》数据

软RAID:由操作系统来管理阵列 主板-》磁盘-》操作系统-》RAID软件-》数据

 

# 进程管理

 

程序:
静态的代码,占用磁盘空间

进程:
正在执行的代码,占用CPU与内存的资源
唯一标识:PID

父进程与子进程
一个程序运行会打开另一个程序,如微信会打开输入法

进程整体结构:树型结构

查看进程树

 

pstree -- Processes Tree
格式:
pstree	【选项】 【PID或用户名】
-a	显示完整的命令行
-p  列出对应的PID编号

systemd:上帝进程,所有进程的父进程

- 查看所有的进程树
pstree 

- 查看某个用户开启的进程树
pstree zhu

pstree -ap zhu

查看进程快照

 

ps -- Processes Snapsnot

aux(没有减号)  显示当前终端所有进程(a)、当前用户在所有终端下的进程(x)、以用户格式输出(u)

-elf(有减号) 显示系统内所有进程(e),以长格式输出信息(l),包括最完整的进程信息(f)

	ps aux:列出正在运行的所有进程,显示信息很完整

USER PID %CPU %MEM  VSZ RSS TTY      STAT START   TIME COMMAND

用户 进程ID CPU 内存 虚拟内存 固定内存 终端 状态 开始时间 CPU时间 程序指令
	ps -elf:列出正在运行的所有进程,会显示父进程的PID(PPID)
    
ps -elf | wc -l

动态查看进程

 

top 

-d  1    每1秒刷新一次
-U  zhu  某个用户的进程

按大写的P 会将占用CPU比较高的放在前面,按cpu占用排序
按大写的M 会将占用内存比较高的放在前面,按内存占用排序

top - 22:28:20(系统时间)
up  5:03(开机运行时间-5小时3分钟)
,  2 users (每开一个终端算一个用户,即使都是root 开两个算两个)
,  load average(cpu 的负载): 0.07(1分钟CPU处理进程的个数), 0.06(5分钟处理进程的个数), 0.06(15分钟处理进程的个数) 
Tasks(进程数): 206 total(总共),   1 running(运行中), 205 sleeping(休眠中),   0 stopped(停止),   0 zombie(僵尸)
%Cpu(s): 25.0 us,  0.0 sy,  0.0 ni, 75.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1006924 total,    67712 free,   695332 used,   243880 buff/cache
KiB Swap:  8388592 total,  8301808 free,    86784 used.   104472 avail Mem

检索进程

 

pgrep -Process Grep

pgrep 【选项】 查询条件

-l 输出进程名 而不仅仅是PID
-U 检索指定用户的进程
-x 精确匹配完整的进程名称

控制进程

进程的前后台调度

 

前台启动
输入正常命令行,运行期间占用当前终端

后台启动
在命令行末尾添加“&”符号,不占用当前终端

	ctrl + z 挂起当前进程(暂停并转入后台)

	jobs 命令 查看后台任务列表
    
    fg命令 将后台命令恢复到前台
    
    bg命令 激活后台被挂起的命令

后台建立一个进程

 

sleep 5000 &

- 利用jobs查看
-l 显示PID
[1]+  运行中  sleep 5000 &

- sleep 3000  

- 然后按ctrl + z 放入后台
[2]+  已停止     sleep 3000
2 后台进程编号 

- bg 2  激活后台第二个进程

- fg 1  恢复到前台 

ctrl + c 可以停止当前进程

杀死进程

 

Ctrl + c 中断当前命令程序

kill 【-9】 PID。。。、kill 【-9】 %后台任务编号

killall 【-9】 进程名 精准匹配

pkill  查找条件 模糊匹配

-- 一般僵尸和暂停的进程 使用-9杀

-------------------
敲4下 放4个进程到后台
sleep 8000 &
利用jobs -l 查看后台进程
	
    [1]   7480 运行中               sleep 8000 &
    [2]   7487 运行中               sleep 8000 &
    [3]-  7500 运行中               sleep 8000 &
    [4]+  7507 运行中               sleep 8000 &

强制杀死一个用户的所有进程(强制踢出一个用户)

 

killall -9 -u zhu

评论