Device does not contain a recognized partition table 使用磁盘标识符 0xc72a6f6a 创建新的 DOS 磁盘标签。
我们输入"m"选项可以查看到帮助信息:
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag 切换可引导标志
b edit bsd disklabel 编辑BSD磁盘标签
c toggle the dos compatibility flag 切换DOS兼容性标志
d delete a partition 删除分区
g create a new empty GPT partition table 创建一个新的空GPT分区表
G create an IRIX (SGI) partition table 创建一个ILIX(SGI)分区表
l list known partition types 列出已知分区类型
m print this menu 打印此菜单
n add a new partition 添加新分区
o create a new empty DOS partition table 创建一个新的空DOS分区表
p print the partition table 打印分区表
q quit without saving changes 不保存更改退出
s create a new empty Sun disklabel 创建一个新的空太阳标签
t change a partition's system id 更改分区的系统ID
u change display/entry units 更改显示/输入单元
v verify the partition table 验证分区表
w write table to disk and exit 将表写入磁盘并退出
x extra functionality (experts only) 额外功能(仅专家)
命令(输入 m 获取帮助):
从上面的帮助信息中,可以得知一些选项的用途。这里主要注意"d"、"n"、"q"、"g"、"w"等选项。首先要明确分区格式,fdisk默认的分区格式是msdos(mbr),在此可输入"g"选项,将分区格式修改为GPT,不过在修改完保存退出之后,在输入 fdisk /dev/sdb 命令进入分区模式,会出现 WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 信息,提示fdisk gpt分区是新的功能,目前还在实验阶段。所以如果要进行GPT分区,那么推荐使用 parted 命令,后面会介绍到。
那么首先输入"n"选项来开始创建分区:
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
#
# /etc/fstab
# Created by anaconda on Sun Jun 25 07:16:25 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=eb697457-a097-4263-8bbf-a75aa632d27c / ext4 defaults 1 1
[root@localnat201 ~]# parted -h
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
Apply COMMANDs with PARAMETERS to DEVICE. If no COMMAND(s) are given, run in
interactive mode.
选项: -h, –help 显示此求助信息 -l, –list lists partition layout on all block devices 列出所有块设备上的分区布局 -m, –machine displays machine parseable output 显示机器可分析输出 -s, –script 从不提示用户 -v, –version 显示版本 -a, --align=[none|cyl|min|opt] alignment for new partitions
命令: 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 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
[root@localnat201 ~]# parted -l
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志 1 1049kB 1075MB 1074MB primary xfs 启动 2 1075MB 32.2GB 31.1GB primary lvm
错误: /dev/sdb: unrecognised disk label Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags:
Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-swap: 2147MB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Fla gs:
Number Start End Size File system 标志 1 0.00B 2147MB 2147MB linux-swap(v1)
Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/cl-root: 29.0GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags:
Number Start End Size File system 标志 1 0.00B 29.0GB 29.0GB xfs
从中可看出与上面 fdisk -l 命令返回的差不多的信息。总共有4个设备:/dev/sda和/dev/sdb为物理设备,/dev/mapper/cl-swap和/dev/mapper/cl-root为逻辑卷创建的设备。可以看到/dev/sdb还没有分区,并且还看到上面有一个错误信息 错误: /dev/sdb: unrecognised disk label 。这是由于该磁盘设备没有设置上标签(label)所以会有错误,只需要设置了标签就可以了。
这里我们使用 parted /dev/sdb 命令开始分区:
[root@localnat201 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
输入help选项,查看帮助信息:
[root@localnat201 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(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
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
(parted)
[root@localnat201 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(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
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
(parted) mklabel gpt
(parted)
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
(parted)
由此可以看出分区已经是GPT分区格式;加下来需要创建分区,创建分区需要使用 mkpart 命令,在此我们可以输入 help mkpart 命令查看帮助信息:
(parted) help mkpart
mkpart PART-TYPE [FS-TYPE] START END make a partition
分区类型是:primary(主分区)、logical(逻辑分区)、extended(扩展分区)之一
文件系统类型是以下任意一项:btrfs, nilfs2, ext4, ext3, ext2, fat32, fat16, hfsx, hfs</span>+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0), ntfs, reiserfs, hp-ufs, sun-<span style="color: #000000">ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4,
amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4, affs3, affs2, affs1, affs0, linux</span>-swap, linux-swap(new), linux-<span style="color: #000000">swap(old)
START and END are disk locations, such as 4GB or </span><span style="color: #800080">10</span>%. Negative values count from the end of the disk. For example, -1s specifies exactly the <span style="color: #0000ff">last</span><span style="color: #000000"> sector.
</span><span style="color: #800000">'</span><span style="color: #800000">mkpart</span><span style="color: #800000">'</span> makes a partition without creating a new <span style="color: #0000ff">file</span> system on the partition. FS-TYPE may be specified to set an appropriate partition ID.</pre>
(parted) mkpart primary xfs 0 100%
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel?
创建的过程中,我们会看到有警告信息 The resulting partition is not properly aligned for best performance. ,说分区没有正确对齐,会影响最佳新能。这里说的是磁盘的位置没有给一个合适的值。其实在使用fdisk分区的时候,会有默认的起始和结束扇区,所以如果不是很确定这个值,那么可以先试用fdisk命令进入分区模式,看一下默认的起始扇区和结束扇区是多少。我这里的起始扇区是2048,但由于parted默认是M为位置单位,所以这里需要使用s说明是扇区为单位。结束扇还是100%,所以命令为 mkpart xfs 2048s 100% :
[root@localnat201 ~]# pvcreate /dev/sdb1 /dev/sdc
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@localnat201 ~]# clear
[root@localnat201 ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name cl
PV Size <29.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 7423
Free PE 1
Allocated PE 7422
PV UUID KdNi7s-YftA-YY9W-hK7a-PHw1-j7n2-ln4cLg
“/dev/sdc” is a new physical volume of “20.00 GiB” — NEW Physical volume — PV Name /dev/sdc VG Name PV Size 20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID AbmsNB-2NUK-IxJA-QYY7-N81f-avOz-wyMKiR
“/dev/sdb1” is a new physical volume of “<20.00 GiB” — NEW Physical volume — PV Name /dev/sdb1 VG Name PV Size <20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID sts9D4-P47z-Qrj2-WaWX-9wEU-o8jo-Y70xgb
[root@localnat201 ~]# vgdisplay
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <29.00 GiB
PE Size 4.00 MiB
Total PE 7423
Alloc PE / Size 7422 / 28.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID EZIlfD-2r61-x8RC-qLwl-Nsqp-D5zr-J8pPfI
— Volume group — VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <20.00 GiB PE Size 4.00 MiB Total PE 5119 Alloc PE / Size 0 / 0 Free PE / Size 5119 / <20.00 GiB VG UUID dVW1W5-AMKN-xMEy-TGBs-QRF7-Nvvs-ZnFpLd
[root@localnat201 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID UzXXeu-TO2S-xXWF-ZZtt-Kq2L-JaAE-GLdRvQ
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-12-01 18:58:38 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
— Logical volume — LV Path /dev/cl/root LV Name root VG Name cl LV UUID emExFt-9Y5c-dEq7-2mPp-kiO0-03j4-4IxbsT LV Write Access read/write LV Creation host, time localhost.localdomain, 2017-12-01 18:58:39 +0800 LV Status available
open 1
LV Size 26.99 GiB Current LE 6910 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
— Logical volume — LV Path /dev/myvg/mylv LV Name mylv VG Name myvg LV UUID KloMrL-XW8i-Eo2J-pdI3-f28r-s4gw-wIBSfB LV Write Access read/write LV Creation host, time localnat201, 2018-04-24 23:11:28 +0800 LV Status available
open 0
LV Size <20.00 GiB Current LE 5119 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
[root@localnat201 ~]# vgextend myvg /dev/sdc
Volume group "myvg" successfully extended
[root@localnat201 ~]# vgdisplay
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <29.00 GiB
PE Size 4.00 MiB
Total PE 7423
Alloc PE / Size 7422 / 28.99 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID EZIlfD-2r61-x8RC-qLwl-Nsqp-D5zr-J8pPfI
— Volume group — VG Name myvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 39.99 GiB PE Size 4.00 MiB Total PE 10238 Alloc PE / Size 5119 / <20.00 GiB Free PE / Size 5119 / <20.00 GiB VG UUID dVW1W5-AMKN-xMEy-TGBs-QRF7-Nvvs-ZnFpLd
[root@localnat201 ~]# resize2fs /dev/myvg/mylv 30G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv to 7864320 (4k) blocks.
The filesystem on /dev/myvg/mylv is now 7864320 blocks long.
[root@localnat201 ~]#
然后将逻辑卷缩小:
[root@localnat201 ~]# lvreduce -L 30G /dev/myvg/mylv
WARNING: Reducing active logical volume to 30.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg/mylv? [y/n]: y
Size of logical volume myvg/mylv changed from 39.99 GiB (10238 extents) to 30.00 GiB (7680 extents).
Logical volume myvg/mylv successfully resized.
[root@localnat201 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 26.99g
swap cl -wi-ao---- 2.00g
mylv myvg -wi-a----- 30.00g
[root@localnat201 ~]#