Linux磁盘管理体系2
老男孩教育-王牌班-83期-系统管理体系-
磁盘管理体系
老男孩教育-王牌班-83期-系统管理体系-磁盘管理体系
1. 复盘与今日内容
1.1 复盘
1.2 今日内容
2. 系统管理-磁盘管理体系
2.1 磁盘分区
1) 预备姿势
2) 磁盘及分区命名
2.2 磁盘分区实战
1) 概述
2) 磁盘分区
3) 格式化(创建文件系统) ⭐ ⭐ ⭐ ⭐ ⭐
4) 挂载 ⭐ ⭐ ⭐ ⭐ ⭐
5) 永久挂载 ⭐ ⭐ ⭐ ⭐ ⭐
6) 挂载光盘
7) 小结
2.3 mbr vs gpt
2.4 创建swap
2.5 企业分区方案
3. 今日内容
1. 复盘与今日内容
1.1 复盘
用户与权限管理体系
用户:
分类
增删改查
相关文件 /etc/passwd , /etc/group /etc/shadow
/etc/gshadow
故障: 命令行变成-bash-4.2$ 原因,解决(/etc/skel/)
sudo提权:普通用户想以root权限运行命令. 使用. root进行授权
(visudo),普通用户进行使用(sudo 命令)
权限管理
文件,目录的rwx含义.
修改权限,所有者,chmod,chown
通过分析权限,找出permission denied(权限拒绝)原因(从第 2 阶段开
始就有了)
系统默认权限通过umask控制.
特殊权限 /tmp/ 1777
隐藏属性: chattr,lsattr
系统管理-软件包管理
Linux安装软件方式: yum/apt/apt-get , rpm/dpkg , 二进制安装 ,
编译安装 xxxx-devel
yum 增,查 ,改,删
rpm 增,查,删 ,改
yum源的配置: base,epel源
creatreporepodata
系统管理-进程管理
top,ps
僵尸进程
系统负载及负载高如何排查:top,ps,iotop
系统管理-服务管理
systemctl 管理服务
开机自动启服务
开启关闭重启服务
centos ubuntu
软件源的目
录
/etc/yum.repos.d/(目录)
*.repo结尾
/etc/apt/sources.list
(文件)
使用软件源
注意事项
配置完成直接使用yum安装即可,最
多yum clean all
apt update 生成缓存,然
后才能安装软件
安装软件 yum install -y tree apt install -y tree
查看软件是
否安装 rpm -qa |grep xxx dpkg -l |grep xxx
安装rpm包 rpm -ivh dpkg -i
删除 rpm -e dpkg -r
Linux运行级别
Linux启动流程
系统管理-磁盘管理
磁盘选型,接口(SATA,SAS,PCI-E),容量,转速(15k 300g 600g),类型(机
械,固态)
RAID级别: raid卡实现,实现方式:raid级别
磁盘组成
ubuntu/debian系列 apt源的配置与使用
1
1 apt install -y tree sl lolcat cmatrix
1.2 今日内容
磁盘分区:实战
swap创建
磁盘故障案例: 磁盘空间不足系列
2. 系统管理-磁盘管理体系
2.1 磁盘分区
MBR,GPT
磁盘命名及磁盘分区命名
实战操作
1) 预备姿势
MBR:磁盘引导程序
位置:磁盘分区表 磁盘的开始部分:0磁头,0磁道,1扇区(512字节)
这 512 字节存放了
引导程序 446 字节(MBR)
磁盘分区表(64字节)
结束标记 55AA
分区表 64 字节,每个分区占用 16 字节,最多只有 4 个分区,
这 4 个分区 叫做主分区
扩展分区是用于解决主分区数量主分区只能有 4 个问题,扩展分区无法直接使
用,需要在扩展分区下面创建逻辑分区,存放数据.
逻辑分区在扩展分区中,用于存放数据.
主分区-扩展分区-逻辑分区关系
2) 磁盘及分区命名
磁盘文件放在/dev/下面
命名
硬盘命名
分区命名
2.2 磁盘分区实战
1) 概述
一块硬盘
分区操作(打隔断)
创建文件系统(装修,格式化)
挂载(安装门窗,命令,配置文件)
sda
vda
磁盘接口:
sas/sata/scsi 命名 sd开头
虚拟机/云: vd开头
第 1 块硬盘(SAS)接口
/dev/sda
1 2 3 4 5 6 7 8 9
主分区+扩展分区 从1-
逻辑分区从 5 开始
1
2
案例 01 硬盘及分区命名
第 2 块SATA硬盘的第 1 个主分区 /dev/sdb
第 3 块SAS硬盘的第 2 个逻辑分区 /dev/sdc
1
2
3
挂载:给设备设置个入口,如果不挂载,这个设备无法访问,类似于没有门窗的监狱.
环境准备
添加 2 块硬盘
2 个0.1g硬盘即可
检查
2) 磁盘分区
案例 02 创建20MB的分区
[root@oldboy83-prod ~]# fdisk -l |grep '/dev/sd'
磁盘 /dev/sda:21.5 GB, 21474836480 字节, 41943040 个扇区
/dev/sda1 * 2048 2099199 1048576 83
Linux
/dev/sda2 2099200 41943039 19921920 8e
Linux LVM
磁盘 /dev/sdb:106 MB, 106954752 字节, 208896 个扇区
磁盘 /dev/sdc:106 MB, 106954752 字节, 208896 个扇区
磁盘 /dev/sdd:3221.2 GB, 3221225472000 字节, 6291456000 个扇
区
1 2 3 4 5 6 7
案例 02 创建20MB的分区
fdisk /dev/sdb
案例 03 创建一个分区使用硬盘所有容量
1
2
3
4
#1 操作硬盘
fdisk /dev/sdb
#2. 对硬盘分区进行增删改查
1
2
3
4
5
案例 03 创建一个分区使用硬盘所有容量
p print 输出磁盘分区信息
n new 创建分区
d delete 删除分区
w write 保存并退出
q quit 退出不保存
#3. 创建20MB分区
命令(输入 m 获取帮助):n #创建分区
Partition type: #提示选择 类型
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #输入p或回车默认使用主分区
Using default response p
分区号 (1-4,默认 1 ): #分区号回车使用默认的 1 号
起始 扇区 (2048-208895,默认为 2048 ): #回车,使用默认的起点
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-208895,默认为
208895 ):+20M #+20M分区20MB
分区 1 已设置为 Linux 类型,大小设为 20 MiB
#4. 通过p查看
#5. 通过w保存退出
#6. 查看/dev/sdb*
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
1 2 3 4 5 6
3) 格式化(创建文件系统) ⭐ ⭐ ⭐ ⭐ ⭐
创建 make 文件系统 filesystem
mkfs 创建文件系统(格式化)
重复格式化错误提示
分区号 (1-4,默认 1 ):
起始 扇区 (2048-208895,默认为 2048 ):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-208895,默认为
208895 ):
将使用默认值 208895
分区 1 已设置为 Linux 类型,大小设为 101 MiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
7
8
9
10
11
12
13
14
15
16
17
18
mkfs 磁盘或分区
mkfs.xfs /dev/sdb
1
2
mkfs.xfs: /dev/sdb1 appears to contain an existing
filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
1
2
4) 挂载 ⭐ ⭐ ⭐ ⭐ ⭐
给设备指定入口,不挂载则无法使用.
mount 设备 入口(目录)
入口: 挂载点,一般是个空目录就行. /mnt linux临时挂载点.
卸载
#临时挂载
mount /dev/sdb1 /mnt/
[root@oldboy83-prod ~]# df -h
文件系统 容量 已用 可用 已
用% 挂载点
devtmpfs 979M 0 979M
0 % /dev
tmpfs 991M 0 991M
0 % /dev/shm
tmpfs 991M 9 .6M 981M
1 % /run
tmpfs 991M 0 991M
0 % /sys/fs/cgroup
/dev/mapper/centos_oldboy83lnb-root 17G 3 .4G 14G
20 % /
/dev/sda1 1014M 138M 877M
14 % /boot
tmpfs 199M 0 199M
0 % /run/user/
/dev/sdb1 98M 5 .3M 93M
6 % /mnt
1 2 3 4 5 6 7 8 9
10
11
12
13
umount /mnt
umount 挂载点
1
2
/etc/fstab
每一列含义 第^1 列 第^2 列 第^3 列 第^4 列
第
5
列
第
6
列
设备名
字/dev/sdb1或
UUID形式
挂载点 文件系统类型:xfs,ext
一般是
defaults,
挂载选项
是
否
备
份
是
否
检
查
/dev/sdb1 /data/ xfs defaults 0 0
UUID="048c0c5e-
332a-44b6-bf70-
99ff0c3fb2ff"
5) 永久挂载 ⭐ ⭐ ⭐ ⭐ ⭐
方案 挂载命令 mount /dev/sdb1 /data/ 写入到/etc/rc.local,注意
命令最好写为绝对路径
方案 配置开机自动挂载的文件 /etc/fstab filesystem table文件系统
的挂载表
课后研究lvm如何实现动态扩展分区空间. lvm逻辑卷.
6) 挂载光盘
mount /dev/cdrom /mnt/
ls -l /mnt/Packages/*.rpm |wc -l
1
2
分
区
表
特点 对应的命令
mbr 支持区,扩展分区2tb以内的硬盘,逻辑分区,大于. 2tb则只识别2tb. 区别主分 fdisk/parted
gpt 支持大容量硬盘,主分区无限使用(100多个). gdisk/parted
7) 小结
进行分区: fdisk
格式化(创建文件系统 ) : mkfs -t xfs mkfs.xfs
挂载: 给设备指定入口(挂载点): mount/umount
永久挂载: 方案01:/etc/rc.local 方案02: /etc/fstab
2.3 mbr vs gpt
案例 04 创建gpt格式的分区大小10MB (/dev/sdc)
查看硬盘分区信息
parted /dev/sdb print
编辑/dev/sdc
parted /dev/sdc
创建分区表gpt格式
mktable gpt 或者mklabel gpt 一样 #注意mbr叫做msdos类型
创建分区10mb
mkpart primary 0 10
mkpart primary 10 20
1 2 3 4 5 6 7 8 9
10
11
12
13
14
15
2.4 创建swap
swap交换分区:内存不足的时候临时充当内存,占用的磁盘空间.
操作过程
删除分区
rm 1
退出编辑
q 或quit
16
17
18
19
20
案例 05 服务器运行java程序,大量占用内存,以至于开始占用swap如何解决?
- 一步保证网站正常,增加swap空间.
- 联合开发一起排查.
1 .创建指定大小的文件1g的文件.
2 .把文件转换为swap.
3 .激活这个swap,把它加入到linux中.
4 .记得配置永久挂载.
1 2 3 4 5 6 7 8
1 .创建指定大小的文件1g的文件.
dd if=/dev/zero of=/tmp/1g bs=1M count= 1000
if input file 输入文件/dev/zero不断输出空.
of ouput file 输出文件
bs block size 每次读取多少
count 读取次数
2 .把文件转换为swap(格式化).
mkswap /tmp/1g
-----------------------
root@oldboy83-prod ~]# file /tmp/1g
/tmp/1g: data #刚刚创建的文件data普通数据文件
1 2 3 4 5 6 7 8 9
10
11
12
13
14
[root@oldboy83-prod ~]# mkswap /tmp/1g
正在设置交换空间版本 1 ,大小 = 1023996 KiB
无标签,UUID=0c072a5f-5ec2-4590-acd3-cae1e
[root@oldboy83-prod ~]# file /tmp/1g #成为了swap 文件
/tmp/1g: Linux/i386 swap file (new style), version 1 (4K
pages), size 255999 pages, no label, UUID=0c072a5f-5ec2-
4590-acd3-cae1e
--------------------------
3 .激活这个swap,把它加入到linux中.
[root@oldboy83-prod ~]# free -h
total used free shared
buff/cache available
Mem: 1 .9G 201M 596M 9 .6M
1 .2G 1 .6G
Swap: 2 .0G 0B 2 .0G
chmod 600 /tmp/1g
swapon /tmp/1g
free -h
total used free shared
buff/cache available
Mem: 1 .9G 202M 595M 9 .6M
1 .2G 1 .6G
Swap: 3 .0G 0B 3 .0G
4 .记得配置永久挂载.
方法01 : swapon /tmp/1g写入到rc.local
方法02: 写入/etc/fstab
/tmp/1g swap
swap defaults 0 0
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
分区 作用与大小
/boot/
引导分区
引导系统启动与存放引导文件,存放
系统内核镜像. 推荐1G即可.^
swap
根据实际内存配置,大于8G,swap配
置8G即可.
低于实际内存低于8G, 1.5倍或 2 倍
,最大8G.
补充:公有云可以不配置, 如
果是java建议配置一些.
/根分区 所有剩余空间给根.
分区 作用与大小
/boot/
引导分区
引导系统启动与存放引导文件,存放
系统内核镜像. 推荐1G即可.^
swap
根据实际内存配置,大于8G,swap配
置8G即可.
低于实际内存低于8G, 1.5倍或 2 倍
,最大8G.
补充:公有云可以不配置, 如
果是java建议配置一些.
/根分区 给要数据单独存放40G-200G,主要安装一些软件.重
/data/ 剩余所有空间.
2.5 企业分区方案
公有云
物理机/虚拟机(私有云)
服务器存放的数据,不重要.
服务器存放重要的数据.
分区 作用与大小
/boot/
引导分区
引导系统启动与存放引导文件,存放
系统内核镜像. 推荐1G即可.^
swap
根据实际内存配置,大于8G,swap配
置8G即可.
低于实际内存低于8G, 1.5倍或 2 倍
,最大8G.
补充:公有云可以不配置, 如
果是java建议配置一些.
/根分区 给要数据单独存放40G-200G,主要安装一些软件.重
剩余空间
不划分 未来谁使用谁划分.^
不知道是否重要.
lvm的使用建议
3. 今日内容
磁盘及磁盘分区命名.
磁盘使用流程: 磁盘分区,格式化,挂载与永久挂载.
parted命令使用:gpt分区
逻辑卷.
优点: 可以动态调整分区大小.
缺点: 软件实现,效率较低.
未来可以搭配raid+lvm使用.
者直接raid部署系统,不使用lvm.
预测:未来3-5年的增长情况.
1 2 3 4 5 6 7 8 9
增加swap.
mbr vs gpt区别
磁盘管理
正则表达式与三剑客
sed
awk
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)