9-1 Linux磁盘管理及文件系统管理

时间:2021-08-28 19:17:43

一、Linux磁盘管理
1、硬盘种类:
  机械式硬盘和固态硬盘(SSD)

 机械式:
  track磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。  

  sector: 磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息  

  cylinder: 分区的基本单位;

  MBR:Master Boot Record硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。

它由三个部分组成:主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志。

     在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为0xAA55或0x55AA   512bytes
    

2、磁盘接口类型:
  IDE (ATA):133MB/s,/dev/hd
  SCSI: 640MB/s
  SATA:6Gbps
  SAS:6Gbps
  USB:480MB/s

3、识别硬盘设备:/dev/sd
   标记不同的硬盘设备:/dev/sd[a-z]
   标记同一设备上的不同分区:/dev/sd[a-z][1-]
    1-4: 主或扩展分区标识
    5+:逻辑分区标识

4、设备文件:特殊文件
    设备号:
      major, minor
        major: 设备类型
        minor: 同一类型下的不同设备

   “块”:block,随机设备
   “字符”:character,线性设备

5、分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;

 分区工具:
       fdisk, parted, sfdisk

(1)fdisk工具的使用:
  最多支持在一块硬盘上的15个分区;

  分区管理子命令:
   p: 显示
   n: 创建
   d: 删除
   t: 修改分区ID
   l: 列出所有支持ID类型
   w: 保存退出
   q: 放弃修改并退出
   m: 获取帮助

  创建完成之后,查看内核是否已经识别新的分区:
   # cat /proc/partitions

   有三个命令可以让内核重读磁盘分区表:
    CentOS 5: partprobe [DEVICE]
    CentOS 6,7:
     partx
     kpartx

(2)partx命令:
     partx DEVICE
     partx -a DEVICE
     partx -a -n M:N DEVICE
      M
      M:
      :N

(3)kpartx命令:
     kpartx -af DEVICE

 

实例:

创建一个扩展分区,并在扩展分区上创建一个10G的逻辑分区

 

//键入fdisk 设备名,即可对硬盘操作,键入m显示菜单帮助信息

[root@localhost ~]# fdisk /dev/sda     注:使用fdisk工具选择需要管理的磁盘                        WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help): m     注: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           注:列出所支持的ID类型
   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       注:修改分区ID
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit         注:保存退出
   x   extra functionality (experts only)

//键入n 创建分区,之后会提示需要创建主分区还是扩展分区,键入e,创建扩展分区。

接下来提示起始输入扇区。这里直接把硬盘上所有剩余空间都分配给扩展分区。

 

Command (m for help): n                    注:选择创建分区Command action   e   extended                           注:扩展分区   p   primary partition (1-4)              注:主分区e                                        注:选择创建扩展分区Selected partition 4First cylinder (6922-18615, default 6922): 18615Command (m for help): Command (m for help): pDisk /dev/sda: 153.1 GB, 153113587712 bytes255 heads, 63 sectors/track, 18615 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1e851e84   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        6400    51200000   83  Linux/dev/sda3            6400        6922     4194304   82  Linux swap / Solaris/dev/sda4            6922       18615    93924859+   5  Extended

//创建完扩展分区后,在扩展分区上新建逻辑分区,大小为10G

Command (m for help): nFirst cylinder (6922-18615, default 6922): +10GValue out of range.First cylinder (6922-18615, default 6922): Using default value 6922Last cylinder, +cylinders or +size{K,M,G} (6922-18615, default 18615): +10GCommand (m for help): PDisk /dev/sda: 153.1 GB, 153113587712 bytes255 heads, 63 sectors/track, 18615 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1e851e84   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        6400    51200000   83  Linux/dev/sda3            6400        6922     4194304   82  Linux swap / Solaris/dev/sda4            6922       18615    93924859+   5  Extended/dev/sda5            6922        8227    10483218   83  Linux

//w保存退出,使用fdisk -l 查看分区情况

Command (m for help): WThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@localhost ~]# fdisk -lDisk /dev/sda: 153.1 GB, 153113587712 bytes255 heads, 63 sectors/track, 18615 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1e851e84   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        6400    51200000   83  Linux/dev/sda3            6400        6922     4194304   82  Linux swap / Solaris/dev/sda4            6922       18615    93924859+   5  Extended/dev/sda5            6922        8227    10483218   83  Linux

 # cat /proc/partitions,可见虽然分区已经创建,但是内核仍未识别到

