昨天在一台DELL PCServer服务器上安装CentOS 5.5的时候,对磁盘进行划分

磁盘为六块2TB的,其中两块RAID1,其余四块RAID5
在RAID1镜像中安装操作系统,RAID5组中安装数据库系统,要求将RAID5组分为一个单独的/u01分区,容量为5.8TB
注:
1、下文以“A组”表示RAID1组,“B组”表示RAID5组
2、A组大小1.8TB,B组大小5.8TB
由于以前没有处理过这么大的磁盘,所以不知道磁盘本身的限制,在安装系统的时候就按照领导的指示按照文档来了,昨天,今天查阅相关资料之后写出此文,仅以记录和分享。
 
知识链接:
在使用fdisk命令对磁盘进行分区的时候,是针对磁盘的MBR(Master Boot Record,主引导全区,包含了引导区信息和分区表信息)进行分区的。
fdisk进行硬盘分区从实质上说就是对硬盘的一种格式化。当我们创建分区的时候,就已经设置好了硬盘的各项物理参数。而对文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化。
 
由于在fdisk命令是使用MBR进行建立分区信息的,所以也不能够突破MBR关于硬盘2TB大小的限制。MBR是第一个引导扇区,一个扇区的大小是512字节,其中有468字节存储这磁盘的引导信息,而其他的64字节存储着磁盘的分区信息,每个分区占用16字节的分区表存储(所以在一块磁盘中你仅可以也最多可以划分四个主分区,当然可以通过扩展分区来扩展系统的分区数)
以下是分区表中的一个分区的信息(均为十六进制的数值):
80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 8B 00
一个段占用一个字节,总共是16个字段,共计是16个字节
按照位置来将上面的字段划分为1-16,其中
1 -- 分区的活动标志,80表示活动分区,00表示非活动分区,其他的数值均无意义;共计1B
2、3、4 -- 分别表示:分区开始的磁头号、分区开始的扇区号、分区开始的柱面号。其中分区开始的磁头号占用了第二字段的0-7位、分区开始的扇区号占用了第三字段的0-5位、分区开始的柱面号占用了第三字段的6-7位和第四字段的0-7位;共计3B
5 -- 分区的系统类型,例如:0B表示FAT32,04表示FAT16,07表示NTFS;共计1B
6、7、8 -- 分别表示:分区结束的磁头号、分区结束的扇区号、分区结束的柱面号。其中分区结束的磁头号占用了第六字段的0-7位、分区结束的扇区号占用了第七字段的0-5位、分区结束的柱面号占用了第七字段的6-7位和第四字段的0-7位;共计4B
9、10、11、12 -- 首扇区的相对扇区号,即从该磁盘的开始到该分区的开始的位移量,单位以分区来计算;共计4B
13、14、15、16 -- 分区中所用的扇区总数,示例中的值是12287662;共计4B
有上面的这些数据可以得出在一个分区存储的信息中,允许的一个分区的最大容量是:2^32 * 512 = 2,199,023,255,552 Bytes,即2TB
 
由上面的信息我们可以了解到,在MBR记录分区信息的分区表中,允许的最大分区大小为2TB,如果磁盘有且仅有一个分区的话,那么也就是说,在使用MBR存储分区表信息的磁盘中,允许磁盘的最大容量为2TB
但是在上面的实际案例中,我们如何能够将一个容量为5.8TB的磁盘组划分为单独的一个分区呢?
 
