逻辑卷管理、逻辑卷扩展、文件系统刷新、逻辑卷删除、VDO、RAID磁盘阵列、查看进程命令、进程控制、进程管理

发布时间:2024年01月16日

1 打开虚拟机

2 环境准备:添加一块新的80G硬盘

[root@localhost ~]# lsblk

80G硬盘进行(MBR分区模式)规划分区

划分3个10G的主分区;2个20G的逻辑分区

    [root@localhost ~]# fdisk  /dev/vdb   
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +10G
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +10G
    n 创建主分区--->回车--->回车--->回车--->在last结束时 +10G
    p 查看分区表
    n 创建扩展分区 --->回车--->起始回车--->结束回车   将所有剩余空间给扩展分区
    p 查看分区表
    n 创建逻辑分区----->起始回车------>结束+20G
    n 创建逻辑分区----->起始回车------>结束+20G
    p 查看分区表
    w 保存并退出
    [root@localhost ~]# lsblk                   
    [root@localhost ~]# parted  /dev/vdb print #查看分区类型

3 逻辑卷

作用:1.整合分散的空间 2.空间支持扩大

逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV)

4 制作逻辑卷

建立卷组(VG)

格式:vgcreate 卷组名 设备路径…….

Successfully:成功 example:例子

    [root@localhost ~]# man   vgcreate     #参考帮助信息 按q退出
    [root@localhost ~]# vgcreate  systemvg   /dev/vdb[1-2]
    [root@localhost ~]# pvs      #查看系统所有物理卷信息
    [root@localhost ~]# vgs     #查看系统卷组信息  

建立逻辑卷(LV)

格式: lvcreate -L 大小G -n 逻辑卷名字 卷组名

    [root@localhost ~]# lvcreate   -L  16G   -n  vo    systemvg
    [root@localhost ~]# vgs    #查看卷组信息
    [root@localhost ~]# lvs     #查看逻辑卷信息

使用逻辑卷(LV)

    ]# ls   /dev/systemvg/vo 
    ]# ls -l    /dev/systemvg/vo
                                
    ]# mkfs.xfs    /dev/systemvg/vo    #格式化xfs文件系统
    ]# blkid   /dev/systemvg/vo   #查看文件系统类型
    ]# vim  /etc/fstab        
    /dev/systemvg/vo   /mylv    xfs   defaults  0   0
    ]# mkdir    /mylv
    ]# mount   -a       #检测fstab文件内容书写是否正确
    ]# df    -h    /mylv    #查看查看正在挂载使用的设备

5 逻辑卷的扩展

卷组有足够的剩余空间

1.扩展逻辑卷的空间

    ]# df   -h   |   grep   vo
    ]# vgs
    ]# lvextend    -L   18G    /dev/systemvg/vo
    ]# vgs
    ]# lvs

2.扩展逻辑卷的文件系统(刷新文件系统)

xfs_growfs:刷新xfs文件系统

resize2fs:刷新ext4文件系统

    ]# xfs_growfs  /dev/systemvg/vo
    ]# df   -h   |   grep   vo
    ]# lvs

卷组没有足够的剩余空间

1.扩展卷组的空间

    ]# vgextend    systemvg     /dev/vdb{3,5,6}
    ]# vgs

2.扩展逻辑卷的空间

    ]# vgs
    ]# lvextend    -L    25G     /dev/systemvg/vo
    ]# vgs
    ]# df   -h   |     grep   vo

3.扩展逻辑卷的文件系统(刷新文件系统)

    ]# xfs_growfs   /dev/systemvg/vo
    ]# df   -h    |    grep    vo

6 逻辑卷的补充

逻辑卷支持缩减

xfs文件系统:不支持缩减

ext4文件系统:支持缩减

卷组划分空间的单位 PE

默认1个PE的大小为4M

    ]# vgdisplay  systemvg     #显示卷组的详细信息
    PE Size               4.00 MiB    #PE的大小

请创建一个大小为250M的逻辑卷名字为lvredhat

    ]# vgchange  -s  1M  systemvg   #卷组已存在修改PE大小
    ]# vgdisplay  systemvg          #查看卷组详细信息
    ]# lvcreate  -L  250M  -n   lvredhat   systemvg
    ]# lvs

?创建卷组时,指定PE的大小

    [root@nb ~]# vgcreate  -s  1M   systemvg  /dev/vdb[1-2]

?创建逻辑卷的时候指定PE个数

–lvcreate -l PE个数 -n 逻辑卷名 卷组名

?修改卷组systemvg的PE大小为1M。基于此卷组创建逻辑卷lvbase大小为98个PE组成

    [root@localhost ~]# lvcreate  -l  98  -n  lvbase   systemvg
    [root@localhost ~]# lvs