[root@localhost ~]# cat /proc/partitions major minor  #blocks  name   8        0  149524988 sda   8        1     204800 sda1   8        2   51200000 sda2   8        3    4194304 sda3

//重读分区表,让内核能够识别,partx -a 是读取硬盘上的所有分区,

并把分区表信息传递给Kernel

[root@localhost ~]# partx -a /dev/sdaBLKPG: Device or resource busyerror adding partition 1BLKPG: Device or resource busyerror adding partition 2BLKPG: Device or resource busyerror adding partition 3[root@localhost ~]# cat /proc/partitions major minor  #blocks  name   8        0  149524988 sda   8        1     204800 sda1   8        2   51200000 sda2   8        3    4194304 sda3   8        4         31 sda4   8        5   10483218 sda5

 

二、Linux文件系统管理

 

文件系统:

VFS:Virtual File System

1、各系统常用文件系统介绍

Linux文件系统:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap

光盘:iso9660

Windows文件系统: fat32(vfat), ntfs

Unix文件系统: ffs, ufs, jfs, jfs2

网络文件系统:nfs, cifs

集群文件系统:ocfs2, gfs2

分布式文件系统:ceph, 

moosefs, mogilefs, hdfs, gfs, glusterfs

 

(1) 日志型文件系统

非日志型文件系统:ext2

日志型文件系统:ext3

 

(2) swap:交换分区

虚拟内存并不是真正的内存,它是在硬盘上划分出一块区域,将其格式化成物理内存相同的格式。一旦发生了物理内存不足的情况,就可以将物理内存页框中的数据移动到虚拟内存上。而物理内存空间被重新释放后,又可以将虚拟内存页框中的数据移动回去,这个过程就好像是在交换数据一样,故这一区域被称为交换分区(swap)

 

2、创建文件系统:

在分区上执行格式化(高级格式化)

要使用某种文件系统,满足两个条件:

                       内核中:支持此种文件系统

                       用户空间:有文件系统管理工具

 

 

创建工具:

(1)mkfs (make filesystem)命令

格式:mkfs -t type DEVICE

     mkfs.type DEVICE

ext系列文件系统的专用管理工具:

 

(2)mke2fs命令

格式:mke2fs [OPTION]... DEVICE

例:mke2fs -t {ext2|ext3|ext4} DEVICE

常用选项:

-t:指明要创建的文件系统类型

-b BLOCK: 1024, 2048, 4096

-L 'LABEL': 设定卷标

-j : 相当于-t ext3

-i #: #个字节给预留一个inode

-N #: 直接指定预留多少个Inode

-I #:Inode大小

-m #:预留管理员的空间百分比,默认为5

-O:指定分区特性

配置文件: /etc/mke2fs.conf

 

实例:对之前创建的10G分区sda5创建文件系统

[root@svn ~]# fdisk -lDisk /dev/sda: 153.1 GB, 153113587712 bytes255 heads, 63 sectors/track, 18615 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1e851e84   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26        6400    51200000   83  Linux/dev/sda3            6400        6922     4194304   82  Linux swap / Solaris/dev/sda4            6922       18615    93924859+   5  Extended/dev/sda5            6922        8227    10483218   83  Linux[root@svn ~]# cat /proc/partitions major minor  #blocks  name   8        0  149524988 sda   8        1     204800 sda1   8        2   51200000 sda2   8        3    4194304 sda3   8        4          1 sda4   8        5   10483218 sda5[root@svn ~]# mke2fs -t  ext4 -L newpartition -b 4096 /dev/sdasda   sda1  sda2  sda3  sda4  sda5  [root@svn ~]# mke2fs -t  ext4 -L newpartition -b 4096 /dev/sda5mke2fs 1.41.12 (17-May-2010)文件系统标签=newpartition操作系统:Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks655360 inodes, 2620804 blocks131040 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=268435456080 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632正在写入inode表: 完成                            Creating journal (32768 blocks): 完成Writing superblocks and filesystem accounting information: 完成This filesystem will be automatically checked every 39 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.

(3)blkid命令:查看设备的属性,UUID和TYPE

格式:blkid DEVICE

LABEL, UUID, TYPE

实例:查询/dev/sda5设备相关属性

[root@svn ~]# blkid /dev/sda5/dev/sda5: LABEL="newpartition" UUID="6b73539f-ff1f-4e61-bac4-186c69b8ab78" TYPE="ext4"

