磁盘分区管理与文件系统的创建

磁盘分区管理与文件系统的创建

  不光是linux文件系统,所有的大结构,多数据凑到一块的时候,单一的管理是没有能力处理这样庞大规模的存在的。所谓“君王不下县”也就是这个道理。要系统的,规范的管理一个国家,存在着省、市这样的层级结构。linux系统也是这样,将整个系统划分为若干个分区,实现不同功能,不同层级的规范管理,这就是创建磁盘分区的意义。既然存在了多个分区,每个分区就有自己独特的文件和数据管理机制,业内将这样的管理机制称作文件系统。下面分别介绍这两部分内容,以及这两部分之间的联系。

    一.磁盘分区管理命令fdisk

  在linux系统中,一块磁盘可以分成多个分区,在最初创建linux系统时,我分成了4个分区,使用lsblk命令查看:

[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  200G  0 disk 
├─sda1        8:1    0  190M  0 part /boot
├─sda2        8:2    0 46.6G  0 part /
├─sda3        8:3    0 18.6G  0 part /testdir
├─sda4        8:4    0    1K  0 part 
└─sda5        8:5    0  3.7G  0 part [SWAP]

 其中sda1,2,3是主分区,sda1我设置成/boot存放的位置,这个分区是系统启动项。sda4大小只有1k,说明这只是个扩展分区,sda5是属于sda4内的逻辑分区,因为主分区最多只能设定4个,想要设定4个以上分区,需要3个主分区和一个扩展分区里的若干个逻辑分区。

  fdisk是一个多功能管理分区的命令,当我是使用fdisk后面跟上指定分区时,就可以编辑这个分区了:

[root@localhost ~]# 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.


Command (m for help):

 使用m观察各个选项:

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
   x   extra functionality (experts only)

 常见我们增加分区n,删除分区d,观察分区列表p等选项都在m选项的帮助里。

    二.文件系统创建与修改

  当我们使用fdisk增加分区之后,为了使这个新增分区能够使用,需要对其进行设定文件系统。所谓文件系统,就是一套分区文件数据的管理机制,相当与分区内的法律,每个相应类型的数据块都要遵循文件系统的管理。常用文件系统的相关命令有:mkfs.ext4、mke2fs、mkfs -t、tune2fs、e2label等。下面我们对其进行一一介绍。

  

  1.mkfs

  mkfs [options] device:-t后接文件系统类型,比如:

[root@localhost ~]# mkfs -t ext4 /dev/sdc1

  表示将/dev/sdc1这个分区定义为ext4类型文件系统,如果已经存在文件系统,相当于格式化这个分区后定义文件系统。设定ext4类型文件系统还有不同的命令:

[root@localhost ~]# mke2fs -t ext4 /dev/sdc1
[root@localhost ~]# mkfs.ext4 /dev/sdc1

 上述两个命令也可以实现同样的功能,但要注意,mke2fs只能针对于ext类型的文件系统的设定。

  

  2.tune2fs

  当设定完文件系统类型之后,如果一些属性设定错误,想要修改这些特定属性,就要使用tune2fs命令了,这个命令也是属于针对于ext系列文件系统的。下面列出几个常用选项,对于mke2fs也是通用的:

  -L label:设定卷标,之后通过blkid device可以查看指定设备的卷标

  -j:添加journal功能,就是日志,ext3之前的版本是没有日志功能的,加上-j选项就代表将文件系统改为ext3类型的了

  -m #:调整预留空间百分比,-m 4表示对此文件系统空间预留4%的空间

  -O [^]feather:开启或者关闭某种特性,比如:

[root@localhost ~]# tune2fs -O filetype /dev/sdc1

filetype
                          Store file type information in directory entries.

  filetype选项表示将文件类型信息储存在目录条目中,^filetype表示关闭上诉特性。

  -o [^]mount_options:开启或者关闭某种挂载选项,比如:

[root@localhost ~]# tune2fs -o acl /dev/sdc1
tune2fs 1.42.9 (28-Dec-2013)

  这里表示sdc1分区的文件系统默认挂载选项允许设定acl。

  3.dumpe2fs

  凡是命令中带有e2字眼的,都是针对于ext文件系统类型的命令。dumpe2fs的作用是显示分区文件系统的属性信息,同fdisk -l是一个作用。它有一个选项-h,代表只显示超级块信息。

  4.e2fsck

  这个命令是针对于ext系列文件系统的检测命令,常用选项有:

  -f:强制检测

  -y:对检测过程中所有判断选项执行yes

  5.fsck

  fsck是针对于所有文件系统类型的检测,但是要使用-t指明文件系统类型

  -a:无需与用户交互,自动修复所有错误

  -r:开启与用户交互修复的模式

    三.swap文件系统

  有一类分区所创建的文件系统比较特别,叫做swap交换分区,这类分区的作用是减轻内存负担的。这类文件系统对分区的system id有要求,普通的linux分区id都是83,通过fdisk命令可以查找swap分区id号为82,我们要建swap分区id改正为82:

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
/dev/sdb2        20973568    25167871     2097152   83  Linux

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    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      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            
1e  Hidden W95 FAT1 80  Old Minix   


 Command (m for help): t
Partition number (1,2, default 2): 
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'  



  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
/dev/sdb2        20973568    25167871     2097152   82  Linux swap / Solaris

 w保存,这样就将/dev/sdb2分区改为swap类型的分区了。

  分区准备好了,下面要对sdb2分区建立文件系统,mkfs之类的命令已经不好使了,我们需要使用mkswap命令:

[root@localhost ~]# partprobe

  先使用part -x或者partprobe更新分区信息

[root@localhost ~]# mkswap -f /dev/sdb2
mkswap: /dev/sdb2: warning: wiping old swap signature.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=78505133-59fb-4279-bb49-7b4f191bd5f3

  强制创建swap分区

  使用blkid device查看分区信息

[root@localhost ~]# blkid /dev/sdb2
/dev/sdb2: UUID="78505133-59fb-4279-bb49-7b4f191bd5f3" TYPE="swap"

 可以看到文件系统类型变成swap了。

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

(0)
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:49

相关推荐

  • “lnmap实战之负载均衡架构(无高可用)”之新增keepalived高可用

    “lnmap实战之负载均衡架构(无高可用)”之新增keepalived高可用 我之前有一篇”lnmap实战之负载均衡架构(无高可用)“博客是专门部署了lanmap,之前没有做高可用,那么我们现在就把高可用补上去吧 这样我们照着之前的文档从新部署一下 1.机器结构如下: 192.168.42.150 node0 …

    Linux干货 2017-06-25
  • Linux实验-搭建路由环境

    Linux实验-搭建路由环境 背景: 在学习网络基础过程中,为了加强理解路由功能,准备用Linux模拟一个路由环境。同时也试试Linux的路由转发功能。 实验简介: 准备5个虚拟机,其中三个做路由,两个做客户机,相连的设备之间在同一个网段,三个路由设备在中间,两个客户机在两侧,最后实现两个虚拟机能相互通信。 实验规划: 这里配的IP都是随意配的,保证相连设备…

    2017-08-19
  • Shell编程之select循环&函数详解

    一、select循环        功能:主要用于创建菜单,菜单按数字顺序排列。并将PS3变量的值用作用户输入提示。用户的选择被保存在内置变量REPLY中。也可以和case语句结合,在select循环中对用户的输入作出判断并处理。      &nbs…

    Linux干货 2016-08-21
  • #招聘福利#饿了么/运维核心岗位/上海

    饿了么/运维核心岗位/上海 待遇面谈 具体岗位:         应用运维,核心岗位,负责商家订单系统,有之前的学长带着成长 要求:     1、1-2年以上工作经验,     2、熟悉shell和python,    &nbsp…

    Linux干货 2016-03-18
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep“^[[:space:]]\+” /boot/grub/grub.conf grep  -E “^[[:space:]]+” /boot/grub/grub.conf 2、显示/etc…

    Linux干货 2017-02-20
  • 网卡别名的设置

    网卡别名的设置 设备网卡别名对虚拟主机的作用 可以将多个IP地址绑定到一个NIC上 eth0:1 eth0:2 eth0:3 ifconfig命令: 使用ipconfig命令来设置网卡别名 ifconfigeth0:0 192.168.1.100/24 up 使用ip命令来设置网卡别名 ipaddradd 172.16.1.2/…

    Linux干货 2016-09-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 17:35

    文章思路清晰,通过语与操作完整演示了一个分区如何创建,但是对于swap分区,及分区后的操做却是一笔带过,这是不合适的,故希望作者能面面具到,这一块是基础知识。