磁盘管理
磁盘 软盘 光盘 磁带 闪存 硬盘
接口类型
IDE ide /dev/hd
SATA AHCI /dev/sd
SAS SCSI /dev/sd
M.2 Nvme pci-e x4
移动硬盘(u盘) /dev/sd
软盘 /dev/fd(0-7)
第一块硬盘
/dev/sda|/dev/hda (按照英文字母排序) sdaa
1024b ——1kb 1024kb--1mb 1024mb--1gb 1024gb ---1tb 1024 tb ---1pb 1024pb----1
磁面:磁盘的表面
磁道:
扇区:
磁柱:
对于硬盘来讲,最小的存储单位是扇区,每一个扇区的大小512字节,每一个扇区,磁道,磁柱都是从0开始
MBR分区表磁盘
硬盘的第一个扇区包含了主引导记录(MBR)存放了初始化程序加载器,分区表,校验码
MBR
初始化程序加载器(IPL) 占用了446字节
分区表 64字节
检验码 2字节
分区
最早诞生的目的,就是让用户安装多个操作系统
每一条分区信息占用16个字节
包含了起始磁柱编号
所有磁柱的数量
分区标识符(fat ntfs ext4 )
分区的类型
主分区:分区信息存储在mbr的分区表当中(64字节当中)最多可分4个
扩展分区:---------------------------的特殊的主分区 只能存储分区,不能存储数据,最多一个
逻辑分区:存储在扩展分区最开始的扇区,每一个逻辑分区可以存储一种分区信息
系统标识符为5(windows下扩展分区)的扩展分区 可分12个逻辑分区
系统标识符为85(linux的扩展分区)的扩展分区 IDE磁盘可分60个逻辑分区 scsi 可分12个
主分区&扩展分区使用数字标识(1-4)
逻辑分区 5-63{默认} (最多可以加到255)
fdisk
磁盘分区: fdisk 设备名
*a 更改分区启动标签
b 编辑卷标
c 切换成跟DOS相兼容的标签
*d 删除一个分区
*l 查看已知的分区标识符(文件系统类型)
m print this menu
*n 新建分区
o 创建空的分区表
*p 显示分区信息
q 退出不保存
s 创建空的SUN支持的分区表
*t 修改分区类型(分区标识符)
u 更改显示单位(默认是磁柱、扇区为单位)
v 检查分区表
*w 保存退出
x 高级功能
ID 号
5 windows扩展分区
85 linux--------
7 NTFS
82 SWAP
8e LVM
df linux RAID
83 linux (ext4 ext3 ext2)
partprobe 强制内核更新分区表
fdisk 只能创建和划分MBR分区表的磁盘 如果磁盘超过2.2T,fdisk,就不灵了 (扇区是512字节)
硬盘扇区是4k 8.8T
格式化
mkfs (make filesystem)
文件系统决定了计算机的读写的方式
块 存数据的最小单位
块大浪费空间,读写性能好
块小节省空间,读写性能差
超级块 是文件系统的心脏 超级块中保存了全局文件信息,如硬盘已用空间、数据块可用空间、inode结点信息等等
数据块 存数据
索引节点(inode节点) 记录文件的基本信息 类型 权限 链接数量 所有者、组 大小 数据块
语法: mkfs -t (指定文件系统类型) 分区设备名
mkfs.文件系统 分区设备名
mke2fs (格式化工具)
-t ext4/3/2 指定文件系统类型 默认ext4
-b 1024/2048/4096/8192 指定块大小
-i 数字 指定每个i节点控制的大小
-N 数字 i节点的数量
GPT分区表(简单介绍)
第一个扇区保留给MBR兼容使用
第二个扇区(GPT分区表主表)
磁盘最后一个扇区(GPT分区表备份表)
分区表头的格式
起始字节 长度 内容
0 8字节 签名("EFI PART")
8 4字节 修订
12 4字节 分区表头的大小
16 4字节 分区表头(第0-91字节)的CRC32校验,在计算时,把这个字段作为0处理,需要计算出分区串行的CRC32校验后再计算本字段
20 4字节 保留,必须是 0
24 8字节 当前LBA(这个分区表头的位置)
32 8字节 备份LBA(另一个分区表头的位置)
40 8字节 第一个可用于分区的LBA(主分区表的最后一个LBA + 1)
48 8字节 最后一个可用于分区的LBA(备份分区表的第一个LBA ? 1)
56 16字节 硬盘GUID(在类UNIX系统中也叫UUID)
72 8字节 分区表项的起始LBA(在主分区表中是2)
80 4字节 分区表项的数量
84 4字节 一个分区表项的大小(通常是128)
88 4字节 分区串行的CRC32校验
92 * 保留,剩余的字节必须是0(对于512字节LBA的硬盘即是420个字节)
GPT分区不像MBR一样限制主分区的数量!!!!!!!
parted(GPT分区工具) 自己baidu
parted
select /dev/sdc 选择要分区的磁盘
mklabel 新建磁盘标签
GPT 标签类型
mkpart 新建分区
ppp 分区名字
ext4 文件类型
3000 0-3000M大小
Ignore 忽略
print 查看分区
mkpart
ooo
ext4
3000
4G
Ignore
print
mkpart
iiii
ext4
4G
20G
print
rm 1 删除分区
quit 退出
mkfs -t ext4 分区设备名 格式化分区
fdisk -l 不能查看用parted分区的磁盘
用parted -l 查看
挂载
mount/umount
-o 指定附加选项
ro,rw 只读,读写
sync|async 同步处理|异步处理
atime|noatime 允许更新访问时间|不允许更新访问时间
dev|nodev 设备文件是否被识别为设备文件
exec|noexec 可执行文件是否可执行
suid|nosuid 特殊权限是否生效
user|nouser 是否允许用户挂载此设备
auto|noauto 执行mount -a 时是否自动挂载此分区、
remount 重新挂载
()默认值= rw suid dev exec auto nouser async()
-a /etc/fstab 中的挂载项,全部自动挂载
-t 指定文件系统类型(ext4|3|2 xfs redhat7的文件系统)
--bind 把一个目录挂载道另一个目录
umount 设备名|挂载点
-a all卸载所有 /etc/fstab
-r 如果卸载失败,将权限改为ro
fuser -vm 挂载设备名|挂载点 查询那个进程在占用挂载目录(文件系统)
fuser -km ----------------- 直接干死占用文件系统(挂载目录)的进程
fsck 检查文件系统保证数据完整性
语法:fsck 选项 设备
A 根据/etc/fstab设置检查所有文件系统
a 自动修复
y 代替回答yes
f 强制检查
########### fsck 不能针对已经挂载的文件系统执行,会造成数据混乱!!!!##################
/etc/fstab 用来存放文件系统的静态信息的文件, 当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录
设备(设备名|UUID) 挂载点 文件系统类型 挂载参数 dump(能否被kdump备份)pass (能否被fsck检查)
dmup : 0 表示忽略 1表示备份
pass :0表示不检查 1表示检查 优先级最高一般根目录使用 2表示检查 优先级低
扩充swp
文件类型 swap文件
生成swap文件 dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
格式化成swap文件系统 mkswap /tmp/swapfile
开启swap功能 swapon /tmp/swapfile
设置开机加载 vim /etc/fstab
/tmp/swapfile swap swap defaults 0 0
mount -a
分区类型 swap分区
划分swap分区 fdisk 设备名 卷标改为82
格式化成swap文件系统 mkswap 设备名
开启swap功能 swapon 设备名
设置开机加载 vim /etc/fstab
/dev/sdb1 swap swap defaults 0 0
mount -a
swapon
a 根据fstab文件设置开启所有swap功能
s 查看swap信息
p 指定swap优先级
swapoff 设备名 关闭swap分区
磁盘配额
可以限制用户和群组的磁盘空间用量
注意事项:
只能针对文件系统使用,不能针对目录。
内核必须支持
使用过程中,要生成相关记录文件
命名方式:
aquota.user
aquota.group
quota.user
quota.group
只针对普通用户
空间用量 block
I节点 (限制文件数量)
软限制:当用量达到软限制的数值时会显示警告
硬限制:当用量达到硬限制的数值时会直接限制使用
宽限时间:默认7天 当用户的用量介于软限制和硬限制之间时开始计时,计时结束后用户的用量没有低于软限制的值,则用户的使用空间直接锁定
开启配额的方式
mount -o usrquota,grpquota 设备名 挂载点
生成相关记录文件
quotacheck
a 根据/etc/mtab的设置检查所有支持quota的分区
u 生成用户的配额文件
g 生成组的配额文件
v 详细信息
f 强制
M 以读写的形式扫描 与-f配合使用
linux系统
学习阶段:你要关闭 iptables selinux NetworkManager
工作阶段: 只要关闭selinux NetworkManager(最小化安装,压根就没有)
启用配额功能
quotaon 文件系统
f 关闭
关闭配额
quotaoff 文件系统
编辑配额
edquota
语法:edquota -u|-g username|groupname
-u 编辑用户配额
-g 编辑组配额
quota 查看配额报告
-u 用户
-g 组
-v 详细信息
-s 使用1024进制 默认的时1000进制
repquota -a 所有
-v 详细信息
警告信:
使用当前用户
warnquota
查看邮件
mail
警告信内容配置文件:
路径:/etc/warnquota.conf
不修改配置文件,直接修改配额
setquota
u 用户
g 组
示例:
setquota -u username 软限制 硬限制 设备名(挂载点)