linux 磁盘分区与格式化
一、基本分区管理
1.1、linux磁盘表示方法介绍
硬盘命名方式
OS | IDE(并口) | SATA(串口) | SCSI |
---|---|---|---|
CentOS6 | /dev/hda | /dev/sda | /dev/sda |
CentOS7 | /dev/sda | /dev/sda | /dev/sda |
CentOS8 | /dev/sda | /dev/sda | /dev/sda |
磁盘设备的命名
/dev/sda2
s=硬件接口类型(sata/scsi),d=disk(硬盘),a=第1块硬盘(b,第二块),2=第几个分区
/dev/hd h=IDE硬盘 /dev/hdd3
/dev/vd v=虚拟硬盘 /dev/vdf7
HP服务器硬盘
/dev/cciss/c0d0
/dev/cciss/c0d0p1 c0第一个控制器, d0第一块磁盘, p1分区1
/dev/cciss/c0d0p2 c0第一个控制器, d0第一块磁盘, p2分区2
1.2、磁盘分区
1)、磁盘划分思路
- 进入分区表 新建分区
- 更新分区表<刷新分区表>
- 格式化分区——>文件系统
2)、磁盘分区
fdisk命令
fdisk磁盘分区命令
fidsk [命令选项] [参数]
命令选项
-l list 列出磁盘分区
-u 与-l一起使用,显示分区的相关信息
fdisk /dev/sda 为/dev/sda分区
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
分区前了解设备信息
# lsblk 查看块设备
# df -h 查看正在挂载的设备情况
# blkid 打印某个已经格式化分区的UUID
# fdisk -l 查看当前系统的所有设备分区情况
# fdisk /dev/sdb
[root@zutuanxue ~]# fdisk -l /dev/sdb
硬盘容量 = 柱面数 × 盘面数(磁头数) × 扇区数 × 扇区大小(一般为512字节)
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors 磁盘空间统计,大小和扇区数量
几何属性:255 个磁头, 63 个扇区/磁道, 2610 个柱面
###此行内容只有在使用fdisk分区时,使用c命令加上与dos兼容的标记时才会出现,这里面所提到的磁头等数量与磁盘中的物理寻址和逻辑块寻址相关,而且它们都是逻辑地址,产生访问时,磁盘控制器会把这些确定的逻辑地址转换为实际的物理地址;对于我们来讲这几个数值可以帮助我们计算磁盘空间的大小以及一个磁柱的大小,比如说
##一个磁柱的容量=255x63x512=8225280(约8M空间)
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x178c5f83
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM
命令(输入 m 获取帮助):
fdisk分区总结
命令缺点:单个分区不能超过2T 超过的话需要用parted命令
在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。
3)、磁盘格式化
格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。
-L 标签名
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
-b : 给定 block 的大小
关于block and inode dentry
实验发现这句话不对
block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统。
磁盘分区格式化
mkfs.ext4 /dev/sda3
注意:
MBR分区表最多允许4个主分区,或者3个主分区+1个扩展分区
扩展分区不能直接存储数据
扩展分区的大小决定了所有逻辑分区的大小,逻辑分区的编号从5开始
删除扩展分区后下面的逻辑分区都被删除
分完区后需要手动刷新分区表,如果刷新不成功需要重启操作系统
创建分区的时候尽可能注意分区序号的连续性
案例需求:
添加一块硬盘,需要将其分区,最终需要使用2G空间。
案例思路
- 增加一块硬盘
- 使用fdisk命令进行分区
- 格式化指定分区
- 创建一个空的目录作为挂载点
- 挂载使用
- 创建新的挂载点
- 挂载使用
步骤:
1. 增加硬盘
增加完硬盘记得重启系统
# lsblk 查看硬盘是否添加成功
...
sdb 8:16 0 20G 0 disk
[root@zutuanxue ~]# fdisk -l /dev/sdb
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
2. 使用fdisk命令分区
[root@zutuanxue ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x0c7799c3 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0c7799c3
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1):
第一个扇区 (2048-41943039, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +1G
创建了一个新分区 1,类型为“Linux”,大小为 1 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x80e196f2
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (2-4, 默认 2): 2
第一个扇区 (2099200-41943039, 默认 2099200):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2099200-41943039, 默认 41943039): +1G
创建了一个新分区 2,类型为“Linux”,大小为 1 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x80e196f2
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 4196351 2097152 1G 83 Linux
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
3. 再次查看分区情况
# lsblk
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 1G 0 part
4. 刷新分区表信息
[root@zutuanxue ~]# partprobe /dev/sdb
5. 格式化分区
[root@zutuanxue ~]# mkfs.xfs /dev/sdb1
[root@zutuanxue ~]# mkfs.vfat /dev/sdb2
6. 创建新的挂载点
[root@zutuanxue ~]# mkdir /u01
[root@zutuanxue ~]# mkdir /u02
7. 挂载使用
[root@zutuanxue ~]# mount /dev/sdb1 /u01
[root@zutuanxue ~]# mount /dev/sdb2 /u02