Linux磁盘管理

ops/2024/10/21 11:46:51/

磁盘管理

  • 1、磁盘简介
    • 1.1 磁盘接口类型
    • 1.2 磁盘分区类型(MBR和GPT)
  • 2、磁盘管理
    • 2.1 查看磁盘信息命令
    • 2.2 给服务器挂载新硬盘
      • 2.2.1、创建分区
      • 2.2.2、创建文件系统(格式化)
      • 2.2.3、挂载
      • 2.2.4、扩展分区和逻辑分区
  • 3、逻辑卷LVM
    • 3.1、LVM概念
    • 3.2、新建LVM并挂载
      • 3.2.1、新建PV
      • 3.2.2、新建VG
      • 3.2.3、新建LV
      • 3.2.4、扩容LV
    • 3.3、扩容系统盘

1、磁盘简介

1.1 磁盘接口类型

IDE:133MB/s,并行接口,早期家用电脑。

SCSI:640MB/s,并行接口,早期服务器

SATA(常用):6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线。

SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

M.2接口

光纤接口

1.2 磁盘分区类型(MBR和GPT)

现在所接触的,基本都是MBR分区,咱们博客讲的都是MBR分区。
MBR分区只能分4个分区,一个分区表占16字节
分区分类:主分区,扩展分区,逻辑分区
主分区:可以直接使用,用来安装操作系统或存储文件等
扩展分区:不可以直接使用,需要在划分逻辑分区,可以使分区超过四个
逻辑分区:存在扩展分区内,可以直接使用,用来存储文件,分区的序号从5开始

2、磁盘管理

2.1 查看磁盘信息命令

#查看磁盘分区结构和挂载目录,查看磁盘分区文件系统是不是lvm
lsblk
#查看磁盘信息
fidsk -l [磁盘设备]  
#对磁盘分区
fdisk device
#查看各个硬盘使用情况
df -h

2.2 给服务器挂载新硬盘

挂载新硬盘分三步,1、创建分区 2、创建文件系统(格式化) 3、挂载

2.2.1、创建分区

1、先给虚拟机添加一块硬盘,如果是实际服务器,直接把硬盘插入到服务器上就行。如果是云主机,直接挂载个硬盘到云主机上就行。我们是用本地安装的虚拟机模拟添加硬盘。

如下图,点完添加后,选择硬盘,然后一直下一步就行,添加完记得重启虚拟机才生效。
在这里插入图片描述

2、执行lsblk可以查看刚刚添加的硬盘
在这里插入图片描述
3、执行fdisk /dev/sdc,开始对/dev/sdc盘进行分区
在这里插入图片描述
4、输入n,新建分区;
输入p,新建主分区;
分区号,回车,默认就行;
起始 扇区 回车,默认就行;
Last 扇区 输入+200M,表示该盘分出200M,设计单位有{K,M,G}。如果不输入,默认分该 盘所有的大小;
输入t,设置分区类型ID,常用的有 83 默认的linux类型,82 SWAP,8e LVM,fd RAID,
下面图中,我没输入t,因为默认是83,如果改的话,输入t,然后输入需要改的分区ID即可;

输入p,查看当前分区情况;
输入w,表示保存,上面操作剩下,输入q表示退出,上面操作都不剩下;
最后,还需要输入命令:partprobe /dev/sdc,表示将分区表信息手动写入内核;
在这里插入图片描述

2.2.2、创建文件系统(格式化)

格式:mkfs -t 文件系统类型 分区设备
示例:mkfs -t ext4 /dev/sdc1

创建文件系统的另一种写法:mkfs.ext4 /dev/sdc1

输入blkid /dev/sdc1,查看该盘的文件系统类型。
在这里插入图片描述
已经设置成ext4 怎么修改成xfs
mkfs.xfs -f /dev/sdc1

2.2.3、挂载

mount -t xfs /dev/sdc1 /mnt/test/

2.2.4、扩展分区和逻辑分区

上面2.2.1创建分区,创建的是主分区,MBR只能有四个主分区,其实肯定也够用了,项目中如果让你给服务器挂个磁盘,一份分区时,分一个区就可以了。 但是如果规划的分区,大于4个,MBR也支持,那就是新建个扩展分区,在扩展分区下,在建逻辑分区,就可以了。

下图步骤:新建扩展分区,记得扩展分区的其实和结束扇区,都默认即可。
在这里插入图片描述

3、逻辑卷LVM

3.1、LVM概念

简单的说,LVM技术,就是可以动态的给盘符扩容。比如linux系统盘不够用了,需要扩容,只有分区类型是LVM的,才支持扩容。

LVM中的几个概念:
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):卷组,建立在PV之上,可以含有一个到多个PV。
逻辑卷(Logical Volume,LV):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。

通俗的讲,把一个或者多个PV加入到VG里,然后LV从VG里拿空间用,LV的空间不够用了,可以扩容,扩容的前提是VG里有空间,如果VG没空间,就新建PV加入到VG里。

