标签:fdisk分区

概述

我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,在这个时候我们就需要增加磁盘空间,本章主要介绍如何使用fdisk分区工具创建磁盘分区和挂载分区,介绍两种情况一种是对原有的磁盘的剩余空间增加分区,第二种是对新添加的磁盘进行分区操作。

扩展空间

  1. fdisk: invalid option -- '-'
  2.  
  3. Usage:
  4. fdisk [options] <disk> change partition table
  5. fdisk [options] -l <disk> list partition table(s)
  6. fdisk -s <partition> give partition size(s) in blocks
  7.  
  8. Options:
  9. -b <size> sector size (, , or )
  10. -c switch off DOS-compatible mode
  11. -h print help
  12. -u <size> give sizes in sectors instead of cylinders
  13. -v print version
  14. -C <number> specify the number of cylinders
  15. -H <number> specify the number of heads
  16. -S <number> specify the number of sectors per track

查看当前分区信息

  1. fdisk -l

上图的红色标记显示当前sda总共有3916个柱面,而目前只使用了2611个柱面,现在就将剩下的柱面创建分区。

创建分区

  1. 使用:fdisk 磁盘文件
  2.  
  3. fdisk /dev/sda

 1.输入m查看帮助。

  1. a :设置可引导标记
  2. b :修改bsd的磁盘标签
  3. c :设置DOS操作系统兼容标记
  4. d :删除一个分区
  5. l :显示已知的分区类型,其中82Linux swap分区,83Linux分区
  6. m :显示帮助信息
  7. n :增加一个新的分区
  8. o :创建一个新的空白的DOS分区表
  9. p :显示磁盘当前的分区表
  10. q :退出fdisk程序,不保存任何修改
  11. s :创建一个新的空白的Sun磁盘标签
  12. t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
  13. u :改变显示记录单位
  14. v :对磁盘分区表进行验证
  15. w :保存修改结果并退出fdisk程序
  16. x :特殊功能

2.输入n创建分区

询问我们是要创建主分区还是扩展分区,主分区最多只能创建4个,如果创建了扩展分区那么扩展分区需要占用一个主分区。

这里我们创建扩展分区,输入e

需要我们输入起始柱面,默认是2611开始,这里可以输入2611也可以直接enter。

最后输入3916,这样就创建好了扩展分区。

3.创建逻辑分区

输入p,查看分区创建情况

可以发现sda4的文件系统类型是扩展分区,扩展分区是无法使用的,必须在扩展分区的基础上创建逻辑分区

输入n创建逻辑分区,因为这里只剩下刚才创建的逻辑分区需要创建,所以不需要选择输入开始和结束柱面即可。

再输入p显示所有分区,可以看到创建了sda5这个逻辑分区

4.输入w保存

当然刚才也可以直接创建主分区,不创建逻辑分区。

5.格式化逻辑分区

如果是使用虚拟机,需要重启才可以对分区进行格式化,否则会提示找不到分区文件。

  1. mkfs -t ext3 /dev/sda5

6.挂载分区

先创建分区挂载的文件夹

  1. mkdir /newpar

将sda5挂载到/newpar文件下

  1. mount /dev/sda5 /newpar

7.查看挂载情况

  1. df -h

这个挂载只是临时的,重启服务器之后又需要重新挂载,通过修改/etc/fstab文件使挂载永久有效

8.永久挂载

在编写的时候可以使用tab键写下一项。

概念

通过前面的预热,现在来讲概念理解起来会容易一点。

磁盘

在linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 ...,sdb、sdb1...,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是以ha命名。

sda:第一块硬盘,如果对磁盘进行了分区会有sda1(第一个分区),sda2等。

sdb:第二个硬盘,同样对硬盘分区后有sdb1,sdb2等。

分区

分区的目的就是便于管理,比如在windows系统我们一般会分C盘,D盘,E盘等。

在讲主分区和扩展分区前先看张图片。

这是我的当前windows系统的分区情况,从这里可以很好的理解主分区和扩展分区的概念,同时也有柱面的概念,当前主分区是C盘,扩展分区包括D盘、E盘、F盘。同时D盘、E盘、F盘也叫逻辑分区。

其实我们也可以不创建扩展分区,在windows里面如果不创建扩展分区的话对程序的管理会不方便,只有一个分区。但是在linux中如果刚才在创建分区的是有留言会发现linux只能创建4个主分区,如果需要创建更多的分区那么久必须创建逻辑分区,其中逻辑分区需要占用一个主分区。

