概述

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

扩展空间

查看当前分区信息

fdisk -l

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

创建分区

使用:fdisk 磁盘文件

fdisk/dev/sda

1.输入m查看帮助。

a :设置可引导标记

b :修改bsd的磁盘标签

c :设置DOS操作系统兼容标记

d :删除一个分区

l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区

m :显示帮助信息

n :增加一个新的分区

o :创建一个新的空白的DOS分区表

p :显示磁盘当前的分区表

q :退出fdisk程序,不保存任何修改

s :创建一个新的空白的Sun磁盘标签

t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)

u :改变显示记录单位

v :对磁盘分区表进行验证

w :保存修改结果并退出fdisk程序

x :特殊功能

2.输入n创建分区

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

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

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

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

3.创建逻辑分区

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

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

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

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

4.输入w保存

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

5.格式化逻辑分区

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

mkfs -t ext3 /dev/sda5

6.挂载分区

先创建分区挂载的文件夹

mkdir /newpar

将sda5挂载到/newpar文件下

mount /dev/sda5 /newpar

7.查看挂载情况

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.创建主分区

fdisk /dev/sdb

输入n

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

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

3.创建扩展分区

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

4.创建逻辑分区

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

5.修改文件类型ID

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

6.保存退出

7.格式化分区

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

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

输入mkfs.ext3 /dev/sdb1

swap分区格式化要使用

mkswap /dev/sdb5

加载文件

swapon/dev/sdb5

查看是否生效

swapon-s

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

8.挂载分区

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

创建挂载文件路径

mkdir sdb1 sdb6

9.立即生效

partprobe

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

shutdown -r now

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

补充

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

mke2fs [-c|-l filename] [-b block-size] [-f fragment-size]

[-i bytes-per-inode] [-I inode-size] [-J journal-options]

[-G meta group size] [-N number-of-inodes]

[-m reserved-blocks-percentage] [-o creator-os]

[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]

[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]][-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]

-b:指定区块大小,单位为字节。-c:检查是否有损坏的区块。-f:指定不连续区段的大小,单位为字节。-F:不管指定的设备为何,强制执行mke2fs。-i:指定"字节/inode"的比例。-N:指定要建立的inode数目。-l:从指定的文件中,读取文件西中损坏区块的信息。-L:设置文件系统的标签名称。-m:指定给管理员保留区块的比例,预设为5%。-M:记录最后一次挂入的目录。-q:执行时不显示任何信息。-r:指定要建立的ext2文件系统版本。-R:设置磁盘阵列参数。-S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap。-v:执行时显示详细信息。-V:显示版本信息。-T:指定文件系统类型

总结

为了尽可能详细的将分区概念写出来,写这篇文章花了半天的时间,希望能给更多的人提供帮助吧。

大家帮忙顶起来,希望能帮助给多需要帮助的人。

备注:

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

《欢迎交流讨论》

