• 使用sgdisk进行磁盘分区


    fdisk创建MBR分区,sgdisk创建GPT分区

    gdisk软件包中包含sgdisk命令。 需要事先安装gdisk

    Debian/Ubuntu:
    apt-get install gdisk
    
    RedHat/CentOS:
    yum install gdisk
    
    OpenSuSE:
    yast install gdis
    

    1、新建分区

    命令: sgdisk --help | grep new
    帮助: -n, --new=partnum:start:end create new partition

    -n 创建一个分区, -n后的参数分别是: 分区号:起始地址:终止地址
    分区号为0:代表使用第一个可用的分区号;
    起始地址和终止地址为0:0代表第一个可用地址和最后一个可用地址;

    起始地址和终止地址可以为+/-xxx:代表偏移量,+代表在起始地址后的xxx地址,-代表在终止地址前的xxx地址;

    ①一块盘全部用于创建一个分区:

    sgdisk -n 0:0:0 /dev/sdb
    

    查看: lsblk | grep sdb
    ②创建一个从默认起始地址开始的10G的分区

    sgdisk -n 2:0:+10G /dev/sdb
    

    lsblk | grep sdb

    ③创建分区2,扇区从2048到10485760,type code为8300。
    sgdisk -n 2:2048:10485760 -t 2:8300 -p /dev/sdb

    例如一块盘创建4个分区

    #sgdisk -n 1:0:+5 /dev/sdb
    Creating new GPT entries.
    The operation has completed successfully.
    
    #sgdisk -n 2:0:+5 /dev/sdb
    The operation has completed successfully.
    
    #sgdisk -n 3:0:+5 /dev/sdb
    The operation has completed successfully.
    
    #sgdisk -n 4:0:0 /dev/sdb
    The operation has completed successfully.
    
    #lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   50G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   49G  0 part 
      ├─centos-root 253:0    0 44.2G  0 lvm  /
      └─centos-swap 253:1    0  4.8G  0 lvm  [SWAP]
    sdb               8:16   0   20G  0 disk 
    ├─sdb1            8:17   0  2.5K  0 part 
    ├─sdb2            8:18   0  2.5K  0 part 
    ├─sdb3            8:19   0  2.5K  0 part 
    └─sdb4            8:20   0  2.5K  0 part 
    

    2、查看分区详情

    命令:sgdisk --help | grep info
    帮助:-i, --info=partnum show detailed information on partition
    -i 显示某个分区详情

    ①查看第一分区详情
    sgdisk -i 1 /dev/sdb
    sgdisk --info=1 /dev/sdb

    ②查看所有GPT分区
    sgdisk -p /dev/sdb

    3、修改分区的 type code

    命令:sgdisk --help | grep typecode
    帮助:-t, --typecode=partnum:{hexcode|GUID} change partition type code
    -t 修改某个分区的type code

    ①指定第一分区的type code
    命令:sgdisk -t 1:0FC63DAF-8483-4772-8E79-3D69D8477DE4 /dev/sdb
    查看:sgdisk -i 1 /dev/sdb

    4、修改分区名

    命令:sgdisk --help | grep change-name
    帮助:-c, --change-name=partnum:name change partition's name
    -c 修改某个分区的分区名

    ①指定第一分区的分区名
    sgdisk -c 1:"test data" /dev/sdb
    查看:sgdisk -i 1 /dev/sdb

    实例如下

    # sgdisk -n 0:0:+5G -t 0:ef02 -c 0:grub /dev/sdb
    Creating new GPT entries.
    Setting name!
    partNum is 0
    REALLY setting name!
    The operation has completed successfully.
    
    # sgdisk -n 0:0:+5G -t 0:ea00 -c 0:boot /dev/sdb
    
    # sgdisk -n 0:0:+2G -t 0:8200 -c 0:swap /dev/sdb
    
    # sgdisk -n 0:0:0 -t 0:8300 -c 0:root /dev/sdb
    
    #lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb               8:16   0   20G  0 disk 
    ├─sdb1            8:17   0    5G  0 part 
    ├─sdb2            8:18   0    5G  0 part 
    ├─sdb3            8:19   0    2G  0 part 
    └─sdb4            8:20   0    8G  0 part 
    
    #sgdisk -p /dev/sdb
    Disk /dev/sdb: 41943040 sectors, 20.0 GiB
    ......
    Total free space is 2014 sectors (1007.0 KiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048        10487807   5.0 GiB     EF02  grub
       2        10487808        20973567   5.0 GiB     EA00  boot
       3        20973568        25167871   2.0 GiB     8200  swap
       4        25167872        41943006   8.0 GiB     8300  root
    

    5、清除分区数据

    命令:sgdisk --help | grep zap
    帮助:-z, --zap zap (destroy) GPT (but not MBR) data structures

    ①清除第一分区

    sgdisk -z /dev/sdb1
    

    6、删除分区

    命令:sgdisk --help | grep delete
    帮助:-d, --delete=partnum delete a partition
    -d 删除一个分区

    ①删除第一分区

    sgdisk --delete=1 /dev/sdb
    sgdisk -d 1 /dev/sdb
    lsblk | grep sdb
    

    ②删除所有分区

    sgdisk --zap-all --clear --mbrtogpt /dev/sdb
    
    sgdisk --zap-all /dev/sdb
    

    7、生产环境中,一般会用sgdisk将磁盘的分区方案写入文件,备份存储。

    sgdisk --backup=/root/sda.partitiontable /dev/sda
    sgdisk --backup=/root/sdb.partitiontable /dev/sdb
    如果发生故障,可以使用sgdisk命令的--load-backup选项还原分区表。

    从/dev/sda复制分区方案到/dev/sdb。

    sgdisk -R /dev/sdb /dev/sda
    

    新的硬盘上的GUID随机化,以确保它们是唯一的。

    sgdisk -G /dev/sdb
    

    检查两个硬盘驱动器现在是否具有相同的分区。

    sgdisk -p /dev/sda
    sgdisk -p /dev/sdb 
    

    8、列出分区类型代码

    #sgdisk --list-types
    0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
    3000 ONIE boot             3001 ONIE config           4100 PowerPC PReP boot   
    4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
    7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
    8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
    8302 Linux /home           8400 Intel Rapid Start     8e00 Linux LVM           
    a500 FreeBSD disklabel     a501 FreeBSD boot          a502 FreeBSD swap        
    a503 FreeBSD UFS           a504 FreeBSD ZFS           a505 FreeBSD Vinum/RAID  
    a580 Midnight BSD data     a581 Midnight BSD boot     a582 Midnight BSD swap   
    a583 Midnight BSD UFS      a584 Midnight BSD ZFS      a585 Midnight BSD Vinum  
    a800 Apple UFS             a901 NetBSD swap           a902 NetBSD FFS          
    a903 NetBSD LFS            a904 NetBSD concatenated   a905 NetBSD encrypted    
    a906 NetBSD RAID           ab00 Apple boot            af00 Apple HFS/HFS+      
    af01 Apple RAID            af02 Apple RAID offline    af03 Apple label         
    af04 AppleTV recovery      af05 Apple Core Storage    be00 Solaris boot        
    bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
    bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
    bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
    bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
    c001 HP-UX data            c002 HP-UX service         ea00 Freedesktop $BOOT   
    eb00 Haiku BFS             ed00 Sony system partitio  ed01 Lenovo system partit
    ef00 EFI System            ef01 MBR partition scheme  ef02 BIOS boot partition 
    fb00 VMWare VMFS           fb01 VMWare reserved       fc00 VMWare kcore crash p
    fd00 Linux RAID            
    

    9、ceph中用sgdisk工具进行分区--------固定uuid

    ceph通过uuid来区分你是osd分区还是journal分区之后,再决定数据放在哪里

    ceph中创建journal分区和data分区:
    sgdisk -n {part num}:0:+{part size}G {disk} -t {part num}:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -c {part num}:”ceph data”
    sgdisk -n {part num}:0:+{part size}G {disk} -t {part num}:45b0969e-9b03-4f30-b4c6-b4b80ceff106 -c {part num}:”ceph journal”

    root@host1:~# sgdisk -n 1:0:+20G /dev/nvme0n1 -t 1:45b0969e-9b03-4f30-b4c6-b4b80ceff106 -c 1:"ceph journal"
    Creating new GPT entries.
    The operation has completed successfully.
    
    root@host1:~# sgdisk -n 2:0:+20G /dev/nvme0n1 -t 2:45b0969e-9b03-4f30-b4c6-b4b80ceff106 -c 2:"ceph journal"
    The operation has completed successfully.
    
    root@host1:~# sgdisk -n 3:0:+150G /dev/nvme0n1 -t 3:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -c 3:"ceph data"
    The operation has completed successfully.
    
    root@host1:~# sgdisk -n 4:0:+150G /dev/nvme0n1 -t 4:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -c 4:"ceph data"
    The operation has completed successfully.
    
    root@host1:~# ceph-disk list
    /dev/nvme0n1 :
     /dev/nvme0n1p1 ceph journal
     /dev/nvme0n1p2 ceph journal
     /dev/nvme0n1p3 ceph data, unprepared
     /dev/nvme0n1p4 ceph data, unprepared
    

     10、格式化、挂载

    # partprobe
    

    将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表

    格式化

    mkfs.xfs /dev/sdb1
    mkfs.xfs /dev/sdc1
    
    #SDBUUID=$(blkid | grep -E '/dev/sdb1'| awk '{print $2}' |awk -F""" '{print $2}')
    #echo $SDBUUID
    5ed06824-e1da-475f-9a15-9a89bc5fed30
    
    #SDCUUID=$(blkid | grep -E '/dev/sdc1'| awk '{print $2}' |awk -F""" '{print $2}')
    

    使用UUID挂载

    echo -e "${SDBUUID} /mnt/data xfs defaults 0 0" >> /etc/fstab
    echo -e "${SDCUUID} /mnt/ssd xfs defaults 0 0" >> /etc/fstab
    
  • 相关阅读:
    Linux NFS服务器的安装与配置
    mysql 批量更新的四种方法
    解决 RHEL 7/ CentOS 7/Fedora 出现Unit iptables.service failed to load
    linux 搭建svn
    MYSQL的慢查询两个方法
    Apache 配置虚拟主机三种方式
    MYSQL explain详解
    php操作memcache的使用【转】
    PHPExcel中open_basedir restriction in effect的解决方法
    微信浏览器禁止app下载链接的两种处理方法
  • 原文地址:https://www.cnblogs.com/zjz20/p/14014788.html
Copyright © 2020-2023  润新知