一、磁盘以及分区管理

无论是Linux系统还是Windows系统、当现有硬盘的规划不能满足当前需求时、我们就需要将其重新规划和调整

实现上述操作我们就需要用到fdisk磁盘及分区管理工具、此工具是大多数Linux系统中所自带的基本工具

下面我将在Vmware增加一块硬盘、以此来介绍fdisk工具的使用、真实环境需要在机箱内进行硬盘接口的物理连接

1)检测并确认新的硬盘

[root@node1 ~]# fdisk -l	#检查

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区		#第一块硬盘、20G
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000bedd6

  设备 		Boot     Start     	End      	Blocks   	Id  System
/dev/sda1   *        2048     	2099199     1048576   	83  Linux
/dev/sda2        	 2099200    41943039    19921920   	8e  Linux LVM
--------------------------------------------------------------------------------------
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区		#第二块硬盘、60G
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

上面的信息包括了硬盘的整体情况、其中sda为原有设备、sdb为我后面加的、对于已有的分区输出的信息如下所示:

Device:设备文件名
Boot:  是否为引导分区、*代表有、反之则无
Start: 该分区在硬盘中的起始位置(柱面数)
End:   该分区在硬盘中的结束为止(柱面数)
Blocks:分区大小、以块为单位、默认块大小为1024字节
Id:    分区所对应的系统ID号、83为EXT4、8e表示LVM
System:分区类型

2)规划硬盘中的分区

硬盘的、创建、更改、删除、等操作同样通过fdisk命令进行、只需硬盘设备文件作为参数即可、如fdisk /dev/sdb、即可进入交互式的分区管理界面中、如下所示:

[root@node1 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x7b19e229 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):

1、输入 p 列出分区情况

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc63c09ec

设备 Boot      Start         End      Blocks   Id  System		#啥都没有、因为我还没分区

2、输入 n 新建分区

n为新建、包括主分区和扩展分区、输入n之后、根据提示选择、p创建主分区、e创建扩展分区、l创建逻辑分区

选择分区号的时候、主分区和扩展分区的序列号只能为1-4、起始位置默认识别、结束位置可使用、+sizeM、+sizeG

3、创建一个主分区、容量指定为40G

命令(输入 m 获取帮助):n							#新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p								#主分区
分区号 (1-4,默认 1):1								#分区号
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+40G	#容量为40G
分区 1 已设置为 Linux 类型,大小设为 40 GiB

4、创建一个扩展分区(容量为10G)、和两个逻辑分区(容量分别为5G)

命令(输入 m 获取帮助):n	#创建扩展分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
分区号 (2-4,默认 2):4
起始 扇区 (83888128-125829119,默认为 83888128):
将使用默认值 83888128
Last 扇区, +扇区 or +size{K,M,G} (83888128-125829119,默认为 125829119):+10G
分区 4 已设置为 Extended 类型,大小设为 10 GiB

命令(输入 m 获取帮助):n	#创建第一个逻辑分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (83890176-104859647,默认为 83890176):
将使用默认值 83890176
Last 扇区, +扇区 or +size{K,M,G} (83890176-104859647,默认为 104859647):+5G
分区 5 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n	#创建第二个逻辑分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (94377984-104859647,默认为 94377984):
将使用默认值 94377984
Last 扇区, +扇区 or +size{K,M,G} (94377984-104859647,默认为 104859647):+5G
将使用默认值 104859647
分区 6 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):p	#查看刚刚所创建的分区、分别为一个主分区、一个扩展分区、两个逻辑分区

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc63c09ec

 设备 Boot      Start        End      	 Blocks   	Id  System
/dev/sdb1       2048    	83888127     41943040  	83  Linux
/dev/sdb4       83888128   	104859647    10485760   5  	Extended
/dev/sdb5       83890176    94375935     5242880   	83  Linux
/dev/sdb6       94377984   	104859647    5240832   	83  Linux

5、输入 d 删除分区

d为删除指定的分区、根据提示后面接分区序号即可

需要注意的是、如果扩展分区被删除、则下面的逻辑分区也会被删除、下面的操作为删除逻辑分区/dev/sdb6

命令(输入 m 获取帮助):d		#准备删除分区
分区号 (1,4-6,默认 6):6		#输入序号
分区 6 已删除

命令(输入 m 获取帮助):p		#再次查看已经被删除

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc63c09ec

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    83888127    41943040   83  Linux
/dev/sdb4        83888128   104859647    10485760    5  Extended
/dev/sdb5        83890176    94375935     5242880   83  Linux

