当前位置: 首页 > news >正文

linux的磁盘分区与管理

磁盘分区与管理

识别磁盘

一块硬盘的“艺术”之旅(硬盘空间使用,经历的步骤)

•识别硬盘 => 分区规划 => 格式化 => 挂载使用

Unix/Linux的基本哲学理念:一切皆文件

/dev:存放设备(键盘、鼠标、光驱、硬盘……)相关的数据,硬盘接口

/dev/sda:SCSI接口的硬盘,第一块

/dev/sdb:SCSI接口的硬盘,第二块

/dev/sdc:SCSI接口的硬盘,第三块

………

真机为Linux平台:

KVM虚拟机硬盘的接口类型:独有的接口类型为vd

可以利用命令lsblk查看识别的硬盘

lsblk

#查看识别的硬盘

分区规划

•分区方案(分区模式): MBR、GPT(新技术)

•MBR(msdos)分区模式

  • –分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区

  • –最多只能有4个主分区(64/16=4)

    #MBR分区模式,会有一个64字节分区表,给系统传递分区区域

    #一个分区信息至少需要16字节

  • –扩展分区可以没有,至多有一个

  • –1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)

    #扩展分区只是用来产生扩展分区,不能存放数据

    #逻辑分区与主分区都可以存放数据,区别是传输速率快慢(逻辑分区慢)

    #逻辑分区的产生实际上是逻辑上划分n个(n>=4)存储区域

  • –最大支持容量为 2.2TB 的磁盘(MBR过时的主要原因)

  • –扩展分区不能格式化,空间不能直接存储数据

  • –可以用于存储数据的分区:主分区与逻辑分区

fdisk划分MBR分区模式

  • m 列出指令帮助

  • p 查看现有的分区表(存放分区信息的表格)

  • n 新建分区

  • d 删除分区

  • q 放弃更改并退出

  • w 保存更改并退出

 [root@localhost ~]# fdisk    /dev/vdb   n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在上一扇区 +2Gp 查看分区表n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在上一扇区 +1Gw 保存并退出                            [root@localhost ~]# lsblk                    [root@localhost ~]# ls    /dev/vdb[1-2]

#输入w之后才会写入到分区表中

划分扩展分区(3主+1扩)

 [root@localhost ~]# fdisk   /dev/vdc   p 查看分区表n 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gn 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gn 创建主分区--->回车--->回车--->回车--->在last结束时 +2Gp 查看分区表n 创建扩展分区 --->回车--->起始回车--->结束回车   #将所有剩余空间给扩展分区p 查看分区表n 创建逻辑分区----->起始回车------>在last结束时+2Gn 创建逻辑分区----->起始回车------>在last结束时+2Gn 创建逻辑分区----->起始回车------>在last结束时回车p 查看分区表w 保存并退出[root@localhost ~]# lsblk[root@localhost ~]# parted    /dev/vdc     print  #查看分区类型

补充命令partprobe #刷新分区表,划分分区之后,linux系统可能会没有立即识别到划分分区

格式化分区

#赋予空间文件系统的过程【文件系统:数据在空间中,存放的规则】

Windows常见的文件系统:NTFS (精装、性能强)、FAT(简单装修、兼容性强)

Linux常见的文件系统:ext4(linux6系列) 、xfs(liunx7系列以上) 、FAT

#ext4适用与数量多、单个文件小 ;xfs适用与单个文件大

mkfs创建Linux文件系统

#mkfs---make file system

#blkid命令 查看文件系统类型

 ​[root@localhost ~]#  mkfs.(tab)(tab)             #连续按两次tab键[root@localhost ~]#  mkfs.ext4   /dev/vdb1    #格式化文件系统ext4[root@localhost ~]#  mkfs.xfs   /dev/vdb2     #格式化文件系统xfs[root@localhost ~]#  blkid     /dev/vdb1    #查看文件系统类型  [root@localhost ~]#  blkid     /dev/vdb2     #查看文件系统类型[root@localhost ~]#  mkfs.xfs   -f    /dev/vdb2     #强制格式化文件系统xfs

访问文件系统

#通过挂载访问

mount [设备目录] [挂载点] #临时挂载

#df -h [挂载点] #显示正在挂载设备的使用情况 -h(以易查看方式显示容量)

#df 显示的已用的大小是不包括文件系统的

 [root@localhost ~]#  mkdir   /mypart1[root@localhost ~]#  mount   /dev/vdb1    /mypart1[root@localhost ~]#  df   -h    /mypart1  #显示正在挂载设备的使用情况显示[root@localhost ~]#  mkdir    /mypart2[root@localhost ~]#  mount    /dev/vdb2    /mypart2[root@localhost ~]#  df    -h     /mypart1    /mypart2#显示正在挂载的设备信息,使用情况的显示

永久挂载(开机自动挂载)

在/etc/fstab 配置文件加入配置

设备路径 挂载点 文件系统类型 挂载参数 备份标记 检测顺序

 [root@localhost ~]# blkid  /dev/vdb1   #查看文件系统类型[root@localhost ~]# blkid  /dev/vdb2   #查看文件系统类型[root@localhost ~]# vim    /etc/fstab    #vmware虚拟机/dev/sdb1   /mypart1   ext4    defaults   0   0/dev/sdb2   /mypart2    xfs    defaults   0    0[root@localhost ~]# vim    /etc/fstab    #KVM虚拟机/dev/vdb1   /mypart1   ext4    defaults   0   0/dev/vdb2   /mypart2    xfs    defaults   0   0 

