一、MBR主引导记录
        MBR有512个字节,分为三个部分:第一部分446个字节,存储了引导分区;第二部分64字 节为分区表;第三部分2个字节结束符;每个分区需16个字节,所以MBR的模式下只能划分4个主分区或3个主分区和扩展分区;主分区可以直接使用,扩展分 区不能直接使用,在扩展分区上划分逻辑分区再使用;

[root@wk ~]# cat /proc/partitions 

major minor  #blocks  name

 

   8       16   20971520 sdb

   8        0   26214400 sda

   8        1    1024000 sda1

   8        2   18432000 sda2

   8        3    1024000 sda3

  11        0    3655680 sr0

二、GPT
GPT可以记录128个主分区;
三、使用命令管理磁盘分区
1、fdisk命令
使用fdisk划分磁盘,默认会划分为MBR格式的磁盘
fdisk -l 查看当前的磁盘和分区情况:

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

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x39c77fae.

 

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    删除分区 
  g  create a new empty GPT partition table 
  G  create an IRIX (SGI) partition table 
  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    退出并保存,然后使用partprobe或partx /dev/sdX刷新 
  x  extra functionality (experts only)
添加分区:

Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p

Partition number (1-4, default 1): 

First sector (2048-41943039, default 2048): 

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G

Partition 1 of type Linux and of size 2 GiB is set

 Command (m for help):p
 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

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

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x39c77fae

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     4196351     2097152   83  Linux

 

Command (m for help): 

 只能划分四个主分区,如果要划分多余四个分区,则需要在第四个分区创建扩展分区,在扩展分区上创建逻辑分区:

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     4196351     2097152   83  Linux

/dev/sdb2         4196352     8390655     2097152   83  Linux

/dev/sdb3         8390656    12584959     2097152   83  Linux

/dev/sdb4        12584960    41943039    14679040    5  Extended

/dev/sdb5        12587008    16781311     2097152   83  Linux


[root@wk ~]# fdisk -l /dev/sda

有*标识代表的是启动分区:

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     2050047     1024000   83  Linux

/dev/sda2         2050048    38914047    18432000   83  Linux

/dev/sda3        38914048    40962047     1024000   82  Linux swap / Solaris

分区类型,使用t命令可以修改分区的类型:
Command (m for help): l

0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        

 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-

 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-

 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-

 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         

 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    

....省略
 

2、gdisk命令
使用gdisk划分磁盘,默认划分为GPT格式的磁盘

[root@wk ~]# gdisk /dev/sdb

GPT fdisk (gdisk) version 0.8.6

 

Partition table scan:

  MBR: not present

  BSD: not present

  APM: not present

  GPT: not present

 

Creating new GPT entries.

 

Command (? for help): 
使用方法与fdisk基本相同,这里不在复述。 

 
3、parted命令:可以自行选择划分格式 
parted命令可以将MBR结构修改为GPT结构,但是要慎重,因为分区表会丢失:

[root@wk ~]# parted /dev/sdb

GNU Parted 3.1

Using /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help------------查看下帮助吧,不常用记不住。                                                                 

 使用mklabel转换分区类型:
aix    amiga  bsd    dvh    gpt    loop  mac    msdos  pc98  sun 
 (parted) mklabel 

New disk label type? gpt                                                  

(parted)                                                                  

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

[root@wk ~]# partprobe    或     [root@wk ~]# partx -a
4、使用mkfs给分区设置文件系统:

[root@wk ~]# mkfs -t xfs /dev/sdb1

meta-data=/dev/sdb1              isize=256    agcount=4, agsize=131072 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=524288, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

指定block size大小:

[root@wk ~]# mkfs.xfs -b size=1024 /dev/sdb2

挂载分区到文件系统:

[root@wk ~]# mkdir /aa

[root@wk ~]# mount /dev/sdb1 /aa

