与fdisk创建MBR分区一样,sgdisk是一个创建GPT分区的工具,如果你还不了解GPT分区,请参考The difference between booting MBR and GPT with GRUB 查看GPT分区 sgdisk -p /dev/sdb 删除所有分区 sgdisk --zap-all --clear --mbrtogpt /dev/sdb 创建分区 sgdisk -n 1:2048 sgdisk --new=1:2048:7814037134 --change-name=1:dzq-test -u 1:R -t 1:8300 --mbrtogpt -- /dev/sdg 查看分区 1详细信息 sgdisk --info=1 /dev/sdb 删除分区1 sgdisk --delete=1 /dev/sdb partprobe 将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表
方法也很简单,分享一下: # 列出所有磁盘 ls -la /dev/disk/by-id # 复制分区表 # sgdisk 好硬盘或旧硬盘路径 -R 新硬盘路径 # sgdisk -G 新硬盘路径 sgdisk /dev/nvme1n1 -R /dev/nvme0n1 sgdisk -G /dev/nvme0n1 # 查看存储池情况 zpool status -x # zpool replace -f rpool
方法也很简单,分享一下: # 列出所有磁盘 ls -la /dev/disk/by-id # 复制分区表 # sgdisk 好硬盘或旧硬盘路径 -R 新硬盘路径 # sgdisk -G 新硬盘路径 sgdisk /dev/nvme1n1 -R /dev/nvme0n1 sgdisk -G /dev/nvme0n1 # 查看存储池情况 zpool status -x # zpool replace -f rpool
vdb1 具体操作步骤: 安装gdisk: yum install gdisk -y 查看Partion unique GUID(UUID): partx /dev/vdb 重建分区1:sgdisk 这里需要执行两遍才会生效,原因未知 若通过gdisk 查 Partion unique GUID(UUID):gdisk /dev/vdb 输入: i <Enter > quit 重建分区1: sgdisk old_desc_blocks=125 不等于 new_desc_blocks =188 , 表示扩容成功 查看扩容结果: lsblk 总结共四步 1、查看UUID:partx 或者 gdisk 2、重建分区: sgdisk
下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏移的问题 如果采用的是ceph自带的deploy去做分区的处理的时候,是调用的sgdisk primary 1 100%; parted /dev/sdf mkpart primary 1 100% 给jounral盘做一个标记(特殊标记,下面的字符串不要变动固定写法) /usr/sbin/sgdisk typecode=1:45b0969e-9b03-4f30-b4c6-b4b80ceff106 -- /dev/sdf 给数据盘做一个标记(特殊标记,下面的字符串不要变动固定写法) /usr/sbin/sgdisk
第一步:调整分区表 我们首先需要使用 sgdisk[27](环境内置,无需下载),来调整分区表,来解锁默认分区的限制。 当然,任何时候,都不建议“摸黑”操作,先执行来了解下设备的分区表状况: adb shell "sgdisk --print /dev/block/sda" 命令执行完毕,我们将看到类似下面的结果: Disk --backup=sgdisk-sda.bin /dev/block/sda" The operation has completed successfully # adb pull sgdisk-sda.bin . sgdisk-sda.bin: 1 file pulled, 0 skipped. 2.5 MB/s (5632 bytes in 0.002s ) 我们可以先执行下面的命令,来扩大允许的分区表数量,避免后续执行过程中出现异常情况(比如允许 128 个分区项目存在): adb shell sgdisk --resize-table=128 /dev
第一步:调整分区表我们首先需要使用 sgdisk(环境内置,无需下载),来调整分区表,来解锁默认分区的限制。 当然,任何时候,都不建议“摸黑”操作,先执行来了解下设备的分区表状况:adb shell "sgdisk --print /dev/block/sda"命令执行完毕,我们将看到类似下面的结果:Disk --backup=sgdisk-sda.bin /dev/block/sda"The operation has completed successfully.# adb pull sgdisk-sda.bin (比如允许 128 个分区项目存在):adb shell sgdisk --resize-table=128 /dev/block/sda命令执行完毕,我们将看到下面的日志结果:# adb shell sgdisk --resize-table=128 /dev/block/sdaWarning: The kernel is still using the old partition table.The
http://www.rodsbooks.com/gdisk/ || gptfdisk sgdisk — Scriptable version of gdisk. http://www.rodsbooks.com /gdisk/sgdisk-walkthrough.html || gptfdisk GNU Parted — 命令行分区工具。 GPT 对话框 fdisk parted fdisk gdisk parted 模拟图形界面 cfdisk cfdisk cgdisk 非交互 sfdisk parted sfdisk sgdisk
9f6d-cc6badcfddb6 1 #创建OSD的journal分区,注意通过打上typecode标签实现udev自动发现Journal设备 [root@demo cephuser]# /sbin/sgdisk #创建OSD的data分区,注意通过打上typecode标签实现udev自动发现data设备 [root@demo cephuser]# /sbin/sgdisk --largest-new=1 --change-name
使用sgdisk新建分区,并指定分区的partuuid以及label标签 sgdisk --new=0:0:+100M --change-name=1:osd-1-wal --partition-guid =1:4fbd7e29-9d25-41b8-afd0-062c0ceff051 --mbrtogpt -- /dev/sdc sgdisk --new=0:0:+100M --change-name=
[idcv-ceph0][WARNIN] command_check_call: Running command: /usr/sbin/sgdisk --clear --mbrtogpt -- /dev is /sys/dev/block/8:16/dm/uuid [idcv-ceph0][WARNIN] command_check_call: Running command: /usr/sbin/sgdisk [idcv-ceph1][WARNIN] command_check_call: Running command: /sbin/sgdisk --clear --mbrtogpt -- /dev/sdb [idcv-ceph2][WARNIN] command_check_call: Running command: /sbin/sgdisk --clear --mbrtogpt -- /dev/sdb [idcv-ceph3][WARNIN] command_check_call: Running command: /sbin/sgdisk --clear --mbrtogpt -- /dev/sdb
制作 SD 卡镜像(1GB) dd if=/dev/zero of=uboot.disk bs=1M count=1024 # 创建 4 个分区 sgdisk -n 0:0:+16M -c 0:kernel uboot.disk sgdisk -n 0:0:+512M -c 0:rootfs uboot.disk sgdisk -n 0:0:+64M -c 0:vendor uboot.disk sgdisk
type ee)/dev/sdb: MBR Magic : aa55Partition[0] : 4294967295 sectors at 1 (type ee)接着,使用 sgdisk -R 将两个磁盘的分区表进行一致化处理:sudo sgdisk /dev/sda -R /dev/sdb复制完分区表之后,需要对其中一个磁盘的分区 UUID 进行刷新,避免操作系统在使用的时候出现问题 sudo sgdisk /dev/sdb -G然后,使用 mdadm --create --level=mirror 创建次盘阵列: # sudo mdadm --create /dev/md0 --level
/dev/sdb: MBR Magic : aa55 Partition[0] : 4294967295 sectors at 1 (type ee) 接着,使用 sgdisk -R 将两个磁盘的分区表进行一致化处理: sudo sgdisk /dev/sda -R /dev/sdb 复制完分区表之后,需要对其中一个磁盘的分区 UUID 进行刷新,避免操作系统在使用的时候出现问题 sudo sgdisk /dev/sdb -G 然后,使用 mdadm --create --level=mirror 创建次盘阵列: # sudo mdadm --create /dev/md0 --
dev/sdb1 修改ext2/3/4文件系统UUID sudo xfs_admin U generate /dev/sdb1 XFS文件系统 分区UUID(GPT分区表): sudo sgdisk
on /var/lib/ceph/osd/ceph-7 这里要如何处理,才能实现自动挂载,方法是有的 这个地方需要做一步这个操作(注意下面的1:后面是写死的字符串固定的值) /usr/sbin/sgdisk
如果逻辑卷已扩展但文件系统没有,执行: resize2fs /dev/mapper/debian--vg-root 分区表类型不支持大容量 MBR分区表最大支持2TB,如果磁盘超过2TB需要转换为GPT: # 备份分区表 sgdisk --backup=table /dev/vda # 转换为GPT(危险操作,务必备份) sgdisk --mbrtogpt /dev/vda 文件系统检查失败 有时候resize2fs会报错,需要先检查文件系统
sdb hdd 1000G Yes None 如果显示 AVAILABLE: No,可能是盘有分区或文件系统,得先清掉: sudo wipefs -a /dev/sdb sudo sgdisk
/usr/bin/env bash DISK="/dev/vdb" sgdisk --zap-all $DISK dd if=/dev/zero of="$DISK" bs=1M count=100
字段为空,说明该设备还没有被格式化,可以被 Ceph 使用 本例中可以使用的设备为 sdd 如果需要清理已有磁盘给 Ceph 使用,请使用下面的命令(生产环境请谨慎): yum install gdisk sgdisk