随着科技的发展磁盘越来越廉价,容量越来越大,此时我们就要学会另一个分区命令了;
以下部分来自于一个很厉害的老师吧;
使用fdisk 工具分区的时候,如果分大于2T的分区,会提示:
Value out of range.
所以不能使用fdisk这个分区工具了,要是用parted 来进行分区。
========================================================================================
我们使用fdisk -l 查看磁盘的时候会发现一段警告:
"WARNING: The size of this disk is 8.0 TB (7995995979776 bytes).
DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes). Use parted(1) and GUID
partition table format (GPT)."
因为/dev/sdb磁盘是8T,超过了2T. 超过2T只能将磁盘转化成GPT格式;
GPT格式的磁盘相当于把原来MBR磁盘中原来保留4个分区表的4*16个字节只保留第一个16个
字节,其它的类似于扩展分区,真正的分区表在512字节后,因此对GPT分区表来说是没有
4个主分区的限制。
MBR分区表(主引导):
支持的最大卷:2T(1T=1024GB)
对分区的限制:最多4个主分区或3个主分区和一个扩展分区
GPT分区表(GUID分区表):
支持最大卷:18EB(1EB=1024T)
对分区的限制:每个磁盘最多支持128个分区
好的,下面看看如何使用parted 来分区这个8T的磁盘?
我的打算是,sdb1 分一半也就是4T,sdb2分3T,sdb3分1T.
parted /dev/sdb1 GNU Parted 1.8.1 使用 /dev/sdb1 Welcome to GNU Parted! Type ‘help‘ to view a list of commands. (parted) help check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] prints general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [free|NUMBER|all] display the partition table, a partition, or all devices quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit 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 displays the current version of GNU Parted and copyright information (parted)
可以先使用 "help" 命令获取帮助。常用命令有:
mklabel GPT //建立磁盘标签
print //若没有任何分区,它查看磁盘可用空间,当分区后,会打印出分区情况
mkpart primary 0% n% //创建主分区,n为要分的分区占整个磁盘的百分比.(mkpart
extended创建扩展分区),例如我这里要分一个占一半(4T)
的分区,则写 0% 50%, 然后继续分3T “mkpart primary 51%
90%”, 再分一个1T的 "mkpart primary 91% 100%"
quit //分区完后,直接quit即可,不像fdisk分区时,还需要保存一下
所以,我的命令为:
(parted) mklabel GPT (parted) print (parted) mkpart primary 0% 50% (parted) mkpart primary 51% 90% (parted) mkpart primary 91% 100% (parted) quit
分区完了首先需要把让内核知道添加新分区了:
partprobe
然后就该格式化了:
mkfs.ext3 /dev/sdb1 mkfs.ext3 /dev/sdb2 mkfs.ext3 /dev/sdb3
check partition 对分区做一个简单的检测 cp [source-device] source dest 复制source-device设备上的source分区到当前设备的dest分区 mklabel label-type 创建新分区表类型,label-type可以是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc9 8", or "sun" 一般的pc机都是msdos格式,如果分区大于2T则需要选用gpt格式的分区表。 mkfs partition fs-type 在partition分区上创建一个fs-type文件系统,fs-type可以是:"fat16", "fat32", "ext2", "l inux-swap","reiserfs" 注意不支持ext3格式的文件系统,只能先分区然后用专有命令进行格式化。 mkpart part-type [fs-type] start end 创建一个part-type类型的分区,part-type可以是:"primary", "logical", or "extended" 如 果指定fs-type则在创建分区的同时进行格式化。start和end指的是分区的起始位置,单位默认是M eg:mkpart primary 0 -1 0表示分区的开始 -1表示分区的结尾 意思是划分整个硬盘空间为 主分区 mkpartfs part-type fs-type start end 创建一个fs-type类型的part-type分区,不推荐使用,最好是使用mkpart分区完成后使用mke2fs进行格式化。 name partition name 给分区设置一个名字,这种设置只能用在Mac, PC98, and GPT类型的分区表,设置时名字用引号括起来 select device 在机器上有多个硬盘时,选择操作那个硬盘 resize partition start end 调整分区大小 rm partition 删除一个分区 rescue start end 拯救一个位于stat和end之间的分区 unit unit 在前面分区时,默认分区时数值的单位是M,这个参数卡伊改变默认单位,"kB", "MB", "GB", "TB" move partition start end 移动partition分区 print 显示分区表信息 quit 退出parted
上面知识对照的翻译吧,其实英语水平不错的话,按照他给的帮助文档,没问题了
下面是另一种操作的参照,让没做过的有点底:
然后挂载,mount,在查看df就行;