Linux课程笔记 硬盘介绍及硬盘分区

一.硬盘的基础知识

1. 硬盘的结构

1.1硬盘介绍

硬盘主要包括:盘片、磁头、主轴马达、控制电机、磁头控制器、数据转换器、接口、缓存等几个部分。

 

当今(2012年),互联网行业服务器领域(dell,hp)主流的有SATA硬盘(1万转/分,1-2T容量),SAS硬盘(1.5万转/分,300-600G),还有性能更高的SSD固态电子硬盘。线上应用的存储尽量用SAS硬盘,比如数据库、图片的线上应用,数据冷备份服务用SATA,比如站点程序及数据库、图片的备份等。

 

1.2 硬盘的内部结构图

 

 

1.3 硬盘的工作原理

利用特定的磁粒子的极性来记录数据。磁头在读取数据时,将粒子的不同极性转换成不同的脉冲信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据,写的操作正好相反。

 

硬盘的内部是无尘的,在普通环境下拆开,意味着硬盘将报废。

 

1.4 硬盘的接口

从整体的角度上,硬盘接口分为IDE、SATA、SCSI和光纤通道四种,IDE接口硬盘早期多用于家用产品中,部分应用于服务器,SCSI接口的硬盘早期则主要应用于服务器市场,而光纤通道只在高端服务器市场上,价格昂贵。SATA是种新生的硬盘接口类型,已经逐渐取代IDE及SCSI接口,在家用市场和服务器市场都是流行态势。

 

SAS是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度。

SAS技术与SAS硬盘时在人们希望发挥SATA与SCSI接口共同优势的基础上诞生的:

1)   SAS技术降低了磁盘阵列的成本

2)   串行接口让传输性能提高

3)   更好的拓展性能

4)   安装更简单

5)   更好的兼容性

 

固态硬盘与传统硬盘优劣势对比

项目

固态硬盘

传统硬盘

容量

较小

价格

随机存取

极快

一般

写入次数

SLC:10万次

MLC:1万次

无限制

盘内阵列

极难

工作噪音

工作温度

极低

较明显

防震

很好

较差

数据恢复

可以

重量

 

上表是对固态硬盘和传统硬盘特性的一个比较。从中看出固态硬盘的优势和缺点。

重要优势:随机存取,噪音,功耗,防震

重要缺点:容量、价格、读写寿命,数据恢复难

 

1.5 生产环境硬盘的选型和应用案例

硬盘:主流硬盘SAS、SATA、SSD(SAS、SATA是主流生产环境使用SSD固态硬盘,效率最高,非机械电子设备,价格高)

 

1)   SAS  15000转/M 当前主流300G和600G 用于提供线上服务器,如数据库业务及相关高并发业务

2)   SATA  7200-10000转/分 1T和2T 经济实惠,用来先下不提供服务的数据存储,千万不要用来做在线高并发服务的存储

3)   SSD   固态电子盘,容量小,价格贵,一般用于数据量小并且超大规模高并发的业务。

特别提示:大公司如taobao,有的会根据数据的热度来综合使用分层存储,以达到性价比最佳的情况。

 

1.6 淘宝网CDN缓存对象分级存储策略案例

提出问题:

在存储数据中,18KB以下的对象数量占总数的80%,而其存储量占总量不到40%;同时,80%经常被访问对象所占的存储空间按不到总量的20%

 

分析问题:

