linux 大容量磁盘分区工具parted

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文件

上一篇:nginx 使用过程中一些基础性问题总结


下一篇:HTML5页面开发的基础性模板