0
点赞
收藏
分享

微信扫一扫

Linux 的内核

一、1、内核的功能

系统初始化:检测硬件资源并启动

系统进程调度:决定进程什么时候运行以及运行多久

内存管理:给运行的进程分配内存

安全:支持权限,selinux和防火墙规则

提供 buffers和cache 加速硬件访问

支持标准网络协议和文件系统

2、内核的组成

在 Linux中多个版本的内核是可以共存的在/boot 目录下

内核以vmlinuz-xxx  开头 主文件

initramfs-xxx  内核启动过程中所需要驱动和模块

因此 vmlinuz-5.14、iniramfs-5.14 是成对出现的

内核模块存放的路径/usr/lib/modules/version

内核模块的文件通常以 .ko.xz 或者是 .ko 结尾

3、系统运行中的状态:

/proc      虚拟文件系统

/proc/PID 查看进程的PID

/proc/cpuinfo    查看CPU 的信息

/proc/partitions 查看磁盘信息

调整内核参数:

调整内核参数,可以让内核更好的实现某一类功能,或者让一个程序的运行状态更优

sysctl-a 查询已经生效的内核参数

临时修改内核参数:

sysctl net.ipv4.ip_forward=1

永久修改内核参数:

vim /etc/sysctl.d 或者是 /etc/sysctl.conf

net.ipv4.ip_forward=1

调整内核参数是可以达到优化系统的目的

一键调整内核参数的工具(系统优化工具):

tuned 一键按场景调优工具

yum install tuned -y 安装

将 tuned 预定义的应用场景称为调优配置集

tuned-adm     list 列出所有的配置集

tuned-adm recommend  用来查看tuned推荐的调优配置集

tuned-adm profile  virtual-host  设置为指定的调优配置集

4、定制调优配置集

cp -r /usr/lib/tuned/virtual-guest      /usr/lib/tuned/rhce-test   

修改目录下的 tuned.conf

文件调优的核心思想:

调优的效果与成本成反比???钱花的越多,效果越好???

架构调整  ——> 效果最好最明显  成本最高

硬件升级 ——>  效果较好     成本较高

优化代码  ——> 效果较差     成本较低

优化配置  ——> 效果最差     成本最低

5、系统的设备文件:

/dev 目录存放的不是真正的设备,存放的是设备的接口文件,系统是通过dev下的文件来进行设备的访问

例如块设备  主版本号  次版本号

主版本号 可以帮助系统确定设备的类型

次版本号 通常是序列也就是文件的编号

mknod 接口文件的名称  类型 主版本号 次版本号    

内核模块:

将内核动态加载的功能称为模块,内核模块可以给内核提供特定的能力,通过模块化,可以最大限度的避免,因为模块冲突造成的内核崩溃的问题;并且内核模块可以减少内核的空间占用,用时加载

查看系统正在使用的模块     lsmod

查看模块的详细信息            modinfo

手动加载模块                      modprobe

手动卸载模块                      modprobe -r

二、磁盘管理:

磁盘分区有两种分区方案:

基于MBR 分区表:

分区类型:主分区 扩展分区 逻辑分区

容量大小:单块磁盘或者阵列不能超过 2T

分区数量:主分区+扩展分区不能超过4个

常规业务网站、数据库

分区技巧:先分主分区,前面三个都是主分区;最后分扩展分区,然后从扩展分区中分出逻辑驱动器;逻辑驱动器的所有容量都来自于扩展分区,对于 MBR,如果最后一个扩展分区,没有将容量分完,则剩余的容量浪费了,无法创建新的分区

分区表:存放在硬盘的前512字节中

 基于 GPT分区表:

分区类型:主分区

容量大小:最大支持 8z

分区数量:支持 128 个分区

应用场景:图片、监控视频、非结构化数据

分区表:   分区表 备份

分区工具:

parteo   最好不要使用 

parted 对于分区做出的修改是立即生效的

交互式分区:

parted /dev/nvme0n2

mklabel 创建分区表

mkpart  创建分区 

免交互分区:

parted /dev/nvme0n2 mkpart primary xfs 2G 5G

fdisk 通常只能分MBR的分区,从RHEL8开始也可以分GPT 

fdisk

-l  查看磁盘的分区情况

-n 创建分区

-p  打印分区

-d  删除分区

-o  创建MBR的分区表

M  将GPT转成MBR

w   保存

q   退出

gdisk 只创建GPT的分区表

专门用来给 GPT磁盘进行分区

操作和 fdisk 类似