以上的问题意味着“热点数据”(即访问频次高的内容)需要更快的性能,而占的空间并不大,而“冷数据”(访问频次低的内容所需存储量很大,对性能要求不高

 

解决问题:

因此,服务器引入分层存储机制,单台服务器(实际多台)的硬盘可由一块80G的SSD硬盘和两块500G的SATA硬盘组成。然后把“热数据”存放在SSD盘上,“冷数据”存放在SATA盘上,冷热数据可以动态调度,从而兼顾性能、容量与成本。另:分层存储调度软件由淘宝开发。

 

二.硬盘的工作原理

2.1 总括

磁道:每个盘片上有两个面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。

 

扇区:盘片由圆心向四周画直线,不同的磁道被直线分为许多扇形(弧形)区域,每个弧形的区域叫做扇区,每个扇区大小一般为512字节。

 

柱面:磁盘中,不同盘片中相同半径的磁道从上到下所组成的圆柱型区域。

 

存储容量=磁头数 x 磁道数(柱面数) x  每磁道的扇区数 x 每扇区的大小

 

2.2 记忆要点

(1) 硬盘有1个或数个盘片,每个盘片两个面,每个面对应一个磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(磁头数)

(2) 不同盘面的磁道被划分为多个扇形区域及扇区(Sector)

(3) 同一盘面,以盘片中心为圆心,不同半径的同心圆即磁道(Track)

(4) 不同盘面相同半径的磁道构成的圆柱面即柱面(Cylinder)

(5) 信息记录可表示为:某磁头、某磁道、某扇区

 

2.3 硬盘的读写原理

数据的读/写一般是按柱面进行的,即磁头读/写数据时首先在同一柱面内从“0”磁头开始进行操作,依次向下在同一柱面的不同盘片即不同磁头上进行操作,只在同一柱面所有的磁头读写完毕后,磁头才转移到下一柱面(即寻道),因为切换磁头只需通过电子设备切换即可,而切换柱面则必须通过机械设备切换。电子磁头间的切换比机械磁头向邻近磁道或柱面切换要快的多。所以,数据的读写按柱面进行,而不按盘面进行。也就是说,一个磁道写满数据后,就在同一柱面的下一个盘面的相同半径磁道来写,一个煮面写满后,才移到下一个柱面开始写数据。读数据也按照这种方式进行,这样就大大提高了硬盘的读写效率。

 

当操作系统将文件存储到硬盘上时,按柱面、磁头、扇区的方式进行,即最先走第1磁道的第一磁头下(也就是第1盘面的第1磁道)的所有扇区,然后,依次是同一柱面的下一磁头(也可以说下一盘面),一个柱面存储满后就通过步进电机把磁头移动到下一个柱面(即寻道),继续写入数据,知道把文件内容全部写入磁盘。

 

三.硬盘分区相关介绍

3.1硬盘分区简图

 

从图中可以看到一个硬盘的存储结构包括主引导记录、分区表、分区结束标志,及其他分区的引导信息及数据区信息。

 

主引导扇区这个在整个硬盘是唯一的,也就是一个硬盘只能有一个。

 

3.2 主引导记录

硬盘的0磁头0磁道1扇区,是硬盘上的一个非常重要的位置。在这个扇区中,存放有硬盘的主引导记录MBR(Master  Boot  Record)和硬盘的分区表DPT(Disk Partition Table)。在这总共512字节的扇区中,其中前446字节存放着硬盘的主引导程序,随后的64字节存放着硬盘分区表,最后2个字节(55  AA)是分区结束标志,446+64+2=512bytes。

 

硬盘主引导记录MBR作用是检查分区表是否正确以及确定哪个分区为引导分区,并在MBR引导结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存执行。

 

3.3磁盘分区知识

硬盘分区有主分区、扩展分区和逻辑分区。一块硬盘最多有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区。

 

3.3.1主分区primary

一般来说主分区是硬盘上必须存在的分区,一般为第一个分区。每个分区都会在主引导扇区中生成分区表DPT。每个分区表大小16bytes,由于分区表只有64bytes,所以只能有四个主分区。

 

3.3.2扩展分区Extended

严格来所,扩展分区不能算是一个正常的分区,起到一个指向的作用。扩展分区,没有MBR,而只有扩展分区表,而且这个扩展分区表是没有64bytes限制的,所以可以在扩展分区划分多个逻辑分区。

 

3.3.3逻辑分区logical

不能在硬盘中单独划分逻辑分区,逻辑分区必须存在与扩展分区内。在扩展分区内可以划分多个逻辑分区。

 

3.4分区要点

一块硬盘的分区方式只能为如下组合之一:

(1)       任意多个主分区,但要求(1=<主分区=<4)

(2)       扩展分区和主分区组合,但要求1=<(主分区+扩展分区)=<4

(3)       如果要分成四块磁盘分区的话,那么最多就是可以:

P+P+P+P

P+P+P+E

其中P为Primary,E为Extend

特别说明,如果对硬盘分配了4P或3P+E后,即使硬盘还有剩余未分的空间,那么,这部分空间也无法继续使用。

 

说明:

  1. 扩展分区不是一个真正的分区,建立完扩展分区需要在上面建立逻辑分区才能使用
  2. 对于主分区和逻辑分区在使用上是没有区别的
  3. 分区数字编号1~4留给主分区或扩展分区使用,逻辑分区编号从5开始
  4. 对硬盘分区,实际就是在修改分区表。

 

 

3.5 如何选择文件系统

reiserfs  小文件

XFS  数据库 (支持在线扩容)

ext4 数据库

用类似的命令在Linux中制作reiserfs文件系统

#/sbin/mkreiserfs  /dev/sda2

 

 对XFS,使用

#mkdfs -t xfs -f /dev/sda2

 

注意ext3fs其实简单的就是激活了击掌的ext2fs。当创建该文件系统时,对mke2fs使用-j选项:

#/sbin/mke2fs  -j /dev/sda2

 

3.6 生产环境分区方法

 

3.7 生产环境负载均衡集群系统架构设备选购案例

选购的依据:价格成本、性能、冗余维护成本

提示:所有服务器要独立远程管理卡

 

3.7.1 负载均衡器硬件选择及raid级别

LVS1主:DELL R610 1U,CPU E5606*2,4G*2内存 硬盘:SAS 146G* 2 RAID1

LVS2主:DELL R610 1U,CPU E5606*2,4G*2内存 硬盘:SAS 146G* 2 RAID1

提示:负载均衡器很重要,需要稳定,对CPU、内存要求不高、硬盘大小不高,如果是haproxy/nginx,根据服务在架构中的层次和输两局定如何选硬件。

 

3.7.2 WEB层硬件选择及raid级别

WWW主站1业务(两台):DELL R710,CPUE5606*2,4G*4内存  硬盘:SAS 300G*2 RAID0

WWW主站2业务(两台):DELL R710,CPUE5606*2,4G*4内存  硬盘:SAS 300G*2 RAID0

提示:为了节省成本,也可以选1UR610.如果机器海量,考虑到老跑机房换硬盘装系统的成本,也可以考虑SAS146*3RAID5.

 

3.7.3 数据库硬件选择及raid级别(适合mysql和0oracle)

MYSQL主库1-1:DELL R710,CPUE5606*2  4G*8内存  硬盘:SAS 600G*6(或146G*6) RAID10

MYSQL主库1-2:DELL R710,CPUE5606*2  4G*8内存  硬盘:SAS 600G*6(或146G*6) RAID10

MYSQL从库1-1:DELL R710,CPUE5606*2  4G*4内存  硬盘:SAS 15k 600G*4 RAID0或RAID5

MYSQL从库1-2:DELL R710,CPUE5606*2  4G*4内存  硬盘:SAS 15k 600G*4 RAID0或RAID5

MYSQL从库2-1:DELL R710,CPUE5606*2  4G*4内存  硬盘:SAS 15k 600G*4 RAID0或RAID5

MYSQL从库2-2:DELL R710,CPUE5606*2  4G*4内存  硬盘:SAS 15k 600G*4 RAID0或RAID5

提示:这里需要注意从库RAID后,硬盘带下要一致。性能和维护这种考虑,从库也可以考虑做raid5等。从库也可以根据硬件使用情况,跑多实例数据库,提升利用率。

 

3.7.4 存储层硬件选择及raid级别

3.7.4.1数据备份硬件及raid级别

DELL R610,CPU E5606*2 16G内存,硬盘:SATA7.2-10K 2T*4 可以不做raid交叉备份

DELL R710,CPU E5606*2 16G内存,硬盘:SATA7.2-10K 2T*6 RAID5,做个raid5是折中方案

 

3.7.4.2共享存储NFS硬件选择及raid级别

NFS1:DELL R710,CPUE5606*2,16G内存,硬盘:SAS 15k 600G*6 RAID10/RAID5/RAID0

NFS2:DELL R710,CPUE5606*2,16G内存,硬盘:SAS 15k 600G*6 RAID10/RAID5

 

3.7.5监控管理层网关层硬件选择及raid级别

监控及报警服务器监兼出口网关等:

DELL R610,E5606*1 8G内存,146G*2 RAID1或146G*3RAID即可

提示:也可以不单独采购,和备份或共享服务器使用同一台机器

 

3.7.6近期DELL服务器产品

 

 

 

四 fdisk分区命令实战讲解

 

在虚拟机里添加一块1G的虚拟磁盘,请使用fdisk进行分区

分成2P+E的方式

P1大小200M

P2大小200M

E大小600M,对于与E分区,再分两个逻辑驱动器,分别为300M

提示:对分区格式化方法mkfs.ext3  /dev/sdb1(分区名)

解答:

首先,在虚拟机添加磁盘方式如下:

(1)       关闭电源,然后编辑虚拟机设置

 

 

 

(2)       选择硬盘,然后点击添加

 

(3)       下一步

 

(4)       创建一块新的磁盘

 

(5)       选择默认的SCSI磁盘

 

(6)       只是做测试,添加1G

 

(7)       磁盘的存储文件名,然后点击完成

 

 

然后,开启电源,扫描硬件设备

[root@test4 ~]# /etc/init.d/kudzu start

正在检查新硬件                                             [确定]

 

[root@test4 ~]# fdisk -l /dev/sdb   #查看新添加的硬盘情况

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

[root@test4 ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel. Changes will remain in memory only,

until you decide to write them. After that, of course, the previous

content won't be recoverable.

 

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

#红色字体为常用命令

Command (m for help): l    #列出磁盘的分区类型

 

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris       

 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-

 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-

 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-

 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx        

 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data   

 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .

 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility  

 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt         

 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access    

 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O       

 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor     

 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs       

 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT       

 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/

10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b

11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor     

12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor     

14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary 

16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS   

17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE

18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto

1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep       

1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT           

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-130, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-130, default 130): +200M

 

Command (m for help): p

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          25      200781   83  Linux

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

2

Invalid partition number for type `2'

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (26-130, default 26):   

Using default value 26  #从上一分区结束柱面的下一柱面开始,默认的是为了防止产生磁盘碎片。

Last cylinder or +size or +sizeM or +sizeK (26-130, default 130): +200M

 

Command (m for help): p

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          25      200781   83  Linux

/dev/sdb2              26          50      200812+  83  Linux

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e

Partition number (1-4): 4

First cylinder (51-130, default 51):

Using default value 51

Last cylinder or +size or +sizeM or +sizeK (51-130, default 130):

Using default value 130

 

Command (m for help): p

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          25      200781   83  Linux

/dev/sdb2              26          50      200812+  83  Linux

/dev/sdb4              51         130      642600    5  Extended

 

Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First cylinder (51-130, default 51):

Using default value 51

Last cylinder or +size or +sizeM or +sizeK (51-130, default 130): +300M

 

Command (m for help): p

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          25      200781   83  Linux

/dev/sdb2              26          50      200812+  83  Linux

/dev/sdb4              51         130      642600    5  Extended

/dev/sdb5              51          87      297171   83  Linux

 

Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First cylinder (88-130, default 88):

Using default value 88

Last cylinder or +size or +sizeM or +sizeK (88-130, default 130):

Using default value 130

 

Command (m for help): p

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          25      200781   83  Linux

/dev/sdb2              26          50      200812+  83  Linux

/dev/sdb4              51         130      642600    5  Extended

/dev/sdb5              51          87      297171   83  Linux

/dev/sdb6              88         130      345366   83  Linux

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

[root@test4 ~]# partprobe   #通知系统,修改分区

Warning: Unable to open /dev/hdc read-write (Read-only file system).  /dev/hdc has been opened read-only.

 

[root@test4 ~]# mkfs.ext3 -b 1024 /dev/sdb1   #格式化分区,这里必须指出具体的分区,而不是设备名。类型为ext3,block大小为1024。也可使用mkfs.ext2命令,然后加上-j参数,同样可以创建ext3类型的文件系统。

 

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

50200 inodes, 200780 blocks

10039 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=67371008

25 block groups

8192 blocks per group, 8192 fragments per group

2008 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961, 57345, 73729

 

Writing inode tables: done                           

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 25 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

[root@test4 ~]# dumpe2fs /dev/sdb1 |grep -i "block size"  #查看分区的block大小

dumpe2fs 1.39 (29-May-2006)

Block size:               1024

 

[root@test4 ~]# tune2fs -c -1 /dev/sdb1   #超过设定的挂载次数和时间,就会强制开机检查,-c  -1设置为禁止设定挂载次数

tune2fs 1.39 (29-May-2006)

Setting maximal mount count to -1

[root@test4 ~]# tune2fs -i 0 /dev/sdb1   #-i  0不设定检查时间

tune2fs 1.39 (29-May-2006)

Setting interval between checks to 0 seconds

[root@test4 ~]# ll -d /qinbf

drwxr-xrwx 5 root root 4096 06-26 00:25 /qinbf

[root@test4 ~]# mount /dev/sdb1 /qinbf  #将分区挂载到/qinbf目录下

[root@test4 ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/sda2             9.7G  2.5G  6.8G  27% /

/dev/sda3             4.9G  139M  4.5G   3% /data

/dev/sda1              99M   18M   76M  20% /boot

tmpfs                 249M     0  249M   0% /dev/shm

/dev/sdb1             190M  5.6M  175M   4% /qinbf

 

[root@test4 ~]# vim /etc/fstab  

#设置将分区开机挂载,对于网络类型文件,应该使用rc.local文件实现开机挂载

  1 LABEL=/         /             ext3     defaults        1 1

  2 LABEL=/data     /data          ext3     defaults        1 2

  3 LABEL=/boot     /boot          ext3     defaults       1 2

  4 tmpfs           /dev/shm       tmpfs   defaults        0 0

  5 devpts          /dev/pts        devpts  gid=5,mode=620  0 0

  6 sysfs            /sys           sysfs    defaults        0 0

  7 proc            /proc           proc    defaults        0 0

  8 LABEL=SWAP-sda5    swap        swap    defaults        0 0

  9 /dev/sdb1       /qinbf           ext3    defaults        0 0

 

[root@test4 ~]# umount /dev/sdb1

[root@test4 ~]# mount -a   #挂载/etc/fstab文件所有列出的分区和目录

[root@test4 ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/sda2             9.7G  2.5G  6.8G  27% /

/dev/sda3             4.9G  139M  4.5G   3% /data

/dev/sda1              99M   18M   76M  20% /boot

tmpfs                 249M     0  249M   0% /dev/shm

/dev/sdb1             190M  5.6M  175M   4% /qinbf

 

 

五 parted分区命令实战详解

5.1 parted简述

parted是一个磁盘分区管理工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表(GUID  Partition Table),这在IA64平台上管理磁盘时非常有用,它同时支持交互模式和非交互模式,它除了能够进行分区的添加,删除等常见操作外,还可以移动分区,制作文件系统,调整系统文件大小,复制文件系统。

 

5.2 模拟大于2T磁盘分区场景

[root@test3 ~]# /etc/init.d/kudzu start

正在检查新硬件 

 

[root@test3 ~]# parted /dev/sdb mklabel gpt   #把磁盘改为gpt格式

信息: 如果必要,不要忘记更新 /etc/fstab。

 

[root@test3 ~]# parted /dev/sdb mkpart primary 0 200

 

[root@test3 ~]# parted /dev/sdb p   #打印分区列表

 

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End    Size   File system  Name     标志

 1      17.4kB  200MB  200MB               primary     

 

信息: 如果必要,不要忘记更新 /etc/fstab。

 

[root@test3 ~]# parted /dev/sdb mkpart primary 201 400

信息: 如果必要,不要忘记更新 /etc/fstab。                                

 

[root@test3 ~]# parted /dev/sdb p

 

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End    Size   File system  Name     标志

 1      17.4kB  200MB  200MB               primary     

 2      201MB   400MB  199MB               primary     

 

[root@test3 ~]# parted /dev/sdb mkpart primary 401 1000

信息: 如果必要,不要忘记更新 /etc/fstab。                                 

 

[root@test3 ~]# parted /dev/sdb p

 

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

 

Number  Start   End     Size   File system  Name     标志

 1      17.4kB  200MB   200MB               primary     

 2      201MB   400MB   199MB               primary     

 3      401MB   1000MB  599MB               primary     

 

信息: 如果必要,不要忘记更新 /etc/fstab。     

 

[root@test3 ~]# mkfs.ext3 -b 4096 /dev/sdb1    #格式化分区

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

48832 inodes, 48824 blocks

2441 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=50331648

2 block groups

32768 blocks per group, 32768 fragments per group

24416 inodes per group

Superblock backups stored on blocks:

        32768

 

Writing inode tables: done                           

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 28 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

 

[root@test3 ~]# tune2fs -c -1 /dev/sdb1

tune2fs 1.39 (29-May-2006)

Setting maximal mount count to -1

 

[root@test3 ~]# mount /dev/sdb1 /mnt

[root@test3 ~]# df -h

文件系统              容量  已用 可用 已用% 挂载点

/dev/sda2             9.7G  2.1G  7.2G  23% /

/dev/sda3             4.9G  139M  4.5G   3% /data

/dev/sda1              99M   18M   76M  19% /boot

tmpfs                 249M     0  249M   0% /dev/shm

/dev/sdb1             185M   17M  160M  10% /mnt

 

命令总结:

  1. parted  /dev/sdb  mklabel  gpt
  2. parted  /dev/sdb  mkpart  primary 0   200
  3. parted  /dev/sdb  mkpart  primary 201  400
  4. parted  /dev/sdb  mkpart  primary 401  1000
  5. parted  /dev/sdb  p 

 

 

5.3 parted分区生产场景如何使用

1) 一般只有当硬盘(或raid后)大于2T后才考虑用parted翻去,否则,我们习惯用fdisk来分区。

2) 使用parted的时候,一般都是系统安装好了。

3) 大于2T的磁盘在安装系统阶段可以使用RAID中的虚拟磁盘技术分区,如分出200M,安装系统,剩余的分区在安装系统后使用parted来进行分区。

 

posted @ 2017-04-24 12:44  fengze  阅读(628)  评论(0编辑  收藏  举报