#查看CHS
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda:30 GiB,32212254720 字节,62914560 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x69b7b195
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 62914559 60815360 29G 8e Linux LVM
#0代表SSD,1代表机械
[root@localhost ~]# lsblk -d -o name,rota
NAME ROTA
sda 1
sr0 1
磁盘分区的优点:
分区方式:
两种分区方式:MBR,GPT
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
GPT结构
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
总结
MBR:适用于小容量硬盘(<= 2 TB),最多支持 4 个主分区,兼容旧操作系统和 BIOS。
GPT:适用于大容量硬盘(> 2 TB),支持更多分区(最多 128 个),提供冗余和唯一标识,需要 UEFI 引导。
分区管理
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
创建分区命令
fdisk 管理MBR分区
gdisk 管理GPT分区(和fdisk用法类似)
parted 高级分区操作,可以是交互或非交互方式
分区类型
主分区
标识:主分区的编号通常是从 1 开始的连续数字,例如 /dev/sda1、/dev/sda2。
限制:最多 4 个主分区。
扩展分区
标识:扩展分区通常编号为 /dev/sda4(如果前三个是主分区)。
限制:一个磁盘上只能有一个扩展分区。
逻辑分区
标识:逻辑分区的编号从 5 开始,例如 /dev/sda5、/dev/sda6。
限制:逻辑分区只能从扩展分区里分,例如:扩展分区有10G,那么创建逻辑分区时最大只有10G,且创建个数没有限制。
fdisk命令
fdisk [设备名]
常用选项:
p:打印当前磁盘的分区表
n:创建新分区
d:删除分区
t:更改分区类型
w:保存更改并退出 fdisk
q:不保存更改并退出 fdisk
l:列出所有已知的分区类型
m:显示所有可用的命令
范例:
#创建主分区
[root@localhost ~]# lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 29G 0 part
sdb 8:16 0 20G 0 disk
sr0 11:0 1 2G 0 rom
rl-root 253:0 0 26G 0 lvm /
rl-swap 253:1 0 3G 0 lvm [SWAP]
[root@localhost ~]# lsblk /dev/sdb -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
[root@localhost ~]# fdisk /dev/sdb
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x058053f9 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n #创建新分区
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p #创建主分区
分区号 (1-4, 默认 1): #选择分区号
第一个扇区 (2048-41943039, 默认 2048): #从2048往后开始
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +5G
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助):p #查看分区表
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x058053f9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
命令(输入 m 获取帮助):w #保存退出
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 5G 0 part
#创建扩展分区和逻辑分区
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (2-4, 默认 2):
第一个扇区 (10487808-41943039, 默认 10487808):
上个扇区,+sectors 或 +size{K,M,G,T,P} (10487808-41943039, 默认 41943039): +5G
创建了一个新分区 2,类型为“Extended”,大小为 5 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x058053f9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 20973567 10485760 5G 5 扩展
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1个主分区,1个扩展分区,2空闲)
l 逻辑分区 (从 5 开始编号)
选择 (默认 p):l
添加逻辑分区 5
第一个扇区 (10489856-20973567, 默认 10489856):
上个扇区,+sectors 或 +size{K,M,G,T,P} (10489856-20973567, 默认 20973567): +2G
创建了一个新分区 5,类型为“Linux”,大小为 2 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x058053f9
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 10487807 10485760 5G 83 Linux
/dev/sdb2 10487808 20973567 10485760 5G 5 扩展
/dev/sdb5 10489856 14684159 4194304 2G 83 Linux
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
[root@localhost ~]# lsblk /dev/sdb -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
sdb1 8:17 0 5G 0 part
sdb2 8:18 0 1K 0 part
sdb5 8:21 0 2G 0 part
扩展分区:显示为 1K 是正常的,因为它是一个容器分区,不直接存储数据。
验证方法:使用 fdisk -l 或 parted print 命令可以查看扩展分区和逻辑分区的详细信息
文件系统
Linux中常用的文件系统
Ext4 (Fourth Extended File System)
特点:
* EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本
* Ext4的文件系统容量达到1EB,而支持单个文件则达到16TB
* 理论上支持无限数量的子目录
* Ext4文件系统使用64位空间记录块数量和 inode数量
* Ext4的多块分配器支持一次调用分配多个数据块
* 修复速度更快
应用场景:目前最常用的 Linux 文件系统之一,广泛应用于各种 Linux 发行版。
XFS (Extended File System)
特点:
* 根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
* 用优化算法,日志记录对整体文件操作影响非常小
* 是一个全64-bit的文件系统,最大可以支持8EB的文件系统,而支持单个文件则达到8EB
* 能以接近裸设备I/O的性能存储数据
应用场景:适用于需要高性能存储的场景,如数据库服务器和文件服务器。
挂载
创建文件系统
#sda的文件系统是xfs,挂载到了/root下,sdb什么都没有
[root@localhost yum.repos.d]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 982d5922-9968-45a9-9859-6ef07c69a7ec /boot
└─sda2 LVM2_membe 98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ
├─rl-root xfs 30bcee18-3966-47e9-8b91-cd0e8ae0312a /
└─rl-swap swap eda505fd-1f26-4fd4-89fd-980c9789c618 [SWAP]
sdb
├─sdb1
├─sdb2
└─sdb5
sr0 iso9660 Rocky-8-5-x86_64-dvd 2021-11-14-09-30-59-00
#给sdb1创建了ext4
[root@localhost yum.repos.d]# mkfs.ext4 /dev/sdb1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 1310720 个块(每块 4k)和 327680 个inode的文件系统
文件系统UUID:b47109a2-041c-4c77-97c3-bf37caf8b307
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
#给sdb5创建xfs
[root@localhost ~]# mkfs.xfs /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=524288, 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 /]# fsck.ext4 /dev/sdb1
e2fsck 1.45.6 (20-Mar-2020)
/dev/sdb1 已挂载。
e2fsck: 无法继续,已中止。
[root@localhost /]# xfs_repair /dev/sdb5
xfs_repair: /dev/sdb5 contains a mounted filesystem
Unmount or use the dangerous (-d) option to repair a read-only mounted filesystem
fatal error -- couldn't initialize XFS library
#显示 XFS 文件系统的详细信息
[root@localhost /]# xfs_info /dev/sdb5
meta-data=/dev/sdb5 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=524288, 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
挂载命令
mount [options] file
常见选项:
-t fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
-o ro 只读挂载
-o rw 只写挂载
-o remount 重新挂载
-w read and write, 读写挂载,此为默认设置,可省略
-n 不更新/etc/mtab,mount不可见
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有
auto功能)
-L 'LABEL' 以卷标指定挂载设备
-U 'UUID' 以UUID指定要挂载的设备
-B, --bind 绑定目录到另一个目录上
#查看挂载情况
[root@localhost ~]# mount
#临时挂载
[root@localhost ~]# mount /dev/sdb1 /logs
#只读挂载,只能在/MySQL目录里读文件
[root@localhost /]# mount -o ro /dev/sdb5 /mysql
#取消挂载
[root@localhost ~]# umount /dev/sdb1 /logs
#永久挂载(defaults代表默认规则即rw,也可以直接修改为ro)
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
#复制sdb1的UUID,按照格式写入
[root@localhost ~]# vim /etc/fstab
/dev/mapper/rl-root / xfs defaults 0 0
UUID=982d5922-9968-45a9-9859-6ef07c69a7ec /boot xfs defaults 0 0
/dev/mapper/rl-swap none swap defaults 0 0
UUID=b47109a2-041c-4c77-97c3-bf37caf8b307 /logs ext4 defaults 0 0
#配置文件生效 (-a代表新增加的行会生效,如果是在原基础上进行修改则不会生效)
[root@localhost ~]# mount -a
#重新挂载(只修改了fstab的内容,没有新加行)
[root@localhost ~]# mount -o remount /logs
swap虚拟内存
查看swap大小
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
0
禁用swap
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
1
启用swap
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
2
添加swap分区
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
3
创建 swap 文件系统
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
4
挂载swap
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
5
修改swap的启动阈值
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
6
LVM 的基本概念
LVM 的基本操作流程
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
7
扩容逻辑卷
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
8
卷组扩容
Boot Sector(引导扇区):
位置:硬盘的第一个扇区(LBA 0)。
大小:512 字节。
内容:
Bootstrap Code(引导代码):占用前 446 字节,用于启动操作系统的代码。
Partition Table(分区表):占用接下来的 64 字节,包含最多 4 个主分区的描述信息。
Signature(签名):最后 2 字节,固定为 0xAA55,用于标识这是一个有效的 MBR 扇区。
Partition Table(分区表):
每个分区条目:16 字节。
条目数量:最多 4 个条目。
内容:
Status(活动标志):1 字节,表示该分区是否为活动分区。
CHS Address(柱面-磁头-扇区地址):6 字节,表示分区的起始和结束位置。
Partition Type(分区类型):1 字节,表示分区的类型(如 NTFS、FAT32 等)。
LBA Address(逻辑块地址):8 字节,表示分区的起始 LBA 地址和分区的大小。
Extended Partitions(扩展分区):
逻辑分区:扩展分区可以包含多个逻辑分区,每个逻辑分区有自己的分区表。
链式结构:逻辑分区的分区表位于扩展分区的第一个扇区,每个逻辑分区指向下一个逻辑分区的分区表。
优点
兼容性:广泛支持旧操作系统和 BiOS。
简单:结构简单,容易理解和实现。
缺点
分区限制:最多只能有 4 个主分区(或 3 个主分区加 1 个扩展分区)。
最大容量:支持的最大分区大小为 2 TB(使用 512 字节扇区)
9
RAID 0
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
0
RAID 1
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
1
RAID 5
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
2
RAID 10
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
3
RAID 10
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
4
常见的程序包管理器
RPM
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
5
YUM/DNF(centos)
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
6
APT/dpkg(ubuntu)
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
7
软件管理案例
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
8
YUM的工作原理:
DNF工作原理:
Protective MBR(保护性 MBR):
位置:硬盘的第一个扇区(LBA 0)。
内容:类似于传统的 MBR,但只有一个占位的分区,用于防止旧的操作系统误认为硬盘是未分区的。
Primary GPT Header(主 GPT 头):
位置:硬盘的第二个扇区(LBA 1)。
大小:通常为 512 字节。
内容:
Signature(签名):固定为 EFI PART。
Version(版本号):GPT 规范的版本。
Size(大小):GPT 头的大小。
CRC32 Checksum(校验和):用于验证 GPT 数据的完整性。
Current LBA(当前 LBA 地址):GPT 头所在的位置。
Backup LBA(备份 LBA 地址):备份 GPT 头所在的位置。
Partition Entries LBA(分区条目 LBA 地址):分区条目表的起始位置。
Number of Partition Entries(分区条目数量):分区条目的总数。
Size of Partition Entry(分区条目大小):每个分区条目的大小。
Partition Entries(分区条目表):
位置:从 Partition Entries LBA 开始。
内容:
Partition Type GUID(分区类型 GUID):表示分区的类型。
Unique Partition GUID(唯一分区 GUID):表示分区的唯一标识。
Starting LBA(起始 LBA 地址):分区的起始位置。
Ending LBA(结束 LBA 地址):分区的结束位置。
Attributes(属性):分区的属性。
Name(名称):分区的名称。
Backup GPT Header(备份 GPT 头):
位置:硬盘的最后一个扇区(LBA -1)。
内容:与主 GPT 头相同,用于冗余和恢复。
优点
分区数量:支持最多 128 个分区。
最大容量:支持超过 2 TB 的分区大小,理论上支持到 EB(Exabyte)级别的分区。
冗余:主 GPT 头和备份 GPT 头提供冗余,增强了数据的可靠性。
唯一标识:每个分区都有唯一的 GUID,便于管理和识别。
缺点
兼容性:不被所有旧操作系统和 BIOS 支持,需要 UEFI 引导。
复杂性:结构相对复杂,实现和管理较为复杂
9
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
0
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
1
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
2
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
3
Rocky linux
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
4
ubuntu
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
5
物理层
作用:最底层,负责物理传输。(简单理解就是网线)。
协议:Ethernet、ISDN、SONET、SDH、USB、HDMI、Wi-Fi等。
数据链路层
作用:负责节点之间的可靠传输。
协议:Ethernet、PPP(点对点协议)、HDLC(高级数据链路控制)、ATM(异步传输模式)等。
网络层
作用:负责数据包的路由选择和转发。
协议:IP(互联网协议)、ICMP(互联网控制消息协议)、ARP(地址解析协议)、RARP(反向地址解析协议)、RIP(路由信息协议)等。
传输层
作用:负责两个节点之间的数据传输,确保数据能够被可靠的传输到目标地址。
协议:TCP(传输控制协议)、UDP(用户数据报协议)等。
会话层
作用:负责建立和管理会话。
协议:NetBIOS、RPC(远程过程调用)、SQL(结构化查询语言)、SMB(服务器消息块)、TLS(传输层安全)、SSL(安全套接层)等。
表示层
作用:负责数据的表示和转换。
协议:JPEG、MPEG、ASCII、PNG、GIF、TLS、SSL等。
应用层
作用:负责应用程序之间的通信,提供用户接口和服务。它是 OSI 模型的最高层,直接面向用户。
协议:HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、IMAP(互联网邮件访问协议)、DNS(域名系统)、SNMP(简单网络管理协议)、Telnet等。
端口号范围:
0-1023:系统端口,通常由系统服务使用。
1024-49151:注册端口,可以被用户进程使用。
49152-65535:动态端口,通常由操作系统自动分配给客户端连接。
端口类型:
TCP(传输控制协议):面向连接的协议,提供可靠的传输。
UDP(用户数据报协议):无连接的协议,提供不可靠但高效的传输。
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
6
TCP特性:
工作在传输层
面向连接协议
全双工协议
半关闭
将数据打包成段,排序
确认机制
数据恢复,重传
错误检查
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法
TCP包头结构:
字段 | 长度(字节) | 描述 |
---|---|---|
源端口 | 2 | 发送方的端口号 |
目标端口 | 2 | 接收方的端口号 |
序列号 | 4 | 当前数据包的第一个字节的序列号 |
确认号 | 4 | 下一个期望接收的数据包的序列号 |
数据偏移 | 1 | 表示 TCP 头部的长度,以 32 位(4 字节)为单位 |
保留 | 1 | 保留字段,必须设为 0 |
控制标志 | 1 | 包含多个标志位,每个位表示一个标志 |
窗口大小 | 2 | 接收方的接收窗口大小,表示发送方可以发送的最大数据量 |
校验和 | 2 | 用于检查整个 TCP 报文段的完整性 |
紧急指针 | 2 | 如果 URG 标志被设置,表示紧急数据的偏移量 |
选项 | 可变 | 用于提供额外的功能,如最大段大小(MSS)、窗口缩放等 |
填充 | 可变 | 用于确保头部长度为 32 位的倍数 |
控制标志
标志 | 位 | 描述 |
---|---|---|
URG | 5 | 紧急指针有效 |
ACK | 4 | 确认号字段有效 |
PSH | 3 | 推送数据,要求接收方立即将数据传递给上层应用 |
RST | 2 | 重置连接,用于强制断开连接 |
SYN | 1 | 同步序列号,用于建立连接 |
FIN | 0 | 结束连接,用于关闭连接 |
TCP 三次握手
TCP 三次握手是建立连接的过程,确保双方准备好进行数据传输。以下是三次握手的详细步骤:
第一次握手:
客户端发送一个带有 SYN 标志的 TCP 段到服务器。
客户端的序列号为 seq=x。
客户端进入 SYN_SENT 状态。
第二次握手:
服务器收到客户端的 SYN 段后,回复一个带有 SYN 和 ACK 标志的 TCP 段。
服务器的序列号为 seq=y,确认号为 ack=x+1。
服务器进入 SYN_RECV 状态。
第三次握手:
客户端收到服务器的 SYN+ACK 段后,回复一个带有 ACK 标志的 TCP 段。
客户端的序列号为 seq=x+1,确认号为 ack=y+1。
客户端进入 ESTABLISHED 状态。
服务器收到客户端的 ACK 段后,进入 ESTABLISHED 状态。
简单总结:客户端发送 SYN,服务器回复 SYN+ACK,客户端再发送 ACK,双方进入 ESTABLISHED 状态
TCP 四次挥手
TCP 四次挥手是断开连接的过程,确保双方都准备好结束连接。以下是四次挥手的详细步骤:
第一次挥手:
客户端发送一个带有 FIN 标志的 TCP 段到服务器。
客户端的序列号为 seq=x。
客户端进入 FIN_WAIT_1 状态。
第二次挥手:
服务器收到客户端的 FIN 段后,回复一个带有 ACK 标志的 TCP 段。
服务器的序列号为 seq=y,确认号为 ack=x+1。
服务器进入 CLOSE_WAIT 状态。
客户端收到服务器的 ACK 段后,进入 FIN_WAIT_2 状态。
第三次挥手:
服务器完成数据传输后,发送一个带有 FIN 标志的 TCP 段到客户端。
服务器的序列号为 seq=y+1。
服务器进入 LAST_ACK 状态。
第四次挥手:
客户端收到服务器的 FIN 段后,回复一个带有 ACK 标志的 TCP 段。
客户端的序列号为 seq=x+1,确认号为 ack=y+2。
客户端进入 TIME_WAIT 状态,等待 2MSL(最大段生存时间)后完全关闭连接。
服务器收到客户端的 ACK 段后,进入 CLOSED 状态。
简单总结:客户端发送 FIN,服务器回复 ACK,服务器发送 FIN,客户端回复 ACK,双方进入关闭状态
IPv4 地址主要分为五类:A 类、B 类、C 类、D 类和 E 类。其中,A 类、B 类和 C 类用于单播地址,D 类用于组播地址,E 类保留用于实验和研究。
1. A 类地址
地址范围:0.0.0.0 到 127.255.255.255
网络号:前 8 位(第一个字节)
主机号:后 24 位(剩余三个字节)
子网掩码:默认为 255.0.0.0 或 /8
示例:10.0.0.1,子网掩码为 255.0.0.0
特点:适用于大型网络,每个网络最多可以有 16,777,214 台主机。
2. B 类地址
地址范围:128.0.0.0 到 191.255.255.255
网络号:前 16 位(前两个字节)
主机号:后 16 位(剩余两个字节)
子网掩码:默认为 255.255.0.0 或 /16
示例:172.16.0.1,子网掩码为 255.255.0.0
特点:适用于中型网络,每个网络最多可以有 65,534 台主机。
3. C 类地址
地址范围:192.0.0.0 到 223.255.255.255
网络号:前 24 位(前三个字节)
主机号:后 8 位(最后一个字节)
子网掩码:默认为 255.255.255.0 或 /24
示例:192.168.1.1,子网掩码为 255.255.255.0
特点:适用于小型网络,每个网络最多可以有 254 台主机。
4. D 类地址
地址范围:224.0.0.0 到 239.255.255.255
用途:组播地址,用于多播通信
特点:不用于单播地址,而是用于向多个主机发送数据。
5. E 类地址
地址范围:240.0.0.0 到 255.255.255.255
用途:保留用于实验和研究
特点:不用于常规网络通信。
IP 地址的组成
一个 IPv4 地址由 32 位二进制数组成,通常以点分十进制的形式表示,分为四个 8 位(一个字节)的部分,每个部分用一个点分隔。例如,192.168.1.1。
二进制表示
192.168.1.1 的二进制表示为:
192 -> 11000000
168 -> 10101000
1 -> 00000001
1 -> 00000001
组合起来就是:11000000.10101000.00000001.00000001
子网掩码
子网掩码用于区分网络地址和主机地址。子网掩码也是一个 32 位的二进制数,通常也以点分十进制的形式表示。
A 类地址:默认子网掩码为 255.0.0.0 或 /8
二进制表示:11111111.00000000.00000000.00000000
B 类地址:默认子网掩码为 255.255.0.0 或 /16
二进制表示:11111111.11111111.00000000.00000000
C 类地址:默认子网掩码为 255.255.255.0 或 /24
二进制表示:11111111.11111111.11111111.00000000
特殊地址
回环地址:127.0.0.1,用于本地主机的测试。
广播地址:255.255.255.255,用于向网络内的所有主机发送数据。
私有地址:用于内部网络,不直接连接到互联网。
A 类:10.0.0.0 到 10.255.255.255
B 类:172.16.0.0 到 172.31.255.255
C 类:192.168.0.0 到 192.168.255.255
总结
A 类地址:适用于大型网络,网络号占 8 位,主机号占 24 位。
B 类地址:适用于中型网络,网络号占 16 位,主机号占 16 位。
C 类地址:适用于小型网络,网络号占 24 位,主机号占 8 位。
D 类地址:用于组播通信。
E 类地址:保留用于实验和研究。
举例:
计算201.222.200.111/18计算主机数和子网掩码
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
7
当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
#列出块设备
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 29G 0 part
├─rl-root 253:0 0 26G 0 lvm /
└─rl-swap 253:1 0 3G 0 lvm [SWAP]
sr0 11:0 1 2G 0 rom
#查看分区情况
[root@localhost ~]# blkid
/dev/sdb1: UUID="b47109a2-041c-4c77-97c3-bf37caf8b307" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="058053f9-01"
/dev/sdb5: UUID="1687a324-305d-4821-aa09-c6ce363ff5be" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="058053f9-05"
/dev/sda1: UUID="982d5922-9968-45a9-9859-6ef07c69a7ec" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="69b7b195-01"
/dev/sda2: UUID="98V7kE-7aau-G2sA-extU-3uaQ-Oq56-5AfVXZ" TYPE="LVM2_member" PARTUUID="69b7b195-02"
/dev/sr0: BLOCK_SIZE="2048" UUID="2021-11-14-09-30-59-00" LABEL="Rocky-8-5-x86_64-dvd" TYPE="iso9660" PTUUID="6b8b4567" PTTYPE="dos"
/dev/mapper/rl-root: UUID="30bcee18-3966-47e9-8b91-cd0e8ae0312a" BLOCK_SIZE="512" TYPE="xfs"
/dev/mapper/rl-swap: UUID="eda505fd-1f26-4fd4-89fd-980c9789c618" TYPE="swap"
8