分区管理工具 fdisk parted

目录

一、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

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