6、输入 t 变更分区类型

新建分区默认为EXT4或是XFS、无需变更、如果需要创建交换分区、则需要对分区类型进行变更以保持一致性

t可变更分区的ID号、依次输入目标分区序号、新的系统ID号即可、不同类型的文件系统对应不同ID、82为swap

命令(输入 m 获取帮助):t
分区号 (1,4-6,默认 6):6
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

7、输入w和q退出

完成对硬盘的操作之后、可执行w和q、前者为保存退出、后者为不保存退出

命令(输入 m 获取帮助):w	#保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@node1 ~]# partprobe /dev/sdb	#更新分区表信息、重新探测sdb磁盘中的分区变化

二、管理文件系统

1)创建文件系统

命令格式:mkfs -t 文件系统类型 分区设备

1、创建XFS文件系统

[root@node1 ~]# mkfs -t xfs /dev/sdb1

2、创建FAT32文件系统

[root@node1 ~]# mkfs -t vfat -F 32 /dev/sdb5

2)创建交换文件系统

命令格式:mkswap 分区设备

1、创建交换分区

[root@node1 ~]# mkswap /dev/sdb6
正在设置交换空间版本 1,大小 = 5240828 KiB
无标签,UUID=448b8a65-2083-4dc1-b571-fa9ef06f1d84

2、启用与停用交换分区

[root@node1 ~]# free -h | sed -n '1p;3p'	#查看Swap的总大小、可看到为2G
              total        used        free      shared  buff/cache   available
Swap:          2.0G          0B        2.0G

[root@node1 ~]# swapon /dev/sdb6			#启用交换分区sdb6

[root@node1 ~]# free -h | sed -n '1p;3p'	#确认交换分区大小已经增加
              total        used        free      shared  buff/cache   available
Swap:          7.0G          0B        7.0G

3)挂载与使用文件系统

挂载文件系统命令格式:mount -t 文件系统类型 存储设备 挂载点

卸载文件系统命令格式:umount /挂载点

1、挂载普通分区

[root@node1 ~]# mkdir /web					#创建挂载点
[root@node1 ~]# mount /dev/sdb1 /web/		#将sdb1挂载至web目录
[root@node1 ~]# dsf -hT | sed -n '1p;10p'	#查看是否正常挂载
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/sdb1               xfs        40G   33M   40G    1% /web

2、挂载镜像文件

iso文件被视为回环文件系统、因此挂载之前需要加上 -o loop选项、如下所示将CentOS7.5这个镜像文件、挂载到/mnt目录

[root@node1 ~]#	http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
[root@node1 ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt

3、卸载文件系统

[root@node1 ~]# umount /mnt/				#卸载刚刚所挂载到/mnt目录的ISO文件

4、设置文件系统自动挂载

/etc/fstab文件为mount的配置文件、里面包含了文件系统的静态挂载数据、每次开机时读取文件内容、并自动进行挂载

/etc/fstabe的挂载配置信息如下:

第一个字段:设备文件名

第二个字段:挂载点

第三个字段:文件系统类型、如EXT4、Swap、ISO9660

第四个字段:挂载参数、即mount -o可使用的参数、如defaults、rw、ro、noexec、分别表示默认、只读只写、禁用

第五个字段:表示文件系统是否需要dump备份、1为要、0为忽略

第六个字段:定义系统启动时磁盘检查顺序、0为不检查、1为有限检查、2为其次检查

(1)普通分区开机自动挂载

[root@node1 ~]# echo "/dev/sdb1 /web xfs defaults 0 0" >> /etc/fstab

(2)镜像文件开机自动挂载

[root@node1 ~]# echo "/root/CentOS-7.5-x86_64-DVD /mnt iso9660 defaults 0 0" >> /etc/fstab

(3)查看系统磁盘的使用情况

[root@node1 ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        17G  3.7G   14G   22% /
devtmpfs                devtmpfs  975M     0  975M    0% /dev
tmpfs                   tmpfs     992M     0  992M    0% /dev/shm
tmpfs                   tmpfs     992M  9.9M  982M    1% /run
tmpfs                   tmpfs     992M     0  992M    0% /sys/fs/cgroup
/dev/sdb1               xfs        40G   33M   40G    1% /web
/dev/sr0                iso9660   4.2G  4.2G     0  100% /mnt
/dev/sda1               xfs      1014M  157M  858M   16% /boot
tmpfs                   tmpfs     199M     0  199M    0% /run/user/0

注意:挂载的时候文件的系统类型不能整错了、否则系统将会起不来

12-23 16:08
查看更多