Linux磁盘管理
磁盘管理
磁盘的基本知识CHS:
磁道:以盘片的圆心为中心,逻辑上划分出来的一个个同心圆。track
磁头:定位数据,header。
盘面:一个盘片有两个盘面组成。每个盘面对应一个磁头。
扇区:sector,是磁盘上最小的存储单位,每个扇区512字节(byte)
柱面:每个磁道都会对应一个柱面。是磁盘分区的最小单位。cylinder
磁盘的性能因素:
转速:
5400转/分钟(pc),7200,10000,15000
转速越快,读取速度越快
定位数据(寻道、寻址时间):3~6ms(毫秒) 扫描数据:5ms左右
传输数据:不考虑
吞吐量:
体现磁盘IO性能
吞吐量越大说明单位时间内磁盘处理的数据量越大。
制约吞吐量的重要因素:磁盘的接口
转速 吞吐量
IDE(ATA并口)
SATA(串口) 7200 3.0Gb/s 约为300M
SCSI 10000/15000 400~600M/s
SAS 10000/15000 3.0Gb~6.0Gb
fc ... 4Gb~8Gb/s
磁盘的分类:
磁盘接口分类:
IDE(ATA并口)
SATA(串口) 7200 3.0Gb/s 约为300M
SCSI 10000/15000 400~600M/s
SAS 10000/15000 3.0Gb~6.0Gb
fc ... 4Gb~8Gb/s
磁盘分区:
fdisk
MBR 主引导记录 Master Boot Record
MBR放在扇区上,存放MBR的扇区,叫做MBR扇区,位于磁盘上第一个柱面上的第一
个扇区。
从本地磁盘找系统--》MBR扇区 (磁盘第一个扇区512个字节)
446字节 64字节 2字节
grub(启动加载器) 分区表信息 校验码
存放一个分区信息占用16字节,共可以存放4个分区信息(主分区primary或者扩
展分区)。扩展分区,extend(允许有且只有一个扩展分区)
主分区 扩展分区
3 1
2 1
1 1
4 0
在扩展分区中分出的分区。叫逻辑分区(logical partition),逻辑分区的编号
从5开始。
分区后要进行格式化,将分区格式化成某一种文件系统(管理文件的读出和写入
)fat32 fat64 ntfs ext2 ext3(rhel 5) ext4(rhel 6) xfs(rhel 7)
格式化命令:mkfs -t ext4 /dev/sdb1 make file system
挂载:
准备一个挂载点
mount挂载
开机自动挂载:
每次重启系统后,自动挂载分区到执行挂载点目录
加磁盘:
关机-->磁盘 查看磁盘信息fdisk -l
磁盘的设备文件名:
IDE、ATA: /dev/hda /dev/hdb /dev/hdc
SATA、SCSI、SAS、fc:/dev/sda /dev/sdb /dev/sdc
分区数量:
IDE、ATA:最多63分区 1~4 hda5~hda59
sata/scsi/sas/fc: 最多15分区 1~4 sda5~sda14
总结步骤:
加磁盘-->fdisk分区-->让内核重新加载分区表(partx /dev/sdb)-->格
式化分区-->挂载-->开机自动挂载
磁盘分区命令:fdisk parted
fdisk不能分超过2T分区;如果分区大小超过2T,用parted
fdisk [选项] 磁盘的设备文件名
-l 列出查看分区、磁盘信息
physical 物理上 logical 逻辑上
分区步骤:
1) fdisk /dev/sdb
fdisk中可以执行的命令:
a 设置某个分区为启动分区
n 添加一个新的分区
p 打印分区表
t 更改分区的系统标示符(L可显示标识符)
d 删除分区
q 不保存修改退出
w 保存修改退出
2) 让内核重新加载分区表
rhel 5: partprobe直接回车
rhel 6: partx /dev/sdb
rhel 7: partprobe直接回车
重启系统完成更新分区表的工作。
3) 格式化mkfs
[root@mysql_b2 ~]# mkfs -t ext4 /dev/sdb1
或者: mkfs.ext4 /dev/sdb1
4) 挂载
[root@mysql_b2 ~]# mkdir /sdb1
[root@mysql_b2 ~]# mount /dev/sdb1 /sdb1
5) 开机自动挂载
[root@mysql_b2 sdb1]# vim /etc/fstab
文件系统 挂载点目录 文件系统类型 挂载参
数 是否使用dump工具来备份数据 是否开机检测(检测顺序)
/dev/sdb1 /sdb1 ext4
defaults 0 0
6) 编辑后,用mount -a 来检测编辑是否正确
defaults默认值为:
1. rw 以可读写的方式挂载
2. async 异步写入磁盘,速度快,但是数据可靠性低
3. auto 是否允许使用mount -a自动挂载
4. suid 是否允许在该文件系统上创建具有特殊权限
的文件(suid/sgid/sbit)
5. nouser 不允许普通用户执行mount命令挂载该文件系
统
6. exec 允许该文件系统上有可执行的二进制文件
mount -l df-h 查看挂载信息
mount -o 指定挂载参数
[root@mysql_b2 ~]# mount -t ext4 -o,ro
/dev/sdb1 /sdb1
实例:
创建swap分区(增加swap分区大小)
怎样去查看swap的使用情况:
free -m
创建分区的方式:
分区后需要修改分区标示符(t-分区标号7-82)
[root@mysql_b2 ~]# mkswap /dev/sdb7(格式化为swap)
[root@mysql_b2 ~]# swapon /dev/sdb7 //开启
关闭:swapoff /dev/sdb7
[root@mysql_b2 ~]# vim /etc/fstab //设置
开机自动挂载
文件系统 挂载点目录 文件系统类型 挂载参
数 是否使用dump工具来备份数据 是否开机检测(检测顺序)
/dev/sdb5 swap swap
defaults 0 0
创建大文件的方式:
[root@mysql_b2 ~]# dd if=/dev/zero of=/bigfile bs=1M
count=100
du -h /bigfile 查看文件大小
dd 工具,文件
if input file ,指定输入文件 /dev/zero 全
是0
of output file,指定输出文件 /bigfile
bs blocks 块,指定块大小 一个块1MB
count 数量。指定bs的数量
格式化成swap:#mkswap /bigfile
开启: #swapon /bigfile
关闭: #swapoff /bigfile
开机自动挂载:#vim /etc/fstab
索引式文件系统:ext4 ext2 ext3 xfs
block 用来存放某一文件的数据。每一个文件至少占用1个block。
inode 索引节点,每一个文件有且只有一个inode i节点。i节点中记录文件的属
性信息以及指向信息。
查看索引节点: ls -i filename
文件系统检测:
fsck file system check 也可手动检测文件系统,必须卸载文件系统
检测!!!
[root@mysql_b2 ~]# mkfs -t ext4 -b 1024 /dev/sdb //指定
block块大小为1K 1024 2048 4096 man mk2fs
查看文件系统信息:
dumpe2fs /dev/sdb1
man mk2fs //可查看block块可指定的大小
查看分区情况
df -h
fdisk -l
mount -l
dumpe2fs /dev/sdb1
查看swap分区的情况
free -m
查看文件大小
du -sh filename
[root@localhost ~]# du -h /bigfile
100M /bigfile
du -sh /filename (大小)
ll -l /filename (大小和权限)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了