(4)e2label命令:查看分区的卷标和为分区设定卷标

 格式: 

   e2label/dev/SOMEDEVICE: 查看卷标

   e2label/dev/SOMEDEVICE 新卷标名

实例:查询分区卷标并重新设定卷标

[root@svn ~]# e2label /dev/sda5   注:查询卷标newpartition[root@svn ~]# e2label /dev/sda5 labletest  注:设置新卷标为newtest[root@svn ~]# e2label /dev/sda5labletest

 

(5)tune2fs命令:用于调整“ext2/ext3”文件系统中的可改参数

   格式:tune2fs[ OPTIONS ]... device

-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息;

-L 'LABEL':修改卷标;

-m #: 调整预留给管理员的管理空间百分比;

-j: ext2 --> ext3

-O:文件系统属性的启动或关闭 

-o:文件系统默认挂载选项的启用或关闭

                 async: 异步I/O

sync: 同步I/O

noatime/atime: 是否更新访问时间戳,建议noatime

auto/noauto: 是否能够被mount -a选项自动挂载;

diratime/nodiratime: 是否更新目录的访问时间戳;

exec/noexec:是否允许执行其中的二进制程序;

_netdev: 在网络设备启用之前禁止尝试挂载网络设备

remount: 重新挂载

acl: 启用facl  文件访问控制列表

ro:挂载为只读

rw:挂载为可读写

user/nouser: 是否允许普通挂载此设备

实例:开启/dev/sda5 分区的默认挂载选项,启动文件访问控制列表

[root@svn ~]# tune2fs -o acl /dev/sda5tune2fs 1.41.12 (17-May-2010)[root@svn ~]# tune2fs -l /dev/sda5tune2fs 1.41.12 (17-May-2010)Filesystem volume name:   labletestLast mounted on:          <not available>Filesystem UUID:          6b73539f-ff1f-4e61-bac4-186c69b8ab78Filesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isizeFilesystem flags:         signed_directory_hash Default mount options:    aclFilesystem state:         cleanErrors behavior:          ContinueFilesystem OS type:       LinuxInode count:              655360Block count:              2620804Reserved block count:     131040Free blocks:              2541141Free inodes:              655349First block:              0Block size:               4096Fragment size:            4096Reserved GDT blocks:      639Blocks per group:         32768Fragments per group:      32768Inodes per group:         8192Inode blocks per group:   512Flex block group size:    16Filesystem created:       Wed Jan  1 08:10:43 2003Last mount time:          n/aLast write time:          Wed Jan  1 08:38:24 2003Mount count:              0Maximum mount count:      39Last checked:             Wed Jan  1 08:10:43 2003Check interval:           15552000 (6 months)Next check after:         Mon Jun 30 08:10:43 2003Lifetime writes:          291 MBReserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11Inode size:           256Required extra isize:     28Desired extra isize:      28Journal inode:            8Default directory hash:   half_md4Directory Hash Seed:      6ca5a228-b633-4c76-948f-55de8cc5a998Journal backup:           inode blocks

 

(6)dumpe2f命令用于查看ext文件系统的超级块和快组信息

-h: 仅显示超级块信息;

 文件系统检测:

 

(7)fsck: Filesystem check当文件系统发生错误时,可用fsck指令尝试加以修复

fsck -t type

fsck.type

-a: 自动修复错误

-r: 交互式修复错误

-f: 强制检测

 

(8)e2fsck:ext系列文件系统专用的检测修复工具;

-y: 自动回答为“yes”

-f:force

 

3、文件系统的挂载和使用:

 挂载定义:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件系统访问入口的行为,称之为挂载;

 解除此关联关系的过程:卸载;

 挂载点:mount point, 设备挂载至目录;

 注意:挂载点在挂载在之后,其内部原有的文件会被暂时隐藏;建立使用空目录做为挂载点;

 

(1)挂载方法:mount命令

mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;

mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;

mount [options] [-o options] DEVICE MOUNT_POINT

各参数解释:

     [options]:命令选项

     [-o options]:挂载选项

           DEVICE: 要挂载的设备

           (1) 设备文件:/dev/sda5

           (2) 卷标:-L 'LABEL'

           (3) UUID:-U 'UUID'

           (4) 伪文件系统名称

      MOUNT_POINT: 挂载点

