逻辑卷的构建、RAID磁盘阵列、进程管理
又称 虚拟磁盘技术 作用:1、可以整合分散的空间 2、可以扩大空间
分区或者磁盘(物理卷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
评论