注意:如果 fdisk和 gdisk分完区后看不到磁盘,则使用磁盘分区表刷新工具,让内核读取新的分区表,这是因为内核在系统中读取的是硬盘旧的分区表,将导致新的分区在系统中无法识别,因此要刷新磁盘分区表让内核重新读取

partprobe    将系统中所有块设备的分区表更新

 partx /dev/nvme0n2  单独刷新某一个磁盘的分区表

重启操作系统让内核重新读取分区表

三、1、文件系统的创建:

mkfs ——>  make filesystem 格式化就是在创建文件系统

mkfs.文件系统类型   设备

mkfs  -t   文件系统类型   设备

2、文件系统的挂载:

mount 设备挂载点

如果将某一个目录作为挂载点,则该目录下最好不要存放文件,存放也没有意义因为该文件会失去访问入口(原来目录中的文件,不会删除也不会覆盖,只是无法访问)

mount UUlD 挂载点

UUID是文件系统的标识符,只有当设备上存在文件系统时,才会有UUID;也就是格式化会产生UUID,查看系统中块设备 UUID,使用 blkid 命令

mount -L 卷标   挂载点

xfs的文件系统卷标 

设置     xfs_admin -L“卷标名称” 文件系统

删除     xfs admin -L“__”文件系统

ext的文件系统卷标

设置:   e2label   文件系统   卷标 

删除:   e2label   文件系统  ' '

挂载选项:

mount

-r  只读挂载

-t   文件系统的类型网络文件系统 nfs、cifs 其他文件系统 nfsx

-w  读写挂载默认就是读写挂载\

-a   将/etc/fstab中允许自动挂载的条目且当前没有挂载的进行挂载

-o   指定额外的挂载选项

async:异步模式了

sync:同步模式

atime/noatime: 是否更新 atime,包含目录和文件

auto/noauto:    是否支持自动挂载 

exec/noexec:    是否支持文件系统上的可执行文件运行

dev/nodev:      是否支持在此文件系统上使用设备文件

suid/nosuid:    是否支持suid 的权限

remount:         重新挂载

ro/rw:              只读或者读写挂载

user/nouser:    是否允许普通用户挂载此设备

defaults:          默认挂载选项,是rw, suid,dev,exec,auto,nouser, and async 的组合

3、通过 mount 查看挂载的选项

开机自动挂载:

/etc/fstab  在 fstab 文件中定义的条目将在开机时自动挂载

fstab 的格式:

文件系统       挂载点       文件系统类型         挂载选项    转存频率     是否检查文件系统的错误

/dev/nvme0n2p2   /test    xfs   defaults   00

文件系统:可以是UUID也可以是设备还可以是卷标

挂载点:挂载的目录

文件系统类型: 文件系统的类型比如xfs ext4、ext3

defaults:默认的挂载选项

0 :   转存频率   是否开启文件系统备份   0不备份   1备份 

0  :    检查文件系统错误   只能检查ext的文件系统错误,因为使用的是fsck 扫描

测试挂载:

mount -a   将fstab中所有可以挂载但是当前没有挂载的文件系统挂载起来

mount   挂载点      将fstab中指定的条目进行挂载

卸载文件系统:

注意点: 卸载文件系统时,文件系统不能正在使用

查看正在使用文件系统的进程:  fuser-v   挂载点

强制结束正在使用文件系统的进程:fuser -km 挂载点

卸载文件系统:  umount   挂载点/文件系统

4、SWAP 交换分区:

交换分区,在操作系统中用来临时存储内存中的数据,操作系统会在硬盘上开辟一块区域,让其充当内存使用,以在系统资源紧张时;让用户运行更多的应用程序在 Linux 中将其称为 SWAP、在 windows 中将其称为虚拟内存

swap 的推荐大小:

2G 及2G 以下       设置为物理内存两倍

2G -8G之间          设置为同等的大小

8G-64G之间         至少要4G

大于 64G              4G 以上

配置 swap 的方式:

查看 swap:

free -m      查看当前生效的 swap 大小 

swapon-s   查看提供swap的设备以及优先级

通过分区配置:

创建 2G的分区 ——>格式化为 swap——>挂载 swap

fdisk /dev/nvme0n2

mkswap /dev/nvme0n2p3

swapon UUD="391890e3-16de-4a37-8e4d-bb645a2568e6

通过文件配置:

在 opt 下创建一个 26 大小的 swap.img 文件

dd if=/dev/zero of=/opt/swap.img  bs=1G count=2

格式化成 swap

mkswap /opt/swap.img

swapon /opt/swap.img






举报

相关推荐

0 条评论