16.1 存储与磁盘管理概述
DAS:
ATA(IDE) / SATA
SCSI / SAS
新创建(购买/获取)500G/ 插⼊到了主机主板存储接⼝-SCSI / 最终⽬的使⽤磁盘
500G磁盘 - 主机识别出来 (⽂件存储? 块存储?) - 块存储
回顾:
使⽤该500G硬盘
1.系统识别到该块设备 - 存储控制器/磁盘驱动器 - 驱动起来
2.建⽴分区
3.格式化-建⽴⽂件系统(windows - NTFS)
4.分配盘符D:/ - (挂载路径)
### windows cli磁盘管理⼯具 diskpart 主要对磁盘分区管理
C:\Users\Administrator>diskpart
DISKPART> list disk #查看磁盘列表, select disk #选定磁盘
DISKPART> clean # 清除掉硬盘分区表
DiskPart 成功地清除了磁盘。
### 分区表 MBR / GPT
MBR - 单个分区最多2T
GPT - 允许超过2T
16.2 磁盘分区管理-MBR
### 什么是MBR
MBR : Master Boot Record - 主引导记录
位于磁盘中的第⼀个扇区
在MBR中包含分区表 ,在分区表中可以确定 (1.分区扇区开始 -扇区结束 ) (2.是否是激活分区-系统分区)
?sector 扇区开始 - sector 扇区结束 - 分区1
?sector 扇区开始 - sector 扇区结束 - 分区2
从哪个分区读取操作系统?
### MBR中记录的内容
⼀个扇区=512Byte字节
1.446字节 - 主引导记录程序
2.64字节 - 分区表 DPT.Disk Partation Table
4个分区记录 - 每个分区记录占用16字节
每个分区记录 - 第⼀个字节 启动签名 (启动分区/系统分区 0x80 | 普通分区/非系统分区0x00)
4个分区中最多只有⼀个启动签名
最后4个字节为当前分区的总扇区数 : 最多可以表达的数量为 2^32 - 每个分区不可以超过2T,,一个扇区512Byte,总共2^32个,所以不能超过2T.
3.2字节 - 主引导记录签名 - 0x55AA (已经在本扇区中写⼊了MBR记录)
#引导扇区#64字节分区表#16字节分区记录
### MBR分区设计
主分区 - ⽆法进⾏扩展
扩展分区 - 可以进⾏扩展逻辑分区
可以全部 建⽴主分区
也可以全部 建⽴扩展分区
也可以 建⽴主分区 + 扩展分区
主分区 + 扩展分区 不能超过4个
如果需要4个以上分区,必须引⼊ 扩展分区+逻辑分区
16.3 Linux磁盘状态查看
磁盘类型及显示
# IDE(ATA)/ SATA / SCSI /SAS
IDE(ATA) - hdx #x: 块设备号码 a b c ....p 磁盘显示:hda / hdb
SATA / SCSI /SAS - sdx #x: 块设备号码 a b c ....p 磁盘显示: sda sdb sdc
sday y:分区号码 1 2 3 4 5 ... 磁盘显示:sda1 /sda2
sd[xy] sdb3 = 第2个块设备的第三个分区
光盘. sr0 / sr1 #光盘显示sr 块设备号码0 1 3 4.....
#在linux 磁盘/分区 都会以设备文件方式呈现
[root@localhost ~]# ls /dev/ | grep -i sd
sda
sda1
sda2
#在linux中,硬盘如果需要使⽤,需要进⾏分区-格式化-挂载(挂载点)
#1.lsblk
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1000M 0 part /boot #sda1
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom #sr0
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot
└─sda2 LVM2_mem YD8jpt-eYG5-IhOK-T2db-RWff-AWfl-L2Abeh
├─centos-root xfs 71928154-1958-49a8-9125-5757bd60407d /
└─centos-swap swap c17d9737-ae5e-44c6-b5fb-cb88d397ea8e [SWAP]
sr0 iso9660 CentOS 7 x86_64
2022-07-26-15-09-17-00
#2 .df
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 996844 0 996844 0% /dev
tmpfs 1013928 0 1013928 0% /dev/shm
tmpfs 1013928 10444 1003484 2% /run
tmpfs 1013928 0 1013928 0% /sys/fs/cgroup
/dev/mapper/centos-root 17836032 5062868 12773164 29% /
/dev/sda1 1020580 177444 843136 18% /boot
tmpfs 202788 12 202776 1% /run/user/42
tmpfs 202788 0 202788 0% /run/user/1000
[root@localhost ~]# df -T #显示⽂件系统类型
文件系统 类型 1K-块 已用 可用 已用% 挂载点
devtmpfs devtmpfs 996844 0 996844 0% /dev
tmpfs tmpfs 1013928 0 1013928 0% /dev/shm
tmpfs tmpfs 1013928 10444 1003484 2% /run
tmpfs tmpfs 1013928 0 1013928 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17836032 5062680 12773352 29% /
/dev/sda1 xfs 1020580 177444 843136 18% /boot
tmpfs tmpfs 202788 12 202776 1% /run/user/42
tmpfs tmpfs 202788 0 202788 0% /run/user/1000
[root@localhost ~]# df -Tm #1m-块
[root@localhost ~]# df -Th #显示⽂件系统类型-⼈性化⽅式输出 (1024进位)
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 0 991M 0% /dev/shm
tmpfs tmpfs 991M 11M 980M 2% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 4.9G 13G 29% /
/dev/sda1 xfs 997M 174M 824M 18% /boot
tmpfs tmpfs 199M 12K 199M 1% /run/user/42
tmpfs tmpfs 199M 0 199M 0% /run/user/1000
Filesystem = ⽂件系统
Type = ⽂件系统类型
1K-blocks = 块⼤⼩/数量 | Size
Used = 已经使⽤空间
Avai = 可以空间
Use% = 使⽤率
Mounted on = 挂载点
#3 .fdisk -l
[root@localhost ~]# fdisk -l
[root@centos8-server01 ~]# dd if=/dev/sda of=mbr_info.bin bs=1 count=512
[root@centos8-server01 ~]# hexdump -C mbr_info.bin
#4. du
[root@localhost ~]# du -s
4360 .
[root@localhost ~]# du -sh
4.3M .
[root@localhost ~]# du -sh /home #查看某个⽂件夹使⽤状态
28M /home
[root@localhost ~]# du -sh /etc/
43M /etc/
[root@localhost ~]# du -sh /usr/
3.9G /usr/
16.4 Linux磁盘空间管理
#0添加硬盘-500G
#1.分区
fdisk
#2.格式化
mkfs.xxx
#格式化sdb2,创建文件系统
[root@localhost new02_sdb1]# mkfs.ext3 /sdb5 #格式化sdb5,sdb2是扩展分区分为了sdb5和6,所以sdb2无需格式化,直接格式化sdb5和sdb6
mke2fs 1.42.9 (28-Dec-2013)
无法对 /sdb5 进行 stat 调用 --- 没有那个文件或目录
The device apparently does not exist; did you specify it correctly?
[root@localhost new02_sdb1]# mkfs.ext3 /dev/sdb5
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost new02_sdb1]# lsblk -f #再次查询
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot
└─sda2 LVM2_member YD8jpt-eYG5-IhOK-T2db-RWff-AWfl-L2Abeh
├─centos-root
xfs 71928154-1958-49a8-9125-5757bd60407d /
└─centos-swap
swap c17d9737-ae5e-44c6-b5fb-cb88d397ea8e [SWAP]
sdb
├─sdb1 xfs e954c99b-f6a9-41f4-9e7a-043d878b00f9 /new02_sdb1
├─sdb2
├─sdb5 ext3 f9722452-974c-40d5-9cdd-1b6891551e65 #sdb5有文件系统了
└─sdb6
sr0 iso9660 CentOS 7 x86_64 2022-07-26-15-09-17-00
#格式化sdb2,创建文件系统
[root@localhost new02_sdb1]# mkfs.xfs /dev/sdb6 #sdb6
meta-data=/dev/sdb6 isize=512 agcount=4, agsize=130880 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=523520, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost new02_sdb1]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot
└─sda2 LVM2_member YD8jpt-eYG5-IhOK-T2db-RWff-AWfl-L2Abeh
├─centos-root
xfs 71928154-1958-49a8-9125-5757bd60407d /
└─centos-swap
swap c17d9737-ae5e-44c6-b5fb-cb88d397ea8e [SWAP]
sdb
├─sdb1 xfs e954c99b-f6a9-41f4-9e7a-043d878b00f9 /new02_sdb1
├─sdb2
├─sdb5 ext3 f9722452-974c-40d5-9cdd-1b6891551e65
└─sdb6 xfs 00810c5f-79e8-43c3-a706-ce171de04357 #有文件系统了xfs
sr0 iso9660 CentOS 7 x86_64 2022-07-26-15-09-17-00
#3.添加挂载点
mkdir
[root@localhost /]# mkdir /new_sdb1
#创建sdb5和sdb6的挂载点,然后挂载
[root@localhost new02_sdb1]# cd /
[root@localhost /]# mkdir new_sdb5 #创建挂载点
[root@localhost /]# mkdir new_sdb6 #创建挂载点
[root@localhost /]# mount /dev/sdb5 /new_sdb5 #挂载
[root@localhost /]# mount /dev/sdb6 /new_sdb6 #挂载
[root@localhost /]# df -Th #查询
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 8.0K 991M 1% /dev/shm
tmpfs tmpfs 991M 10M 981M 2% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 4.9G 13G 29% /
/dev/sda1 xfs 997M 174M 824M 18% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/1000
/dev/sdb1 xfs 5.0G 33M 5.0G 1% /new02_sdb1
/dev/sdb5 ext3 2.9G 4.6M 2.8G 1% /new_sdb5 #挂上了
/dev/sdb6 xfs 2.0G 33M 2.0G 2% /new_sdb6 #挂上了
#4.挂载
mount
[root@localhost /]# mount /dev/sdb1 /new_sdb1 #临时挂载
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 8.0K 991M 1% /dev/shm
tmpfs tmpfs 991M 10M 981M 2% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 4.9G 13G 29% /
/dev/sda1 xfs 997M 174M 824M 18% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/1000
/dev/sdb1 xfs 5.0G 33M 5.0G 1% /new_sdb1
#5.卸载
umount
[root@localhost /]# cd /new_sdb1
[root@localhost new_sdb1]# touch 123
[root@localhost /]# umount /dev/sdb1 #卸载
[root@localhost /]# df -Th #查询,sdb1未见挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 8.0K 991M 1% /dev/shm
tmpfs tmpfs 991M 10M 981M 2% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 18G 4.9G 13G 29% /
/dev/sda1 xfs 997M 174M 824M 18% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/1000
[root@localhost /]# mkdir new02_sdb1 #创建新的挂载点
[root@localhost /]# mount /dev/sdb1 /new02_sdb1 #新挂载
[root@localhost /]# cd new02_sdb1 #进入文件夹
[root@localhost new02_sdb1]# ls #原来创建的123文件还在,卸载不会删除原有文件,数据还在只是换了新路径
123
#6.永久开机挂载
修改配置⽂件 /etc/fstab
1 2 3 4 5 6
UUID=e954c99b-f6a9-41f4-9e7a-043d878b00f9 /new02_sdb1 xfs defaults 0 0
第1列:UUID
第2列:挂载点
第3列:文件系统格式
第4列:磁盘模式 ro 只读 / noexec 表示挂载后⽂件不具备执行权限
第5列:dump备份 : 0表示不使⽤dump⼯具备份 / 1 表示使用dump进⾏定期备份 / 2 表示使⽤dump不定期备份
第6列:fsck文件系统检测修复: 0表示不检测修复 / 1 - 启动修复(根路径 / )/ 2 启⽤修复(⾮根路径 #xfs 不建议做文件系统检测修复
[root@localhost /]# more /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri May 23 07:18:45 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0 #默认挂载
UUID=92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot xfs defaults 0 0 #默认挂载
/dev/mapper/centos-swap swap swap defaults 0 0 #默认挂载
[root@localhost /]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot #默认挂载
└─sda2 LVM2_member YD8jpt-eYG5-IhOK-T2db-RWff-AWfl-L2Abeh
├─centos-root xfs 71928154-1958-49a8-9125-5757bd60407d / #默认挂载
└─centos-swap swap c17d9737-ae5e-44c6-b5fb-cb88d397ea8e [SWAP] #默...
sdb
├─sdb1 xfs e954c99b-f6a9-41f4-9e7a-043d878b00f9 /new02_sdb1
├─sdb2
├─sdb5 ext3 f9722452-974c-40d5-9cdd-1b6891551e65 /new_sdb5
└─sdb6 xfs 00810c5f-79e8-43c3-a706-ce171de04357 /new_sdb6
sr0 iso9660 CentOS 7 x86_64 2022-07-26-15-09-17-00
[root@localhost clh]# vim /etc/fstab #修改配置文件
#
# /etc/fstab
# Created by anaconda on Fri May 23 07:18:45 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=92e9d3f6-e0bd-42ad-a24d-23e3f9c36d9e /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=e954c99b-f6a9-41f4-9e7a-043d878b00f9 /new02_sdb1 xfs defaults 0 0 #新写入
[root@localhost clh]# mount -a # /etc/fstab 自动从fstab查找未挂载点设备,并且自动挂载