1. Msdos和Gpt的区别
fdisk :只能分msdos分区
parted :可以分msdos和gpt分区
2. MSDOS特点
最大支持2TB卷大小。
每个磁盘最多只能有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑分区)。
Linux系统下可以使用fdisk\cfdisk对该分区类型进行操作。
3. GPT特点
GPT支持磁盘大小达到了18EB(1EB=1024PB=1,048,576TB),但需要注意的是,单一分区的磁盘大小还受文件系统类型的限制,比如NTFS文件系统最大只支持256TB的大小。
GPT对分区数量没有限制。
Linux系统下可以使用parted工具对该分区类型进行操作。
4. parted对大容量磁盘分区(因为是在虚拟机,没有大于2TB的磁盘,因此模拟个500G的磁盘):
# yum -y install parted # 安装parted工具
(1)确定磁盘使用的是哪种分区类型(msdos或gpt)
# parted /dev/sdb #指定磁盘
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p # 或者输入print。查看帮助输入?回车
Model: ATA ST3500312CS (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos # 这里就可以看到类型
(2)这两种分区格式怎么转换?
(parted) mklabel gpt # 在parted里输入这样的命令去转换,就是把msdos转换为gpt
Warning: Partition(s) on /dev/sdb are being used.
Ignore/Cancel? # 有数据的磁盘不要输入Ignore(表示忽略警告,直接干掉系统磁盘里的所有内容),新的磁盘选择ignore,需要重新启动系统,分区格式就转换了
假设我这里是新磁盘,输入ignore
(parted) quit
重新启动系统,使转换生效
# reboot
(3)分区
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p # 查看磁盘的类型为gpt分区格式
(parted) mkpart # mkpart 对磁盘进行分区
file system name? [name] dbdata # 输入磁盘的名称,自定义
File system type? [ext2] ext4 # 这是标识此分区的格式化类型,以你最终格式化的格式为主
Start 1GB
End 500GB
(parted) quit # 分区完,退出parted工具
(4)格式分区,挂载分区
# ls /dev/sdb1 # 刚分完的区,我这里用ls查不到设备文件,那么就无法对其格式化
ls: cannot access /dev/sdb1: No such file or directory
# partx -a /dev/sdb # 使用此命令(注意后面接的是硬盘名,不是分区名)
# ls /dev/sdb1 # 能看到此设备名就表示OK了(特殊情况如果还不能看到设备名,则需要reboot你的操作系统)
/dev/sdb1 # 能看到设备后,就可以格式化挂载使用了
# mkfs.ext4 /dev/sdb # 格式磁盘
# vim /etc/fstable # 编辑磁盘挂载文件,添加挂载路径
# mount -a # 刷新挂载磁盘
# lsblk 或者 df -h # 查看挂载信息
查看单个磁盘状态
# parted /dev/sdb
查看所有磁盘状态
# parted -l
例2:通过parted工具来实现单磁盘多分区
# parted /dev/sdd
GNU Parted 1.8.1
Using /dev/sdd
Welcome to GNUParted! Type 'help' to view a list of commands.
(parted) p ---列出分区信息
Error:Unable to open /dev/sdd - unrecognised disk label. ----由于没有打上磁盘标签,所以表现信息无法列出
(parted)mklabel ----创建磁盘标签
New disk labeltype? gpt ----输入磁盘表情名
(parted) p ----再次列出磁盘分区
Model: VMware,VMware Virtual S (scsi) ----显示磁盘类型为SCSI磁盘
Disk /dev/sdd:1100GB ----磁盘大小为1100GB
Sector size(logical/physical): 512B/512B ----扇区大小为512B
Partition Table:gpt ----显示标签名为我刚才输入的标签名称
Number Start End Size File system Name Flags ----现在是一新硬盘还没有创建分区
(parted)mkpart ----创建分区
Partitionname? [] part1 ----指定分区名称
File systemtype? [ext2] ext4 ----定义分区类型
Start? 1G ----指定起始位置
End? 10G ----指定终止位置
(parted)mkpart ----创建分区
Partitionname? [] part2 ----指定分区名称
File systemtype? [ext2] ext4 ----定义分区类型
Start? 11G ----指定起始位置
End? 100G ----指定终止位置
(parted)mkpart
Partitionname? [] part3
File systemtype? [ext2] ext4
Start? 101G ----指定分区其实位置
End? -1 ----指定到分区最后
(parted) p ----显示分区信息
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size (logical/physical):512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags ----查看到下面共有三个分区
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
3 100GB 1100GB 1000GB part3
(parted) rm 3 ----删除分区3
(parted) p ----再次查看分区状态
Model: VMware,VMware Virtual S (scsi)
Disk /dev/sdd:1100GB
Sector size(logical/physical): 512B/512B
Partition Table:gpt
Number Start End Size File system Name Flags ----显示分区删除成功,只剩下两个分区
1 17.4kB 10.0GB 10000MB part1
2 10.0GB 100GB 90.0GB part2
(parted) quit
Information: Don'tforget to update /etc/fstab, if necessary. -----提示不要忘记更新/etc/fstab文件