linux的磁盘管理与文件系统!
Posted 龙少。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的磁盘管理与文件系统!相关的知识,希望对你有一定的参考价值。
一.磁盘基础
1.数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
2.物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
3.存储容量(了解)
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
4.磁盘接口类型
IDE、SATA、SCSI、SAS、光纤通道
二.磁盘分区表示
1.MBR
MBR是主引导记录(Master Boot Record)
位于硬盘的第一个物理扇区处。
MBR中包含硬盘的主引导程序和硬盘分区表。
分区表有4个分区记录区,每个分区记录区占16个字节。
/dev/sda5 /dev/hda2
说明:
/dev 是硬件设备的文件所在的目录
sd表示是SCSI设备,hd表示IDE 设备
a表示硬盘的顺序号,以a,b,c依次排序
5表示分区的顺序号,以1,2,3排序
2.磁盘分区的结构
常见的硬盘可分为主分区,扩展分区和逻辑分区。
一块硬盘有可能全部都是主分区,最多4个。
主分区加扩展分区最多4个。
扩展分区里分逻辑分区,扩展分区是外壳不存在数据,数据主要存于逻辑分区内。
逻辑分区的序号始终从5开始。
3.文件系统类型
(1)XFS文件系统
存放文件和目录数据的分区
高性能的日志型文件系统
CentOS7系统中默认使用的文件系统
(2)SWAP,交换文件系统
为Linux系统建立交换分区
(3)Linux支持的其它文件系统类型
FAT16、FAT32、NTFS
EXT4、JFS…
4.管理磁盘及分区
(1)添加并检测确认新硬盘
虚拟机模拟添加硬盘,添加后需要重启。
重启后查看当前系统中所有硬盘设备及其分区的情况
fdisk -l
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009b660
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 6703103 3145728 82 Linux swap / Solaris
/dev/sda3 6703104 629145599 311221248 83 Linux
磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
(2)规划硬盘中的分区
硬盘中创建删除更改分区使用fdisk命令,可以进入交互式设置页面
以对硬盘/dev/sdd 分区为例
fidsk /dev/sdd
[root@localhost ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xbb987682 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):
输入m可以获取帮助
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
1)p指令-列出硬盘中的分区情况,查看分区表
没有分区情况下列表为空
命令(输入 m 获取帮助):p
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbb987682
设备 Boot Start End Blocks Id System
2) n指令-新建分区
新建分区包括主分区和扩展分区,p新建主分区,e新建扩展分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
新建2个主分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):2G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+2g
不支持的后缀:“g”。
支持:10^N: KB (千字节), MB (兆字节), GB (吉字节)
2^N: K (约千字节), M (约兆字节), G (约吉字节)
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):
创建1个扩展分区2个逻辑分区
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): e
分区号 (3,4,默认 3):4
起始 扇区 (8390656-41943039,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):+2G
分区 4 已设置为 Extended 类型,大小设为 2 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (8392704-12584959,默认为 8392704):
将使用默认值 8392704
Last 扇区, +扇区 or +size{K,M,G} (8392704-12584959,默认为 12584959):+2G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (8392704-12584959,默认为 12584959):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 1 extended, 1 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (10491904-12584959,默认为 10491904):
将使用默认值 10491904
Last 扇区, +扇区 or +size{K,M,G} (10491904-12584959,默认为 12584959):
将使用默认值 12584959
分区 6 已设置为 Linux 类型,大小设为 1022 MiB
命令(输入 m 获取帮助):
完成后可以p指令再查看一下分区情况
命令(输入 m 获取帮助):p
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbb987682
设备 Boot Start End Blocks Id System
/dev/sdd1 2048 4196351 2097152 83 Linux
/dev/sdd2 4196352 6293503 1048576 83 Linux
/dev/sdd4 8390656 12584959 2097152 5 Extended
/dev/sdd5 8392704 10489855 1048576 83 Linux
/dev/sdd6 10491904 12584959 1046528 83 Linux
命令(输入 m 获取帮助):
3)d指令-删除分区
删除分区输入分区的序号
命令(输入 m 获取帮助):d
分区号 (1,2,4-6,默认 4):6
分区 6 已删除
命令(输入 m 获取帮助):
4)t指令-变更分区类型
t指令变更分区的ID号,不同类型的文件系统对应不同的ID号。swap文件系统ID号是82。
将主分区2变为swap分区
命令(输入 m 获取帮助):t
分区号 (1,2,4,5,默认 5):2
Hex 代码(输入 L 列出所有代码):L
0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris
1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx
5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问
a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要
16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动
1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep
1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT
1e 隐藏的 W95 FAT1 80 旧 Minix
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):
变更完成后p指令查看
命令(输入 m 获取帮助):p
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 柱面 of 16065 * 512 = 8225280 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbb987682
设备 Boot Start End Blocks Id System
/dev/sdd1 1 262 2097152 83 Linux
/dev/sdd2 262 524 2103296 82 Linux swap / Solaris
/dev/sdd4 524 786 2104320 5 Extended
/dev/sdd5 524 785 2102272 83 Linux
命令(输入 m 获取帮助):
5)w和q指令-退出fdisk分区工具
w指令是保存分区操作
q指令是不保存分区操作退出
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
三.管理文件系统
1.创建文件系统
mkfs命令工具格式化分区,mkswap命令格式化swap交换分区。
(1)mkfs命令
查看系统所有分区及分区类型
blkid
[root@localhost ~]# blkid
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="193b25aa-faee-4342-a79b-4eb3e023d813" TYPE="xfs"
/dev/sda2: UUID="7f11b069-c75e-453e-a192-62c8dc883769" TYPE="swap"
/dev/sda3: UUID="0ce0ca4e-ddf3-474f-8a4e-a7ee517b5b81" TYPE="xfs"
lsblk -f 更详细
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 193b25aa-faee-4342-a79b-4eb3e023d813 /boot
├─sda2 swap 7f11b069-c75e-453e-a192-62c8dc883769 [SWAP]
└─sda3 xfs 0ce0ca4e-ddf3-474f-8a4e-a7ee517b5b81 /
sdb
sdc
sdd
├─sdd1
├─sdd2
├─sdd4
└─sdd5
sde
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 /run/media/root/CentOS 7 x86_64
1)创建xfs文件系统
centos7系统中默认使用xfs文件系统
mkfs -t xfs 分区设备
[root@localhost ~]# mkfs -t xfs /dev/sdd1
meta-data=/dev/sdd1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
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
2)创建ext4文件系统
mkfs -t ext4 分区设备
[root@localhost ~]# mkfs -t ext4 /dev/sdd2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131648 inodes, 525824 blocks
26291 blocks (5.00%) reserved for the Linux磁盘与文件系统管理