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
[root@kvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/root_vg-lv_root 89G 2.6G 82G 4% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 2.0M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 976M 216M 694M 24% /boot
/dev/sda7 99G 61M 94G 1% /home
/dev/sda8 62G 53M 59G 1% /tmp
/dev/sda6 99G 61M 94G 1% /app
tmpfs 26G 0 26G 0% /run/user/1014
tmpfs 26G 0 26G 0% /run/user/0
/dev/sdb1 17T 20K 16T 1% /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 ~]#

parted的其他常用子命令

删除分区(rm子命令)

rm NUMBERNUMBER即为parted子命令p回显的Number对应的数字;

此命令慎用!!!如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的。

(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 4096GB 4096GB primary (parted) rm 1
(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 (parted)

linux分区命令parted的用法的更多相关文章

  1. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  2. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  3. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  4. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  5. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  6. (转)linux expr命令参数及用法详解

    linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...

  7. (转)linux traceroute命令参数及用法详解--linux跟踪路由命令

    linux traceroute命令参数及用法详解--linux跟踪路由命令 原文:http://blog.csdn.net/liyuan_669/article/details/25362505 通 ...

  8. LINUX下分区命令Parted详解

    通常划分分区工具我们用的比较多是fdisk命令,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大.而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘.现在的磁盘空间已经远远大于2T,有两 ...

  9. Linux分区之parted命令

      之前使用最多的分区命令无疑是fdisk了,大多数情况下fdisk可以满足日常工作上的需求,极个别情况就需要使用parted命令了,至于及个别情况就要从MBR和GPT说起. MBR主引导扇区   主 ...

随机推荐

  1. rhel加载raid卡驱动安装系统

    有时候需要把系统安装到RAID上,但是系统本身又缺少该RAID卡驱动,就会导致到硬盘分区时提示没有发现可用磁盘,这时我们就需要首先加载该RAID卡驱动,从而让系统识别到要使用的磁盘. RHEL5 和 ...

  2. H5测试方法

    一 功能测试 1 关注页面请求:请求数据是否正确,相应是否正确,是否有重复请求,造成流量浪费,响应速度变慢 2 关注application cache:cokkie值是否正确,清除cokkie后表现是 ...

  3. opencv —— saturate_cast 溢出保护

    src.at<uchar>(i,j)[0] = saturate_cast<uchar>(data); if (data < 0) data = 0; else if ( ...

  4. 刷题78. Subsets

    一.题目说明 题目78. Subsets,给一列整数,求所有可能的子集.题目难度是Medium! 二.我的解答 这个题目,前面做过一个类似的,相当于求闭包: 刷题22. Generate Parent ...

  5. 春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!

    春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR! 2020年了,先祝大家新年快乐! 今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三 ...

  6. javaSE学习笔记(11)--- Map

    javaSE学习笔记(11)--- Map 1.Map集合 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Jav ...

  7. JavaScript-跨浏览器事件处理程序(EventUtil)

    事件操作对象: var EventUtil= { //添加事件 addHandler: function (element, type, handler) { if (element.addEvent ...

  8. 小程序onShow事件获取options方法

    微信小程序 onShow() 事件 onShow() 事件不接受参数,因此无法获取页面 url 传递过来的参数,只有 onLoad() 事件可以. onShow(options){ console.l ...

  9. 关于学习java虚拟机的知识整理一:jvm内存区域

    之前由于考研,对于虚拟机的认识疏忽了太多,现在重新整理回顾一下. 如上图所示,jvm的内存区域(运行时数据区)共分为5处:方法区(Method Area).虚拟机栈(vm Stack).本地方法栈(N ...

  10. 安装Ansible到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:ansible 硬件要求:无 安装过程 1.安装YUM-EPEL源 HTTP-Tools软件包由 ...