逻辑卷的删除

删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷

    [root@localhost ~]# lvremove  /dev/systemvg/vo 
      Logical volume systemvg/vo contains a filesystem in use.
    [root@localhost ~]# umount   /mylv/
    [root@localhost ~]# lvremove  /dev/systemvg/vo
    Do you really want to remove active logical volume systemvg/vo? [y/n]: y
      Logical volume "vo" successfully removed
    [root@localhost ~]# lvs      #查看当前系统的所逻辑卷
    [root@localhost ~]# vim /etc/fstab  #仅删除vo开机自动挂载
    [root@localhost ~]# lvremove  /dev/systemvg/lvredhat 
    Do you really want to remove active logical volume systemvg/lvredhat? [y/n]: y
      Logical volume "vo" successfully removed

删除卷组的前提:基于此卷组创建的所有逻辑卷,要全部删除

    [root@svr1 ~]# lvs
    [root@svr1 ~]# vgremove  systemvg    #删除卷组
    [root@svr1 ~]# vgs        #查看当前系统的所有卷组信息
    [root@svr1 ~]# pvremove   /dev/vdb{1,2,3,5,6}
    [root@svr1 ~]# pvs      #查看当前系统的所有物理卷信息

7 构建本地Yum仓库

    [root@nb ~]# mkdir    /nsd50
    [root@nb ~]# mount    /dev/cdrom     /nsd50
    [root@nb ~]# ls   /nsd50
    [root@nb ~]# rm  -rf   /etc/yum.repos.d/*
    [root@nb ~]# vim    /etc/yum.repos.d/dc.repo
    [wtc]
    name=centos
    baseurl=file:///nsd50/AppStream         
    enabled=1
    gpgcheck=0
    [wdc]
    name=centos
    baseurl=file:///nsd50/BaseOS         
    enabled=1
    gpgcheck=0
    [root@nb ~]# yum  -y  install  dhcp-server

8 进程管理

程序:静态没有执行的代码 硬盘空间

进程:动态执行的代码 CPU与内存资源

父进程与子进程 树型结构

进程编号:PID

9 查看进程信息

pstree查看进程(Processes Tree)

?常用命令选项

-p:列出对应进程的PID编号

-a:显示完整的命令行

systemd(PID永远为1):所有进程的父进程(上帝进程)

    [root@localhost ~]# pstree     #显示正在运行的所有进程
    [root@localhost ~]# pstree  -p lisi #显示lisi用户开启的进程
    bash(9609)───vim(9656)
    [root@localhost ~]# pstree  -a  lisi   
    bash
      └─vim haha.txt
    [root@localhost ~]# pstree  -ap  lisi

ps — Processes Snapshot

–格式:ps [选项]...

?常用命令选项

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

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

? ps aux 操作

– 列出正在运行的所有进程,显示进程信息非常详细

用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令

? ps -elf 操作

–列出正在运行的所有进程,显示进程父进程信息

–PPID为父进程的PID

    [root@localhost ~]# ps  aux   |   wc   -l
    [root@localhost ~]# ps   -elf   |   wc   -l
    [root@localhost ~]# ps  aux
    [root@localhost ~]# ps   -elf

top 动态的查看工具

–格式:top [-d 刷新秒数] [-U 用户名]

    [root@localhost ~]# top   -d   1
    按大写P进行CPU排序
    按大写M进行内存排序             

pgrep — Process Grep

–用途:pgrep [选项]... 查询条件

?常用命令选项

-l:输出进程名,而不仅仅是 PID

-u:检索指定用户的进程

-x:精确匹配完整的进程名?

    ]# pgrep    -l    ab   #显示进程名包含ab的进程
    ]# pgrep    -l    sys  #显示进程名包含sys的进程
    ]# pgrep   -u   lisi     #显示lisi用户开启的进程
    ]# pstree   -p   lisi     #显示lisi用户开启的进程
    ]# top    -d   1    #显示进行信息,每隔1秒刷新
    ]# pgrep  -x   crond   #精确匹配完整的进程名
    ]# pgrep  -lx   crond   

10 控制进程(进程前后台的调度)

?&符号:正在运行的状态放入后台

?Ctrl + z 组合键:挂起当前进程(暂停并转入后台)

?jobs 命令:查看后台任务列表

?fg 命令:将后台任务恢复到前台运行

