linux磁盘管理及其磁盘分区工具的使用

一、 几种分区工具:

1.图形化工具gnome-disks使用简单,在此不在赘述。

2.fdisk使用:

fdisk支持MBR,也支持GPT分区,对于一块硬盘最多只能理解15个分区,一般使用fdisk做MBR分区,gdisk做GPT分区。下面为fdisk分区示例:

[root@centos7 ~]# fdisk /dev/sde
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 0xf734a8be.
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  //创建GPT分区表
   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  //保存退出
   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): 1
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): p
Disk /dev/sde: 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: 0xf734a8be
   Device Boot      Start         End      Blocks   Id  System
/dev/sde1            2048     2099199     1048576   83  Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

  注:此时 因为磁盘是没有创建过分区的磁盘,所以不用手动同步,如果是已经分过区的磁盘再次对剩余的空间进行分区时内核有可能不能同步,不同步时操作完会有 warning信息,需要手动同步,在rhel5和rhel7当中可以使用partprob命令进行同步,rhel6应该使用partx进行同步,在 rhel6中partprobe有bug,不能同步。

rhel新增分区:partx  -a  -nr M:N /dev/DEVICE  //对M到N新增的分区改变

删除分区:partx  -d  -nr M:N  /dev/DEVICE  // 对M到N的分区删除

也可以直接 输入命令和设备,指定时删除还是新增,不用指定M到N范围

Centos6中命令:part -d  -nr 7-8  /dev/sdc

WARNING: 每次进行分区之后如果没有同步,都要进行同步否则系统必须重启!

3.gdisk支持GPT分区,使用类似于fdisk

4.parted 的操作都是实时生效的,应该谨慎使用,在此将不举例

  用法:parted [ 选项]… [备 设备 [令 命令 [ 参数]…]…]

parted /dev/sdb mklabel gpt|msdos

parted /dev/sdb print

parted /dev/sdb mkpart primary 1 200  (默认M) )

parted /dev/sdb rm 1

parted -l

二 、     文件系统分类

1.  常见linux文件系统类型

(1)   本地文件系统:ext2,ext3 ,ext4,xfs,btrfs(Oracle公司的),reiserfs,jfs,swap

(2)   光盘:iso9660

(3)   windows:fat32(在linux中叫vfat),ntfs

(4)   unix中:FFS,UFS,JFS2

(5)   网络文件系统:NFS,CIFS

(6)   集群文件系统:GFS2,OCFS2(Oracle公司的)

(7)   分布式文件系统:ceph, moosefs, mogilefs, glusterfs,Lustre

(8)   raw:裸设备,未经处理或未经格式化的文件系统,为了提高性能,例如Oracle的数据库直接存放在裸设备上,这样的存放虽然提高了性能,但是不便于管理文件,数据直接存放在设备上是二进制的形式

2.      文件系统分类:

(1) 根据其是否支持"journal" 功能:

日志型文件系统: ext3, ext4, xfs, …

非日志型文件系统: ext2, vfat

(2)文件系统的组成部分:

内核中的模块:ext4, xfs, vfat

用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

(3) Linux 的虚拟文件系统:VFS

注: 查前支持的文件系统:cat /proc/filesystems 。ext2和ext3的区别就是是否有日志功能,ext3比ext2多了一个日志功能  

3.   虚拟文件系统:VFS

(1)向上,对应用层提供一个标准的文件操作接口;

(2)对下,对文件系统提供一个标准的接口,以便其他操作系统的文件系统可以方便的移植到Linux上;

(3) VFS内部则通过一系列高效的管理机制,比如inode cache, dentry cache 以及文件系统的预读等技术,使得底层文件系统不需沉溺到复杂的内核操作,即可获得高性能;

(4)此外VFS把一些复杂的操作尽量抽象到VFS内部,使得底层文件系统实现更简单。

 

5.bmp

 

4.      创建文件系统:

(1) mkfs(创建一般文件系统):

用法:mkfs.文件系统名 设备名

[root@cnode6_8 ~]# mkfs.
mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.vfat    
mkfs.ext2     mkfs.ext4     mkfs.msdos   
 [root@cnode6_8 ~]# mkfs.ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
78312 inodes, 313236 blocks
15661 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
39 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
  8193, 24577, 40961, 57345, 73729, 204801, 221185
 