文件系统

linux中的文件系统也就是分区类型,在windows中有NTEF,FAT32等,linux中常见的有Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs等,可以通过mount命名查看当前已挂载的文件系统。

格式化

在前面创建完分区后有一步是要对分区进行格式化,其实在windows系统中也是一样,在创建好一个分区后也需要将分区格式化,只有格式化成具体的文件类型才能使用。

挂载

在windows中分区格式化后就可以使用,但是在linux系统中必须将分区挂载到具体的路径下才可以。

接下来演示增加一个新磁盘的完整过程。

新增硬盘

在当前虚拟机中增加一块20G的硬盘

1.使用fdisk -l查询当前系统分区情况

可以看到新增加的sdb磁盘还没有分区

2.创建主分区

  1. fdisk /dev/sdb
  2.  
  3. 输入n

在输入结束柱面的这里如果你不知道该输入多大的数字,你可以输入+然后输入你要设的大小。这里我设置5G的主分区。

输入p查看分区信息,可以看到刚创建的sdb1主分区,接下来创建逻辑分区。

3.创建扩展分区

图片上通过红色标注了操作步骤。可以看到当前已创建了sdb2扩展分区,柱面从655-2610,即将剩下的所有空间创建为扩展分区。

4.创建逻辑分区

总共创建了两个逻辑分区,逻辑分区默认从5开始,第一个逻辑分区大小2G,用来做交换分区用,剩下全部给sdb6.

5.修改文件类型ID

因为默认分区id都是83即linux文件类型,现在将sdb5的文件类型ID改成82即交换分区。

6.保存退出

7.格式化分区

接下来要对sdb的每一个分区进行格式化,

注意:扩展分区不需要进行格式

  1. 输入mkfs.ext3 /dev/sdb1

swap分区格式化要使用

  1. mkswap /dev/sdb5

  1. 加载文件
  2. swapon /dev/sdb5
  3.  
  4. 查看是否生效
  5. swapon -s

可以看到sda3,和sdb5这两个swap分区

8.挂载分区

这里直接使用修改文件的方式永久挂载

  1. 创建挂载文件路径
  2. mkdir sdb1 sdb6

9.立即生效

  1. partprobe

在我的虚拟机上面无法立即生效,重启机器。

  1. shutdown -r now

重启之后会发现,sdb1,sdb6都已经生效了,而且swap也变成了6G(sda3+sdb5)

补充