我们可以使用parted分区工具来划分GPT分区
接下来我们了解一下GPT分区:
GPT格式的磁盘相当于原来MBR磁盘中保留的4个Partition table的4*6个字节,只保留第一个16字节,类似于扩展分区,真正的Partition table在512字节之后(即第一扇区),GPT磁盘没有类似于MBR类型的四个主分区的限制
但是fdisk工具不支持GPT分区,我们可以使用parted来对GPT磁盘进行操作。
parted是一个磁盘分区管理工具,它比fdisk更加灵活,功能也更加丰富,同时还支持GUID分区表(GUID Partition Table)
parted同时支持交互模式和非交互模式,它除了能够进行分区的添加、删除等常见的操作外,还可以移动分区,制作文件系统,调整文件系统的大小,复制文件系统等等
格外注意:不同于fdisk命令的分区中使用w命令可以保存并写入分区表信息,parted命令是执行的时候立即生效的,所以操作的时候要格外谨慎
1、删除一个分区
命令格式:parted device rm partition
[root@model ~]# parted /dev/sda print
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 10.0GB 10.0GB primary ext3
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
Information: Don't forget to update /etc/fstab, if necessary.
[root@model ~]# parted /dev/sda rm 1
Information: Don't forget to update /etc/fstab, if necessary.
[root@model ~]# parted /dev/sda print
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
Information: Don't forget to update /etc/fstab, if necessary.
2、添加一个分区
命令格式:parted device mkpart part-type [fs-type] start end
添加一个3GB的分区:
[root@model ~]# parted /dev/sda mkpart primary 32.3kB 3GB
[root@model ~]# parted /dev/sda print -s
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 3002MB 3002MB primary ext3
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
3、制作文件系统
命令格式:parted device mkfs
对刚才添加的分区制作文件系统:
[root@model ~]# parted /dev/sda mkfs
Warning: The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?
Yes/No? y
Partition number? 1
File system? [ext2]?
Information: Don't forget to update /etc/fstab, if necessary.
[root@model ~]# parted /dev/sda print -s
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 3002MB 3002MB primary ext2
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
4、调整文件系统大小
命令格式:parted device resize partition start end
将分区/dev/sda1的大小增加到5GB:
[root@model ~]# parted /dev/sda resize 1 32.3kB 5GB
Warning: You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more
information.
Information: Don't forget to update /etc/fstab, if necessary.
[root@model ~]# parted /dev/sda print -s
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 5001MB 5001MB primary ext2
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
5、移动分区
命令格式:parted device move partition start end
移动分区/dev/sda1:
[root@model ~]# parted /dev/sda move 1 5001MB
End? [10.0GB]?
Warning: You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more
information.
Information: Don't forget to update /etc/fstab, if necessary.
[root@model ~]# parted /dev/sda print -s
Model: MAXTOR ATLAS10K5_73SCA (scsi)
Disk /dev/sda: 73.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 5001MB 10.0GB 5001MB primary ext2
4 12.1GB 73.6GB 61.5GB extended
5 12.1GB 20.4GB 8390MB logical ext3
6 20.4GB 32.1GB 11.6GB logical ext3
7 32.1GB 73.6GB 41.5GB logical ext3
6、另外一些命令说明:
parted>select sdb # 选择sdb操作
parted>mklabel gpt # 将MBR磁盘格式化为GPT磁盘
parted>mklabel msdos # 将GPT磁盘格式化为MBR磁盘
parted>mkpart primary 0 100 # 划分一个起始位置是0,大小为100M的主分区
parted>mkpart primary 0 -1 # 将整个磁盘分成一个分区
parted>print # 打印当前的分区
 
  
OK了,绕了这么远了,下面对最初的那个案例做一下处理(由于介个文档是后来写的,所以不能按照实际的情况来写了,只能按照测试的环境来写了):
[root@model ~]# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart
Partition name? []? /u01
File system type? [ext2]? ext3
Start? 0
End? -1
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 21.5GB 21.5GB /u01
(parted) quit
[root@model ~]# mkdir /u01
这个格式化的过程比较慢,当然在这个测试环境中格式化的比较快。在实际的格式化中,格式化一个5.8TB的分区花了差不多二十分钟
[root@model ~]# mkfs -t ext3 /dev/sdb1
[root@model ~]# mount -t ext3 /dev/sdb1 /u01
然后就完成了,如果需要开启自启动的话,我们需要编辑/etc/fstab文件添加相应的项目
最后只需在fstab中添加如下一行,就能完成分区的自动挂载
[root@server ~]# vi /etc/fstab
/dev/sdb1 /data1 ext3 defaults 0 0