Writing inode tables: done                           
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
或者使用:-t 指定文件系统类型,-L指定卷标
[root@cnode6_8 ~]# mkfs -t ext3 /dev/sdb5
[root@cnode6_8 ~]# mkfs -t ext3  -L "/mnt/sdb5" /dev/sdb5

(2) mke2fs(创建ext文件系统):此命令专门用于格式化ext文件系统

用法类似于mkfs

参数:

-t 文件系统类型 {ext2|ext3|ext4}

-b {1024|2048|4096} 指定磁盘块大小

-L “ LABEL” 指定设备标签

-j 相当于-t ext3,也就是具有了日志功能

-i # 为数据空间多少个字节创建一个inode,此大小应大于block的大小,否则无意义

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

-O FEATURE[,…] :启用指定特性,如给ext2启用日志功能

-O ^FEATURE  禁用指定特性

示例:

[root@cnode6_8 ~]# mke2fs -t ext3 -b 4096 /dev/sdb2
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
78336 inodes, 78316 blocks
3915 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=83886080
3 block groups
32768 blocks per group, 32768 fragments per group
26112 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 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 ~]# tune2fs -l /dev/sdb2 |grep "features"
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file  //可以看到文件系统具有日志功能
[root@cnode6_8 ~]# mke2fs -O ^has_journal /dev/sdb2//关闭日志功能
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
78624 inodes, 313264 blocks
15663 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
39 block groups
8192 blocks per group, 8192 fragments per group
2016 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185
 
Writing inode tables: done                           
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 ~]# tune2fs -l /dev/sdb2 |grep "features" //查看特性
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super

5.   文件系统标签除了可以通过直接写设备名,还可以写label和UUID

(1) blkid:块设备属性查看

-U 指定UUID来查看对应的设备

-L 指定label来查看对英国的设备

(2) e2label :管理ext文件系统的label

(3) 根据UUID和LABEL寻找设备

[root@cnode6_8 mnt]# findfs UUID=02e4bb38-77df-49f4-a3f1-6322d9557851

/dev/md0

(4) tune2fs重新设定ext系列文件系统可调整参数的值:

-l  参数指定文件系统文件系统超级块信息

-L 修改卷标

-m #  修改预留给管理员的空间百分比

-j 就讲ext2 升级为管理员的空间百分比

-O 文件系统属性启用或被禁用 -O ^has_journal

-o:调整文件系统默认挂载选项,-o^acl

-U 修改UUID号

6.  文件系统检测和修复:

常发生于死机或者非正常关机之后,文件系统状态(通过dumpe2fs -h /dev/…或者tune2fs -l  /dev/…查看)Filesystem state:如果变为dirty就需要修复:

(1) fsck.FS_TYPE 或fsck -t FS_TYPE:

-a 自动修复错误

-r 交互式修复错误

(2) e2fsck ext 系列文件专用的检测修复工具

-y  自动回答yes

-f  强制修复

原创文章,作者:jack_cui,如若转载,请注明出处:http://www.178linux.com/41286

(0)
jack_cuijack_cui
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • Linux权限管理与grep命令应用(第四周)

    第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干货 2016-09-15
  • N26-第五周

    1、显示当前系统上root、fedora或user1用户的默认shell;[root@localhost ~]# grep -E ‘^(root|fedora|user1)\>’ /etc/passwdroot:x:0:0:root:/root:/bin/bashfedora:x:4002:4002:Fedora Core:/h…

    Linux干货 2017-03-13
  • 学习宣言

            学习计划:每天至少2个小时的学习,循序渐进,先通读再精读。         学习目标:成为运维的高手,走上人生巅峰。      &nb…

    Linux干货 2016-10-25
  • Linux之函数

      Linux之函数     函数介绍函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程。它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分。函数和shell程序比较相似,区别在于:Shell程序在子Shell中运行而Shell函数在…

    Linux干货 2016-08-25
  • 第四周:/etc/passwd、/etc/group文件熟悉及配合grep使用正则表达式

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@wlm ~]# useradd tuser1 [root@wlm ~]# cp -r etc/skel/ /home/tuser1/…

    Linux干货 2016-10-13
  • Linux进程和计划任务

                                                      &nbsp…

    系统运维 2016-09-21

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 16:17

    文章对各命令的作用,用法和常用选项总结的很完整,建议能多一些操作,尝试着灵活运用这些工具来实现,分区的创建与格式化并挂载使用。多动手才能明白自己的不足哦。