格式化分区还可以使用带参数的mke2fs命令

  1. mke2fs [-c|-l filename] [-b block-size] [-f fragment-size]
  2. [-i bytes-per-inode] [-I inode-size] [-J journal-options]
  3. [-G meta group size] [-N number-of-inodes]
  4. [-m reserved-blocks-percentage] [-o creator-os]
  5. [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
  6. [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
  7. [-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]
  1. -b:指定区块大小,单位为字节。
  2. -c:检查是否有损坏的区块。
  3. -f:指定不连续区段的大小,单位为字节。
  4. -F:不管指定的设备为何,强制执行mke2fs
  5. -i:指定"字节/inode"的比例。
  6. -N:指定要建立的inode数目。
  7. -l:从指定的文件中,读取文件西中损坏区块的信息。
  8. -L:设置文件系统的标签名称。
  9. -m:指定给管理员保留区块的比例,预设为5%。
  10. -M:记录最后一次挂入的目录。
  11. -q:执行时不显示任何信息。
  12. -r:指定要建立的ext2文件系统版本。
  13. -R:设置磁盘阵列参数。
  14. -S:仅写入superblockgroup descriptors,而不更改inode able inode bitmap以及block bitmap
  15. -v:执行时显示详细信息。
  16. -V:显示版本信息。
  17. -T:指定文件系统类型

 dumpe2fs命令

  1. 查看分区的详细信息
  2. dumpe2fs /dev/sdb1

图中只截取了一部分信息,该命令可以查看指定分区的详细信息,很详细。

总结

现在的文件系统建议使用ext4,上面只是测试使用ext3,生产环境还行使用逻辑卷比较好。

 

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

---恢复内容结束---

linux 使用fdisk分区扩容的更多相关文章

  1. linux 使用fdisk分区扩容,看介绍命令(未完)

    https://www.cnblogs.com/chenmh/p/5096592.html LVM 逻辑磁盘的一些命令 http://man.linuxde.net/vgcreate

  2. Vbox下linux虚拟机根分区扩容

    前言 使用一段时间VBox中的linux后可能会显示根分区空间不足的情况,需要扩容. 通过查阅相关资料,VBox中linux扩容主要有两种办法:通过lvm扩容和通过gparted扩容 LVM条件:VB ...

  3. linux下fdisk分区管理、文件系统管理、挂载文件系统等

    分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...]  查看硬盘设备分区信息 # f ...

  4. Linux系统fdisk分区

    以下操作全部基于win7 64位系统上的Linux虚拟机(CentOS6.6). 当Linux虚拟机的硬盘空间不够用时,可以手动添加硬盘块,流程如下: 右键虚拟机,点击“Add”按钮: 选择“Hard ...

  5. linux命令-fdisk分区

    fdisk -l   查看分区状况,也可查看指定分区 Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 26 ...

  6. Linux虚拟机fdisk分区

    以下操作全部基于win7 64位系统上的Linux虚拟机(CentOS6.6). 当Linux虚拟机的硬盘空间不够用时,可以手动添加硬盘块,流程如下: 右键虚拟机,点击“Add”按钮: 选择“Hard ...

  7. Linux中fdisk分区

    一.硬盘接口    从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服 ...

  8. Linux学习 - fdisk分区

    一.fdisk命令分区过程 系统一旦重启,分区将消失 1 添加新硬盘 直接在虚拟机上添加 2 查看新硬盘 fdisk -l 3 分区 fdisk /dev/sdb fdisk进入/dev/sdb硬件设 ...

  9. 为什么Linux的fdisk分区时第一块磁盘分区的First Sector是2048?

    这个问题曾经困扰我很久,在了解了MBR之后,我曾认为第一块分区之前为一个block.但是用fdisk查看是2048,一直不了解其中的缘由,今天查了一下资料,大概了解了,其中的细节留着慢慢去了解. 最直 ...

随机推荐

  1. i春秋url地址编码问题

    i春秋学院是国内比较知名的安全培训平台,前段时间看了下网站,顺便手工简单测试常见的XSS,发现网站搜索功能比较有意思. 其实是对用户输入的内容HTML编码和URL编码的处理方式在这里不合理,提交到乌云 ...

  2. UWP VirtualizedVariableSizedGridView 支持可虚拟化可变大小Item的View(二)

    上篇UWP VirtualizedVariableSizedGridView 支持可虚拟化可变大小Item的View(一) 讲到该控件的需要和设计过程. 这篇讲讲开发过程中一些重要问题解决. 1.支持 ...

  3. Javascript原型继承 __proto__

    Javascript继承是通过原型链继承的 原型链是依赖__proto__而不是prototype var animal = function(){}; var dog = function(){}; ...

  4. C#改善程序的50种方法

    作者: suyan010203  来源: 博客园  发布时间: 2011-07-09 14:47  阅读: 11976 次  推荐: 8   原文链接   [收藏] 从去年找工作以来,都没什么时间写博 ...

  5. Daily Scrum Meeting ——ThirdDay(Beta)12.11

    一.Daily Scrum Meeting照片 二.Burndown Chart 三.项目进展(check-in) 1.欢迎界面的优化,从模糊到清楚 2.新增主界面背景 3.新增注册背景 4.参与者侧 ...

  6. BZOJ2342 Manacher + set

    题一:别人介绍的一道题,题意是给出一个序列,我们要求出一段最常的连续子序列,满足:该子序列能够被平分为三段,第一段和第二段形成回文串,第二段和第三段形成回文串. 题二:BZOJ2342和这题非常的相似 ...

  7. dedecms循环列表样式

    简单用法: {dede:arclist typeid="1" row="} <li class="list[field:global.autoindex/ ...

  8. Code First 关系配置整理

    之前EF一直有性能问题以及使用便利性问题, 终于到了EF6有了Migrations之后, 小弟也决定加入EF阵营了. 在学习FluentAPI配置关系的时候, 发现网上的好几个教程实际上博主自己都没有 ...

  9. mac新手的烦恼

    最近新换了mac,我换mac并非自愿.无论mac的性能有多好,我依然讨厌使用appstore下载软件的感觉,尤其在我一遍又一遍忘记自己的appID的时候.无奈我的thinkpad常常死机,最近又常倒腾 ...

  10. ajax 后台正常执行 错误类型却是404

    后台执行importExcel,明明方法执行成功,但是前台却提示404 @RequestMapping("/import") public Json importExcel(@Re ...