目录
一、fdisk工具
管理磁盘分区
fdisk [磁盘名称]
fidisk命令中的参数以及作用
参数 | 作用 |
---|---|
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区的信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区类型 |
p | 查看分区信息 |
w | 保存并退出 |
q | 不保存直接退出 |
创建一个磁盘分区
1、虚拟机添加测试硬盘
首先编辑虚拟机设置,添加一块硬盘用于测试

默认推荐,下一步

创建新虚拟磁盘,下一步

指定磁盘容量

指定磁盘文件

确认磁盘添加情况,无误后点击确定

2、创建磁盘分区
使用 lsblk 命令列出块设备的基本信息,可以看到新添加的 20G硬盘

fdisk管理磁盘分区
bash
fdisk /dev/sdb

参数 m可以列出fdisk中常见的参数以及一些简介

输入 n 添加新的分区(P 为主分区, e为扩展分区)

选择 p 添加主分区。分区号和起始扇区可以不管默认即可,添加主分区大小的格式为 +size{K,M,G}

接着创建第二个分区。如果遇到值超出范围 **(Value out of range)**的情况就是磁盘大小不够你指定的大小。继续点击回车(ENTER)系统就会自动把剩下来的磁盘空间给到你创建的分区上。

最后输入 **p(查看分区信息)**查看指定分区的情况

w(保存并退出)

现在 lsblk 可以看到 sdb下已经有两个分区了

3、文件系统管理磁盘分区
bash
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2


4、挂载
创建挂载点
bash
mkdir /data1
mkdir /data2

挂载 **mount [文件系统] [挂载目录] **
bash
mount /dev/sdb1 /data1
mount /dev/sdb2 /data2
现在能清晰地看到 sdb1,sdb2已经分别挂载到根目录下的data1和data2上

二、parted命令
注意:parted的操作都是实时生效的,没有容错谨慎使用
使用场景
(1)若磁盘小于 2TB ,可用 fdisk /dev/sdb 进行分区,即MBR分区格式;
(2)若磁盘大于 2TB ,可用 parted /dev/sdb 进行分区,因为MBR分区磁盘是不能大于2.2TB,所以超过2TB一般使用GPT分区格式;
一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长;而常用的fdisk这个工具对分区是有大小限制的,它只能划分小于2T的磁盘,划分大于2T磁盘分区的时候fdisk就无法满足要求了;这个时候有2个方法,其一是通过卷管理扩容卷来增大磁盘空间,其二就是通过parted工具来实现对GPT磁盘进行分区操作。
操作命令
bash
cp [FROM-DEVICE] FROM-MINOR TO-MINOR #将文件系统复制到另一个分区
help [COMMAND] #打印通用求助信息,或关于 COMMAND 的信息
mklabel 标签类型 #创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型 #在 MINOR 创建类型为"文件系统类型"的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 #创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 #创建一个带有文件系统的分区
move MINOR 起始点 终止点 #移动编号为 MINOR 的分区
name MINOR 名称 #将编号为 MINOR 的分区命名为"名称"
print [MINOR] #打印分区表,或者分区
quit #退出程序
rescue 起始点 终止点 #挽救临近"起始点"、"终止点"的遗失的分区
resize MINOR 起始点 终止点 #改变位于编号为 MINOR 的分区中文件系统的大小
rm MINOR #删除编号为 MINOR 的分区
select 设备 #选择要编辑的设备
set MINOR 标志 状态 #改变编号为 MINOR 的分区的标志
'help'查看命令列表

查看分区情况

划分出主分区"parted1"
方式一
bash
[root@localhost ~]# parted /dev/sdb #进入parted命令交互后,将/dev/sdb进行分区
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel #创建新的磁盘标签(分区表)
新的磁盘标签类型? gpt #设置磁盘标签类型为gpt
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will
be lost. Do you want to continue? #/dev/sdb上的现有磁盘标签将被销毁,并且此磁盘上的所有数据都将丢失。您想继续吗?
是/Yes/否/No? yes #确认格式化
(parted) mkpart #创建分区表
分区名称? []? parted1 #分区名称自定义为parted1
文件系统类型? [ext2]? ext4 #文件系统设置为ext4
起始点? 0% #起始点,设置从0开始
结束点? 5G #结束点,设置为磁盘大小为5G
(parted) print #打印分区详细信息
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 5000MB 4999MB ext4 parted1
#Number为1,后续需要删除指定的id号就为1
(parted)

方式二
bash
[root@localhost ~]# parted /dev/sdb mkpart parted1 1 5G #在/dev/sdb上创建一个名称为parted1 的分区,GPT分区表中的1分区编号,大小为5G
信息: You may need to update /etc/fstab.
[root@localhost ~]# parted /dev/sdb print #打印/dev/sdb分区的详细信息
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 5000MB 4999MB ext4 parted1

删除分区
bash
rm Number号

格式化操作
bash
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 4.7G 0 part
sr0 11:0 1 4.4G 0 rom
[root@localhost ~]# mkfs.ext4 /dev/sdb1 #将/dev/sdb格式化为ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
305216 inodes, 1220352 blocks
61017 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1249902592
38 block groups
32768 blocks per group, 32768 fragments per group
8032 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkdir /data1 #创建挂载点
[root@localhost ~]# mount /dev/sdb1 /data1 #挂载到data1目录
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 1.6G 16G 9% /
/dev/sda1 1014M 151M 864M 15% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 4.5G 19M 4.2G 1% /data1

设置开机自动挂载
方法一:编辑/etc/fstab文件
bash
[root@localhost ~]# vim /etc/fstab
添加以下内容:
/dev/sdb1 /data1 ext4 defaults 0 0 #将挂载信息添加到/etc/fstab文件中,实现永久挂载

方法二:编辑/etc/rc.local文件
bash
编辑此文件需要保证/etc/rc.d/rc.local有执行权限
[root@localhost ~]# chmod +x /etc/rc.d/rc.local
[root@localhost ~]# vim /etc/rc.local
添加以下内容:
mount /dev/sdb1 /data1
[root@localhost ~]# reboot

虚拟机重启后查看挂载情况:
