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

 024  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磁盘与文件系统管理

linux的磁盘管理与文件系统

Linux 磁盘与文件系统管理

linux学习之二:Linux磁盘与文件管理系统

第八章Linux 磁盘与文件系统管理

Linux磁盘与文件系统管理