• linux parted给磁盘分区


    概述

            通常我们用的比较多的分区工具fdisk命令,但由于fdisk只支持MBR分区,MBR分区表最大支撑2T的磁盘,所以无法划分大于2T的分区。而parted工具可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区。

    1.查看磁盘大小

    因磁盘大小超过2T,用fdisk划分磁盘时,最多只划出2T的磁盘。所以,改用parted命令划分

    1. # lsblk
    2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    3. sda 8:0 0 447.1G 0 disk
    4. ├─sda1 8:1 0 5G 0 part /boot
    5. └─sda2 8:2 0 442.1G 0 part
    6. ├─rootvg-root 253:0 0 100G 0 lvm /
    7. ├─rootvg-swap 253:1 0 32G 0 lvm [SWAP]
    8. ├─rootvg-bomc 253:2 0 130.1G 0 lvm /bomc
    9. ├─rootvg-home 253:3 0 80G 0 lvm /home
    10. └─rootvg-var 253:4 0 100G 0 lvm /var
    11. sdb 8:16 0 80.1T 0 disk
    12. sr0 11:0 1 1024M 0 rom

    1.1parted常用命令及说明

    1. check NUMBER 做一次简单的文件系统检测
    2. cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER 复制文件系统到另一个分区
    3. help [COMMAND] 显示所有的命令帮助
    4. mklabel,mktable LABEL-TYPE 创建新的磁盘卷标(分区表)
    5. mkfs NUMBER FS-TYPE 在分区上建立文件系统
    6. mkpart PART-TYPE [FS-TYPE] START END 创建一个分区
    7. mkpartfs PART-TYPE FS-TYPE START END 创建分区,并建立文件系统
    8. move NUMBER START END 移动分区
    9. name NUMBER NAME 给分区命名
    10. print [devices|free|list,all|NUMBER] 显示分区表、活动设备、空闲空间、所有分区
    11. quit 退出
    12. rescue START END 修复丢失的分区
    13. resize NUMBER START END 修改分区大小
    14. rm NUMBER 删除分区
    15. select DEVICE 选择需要编辑的设备
    16. set NUMBER FLAG STATE 改变分区标记
    17. toggle [NUMBER [FLAG]] 切换分区表的状态
    18. unit UNIT 设置默认的单位
    19. Version 显示版本

    1.2 parted常用的选项

    1. -h –help 显示此求助信息
    2. -l –list 列出所有设别的分区信息
    3. -i –interactive 在必要时,提示用户
    4. -s –script 从不提示用户
    5. -v -version 显示版本

    2.划分磁盘

    2.1 选择分区

    1. # parted /dev/sdb
    2. GNU Parted 3.2
    3. Using /dev/sdb
    4. Welcome to GNU Parted! Type 'help' to view a list of commands.
    5. (parted)

    2.2 创建分区

    1. # mklabel
    2. New disk label type? gpt
    3. Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
    4. Yes/No? yes
    5. (parted)

    2.3 完成分区操作

    1. # mkpart
    2. Partition name? []? sdb1
    3. File system type? [ext2]? xfs
    4. Start? 0
    5. End? 20%
    6. Warning: The resulting partition is not properly aligned for best performance: 34s % 5632s != 0s
    7. Ignore/Cancel? Ignore
    8. (parted)
    9. (parted) print
    10. Model: ZTE LOGICAL VOLUME (scsi)
    11. Disk /dev/sdb: 88.0TB
    12. Sector size (logical/physical): 512B/4096B
    13. Partition Table: gpt
    14. Disk Flags:
    15. Number Start End Size File system Name Flags
    16. 1 17.4kB 17.6TB 17.6TB xfs sdb1

    2.4 分区错误,删除分区

    1. # mkpart
    2. Partition name? []? sdb1
    3. File system type? [ext2]? xfs
    4. Start? 20%
    5. End?
    6. End? 30%
    7. (parted) rm sdb1
    8. Error: Expecting a partition number.
    9. (parted) rm 1
    10. (parted)
    11. (parted) print
    12. Model: ZTE LOGICAL VOLUME (scsi)
    13. Disk /dev/sdb: 88.0TB
    14. Sector size (logical/physical): 512B/4096B
    15. Partition Table: gpt
    16. Disk Flags:
    17. Number Start End Size File system Name Flags

    2.5 验证分区

    print出信息,看是否符合预期

    1. # print
    2. Model: ZTE LOGICAL VOLUME (scsi)
    3. Disk /dev/sdb: 88.0TB
    4. Sector size (logical/physical): 512B/4096B
    5. Partition Table: gpt
    6. Disk Flags:
    7. Number Start End Size File system Name Flags
    8. 1 17.4kB 17.6TB 17.6TB xfs sdb1

    2.6 再依次划分其他盘

    1. # mkpart
    2. Partition name? []? sdb2
    3. File system type? [ext2]? xfs
    4. Start? 20%
    5. End? 40%
    6. (parted)
    7. (parted) priint
    8. Model: ZTE LOGICAL VOLUME (scsi)
    9. Disk /dev/sdb: 88.0TB
    10. Sector size (logical/physical): 512B/4096B
    11. Partition Table: gpt
    12. Disk Flags:
    13. Number Start End Size File system Name Flags
    14. 1 17.4kB 17.6TB 17.6TB xfs sdb1
    15. 2 17.6TB 35.2TB 17.6TB xfs sdb2
    16. # mkpart
    17. Partition name? []? sdb3
    18. File system type? [ext2]? xfs
    19. Start? 40%
    20. End? 60%
    21. (parted)
    22. (parted) mkpart
    23. Partition name? []? sdb4
    24. File system type? [ext2]? xfs
    25. Start? 60%
    26. End? 80%
    27. (parted)
    28. (parted) mkpart
    29. Partition name? []? sdb5
    30. File system type? [ext2]? xfs
    31. Start? 80%
    32. End? 100%
    33. (parted)
    34. (parted) print
    35. Model: ZTE LOGICAL VOLUME (scsi)
    36. Disk /dev/sdb: 88.0TB
    37. Sector size (logical/physical): 512B/4096B
    38. Partition Table: gpt
    39. Disk Flags:
    40. Number Start End Size File system Name Flags
    41. 1 17.4kB 17.6TB 17.6TB xfs sdb1
    42. 2 17.6TB 35.2TB 17.6TB xfs sdb2
    43. 3 35.2TB 52.8TB 17.6TB xfs sdb3
    44. 4 52.8TB 70.4TB 17.6TB xfs sdb4
    45. 5 70.4TB 88.0TB 17.6TB xfs sdb5
    46. (parted) quit
    47. Information: You may need to update /etc/fstab.

    2.7 格式化分区

    quit退出parted交互,使用mkfs给新建的分区格式化

    2.7.1  lsblk查看磁盘结构

    1. # lsblk
    2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    3. sda 8:0 0 447.1G 0 disk
    4. ├─sda1 8:1 0 5G 0 part /boot
    5. └─sda2 8:2 0 442.1G 0 part
    6. ├─rootvg-root 253:0 0 100G 0 lvm /
    7. ├─rootvg-swap 253:1 0 32G 0 lvm [SWAP]
    8. ├─rootvg-bomc 253:2 0 130.1G 0 lvm /bomc
    9. ├─rootvg-home 253:3 0 80G 0 lvm /home
    10. └─rootvg-var 253:4 0 100G 0 lvm /var
    11. sdb 8:16 0 80.1T 0 disk
    12. ├─sdb1 8:17 0 16T 0 part
    13. ├─sdb2 8:18 0 16T 0 part
    14. ├─sdb3 8:19 0 16T 0 part
    15. ├─sdb4 8:20 0 16T 0 part
    16. └─sdb5 8:21 0 16T 0 part
    17. sr0 11:0 1 1024M 0 rom
    18. [root@hkcrmlog08 ~]#

    2.7.2 fdisk -l 查看磁盘

    1. # fdisk -l
    2. Disk /dev/sda: 447.1 GiB, 480068075520 bytes, 937632960 sectors
    3. Units: sectors of 1 * 512 = 512 bytes
    4. Sector size (logical/physical): 512 bytes / 4096 bytes
    5. I/O size (minimum/optimal): 262144 bytes / 262144 bytes
    6. Disklabel type: dos
    7. Disk identifier: 0x604ee21e
    8. Device Boot Start End Sectors Size Id Type
    9. /dev/sda1 * 2048 10487807 10485760 5G 83 Linux
    10. /dev/sda2 10487808 937631743 927143936 442.1G 8e Linux LVM
    11. Disk /dev/sdb: 80.1 TiB, 88016821370880 bytes, 171907854240 sectors
    12. Units: sectors of 1 * 512 = 512 bytes
    13. Sector size (logical/physical): 512 bytes / 4096 bytes
    14. I/O size (minimum/optimal): 262144 bytes / 2883584 bytes
    15. Disklabel type: gpt
    16. Disk identifier: 72F44DFD-4B36-4ADD-8A51-40308B207C55
    17. Device Start End Sectors Size Type
    18. /dev/sdb1 34 34381570847 34381570814 16T Linux filesystem
    19. /dev/sdb2 34381574656 68763143679 34381569024 16T Linux filesystem
    20. /dev/sdb3 68763143680 103144712703 34381569024 16T Linux filesystem
    21. /dev/sdb4 103144712704 137526281727 34381569024 16T Linux filesystem
    22. /dev/sdb5 137526281728 171907850751 34381569024 16T Linux filesystem
    23. Partition 1 does not start on physical sector boundary.

    2.7.3 对盘进行格式化

    1. # mkfs.xfs /dev/sdb1
    2. warning: device is not properly aligned /dev/sdb1
    3. Use -f to force usage of a misaligned device
    4. [root@hkcrmlog08 ~]# mkfs.xfs /dev/sdb2
    5. meta-data=/dev/sdb2 isize=512 agcount=32, agsize=134303040 blks
    6. = sectsz=4096 attr=2, projid32bit=1
    7. = crc=1 finobt=1, sparse=1, rmapbt=0
    8. = reflink=1 bigtime=0 inobtcount=0
    9. data = bsize=4096 blocks=4297696128, imaxpct=5
    10. = sunit=64 swidth=704 blks
    11. naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    12. log =internal log bsize=4096 blocks=521728, version=2
    13. = sectsz=4096 sunit=1 blks, lazy-count=1
    14. realtime =none extsz=4096 blocks=0, rtextents=0
    15. [root@hkcrmlog08 ~]# mkfs.xfs /dev/sdb3
    16. meta-data=/dev/sdb3 isize=512 agcount=32, agsize=134303040 blks
    17. = sectsz=4096 attr=2, projid32bit=1
    18. = crc=1 finobt=1, sparse=1, rmapbt=0
    19. = reflink=1 bigtime=0 inobtcount=0
    20. data = bsize=4096 blocks=4297696128, imaxpct=5
    21. = sunit=64 swidth=704 blks
    22. naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    23. log =internal log bsize=4096 blocks=521728, version=2
    24. = sectsz=4096 sunit=1 blks, lazy-count=1
    25. realtime =none extsz=4096 blocks=0, rtextents=0
    26. [root@hkcrmlog08 ~]# mkfs.xfs /dev/sdb4
    27. meta-data=/dev/sdb4 isize=512 agcount=32, agsize=134303040 blks
    28. = sectsz=4096 attr=2, projid32bit=1
    29. = crc=1 finobt=1, sparse=1, rmapbt=0
    30. = reflink=1 bigtime=0 inobtcount=0
    31. data = bsize=4096 blocks=4297696128, imaxpct=5
    32. = sunit=64 swidth=704 blks
    33. naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    34. log =internal log bsize=4096 blocks=521728, version=2
    35. = sectsz=4096 sunit=1 blks, lazy-count=1
    36. realtime =none extsz=4096 blocks=0, rtextents=0
    37. [root@hkcrmlog08 ~]#
    38. [root@hkcrmlog08 ~]# mkfs.xfs /dev/sdb5
    39. meta-data=/dev/sdb5 isize=512 agcount=32, agsize=134303040 blks
    40. = sectsz=4096 attr=2, projid32bit=1
    41. = crc=1 finobt=1, sparse=1, rmapbt=0
    42. = reflink=1 bigtime=0 inobtcount=0
    43. data = bsize=4096 blocks=4297696128, imaxpct=5
    44. = sunit=64 swidth=704 blks
    45. naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    46. log =internal log bsize=4096 blocks=521728, version=2
    47. = sectsz=4096 sunit=1 blks, lazy-count=1
    48. realtime =none extsz=4096 blocks=0, rtextents=0
    49. [root@hkcrmlog08 ~]# mkfs.xfs -f /dev/sdb1
    50. warning: device is not properly aligned /dev/sdb1
    51. meta-data=/dev/sdb1 isize=512 agcount=32, agsize=134303040 blks
    52. = sectsz=512 attr=2, projid32bit=1
    53. = crc=1 finobt=1, sparse=1, rmapbt=0
    54. = reflink=1 bigtime=0 inobtcount=0
    55. data = bsize=4096 blocks=4297696351, imaxpct=5
    56. = sunit=64 swidth=704 blks
    57. naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    58. log =internal log bsize=4096 blocks=521728, version=2
    59. = sectsz=512 sunit=64 blks, lazy-count=1
    60. realtime =none extsz=4096 blocks=0, rtextents=0

    2.8挂载磁盘

    2.8.1 新建目录

    mkdir /data01 /data02 /data03 /data04

    2.8.2 修改/etc/fstab文件

    1. /dev/sdb1 /data xfs defaults 0 0
    2. /dev/sdb2 /data01 xfs defaults 0 0
    3. /dev/sdb3 /data02 xfs defaults 0 0
    4. /dev/sdb4 /data03 xfs defaults 0 0
    5. /dev/sdb5 /data03 xfs defaults 0 0

    2.8.3 挂载

    1. # mount /dev/sdb1 /data
    2. [root@hkcrmlog08 ~]# mount /dev/sdb2 /data01
    3. [root@hkcrmlog08 ~]# mount /dev/sdb3 /data02
    4. [root@hkcrmlog08 ~]# mount /dev/sdb4 /data03
    5. [root@hkcrmlog08 ~]# mount /dev/sdb5 /data04
    6. [root@hkcrmlog08 ~]#
    7. [root@hkcrmlog08 ~]# df -h
    8. Filesystem Size Used Avail Use% Mounted on
    9. devtmpfs 94G 0 94G 0% /dev
    10. tmpfs 94G 0 94G 0% /dev/shm
    11. tmpfs 94G 42M 94G 1% /run
    12. tmpfs 94G 0 94G 0% /sys/fs/cgroup
    13. /dev/mapper/rootvg-root 98G 1.6G 92G 2% /
    14. /dev/sda1 4.9G 245M 4.4G 6% /boot
    15. /dev/mapper/rootvg-bomc 127G 28K 121G 1% /bomc
    16. /dev/mapper/rootvg-home 79G 44K 75G 1% /home
    17. /dev/mapper/rootvg-var 98G 610M 93G 1% /var
    18. tmpfs 19G 0 19G 0% /run/user/0
    19. /dev/sdb1 17T 115G 16T 1% /data
    20. /dev/sdb2 17T 115G 16T 1% /data01
    21. /dev/sdb3 17T 115G 16T 1% /data02
    22. /dev/sdb4 17T 115G 16T 1% /data03
    23. /dev/sdb5 17T 115G 16T 1% /data04

    原因为哈,刚格式化后,磁盘就被占用100多G。应该是有地方能将此步骤节省出来,我没有找到。

  • 相关阅读:
    4-网络架构和Netty系列-网络线程模型与核心概念
    文心一言 VS 讯飞星火 VS chatgpt (110)-- 算法导论10.2 1题
    云原生Kubernetes:K8S集群list-watch机制与 pod调度约束
    PMP认证需具备哪些条件啊?费用多少啊?
    Android---Android 是如何通过 Activity 进行交互的
    git--远程仓库的命令--使用/实例
    C++初阶(十一)STL简介及string类初讲
    程序员可以包装吗?
    分布式系统原理-BASE,可用性高于强一致性
    Java 线程池手动创建示例及自我理解的解读 ThreadFactory手动创建示例
  • 原文地址:https://blog.csdn.net/red_sky_blue/article/details/134430958