Linux磁盘管理精讲
博文目录
一、磁盘基础
1、磁盘结构
二、磁盘分区表示
1、磁盘分区结构
2、文件系统类型
三、规划硬盘分区
1、检测并确认新硬盘
2、规划硬盘中的分区
一、磁盘基础
1、磁盘结构
硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数
- 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
1)硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面;
- 磁头:每面一个磁头;
2)硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据;
磁道:同一盘片不同半径的同心圆;
- 柱面:不同盘片相同半径构成的圆柱面;
3)磁盘接口类型
IDE(并口):基本上已经淘汰;
SATA(串口):速度快,纠错能力强,目前主流接口,应用广泛;
- SCSI:转速快,CPU占用资源低,支持热插拔;
4)MBR主引导记录
MBR(Master Boot Record)位于硬盘第一个物理扇区处;MBR中包含硬盘的主引导程序和硬盘分区表;分区表有4个分区记录区,每个分区记录区占16个字节。
二、磁盘分区表示
Linux中将硬盘、分区等设备均表示为文件。
IDE:/dev/hda5,硬盘的顺序号用a~z表示,分区的顺序号用数字表示,1~4表示为主分区,5以后表示为逻辑分区,计算机总共两块IDE接口磁盘。
- SATA,SCSI:/dev/sdb2,计算机总共三块SATA或者SCSI接口的硬盘。
应用举例如下:
1、磁盘分区结构
硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1~4,扩展分区再分为逻辑分区,逻辑分区的序号将始终从5开始。如下图所示:
2、文件系统类型
1)XFS文件系统
存放文件和目录数据的分区,高性能的日志型文件系统,CentOS 7系统中默认使用的文件系统。
2)SWAP交换文件系统
为Linux系统建立交换分区。
3)EXT4第4代扩展(Extended)文件系统
存放文件和目录数据的分区,典型的日志型文件系统,系统中默认使用的文件系统。
4)Linux支持的其他文件系统类型
FAT16、FAT32、NTFS、XFS、JFS......
三、规划硬盘分区
1、检测并确认新硬盘
1)检测并确认新硬盘的基本语法格式如下:
输出信息说明如下所示:
应用举例如下(列出当前系统中所有硬盘设备及其分区的信息):
[ ~]# fdisk -l 磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000ab7bb 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 8800255 4194304 82 Linux swap / Solaris /dev/sda3 8800256 167772159 79485952 83 Linux 磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
2、规划硬盘中的分区
1)规划硬盘分区的作用及语法格式
用来在交互式的操作环境中管理磁盘分区,规划硬盘分区的基本语法格式如下:
2)应用举例如下:
[ ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 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)
3)在fdisk交互模式中的常用指令
m:查看操作指令的帮助信息;
p:列表查看分区信息;
n:新建分区;
d:删除分区;
t:变更分区类型;
w:保存分区设置并退出;
- q:放弃分区设置并退出;
3)规划硬盘中的分区案例
为主机新添加一块40GB的SCSI硬盘;
对该硬盘进行分区:划分3个主分区,各5GB;
剩余空间为扩展分区;在扩展分区中建立2个逻辑分区,容量分别为5GB、10GB;
将第一个逻辑分区的类型更改为swap,第二个逻辑分区的类型更改为lvm卷;
- 确认分区设置情况,保存退出;
案例应用如下:
[ ~]# fdisk /dev/sdb <!--规划新添加的硬盘--> 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n <!--新建分区--> Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p <!--创建分区为主分区 --> 分区号 (1-4,默认 1): <!--第一个主分区(保持默认)--> 起始 扇区 (2048-83886079,默认为 2048): <!--默认回车即可--> 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+5G <!--第一个主分区设置为5GB--> 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n <!--新建分区--> Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p <!--新建主分区--> 分区号 (2-4,默认 2): <!--第二个主分区--> 起始 扇区 (10487808-83886079,默认为 10487808): <!--默认下一步--> 将使用默认值 10487808 Last 扇区, +扇区 or +size{K,M,G} (10487808-83886079,默认为 83886079):+5G <!--第二个主分区设置为5GB--> 分区 2 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p 分区号 (3,4,默认 3): 起始 扇区 (20973568-83886079,默认为 20973568): 将使用默认值 20973568 Last 扇区, +扇区 or +size{K,M,G} (20973568-83886079,默认为 83886079):+5G 分区 3 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n <!--新建分区--> Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e <!--新建扩展分区--> 已选择分区 4 起始 扇区 (31459328-83886079,默认为 31459328): <!--默认回车即可--> 将使用默认值 31459328 Last 扇区, +扇区 or +size{K,M,G} (31459328-83886079,默认为 83886079): <!--大小保持默认回车即可--> 将使用默认值 83886079 分区 4 已设置为 Extended 类型,大小设为 25 GiB 命令(输入 m 获取帮助):n <!--新建第一个逻辑分区--> All primary partitions are in use 添加逻辑分区 5 起始 扇区 (31461376-83886079,默认为 31461376): <!--默认回车--> 将使用默认值 31461376 Last 扇区, +扇区 or +size{K,M,G} (31461376-83886079,默认为 83886079):+5G <!--第一个逻辑分区设置为5GB--> 分区 5 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n <!--新建第二个逻辑分区--> All primary partitions are in use 添加逻辑分区 6 起始 扇区 (41949184-83886079,默认为 41949184): <!--默认回车--> 将使用默认值 41949184 Last 扇区, +扇区 or +size{K,M,G} (41949184-83886079,默认为 83886079):+10G <!--第二个逻辑分区设置为10GB--> 分区 6 已设置为 Linux 类型,大小设为 10 GiB 命令(输入 m 获取帮助):t <!--转换分区类型--> 分区号 (1-6,默认 6):5 <!--转换第一个逻辑分区--> Hex 代码(输入 L 列出所有代码):82 <!--转换为swap分区--> 已将分区“Linux”的类型更改为“Linux swap / Solaris” 命令(输入 m 获取帮助):t <!--转换分区类型--> 分区号 (1-6,默认 6):6 <!--转换第二个逻辑分区--> Hex 代码(输入 L 列出所有代码):8e <!--转换为lvm卷--> 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p <!--列表查看分区信息--> 磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xd91b1f6f 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10487807 5242880 83 Linux /dev/sdb2 10487808 20973567 5242880 83 Linux /dev/sdb3 20973568 31459327 5242880 83 Linux /dev/sdb4 31459328 83886079 26213376 5 Extended /dev/sdb5 31461376 41947135 5242880 82 Linux swap / Solaris /dev/sdb6 41949184 62920703 10485760 8e Linux LVM 命令(输入 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) 正在同步磁盘。
———————— 本文至此结束,感谢阅读 ————————