前言、
我们在拿到一块新的硬盘存储设备后,需要经过分区—>格式化文件系统—>挂载才能正常使用,也就是以下学习步骤
- 检测并确认新硬盘
- 规划硬盘中的分区
- 创建文件系统
- 挂载、卸载文件系统
1、磁盘的硬件基础:
了解(略)
磁道 盘片 柱面
2、了解磁盘分区基础知识:
2.1、MBR主引导记录
主引导记录(MBR:Master Boot Record)
MBR位于硬盘第一个物理扇区处(512字节)
MBR中包含硬盘的主引导程序(446字节)和硬盘分区表(16*4=64字节)。分区表有4个分区记录区,每个分区记录区占16个字节
2.2、文件位置与表示
图示: 系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件
/dev表示硬件设备文件,sd表示的是存储设备
注意:
-
目前常用sd表示SCSI设备,hd少见
-
系统a-z代表26块不同的硬盘
-
主分区或扩展分区的编号为1-4,逻辑分区从5开始
2.3、磁盘分区结构
主分区 扩展分区 逻辑分区的概念:
-
硬盘分区表分为4个分区,主分区可以分1-3个,但是扩展分区只有1个
-
扩展分区再分成逻辑分区
2.4、文件系统(增删改查操作的依靠)
文件的建立、读取、修改、转存与控制都依赖文件操作系统,它的作用是合理规划硬盘
XFS日志文件系统:
-
是CentOS 7、RHEL 7/8中默认的文件管理系统
SWAP文件交换系统
-
为Linux系统建立交换分区
-
相当于虚拟内存
3、规划硬盘分区:
3.1、检测并确认新硬盘
为硬盘分区前,我们需要先检测识别出硬盘,这里用到fdisk
fdisk命令——磁盘分区 Partition table manipulator for linux (用于linux的分区表操纵器)
fdisk -l [磁盘设备]
查看所有硬盘参数
Boot: * 带星为引导分区
Start/Eend :分区的起始结束位置(柱面数)
Blocks : 分区的大小,以块为单位
ID :对应的系统ID号 83表示Linux的XSF分区 8e代表LVM逻辑卷
System :分区类型
添加新的硬盘,传入接口scsi接口刷新
[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -"> /sys/class/scsi_host/host2/scan
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 5G 0 part /boot
└─sda2 8:2 0 24G 0 part
├─centos-root 253:0 0 20G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64
查看系统的磁盘
lsblk 查看系统的磁盘
3.2、规划硬盘中的分区
fdisk [磁盘设备]
示例:
在交互式的操作环境中管理磁盘分区
命令 | 解释 |
---|---|
m | 打印出菜单 |
p | 打印出当前分区表 |
n | 新建一个分区 |
d | 删除一个分区 |
t | 改变分区的属性,系统ID----->L(列出所有代码) |
w | 保存 |
q | 不保存退出 |
新建分区并且改变分区属性
命令(输入 m 获取帮助):n #新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) 主分区:(0个主分区,0个扩展分区,4个空余)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):+10G 设置大小
Last 扇区, +扇区 or +size{K,M,G} (20971520-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 10 GiB
-----------------------------------------------------------------------------------------
命令(输入 m 获取帮助):p 打印当前分区
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x248b86dd
设备 Boot Start End Blocks Id System
/dev/sdb1 20971520 41943039 10485760 83 Linux
-----------------------------------------------------------------------------------------
命令(输入 m 获取帮助):t 改变分区属性
已选择分区 1
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 列出所有代码):83 选择83 或者8e
已将分区“Linux”的类型更改为“Linux ”
-----------------------------------------------------------------------------------------
命令(输入 m 获取帮助):p 再次打印
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x248b86dd
设备 Boot Start End Blocks Id System
/dev/sdb1 20971520 41943039 10485760 8e Linux
-----------------------------------------------------------------------------------------
命令(输入 m 获取帮助):w 保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
3.3、创建文件系统->格式化
mkfs 在特定的分区上建立文件系统 (make filesystem)
格式化
两种方法:
mkfs.xfs /dev/sdb1 写分区号sdb1
mkfs -t xfs /dev/sdb1
3.4、临时挂载
挂载到根目录下的/data
[root@localhost /]# mkdir /data
[root@localhost /]# ls
bin data dir1 dir3 file2 httpd-2.4.52 lib media opt root sbin sys usr
boot dev dir2 etc home ky18 lib64 mnt proc run srv tmp var
[root@localhost /]# mount /dev/sdb1 /data 挂载到根目录下的/data
[root@localhost /]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 20961280 5001028 15960252 24% /
devtmpfs 2065216 0 2065216 0% /dev
tmpfs 2081132 0 2081132 0% /dev/shm
tmpfs 2081132 9244 2071888 1% /run
tmpfs 2081132 0 2081132 0% /sys/fs/cgroup
/dev/sda1 5232640 182376 5050264 4% /boot
tmpfs 416228 4 416224 1% /run/user/42
tmpfs 416228 28 416200 1% /run/user/0
/dev/sr0 4414592 4414592 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 10475520 32944 10442576 1% /data
挂载文件系统、ISO镜像到指定文件夹
mount [-t 类型] 存储设备 挂载点目录
mount -o loop IOS镜像文件 挂载点目录
umount命令
卸载已经挂载的文件系统
umount 存储设备位置
umount 挂载点目录
3.5、永久挂载
[root@localhost ~]# vim /etc/fstab
第一字段:设备名或设备卷名称
第二字段:文件系统的挂载目录点目录的位置
第三字段:文件系统类型,如xfs、swap
第四字段:挂载参数,default表示默认参数
第五字段:是否需要dump备份,1需要,0不需要
第六字段:系统启动时进行磁盘检查的顺序,0表示不检查\
blkid 查看设备的UUID
用于在永久挂载中填写的信息
实操:
1、先解除挂载
2、进入/etc/fstab配置文件
[root@localhost ~]# vim /etc/fstab
查看磁盘空余情况
df -Th T(显示文件系统类型)
(创建文件系统->交换分区)
mkswap 创建交换文件系统
mkswap 分区设备
[root@localhost /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+10G
值超出范围。
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+9G
分区 2 已设置为 Linux 类型,大小设为 9 GiB
---------------------------------------------------------------------------------------
命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):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
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x290a0041
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 39847935 9437184 82 Linux swap / Solaris
----------------------------------------------------------------------------------
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost ~]# mkswap /dev/sdb2 建立交换分区
mkswap: /dev/sdb2: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 9437180 KiB
无标签,UUID=e960f71e-0c43-407d-8c00-3c6afefe2f27
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 4.0G 623M 2.9G 9.3M 521M 3.1G
Swap: 4.0G 0B 4.0G
[root@localhost ~]# swapon /dev/sdb2 激活交换空间
[root@localhost ~]# free -h 显示系统内容
total used free shared buff/cache available
Mem: 4.0G 632M 2.8G 9.3M 521M 3.1G
Swap: 12G 0B 12G