[root@wk ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda2        18G   14G  3.8G  79% /

devtmpfs        482M     0  482M   0% /dev

tmpfs           490M     0  490M   0% /dev/shm

tmpfs           490M  6.9M  484M   2% /run

tmpfs           490M     0  490M   0% /sys/fs/cgroup

/dev/sda1       997M  123M  875M  13% /boot

/dev/sdb1       2.0G   33M  2.0G   2% /aa

可以使用xfs_info查看文件系统信息:

[root@wk ~]# xfs_info /aa

meta-data=/dev/sdb1              isize=256    agcount=4, agsize=131072 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=524288, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal               bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0
使用xfs_admin查看分区的blkid:

[root@wk ~]# xfs_admin -u /dev/sdb1

UUID = 12d99538-2241-42b0-b873-6406266cc8e2
也可以使用blkid查看:

[root@wk ~]# blkid

/dev/sdb1: UUID="12d99538-2241-42b0-b873-6406266cc8e2" TYPE="xfs" PARTUUID="e71103e9-668d-444b-bc96-70501467cc43" 

/dev/sdb2: UUID="9a951c66-78e1-416e-aa0e-7d41a55efc6d" TYPE="xfs" PARTUUID="38a4a2ea-2571-419d-b80f-8ea801f4291e" 

/dev/sda1: UUID="7dfc741a-395f-46d9-ba69-a037f24ae107" TYPE="xfs" 

/dev/sda2: UUID="82934945-3802-4f45-ada3-1d43f0b2a1c5" TYPE="xfs" 

/dev/sda3: UUID="6dde9ce3-2757-4c88-b082-5665daa2d584" TYPE="swap" 

/dev/sr0: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos" 

一个分区如果不格式的话,没有文件系统那么就不会有UUID:
可以使用xfs_admin -U修改分区的UUID:
[root@wk ~]# uuidgen  
292e2919-11fa-4f1c-8006-4a506095d377 
[root@wk ~]# xfs_admin -U 292e2919-11fa-4f1c-8006-4a506095d377 /dev/sdb1 
Clearing log and setting UUID 
writing all SBs 
new UUID = 292e2919-11fa-4f1c-8006-4a506095d377
xfs文件系统大小可以增加,但是不能减少


Swap交换分区,类似于Windows的虚拟内存:
就是利用磁盘里面的一部分空间,来模拟内存:
  1、使用分区;
  2、创建文件;
查看Swap分区:

[root@wk ~]# cat /proc/swaps 

Filename Type Size Used Priority

/dev/sda3                               partition 1023996 0 -1

命令t修改分区为swap格式:

Command (m for help): t

Selected partition 1

Partition type (type L to list all types): 14

Changed type of partition 'EFI System' to 'Linux swap'

格式化swap分区:

[root@wk ~]# mkswap /dev/sdb1

mkswap: /dev/sdb1: warning: wiping old xfs signature.

Setting up swapspace version 1, size = 1048572 KiB

no label, UUID=b633a131-d314-487b-b1f8-a5516626c081
使用Swapon 和 Swapoff 启用或关闭swap分区:

[root@wk ~]# swapon /dev/sdb1

[root@wk ~]# free

             total       used       free     shared    buffers     cached

Mem:       1003456     420340     583116       7020       1328     138184

-/+ buffers/cache:     280828     722628

Swap:      2072568          0    2072568

[root@wk ~]# swapoff /dev/sdb1

[root@wk ~]# free

             total       used       free     shared    buffers     cached

Mem:       1003456     419936     583520       7020       1324     138220

-/+ buffers/cache:     280392     723064

Swap:      1023996          0    1023996

 

创建文件作为swap分区:

[root@wk ~]# dd if=/dev/zero of=/swapfile bs=1M count=200

[root@wk ~]# mkswap /swapfile 

Setting up swapspace version 1, size = 204796 KiB

no label, UUID=630ac3d6-94fd-4b68-8148-00f0b780bb2d
[root@wk ~]# chmod 0600 /swapfile

[root@wk ~]# swapon /swapfile

[root@wk ~]# free

             total       used       free     shared    buffers     cached

Mem:       1003456     630596     372860       7016       1328     343160

-/+ buffers/cache:     286108     717348

Swap:      1228792          0    1228792

[root@wk ~]# swapoff /swapfile 

[root@wk ~]# free

             total       used       free     shared    buffers     cached

Mem:       1003456     630556     372900       7016       1328     343160

-/+ buffers/cache:     286068     717388

Swap:      1023996          0    1023996



最后,记得在 /etc/fstab中添加相应参数

[root@wk ~]# cat /etc/fstab 

 

#

# /etc/fstab

# Created by anaconda on Fri Jan  1 11:14:17 2016

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=82934945-3802-4f45-ada3-1d43f0b2a1c5 /                       xfs     defaults        1 1

UUID=7dfc741a-395f-46d9-ba69-a037f24ae107 /boot                   xfs     defaults        1 2

UUID=6dde9ce3-2757-4c88-b082-5665daa2d584 swap                    swap    defaults        0 0
这部分就不介绍了,查一下吧。