启动自动挂载 mount -a

#取消mount的操作:umount -a

 [root@localhost ~]# mount   -a    #启动自动挂载   检测/etc/fstab开机自动挂载配置文件,格式是否正确检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载 root@localhost ~]# df -h  /mypart1  /mypart2

小总结

识别硬盘 => 分区规划 => 格式化 => 挂载使用

 识别硬盘 lsblk分区规划 MBR分区模式 fdisk格式化  mkfs.ext4    mkfs.xks   blkid挂载  mount  df -h(显示设备使用情况)

GPT分区模式(进阶)

GPT,GUID Partition Table

  • –全局唯一标识分区表

  • –突破固定大小64字节的分区表限制

  • –可支持4个以上的主分区,最大支持18EB容量 【1 EB = 1024 PB = 1024 x 1024 TB】

parted常用分区指令

 –help    //查看指令帮助–mktable  gpt    //建立指定模式分区表–mkpart  分区的名称  文件系统类型  start  end //指定大小或百分比%作为起始、结束位置–print   //查看分区表–rm  序号    //删除指定的分区–quit   //退出交互环境

案例:

 [root@localhost ~]# parted      /dev/vdd    (parted) mktable   gpt      #指定分区模式(parted) mkpart                #划分新的分区 分区名称? []? haha             #随意写,不写也可以文件系统类型? [ext2]? ext4    #随意写,不会进行格式化起始点? 0 结束点? 5G 忽略/Ignore/放弃/Cancel? Ignore #选择忽略,输入i(tab)补全(parted) print                 #查看分区表信息(parted) unit   GB             #使用GB作为单位(parted) print (parted) mkpart              #划分新的分区分区名称? []? haha 文件系统类型? [ext2]? ext4 起始点? 5G                    #为上一个分区的结束结束点? 100%                 #全部空间(parted) print                      (parted) quit              #退出[root@localhost ~]# lsblk 

在vdd使用part进行分区-->mktable指定分区模式-->mkpart 划分新的分区-->quit

【parted是十进制,1G=1000MB】

分区扩展Swap空间

利用硬盘的空间,充当内存的空间

比如:CPU(喝水)----->内存(水缸)----->硬盘(水井)

当物理内存占满了,可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力

利用硬盘分区制作交换空间

mkswp 制作交换空间

mkswp [硬盘空间] #格式化交换文件系统

swapon #查看交换空间组成的成员信息

swapon [硬盘空间] #启用交换分区

swapoff #停用交换分区

free -h #查看交换空间的大小

 [root@localhost ~]#  ls    /dev/vdc1             [root@localhost ~]#  mkswap   /dev/vdc1    #格式化交换文件系统[root@localhost ~]#  blkid     /dev/vdc1        #查看文件系统类型[root@localhost ~]#  swapon                  #查看交换空间组成的成员信息[root@localhost ~]#  swapon   /dev/vdc1     #启用交换分区[root@localhost ~]#  swapon                 #查看交换空间组成的成员信息[root@localhost ~]#  free  -h              #查看交换空间的大小[root@localhost ~]#  swapoff    /dev/vdc1        #停用交换分区[root@localhost ~]#  swapon                #查看交换空间组成的成员信息[root@localhost ~]#  free   -h                 #查看交换空间的大小 

相关文章:

  • 全网唯一:触摸精灵iOS版纯离线本地文字识别插件
  • mac地址一样,ip不同,能ping通么?
  • 数据结构(C):从初识堆到堆排序的实现
  • Spark介绍及RDD操作
  • 【计算机毕设】基于SpringBoot的医院管理系统设计与实现 - 源码免费(私信领取)
  • 力扣16. 最接近的三数之和
  • Kotlin 泛型
  • 处理一对多的映射关系
  • HCIP的学习(27)
  • 基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • Spring高手之路19——Spring AOP注解指南
  • 【云原生】Docker Compose 使用详解
  • Python 关于字符串格式化
  • C++ : 模板初阶
  • MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程
  • 《深入 React 技术栈》
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Flex布局到底解决了什么问题
  • PhantomJS 安装
  • Sass 快速入门教程
  • vue总结
  • 基于组件的设计工作流与界面抽象
  • 记一次和乔布斯合作最难忘的经历
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 事件委托的小应用
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Java总结 - String - 这篇请使劲喷我
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​比特币大跌的 2 个原因
  • ​如何防止网络攻击?
  • # Java NIO(一)FileChannel
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (16)Reactor的测试——响应式Spring的道法术器
  • (C++)八皇后问题
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (算法)前K大的和
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ***监测系统的构建(chkrootkit )
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Core 中间件与过滤器
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .net 使用ajax控件后如何调用前端脚本
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .Net6 Api Swagger配置
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /etc/sudoer文件配置简析
  • @TableLogic注解说明,以及对增删改查的影响
  • [ C++ ] STL---仿函数与priority_queue