如何扩大临linux零时空间,手把手教你如何扩充linux系统空间相关推荐

  1. 如何给Linux服务器安装瑞星,手把手教你制作瑞星Linux杀毒光盘

    制作瑞星Linux杀毒光盘,病毒库更新最新版本 "瑞星ravlinux引导杀毒光盘映像 V19.15.12"的过程: 1.从有关瑞星升级网站下载瑞星引导杀毒光盘映像 V19.01. ...

  2. oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g

    手把手教你做之Linux上安装Oracle11g 这是我第一次安装时的过程,及遇到问题的解决办法,在此记录,有不妥之处,多多交流. 因为高稳定性及高定制低系统消耗等原因,我们希望在Linux上安装Or ...

  3. 手把手教你如下在Linux下如何写一个C语言代码,编译并运行

    文章目录 手把手教你如下在Linux下如何写一个C语言代码,编译并运行 打开Ubuntu终端 创建 helloworld.c 编译C文件 手把手教你如下在Linux下如何写一个C语言代码,编译并运行 ...

  4. 如何刻linux系统光盘,手把手教您把多个系统ISO刻录到一张光盘

    有时我们所以刻录的系统文件很小,如果只刻在一张光盘里面,就显的有一些浪费.下面我们就来手把手教您把多个系统ISO刻录到一张光盘,具体步骤如下: 制作多系统启动光盘 1.制作启动盘 在Windows 和 ...

  5. 平板电脑如何刷linux,手把手教你六步刷系统

    · 手把手教你六步刷系统 当一切准备就绪后,就可以开始刷机了,首先要用USB2.0接口数据线连接电脑与神舟LiPad T10,然后在关机状态下同时按下上文中介绍的A按键与B按键,这时Windows系统 ...

  6. 【环境搭建】手把手教你安装Ubuntu16.04系统

    [环境搭建]手把手教你安装Ubuntu16.04系统 使用U盘制作Ubuntu系统盘 准备工作 操作过程 用制作好的系统盘安装Ubuntu16.04系统 结语 使用U盘制作Ubuntu系统盘 准备工作 ...

  7. Linux环境搭建 | 手把手教你安装Linux虚拟机

    2019独角兽企业重金招聘Python工程师标准>>> 前言 作为一名Linux工程师,不管是运维.应用.驱动方向,在工作中肯定会需要Linux环境.想要获得Linux环境,一个办法 ...

  8. linux 模块化编译,手把手教Linux驱动1-模块化编程 module

    大家好,从本篇起,一口君将手把手教大家如何来学习Linux驱动,预计会有20篇关于驱动初级部分知识点.本专题会一直更新,有任何疑问,可以留言或者加我微信. Linux的开发者,遍布世界各地,他们相互之 ...

  9. zedboard移植linux内核,[干货]手把手教你用Zedboard学习Linux移植和驱动开发

    作者:殷建飞 本文是昨天发的文章<龙芯杯CPU设计竞赛与ZYNQ设计流程介绍>接续部分.重点介绍传统方式的Linux移植和Xilinx的Petalinux的快速移植开发两种. 部分硬件设计 ...

最新文章

  1. 吴恩达《深度学习》第四门课(2)卷积神经网络:实例探究
  2. 在typescript中导入第三方类库import报错
  3. 如何隐藏iPhone导航栏上的“后退”按钮?
  4. linux 内核 struct file 获取文件名 全路径
  5. 【音乐理论】音与音高 ( 音域 | 音符表示 )
  6. java整型缓存_JAVA整型包装类的缓存策略
  7. linux通过bg后台执行作业
  8. 冲刺七天----03
  9. cscope的使用(2)
  10. 数字化转型— 华为业务流程模型学习
  11. 检察机关认定河北涞源反杀案为正当防卫 决定不起诉女生父母
  12. mysql提权软件后门_Mysql提权留后门
  13. 【投资】如何绘制期权收益图
  14. spring boot 中阿里druid 数据源配置及密码加密
  15. 基于LCD1602的多功能万年历,温湿度计,非RTC时钟芯片单片机技术
  16. c语言程序设计学籍信息,c语言学籍信息管理系统设计
  17. SX1268 SX1262中文数据手册
  18. 【题解】 [SCOI2012]滑雪
  19. 私域运营成功的三大基本要素
  20. Oh My Zsh和Oh My Posh

热门文章

  1. centos 并发请求数_Linux Shell多进程并发以及并发数控制
  2. 神经网络输出数量对迭代次数的影响
  3. STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC
  4. STM32 进阶教程 6 -  汇编与C混合编程
  5. 单片机 10种软件滤波方法的示例程序
  6. 5、C语言面试笔试--数据组织--数组
  7. CentOS8更换源后失败问题
  8. JS 获取中英字符串字节长度
  9. Lvs+keepalived   实现负载均衡、故障剔除(DR模式)
  10. 介绍Windows Server服务器角色、角色服务和功能