CentOS 5.9 下parted的简单使用

昨天网站新上了大容量的NFS存储,折腾了好长时间才搞定,路上遇到了好几个坑,一一记录下来共参考。

一:使用parted对大容量磁盘进行分区

1 常用的2种分区表:MBR与GPT区别

 MBR:MBR分区表(即主引导记录)大家都很熟悉,是过去我们使用windows时常用的。
      所支持的最大卷:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区
 GPT:GPT(即GUID分区表)。是源自EFI标准的一种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与MBR分区方式相比,具有如下优点。
 突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大卷可达18EB。

2 parted分区实例

a 先看下我这里分好的效果图:
[root@nfs ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              48G  453M   45G   1% /
/dev/sda5              48G  1.9G   43G   5% /usr
/dev/sda3              48G  240M   45G   1% /var
/dev/sda2              48G  180M   45G   1% /tmp
/dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005p1
                       13T  148M   12T   1% /data
tmpfs                 7.9G     0  7.9G   0% /dev/shm

b 效果图看完,话不多说,开始干活
先是parted后面加上要进行分区的设备:
parted /dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005

然后就是下面的交互界面了:
(parted) mkpart                                                           
Partition name?  []?                                                      
File system type?  [ext2]? ext3                                           
Start? 0                                                                  
End? 14T                                                                  
(parted) print                                                            

Model: Linux device-mapper (dm)
Disk /dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005: 14.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  14.0TB  14.0TB  ext3                    

(parted)quit

额,直接quit退出了,这一步我也不理解,我没保存啊,但是实际上分区已经成功。我这里是8块2T的磁盘做的raid 5共有14T磁盘可用,只分了一个分区,占用所有空间,所以start 0 和end 14T,这个根据你的需要进行划分了。 

分区完毕,格式化:
mkfs.ext3 /dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005p1

正常流程,挂载使用(这里使用label名进行挂载):
e2label /dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005p1 /data
mount -L /data /data

你肯定不愿意每次开机后来个mount -L /data /data手动挂载吧,修改vim /etc/fstab加入下面内容:
LABEL=/data             /data                   ext3    defaults        1 2
3 我遇到的坑
a 系统装完后fdisk -l一直找不到那个14T的大盘(/dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005),着急,问售后说要先做raid再装系统,我们是先装系统再做的raid,顺序错了,于是我们又重新建立raid 5,安装系统,在装系统时先把14T的大盘先给分出了一个100M的分区,看进入系统会发生什么。结果让我们吃惊,进入系统fdisk -l还是找不到14T的大盘,只能看见一块一块的2T小盘,但是那个100M的小分区挂载正常,顺着那个发现了/dev/mapper/ddf1_0000000000000000ab118564ab1185641b0600001b060005,原来14T大盘的设备名是这个。一阵狂喜,删除100M小分区,顺利分区格式化挂载。

b 话说分区格式化挂载后,在/etc/fstab里没有把昨天先创建的100M小分区删除,结果服务器重启后死活起不来。哎,这是个坑,分区后,一定要仔细检查/etc/fstab,确信没有挂载错误的设备。如果像我一样服务器起不来了,就机房kvm进入系统单用户模式,注释掉错误的挂载,重启服务器。

c 格式化(ext3)14T磁盘时间大于5小时,幸亏没在机房傻等。

二:是时候结束了

自言自语:

这些看似简单的问题,装装系统,分分区,如果不仔细也浪费时间。例如我昨天2:00到机房,上架1台web和1台NFS,栽在这个NFS上,搞到了下午6:00才从机房走。运维需规划,没有规划,只有救火。

参考资料:

parted分区: http://blog.itpub.net/12129601/viewspace-735520