3.2、新建LVM并挂载

3.2.1、新建PV

命令:pvcreate 硬盘或者分区。
解读,后面可以直接跟未格式化的硬盘,或者已经分号的分区,比如pvcreate /dev/sdc 或者pvcreate /dev/sdc1

#新建PV
pvcreate /dev/sdc9
#查看PV
pvs

3.2.2、新建VG

命令:vgextend vg名称 新建PV时的硬盘或者分区。

#新建VG
vgextend vg1 /dev/sdc9
#查看vg
vgs

3.2.3、新建LV

命令:lvcreate -L 100M -n lv1 vg1
解读,-L 跟新建的LV的大小100M,单位可以改成G。
-n 后跟lv名称 空格 vg名称。

#创建lv
lvcreate -L 100M -n lv1 vg1
#查看lv
lvs

创建完lv后,就相当于创建完一个分区了,只不过这个分区可以扩展。
后面要做格式化和挂载操作
mkfs.ext4 /dev/vg1/lv1
mount /dev/vg1/lv1 /mnt/test1

3.2.4、扩容LV

上面新建的LV,实际只有100M,我们给扩容下操作。

1、先查看lv1对应的vg是否有空间。如下图,发现还有96M空闲,但是咱们准备给它扩200M。VG空间空间不够200M,那就新建PV,然后加入到VG。
在这里插入图片描述

2、新建PV,然后加入到VG。

#新建PV
[root@localhost opt] pvcreate /dev/sdc10
#把新建PV加入到vg1
[root@localhost opt] vgextend vg1 /dev/sdc10
#查看vg的大小,发小空闲空间增加了200M
[root@localhost opt] vgs
VG     #PV #LV #SN Attr   VSize   VFree  
centos   1   3   0 wz--n- <59.00g   4.00m
vg1      2   1   0 wz--n- 392.00m 292.00m

执行扩容命令,重点操作:

#给lv1扩容200M
lvextend -L +200M /dev/vg1/lv1

扩容后,执行df -hT会发现容量没生效。
需要执行下resize2fs /dev/vg1/lv1。就生效了

3.3、扩容系统盘

项目中用到的最多的就是扩容系统盘了。

如果会了3.2.4、扩容LV, 扩容系统盘也就会了。有时间在写吧。


http://www.ppmy.cn/ops/103909.html

相关文章

基于SSM的咖啡馆管理系统

基于SSM的咖啡馆管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisJSP工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台界面 后台界面 摘要 在当前这个信息爆炸的时代&#xff0c;众多行业正经历着…

【开源免费】基于SpringBoot+Vue.JS渔具租赁系统(JAVA毕业设计)

本文项目编号 T 005 &#xff0c;文末自助获取源码 \color{red}{T005&#xff0c;文末自助获取源码} T005&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 渔…

git clone 别人的项目上传到自己的Gitee或者github仓库

git clone别人的项目 git clone https://github.com/wohuweixiya/yft-design.git 进入该项目内&#xff0c;删除原有的.git信息 rm -r .git 初始化.git git init 将本地代码添加到仓库 git add . git commit -m "提交仓库说明" Github上新建一个和这个clone下来…

82、k8s的service-NodePort端口开放和生命周期

0、单节点服务&#xff0c;以及k8s命令 [rootmaster01 ~]# kubectl create deployment nginx1 --imagenginx:1.22 --replicas3[rootmaster01 ~]# kubectl create deployment nginx1 --imagenginx:1.22 ##创建资源 deployment.apps/nginx1 created[rootmaster01 opt]# kubec…

找到K个最接近的元素(LeetCode)

题目 给定一个 排序好 的数组 arr &#xff0c;两个整数 k 和 x &#xff0c;从数组中找到最靠近 x&#xff08;两数之差最小&#xff09;的 k 个数。返回的结果必须要是按升序排好的。 整数 a 比整数 b 更接近 x 需要满足&#xff1a; |a - x| < |b - x| 或者|a - x| |b -…

打卡56天------图论(冗余连接)

图论的题对于前端工程师很少用到&#xff0c;我还是先去做做react的常用面试题吧。 一、冗余连接 并查集应用类题目&#xff0c;关键是如何把题意转化成并查集问题 代码随想录 无js官方题解代码。 二、冗余连接II 上面两道题目是不是感觉做出自信了&#xff0c;感觉并查集不过…

java基础开发-xstream解析xml

文章目录 XStream 的基本使用步骤高级用法自定义别名忽略某些字段自定义转换器类型安全 示例 XStream常见注解安装 JAnnotate-XStream使用 JAnnotate-XStream 注解1. XStreamAlias2. XStreamAsAttribute3. XStreamOmitField4. XStreamConverter5. XStreamImplicit 示例代码使用…

【C++ 面试 - STL】每日 3 题(二)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…