?bg 命令:激活后台被挂起的任务

    [root@localhost ~]# sleep 2000
    ^Z                 #按Ctrl+z  暂停放入后台
    [1]+  已停止               sleep 2000
    [root@localhost ~]# jobs    #查看后台进程信息
    [1]+  已停止               sleep 2000
    [root@localhost ~]# bg 1     #让后台编号为1 的进程继续运行
    [1]+ sleep 2000 &
    [root@localhost ~]# jobs 
    [1]+  运行中               sleep 2000 &
    [root@localhost ~]# fg 1     #让后台编号为1 的进程恢复到前台
    sleep 2000
    ^C               #按Ctrl+c   结束
    [root@localhost ~]# sleep  3000  &   #正在运行放入后台
    [1] 35470
    [root@localhost ~]# jobs 
    [1]+  运行中               sleep 3000 &
    [root@localhost ~]#  

11 干掉进程的不同方法

–Ctrl+c 组合键,中断当前命令程序

–kill [-9] PID... 、kill [-9] %后台任务编号

–killall [-9] 进程名...

–pkill [-9] 查找条件 #包含就算

    [root@localhost ~]# sleep 3000 &
    [1] 35490
    [root@localhost ~]# sleep 3000 &
    [2] 35491
    [root@localhost ~]# jobs 
    [1]-  运行中               sleep 3000 &
    [2]+  运行中               sleep 3000 &
    [root@localhost ~]# killall -9 sleep
    [1]-  已杀死               sleep 3000
    [2]+  已杀死               sleep 3000
    [root@localhost ~]#        

12 RAID磁盘阵列

硬件要求:需要服务器硬件RAID卡

?廉价冗余磁盘阵列

–Redundant Arrays of Inexpensive Disks

–通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘

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

–不同RAID级别的功能、特性各不相同

?RAID 0,条带模式

–同一个文档分散存放在不同磁盘

–并行写入以提高效率

–至少需要两块磁盘组成,磁盘利用率100%

?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%

13 VDO卷(了解内容)

?Virtual Data Optimizer(虚拟数据优化器)

–一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽

–VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可

?重复数据删除

–输入的数据会判断是不是冗余数据

–判断为重复数据的部分不会被写入,然后对源数据进行更新,直接指向原始已经存储的数据块即可

    [root@svr7 ~]# yum  -y  install   vdo     #所需软件包
    ?制作VDO卷
    ?vdo基本操作:参考man vdo 全文查找/example
    –vdo  create  --name=VDO卷名称  --device=设备路径 --vdoLogicalSize=逻辑大小
    –vdo  list
    –vdo  status  -n  VDO卷名称
    –vdo  remove  -n  VDO卷名称
    –vdostats  [--human-readable] [/dev/mapper/VDO卷名称]
    ?VDO卷的格式化加速(跳过去重分析):
    –mkfs.xfs  –K   /dev/mapper/VDO卷名称
    –mkfs.ext4  -E  nodiscard  /dev/mapper/VDO卷名称
    前提制作VDO需要2G以上的内存
    [root@nb ~]# vdo create --name=vdo0 --device=/dev/sdc --vdoLogicalSize=200G
    [root@nb ~]# mkfs.xfs -K  /dev/mapper/vdo0 
    [root@nb ~]# mkdir /nsd01
    [root@nb ~]# mount   /dev/mapper/vdo0   /nsd01
    [root@nb ~]# df -h
    [root@nb ~]# vdostats --hum /dev/mapper/vdo0 #查看vdo设备详细信息
    [root@svr7 ~]# vim /etc/fstab 
    /dev/mapper/vdo0  /nsd01  xfs  defaults,_netdev  0  0 

14 sudo提权

让普通用户具备root用户身份去执行某些操作

[root@nb ~]# vim /etc/sudoers #sudo提权主配置文件

    [root@nb ~]# visudo     #此方式可以检查语法错误
    bob            ALL=(root)      /usr/bin/mkdir,/usr/bin/cat
    普通用户   所有的主机=(变成的身份)     可以执行的命令程序
    ....此处省略一万字.....
    [root@nb ~]# useradd    bob
    [root@nb ~]# echo   123  |    passwd   --stdin   bob
    [root@nb ~]# su  -   bob
    [bob@nb ~]$ sudo  -l       #查看提权的命令
    ............
    [sudo] bob 的密码:   #输入bob用户的密码
    [bob@nb ~]$ cat    /etc/gshadow
    cat: /etc/gshadow: 权限不够
    [bob@nb ~]$ sudo   cat   /etc/gshadow
    [bob@nb ~]$ exit

?取消密码验证

    [root@nb ~]# visudo   #取消提权时密码验证
    bob     ALL=(root)    NOPASSWD:/usr/bin/mkdir,/usr/bin/cat
                          
    ....此处省略一万字.....
    [root@nb ~]# su – bob
    [bob@nb ~]$ sudo  cat  /etc/shadow
文章来源:https://blog.csdn.net/fmj121030/article/details/135565741
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。