常用选项:

-t type:文件系统类型

-r: 以“只读”方式挂载此文件系统

-w: 以“读写”方式挂载此文件系统

-n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;

此时,如果想查看挂载的所有文件系统:cat /proc/mounts

-a: 自动挂载所有支持自动挂载的设备;

-B:绑定目录至另一个目录上;

 

-o 挂载选项:

async:异步模式

sync: 同步模式

atime/noatime:是否更新访问时间戳;

diratime/nodiratime:是否更新目录的访问时间戳;

auto/noauto: 是否允许此设备被自动挂载;

exec/noexec:是否允许执行此文件系统上应用程序;

dev/nodev:是否支持在此设备上使用设备文件;

suid/nosuid:

remount:重新挂载

ro

rw

user/nouser: 是否允许普通挂载此设备;

acl:是否支持此设备上使用facl;

defaults:rw, suid, dev, exec, auto, nouser, and async

 

如挂载时没有设定特性,可使用tune2fs修改:
# tune2fs -o mount-option   设备默认挂载属性
# tune2fs -o ^mount-option  取消默认挂载属性
 
几个关键的配置文件:
/etc/rc.d/rc.sysinit:系统初始化脚本
/etc/mtab:记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;
/etc/fstab:是开机后系统自动挂载的文件系统。
此文件中定义的文件系统挂载表
   每行定义一个文件系统:(每行包含的内容)
     1、要挂载的设备或伪文件系统
             LABEL=, UUID=
     2、挂载点
     3、文件系统类型
     4、挂载选项,多个选项间使用逗号分隔;
  defaults
     5、转储频率
        0:从不备份
        1:每日备份
     6、自检次序
        0: 不自检
        1:首先自检,通常只有/才有1;

(2)umount:卸载命令

# umount DEVICE

# umount MOUNT_POINT

 

查看正在访问指定挂载点的进程:

# fuser -v MOUNT_POINT

 

终止所有正在访问指定的挂载点的进程:

# fuser -km MOUNT_POINT

实例:挂在U盘设备后将其卸载

 [root@svn ~]# mount -a /dev/sdb4 /media/usbrom/   注:将U盘/dev/sdb4挂载到/media/usbrom[root@svn ~]# mount                                                       注:查看系统中已挂在设备/dev/sda2 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")/dev/sda1 on /boot type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)/dev/sdb4 on /media/usbrom type vfat (rw)[root@svn ~]# umount /dev/sdb4[root@svn ~]# mount/dev/sda2 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")/dev/sda1 on /boot type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

 

 

4、交换分区:

 

(1)free命令:

查看memory和swap的使用状态

-m: 以MB为单位

-g: 以GB为单位 

实例:以MB单位显示当前系统内存和交换分区使用情况

[root@svn ~]# free -m             total       used       free     shared    buffers     cachedMem:           997        106        890          0          6         40-/+ buffers/cache:         59        937Swap:         4095          0       4095

 

(2)mkswap:创建交换分区

 mkswap [option] DEVICE

-L 'LABEL'

swapon:启用交换分区

swapon [option] [DEVICE]

-a: 激活所有交换分区

-p PRIORITY: 设定其优先级;

 

swapoff:禁用交换分区

swapoff [option] [DEVICE]

 

5、文件系统等空间占用信息的查看工具:

(1)df: disk free 统计系统中已挂在分区使用情况和剩余空间等

   常用选项:

     -a或--all:包含全部的文件系统

-h或--human-readable:以可读性较高的方式来显示信息

-i或--inodes:显示inode的信息

-T或--print-type:显示文件系统的类型


示例:

[root@centos6 ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/mapper/LVM_GROUP-lv_root                       20G  306M   18G   2% /tmpfs                 495M     0  495M   0% /dev/shm/dev/sda1             190M   32M  148M  18% /boot/dev/mapper/LVM_GROUP-lv_home                       20G   45M   19G   1% /home/dev/mapper/LVM_GROUP-lv_tmp                      9.6G   23M  9.1G   1% /tmp/dev/mapper/LVM_GROUP-lv_usr                       20G  550M   18G   3% /usr/dev/mapper/LVM_GROUP-lv_var                       20G  286M   18G   2% /var/dev/sdb1             9.8G   13M  9.3G   1% /mydata

(2)du: disk usage 统计文件或目录的实际大小

    常用选项:

-a或-all:  显示目录中个别文件的大小

-h或--human-readable:  以K,M,G为显示单位

-L<符号链接>或--dereference<符号链接>:  显示指定符号链接的源文件大小

-S或--separate-dirs:  显示个别目录的大小时,并不含其子目录的大小

-c或--total:  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

-s或--summarize:  仅显示总计,只列出最后加总的值

-k或--kilobytes:  以KB(1024bytes)为单位输出

-m或--megabytes:  以MB为单位输出

-l或--count-links: 重复计算硬件链接的文件

-L<符号链接>或--dereference<符号链接>:  显示选项中所指定符号链接的源文件大小

-D或--dereference-args:  显示指定符号链接的源文件大小

示例:

[root@centos6 ~]# du -sch /etc29M/etc29Mtotal

6、文件系统上的链接文件:

   (1)硬链接:

          两个路径指向同一个inode

                    不能对目录进行;

          不能跨分区进行

          指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除; 

 

   (2)符号链接:

          链接文件的数据指向另一个文件路径;

                    可以对目录进行;

          可以跨分区;

          指向的是另一个文件路径;而非inode;

          对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;

 ln命令:用来链接文件或目录

   ln [-s] SRC DEST

         -d:允许超级用户制作目录的硬连接

         -s:symbolic link 符号连接

         -v:verbose 显示详细的处理过程

         -f:强制执行

 

练习:创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;

1、使用fdisk命令创建一个10G的分区[root@centos6 ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x37270393.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)WARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): mCommand 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): nCommand action   e   extended   p   primary partition (1-4)pPartition number (1-4): 1First cylinder (1-2610, default 1): Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +10GCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.2、使用partx更新分区表[root@centos6 ~]# cat /proc/partitions major minor  #blocks  name   8        0  125829120 sda   8        1     204800 sda1   8        2  125623296 sda2   8       16   20971520 sdb   8       17   10490413 sdb1 253        0   20578304 dm-0 253        1    2097152 dm-1 253        2   20578304 dm-2 253        3   20578304 dm-3 253        4   10354688 dm-4 253        5   20578304 dm-5[root@centos6 ~]# partx /dev/sdbsdb   sdb1  [root@centos6 ~]# partx /dev/sdb1last arg is not the whole diskcall: partx -opts device wholedisk3、使用mke2fs命令为分区创建文件系统EXT4[root@centos6 ~]# mke2fs -t ext4 -b 2048 /dev/sdb1mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)Stride=0 blocks, Stripe width=0 blocks657408 inodes, 5245206 blocks262260 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=543162368321 block groups16384 blocks per group, 16384 fragments per group2048 inodes per groupSuperblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312Writing inode tables: done                            Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 39 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.4、创建/mydata目录并进行挂载[root@centos6 ~]# mkdir /mydata[root@centos6 ~]# mount -o auto /dev/sdb1 /mydata 注:挂载选项 -o auto 表示此分区可自动挂载[root@centos6 ~]# mount/dev/mapper/LVM_GROUP-lv_root on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)5、编辑/etc/fstab文件设置开机挂载[root@centos6 ~]# vi /etc/fstab ## /etc/fstab# Created by anaconda on Thu Aug 20 06:52:55 2015## 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#/dev/mapper/LVM_GROUP-lv_root /                       ext4    defaults        1 1UUID=1f205c5b-799d-485b-b470-89889d7e2b8b /boot                   ext4    defaults        1 2/dev/mapper/LVM_GROUP-lv_home /home                   ext4    defaults        1 2/dev/mapper/LVM_GROUP-lv_tmp /tmp                    ext4    defaults        1 2/dev/mapper/LVM_GROUP-lv_usr /usr                    ext4    defaults        1 2/dev/mapper/LVM_GROUP-lv_var /var                    ext4    defaults        1 2/dev/mapper/LVM_GROUP-lv_swap swap                    swap    defaults        0 0tmpfs                   /dev/shm                tmpfs   defaults        0 0devpts                  /dev/pts                devpts  gid=5,mode=620  0 0sysfs                   /sys                    sysfs   defaults        0 0proc                    /proc                   proc    defaults        0 0/dev/sdb1               /mydata                ext4     defaults       0 0   注释:1、要挂载的设备为/devsdb1  2、挂载点/mydata    3、文件系统类型ext4    4、挂载选项defaults5、转储频率0:从不备份     6、自检次序0: 不自检