• centos8平台使用parted管理分区


    一,parted的用途

    parted是GNU发布的强大的分区工具,

    parted命令可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区。

    因为fdisk命令对于大于2T的分区无法划分,所以用fdisk无法看到parted划分的GPT格式的分区

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,两种分区表:MBR分区表/GPT分区表的比较

    MBR分区表:(MBR含义:主引导记录)
    所支持的最大卷:2T (T: terabytes,1TB=1024GB)
    对分区的设限:最多4个主分区或3个主分区加一个扩展分区。

    GPT分区表:(GPT含义:GUID Partition Table,即GUID分区表)
    支持最大卷:18EB,(E:exabytes,1EB=1024TB)
    每个磁盘最多支持128个分区

    所以如果要大于2TB的卷或分区就必须得用GPT分区表

    三,parted命令所属的包及安装

    1,所属的包

    [root@blog ~]# whereis parted
    parted: /usr/sbin/parted /usr/share/man/man8/parted.8.gz /usr/share/info/parted.info.gz
    
    [root@blog ~]# rpm -qf /usr/sbin/parted
    parted-3.2-36.el8.x86_64

    2,如果找不到parted命令,可以用yum安装

    [root@blog ~]# yum install parted 

    四,查看parted的版本和帮助

    1,查看版本

    [root@blog ~]# parted --version
    parted (GNU parted) 3.2
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Written by <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS>.

    2,查看帮助

    [root@blog ~]# parted --help 

    五,例子一:打印磁盘与分区列表:

    # --list: lists partition layout on all block devices

    列出所有块设备上的分区安排

    [root@blog ~]# parted --list
    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags:
    
    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 107GB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End    Size   Type     File system  Flags
     1      1049kB  107GB  107GB  primary  xfs          boot

    说明:通过上面的命令输出我们可以看到:

    一共有两块磁盘: /dev/vdb: 537GB

    /dev/vda   107GB

    在生产环境中我们也是通用的做法:系统盘和数据盘分开,

    避免系统对数据有影响

    /dev/vda的Partition Table是msdos,

    已经经过了分区,

    可以看到它的分区表:File system也已格式化成了xfs文件系统

    /dev/vdb的Partition Table是unknown

    说明它还没有做分区

    六,例子二:用parted给/dev/vdb创建一个指定大小的分区

    1,进入parted

    [root@blog ~]# parted /dev/vdb

    2,查看帮助

    (parted) help
      align-check TYPE N                        check partition N for TYPE(min|opt) alignment
      help [COMMAND]                           print general help, or help on COMMAND
      mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
      mkpart PART-TYPE [FS-TYPE] START END     make a partition
      name NUMBER NAME                         name partition NUMBER as NAME
      print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
      quit                                     exit program
      rescue START END                         rescue a lost partition near START and END
      resizepart NUMBER END                    resize partition NUMBER
      rm NUMBER                                delete partition NUMBER
      select DEVICE                            choose the device to edit
      disk_set FLAG STATE                      change the FLAG on selected device
      disk_toggle [FLAG]                       toggle the state of FLAG on selected device
      set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
      toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
      unit UNIT                                set the default unit to UNIT
      version                                  display the version number and copyright information of GNU Parted

    3,打印分区的信息

    (parted) print
    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags: 

    4,创建一个新的gpt类型的空磁盘分区表

    # mklabel用来指定分区表的类型

    (parted) mklabel gpt
    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End  Size  File system  Name  Flags

    已可以看到分区表的类型被指定为gpt

    但还没有分区

    5,创建分区

    #mkpart primary 创建一个主分区类型

    (parted) mkpart primary 0 537GB
    Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
    Ignore/Cancel? C

    上面提到分区没有按照最优的性能对齐,我们选Cancel,

    换一个方式指定分区大小

    解决办法:

    #mkpart primary 0% 100%     使用百分比可以解决对齐的问题

    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End  Size  File system  Name  Flags
    
    (parted) mkpart primary 0% 100%
    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End    Size   File system  Name     Flags
     1      1049kB  537GB  537GB               primary

    检查一下:

    #align-check optimal 1     检查分区的对齐情况,提示aligned则表示已对齐

    (parted) align-check optimal 1
    1 aligned

    6,删除一个分区

     # rm 加分区的Number,用来删除一个分区

    (parted) rm 1
    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start  End  Size  File system  Name  Flags

    删除后可以见到分区已经不见了

    7,检查指定的分区是否对齐?

    #  align-check  用来检查分区是否对齐,提示aligned表示已对齐

    (parted) align-check optimal 1
    1 aligned

    8,退出

    (parted) quit
    Information: You may need to update /etc/fstab.

    七,创建分区成功后,可以用fdisk -l 或parted --list查看:

    1,用parted --list查看分区

    [root@blog ~]# parted --list
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 537GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End    Size   File system  Name     Flags
     1      1049kB  537GB  537GB               primary
    ...

    2,用 fdisk -l查看分区 

    [root@blog ~]# fdisk -l
    ...
    
    Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 46C9B0B7-0D78-43D2-9C2D-0059E02F9635
    
    Device     Start        End    Sectors  Size Type
    /dev/vdb1   2048 1048573951 1048571904  500G Linux filesystem

    八,分区创建成功后,还没有做格式化,请查看这一篇文章了解xfs文件系统

    九,查看centos的版本

    [root@blog databak]# cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core) 
  • 相关阅读:
    【bzoj2962】序列操作 线段树
    【bzoj1922】[Sdoi2010]大陆争霸 堆优化Dijkstra
    .NET Core / C# 开发 IOT 嵌入式设备的个人见解
    C#中Equals和= =(等于号)的比较)
    VS 2017常用快捷键
    【你不一定知晓的】C#取消异步操作
    工程实践:给函数取一个"好"的名字
    接口测试入门篇
    博客园知名博主 Vamei 英年早逝!
    人生苦短,我用 Python
  • 原文地址:https://www.cnblogs.com/architectforest/p/12642634.html
Copyright © 2020-2023  润新知