一、磁盘以及分区管理
无论是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
注意:挂载的时候文件的系统类型不能整错了、否则系统将会起不来