0
点赞
收藏
分享

微信扫一扫

linux 磁盘分区命令

linux 磁盘分区命令

parted 的适用场景

 创建操作大于 2T 的分区 一般情况下,我们都是选择使用 fdisk 工具来进行分区,但是目前在实际生产环境中 使用的磁盘空间越来越大,呈 TiB 级别增长;而常用的 fdisk 这个工具对分区是有大 小限制的,它只能划分小于 2T 的磁盘,所以在划大于 2T 磁盘分区的时候 fdisk 就 无法满足要求了;这个时候有 2 个方法,其一是通过卷管理来实现,其二就是通过 parted 工具来实现对 GPT 磁盘进行分区操作;这里我们采用 parted 的方法来实现 管理。 

parted 的 2 种使用方式

 交互式 手动按序交互式的创建; 
 
 非交互式 可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。
 
  两种方式比较 两种方法的使用和原理其实是一样的;要想实现非交互式创建,无非是在每一个具体 的交互式命令前加上 parted DEVICES_NAME 即可。 

parted 实现分区管理实践 实验环境

操作系统 :CentOS 7.5
磁盘信息 :待管理磁盘 /dev/sdb
磁盘总大小:18T
分区需求: 将整个/dev/sdb 划分到同一个分区里,并挂载到**/gfsdata01 目录下。

交互式方式实现分区步骤

选择操作磁盘 parted 命令后跟上欲操作磁盘的名字即可选择此设备进行操作。

[root@kvm ~]# parted /dev/sdb 
GNU Parted 3.1 
Using /dev/sdb 
Welcome to GNU Parted! Type 'help' to view a list of commands.

新建磁盘标签类型为 GPT

因为 parted 命令只能针对 gpt 格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式 设为 gpt。

(parted) mklabel gpt

分区

命令格式

mkpart PART-TYPE [FS-TYPE] START END

PART-TYPE(分区类型)

  • primary 主分区 logical 逻辑分区 extended 扩展分区

FS-TYPE(文件系统类型)

  • ext4 ext3 ext2 xfs 其他…

START
设定磁盘分区起始点;可以为 0,numberMiB/GiB/TiB;
0 设定当前分区的起始点为磁盘的第一个扇区;
1G 设定当前分区的起始点为磁盘的 1G 处开始;

END
设定磁盘分区结束点;
-1 设定当前分区的结束点为磁盘的最后一个扇区;
10G 设定当前分区的结束点为磁盘的 10G 处;

将/dev/sdb 整个空间分给同一个分区

(parted) mkpart primary 0 -1 
Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? I 
(parted) p 
Model: AVAGO AVAGO (scsi) 
Disk /dev/sdb: 18.0TB 
Sector size (logical/physical): 512B/4096B 
Partition Table: gpt 
Disk Flags: 
Number Start End Size File system Name Flags 
1 17.4kB 18.0TB 18.0TB primary (parted) q
Information: You may need to update /etc/fstab.

格式化分区

因为整个/dev/sdb 只分了一个区,则这个分区名默认会分配为/dev/sdb1;使用 mkfs 命令将/dev/sdb1 分区格式化为 ext4。

[root@kvm ~]# mkfs -t ext4 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013) 
/dev/sdb1 alignment is offset by 244736 bytes. 
This may result in very poor performance, (re)-partitioning suggested. 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
Stride=64 blocks, Stripe width=64 blocks 
274659328 inodes, 4394530311 blocks 
219726515 blocks (5.00%) reserved for the super user 
First data block=0 
134111 block groups 
32768 blocks per group, 32768 fragments per group 
2048 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,2654208,4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 2560000000, 3855122432 
Allocating group tables: done 
Writing inode tables: done 
Creating journal (32768 blocks): done 
Writing superblocks and filesystem accounting information: done

设定分区 label(非必要)

[root@kvm ~]# e2label /dev/sdb1 /gfsdata01

创建挂载目录

[root@kvm ~]# mkdir /gfsdata01

临时挂载分区

[root@kvm ~]# mount /dev/sdb1 /gfsdata01

开机自动挂载(永久挂载)

即修改/etc/fstab 文件。

echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0' >>/etc/fstab

非交互式方式实现脚本

适用于需要在多台主机上进行同样的分区操作,可以通过 ansible 工具调用脚本实现批量 分区配置挂载等操作

[root@kvm ~]# cat ./auto_partition.sh 
#!/bin/bash 
# 新建/dev/sdb 的磁盘标签类型为 GPT 
parted /dev/sdb mklabel gpt
# 将/dev/sdb 整个空间分给同一个分区 
parted /dev/sdb mkpart primary 0 100% 
# 忽略警告 
ignore 
# 格式化分区 
mkfs -t ext4 /dev/sdb1 
# 设定分区 label(非必要) 
e2label /dev/sdb1 /gfsdata01 
# 创建挂载目录 
mkdir /gfsdata01 
# 临时挂载 
mount /dev/sdb1 /gfsdata01 
# 开机自动挂载(永久挂载) 
echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0'>>/etc/fstab [root@kvm ~]#
举报

相关推荐

0 条评论