磁盘管理与磁盘卷--红帽Linux操作系统<>

 分区的两种格式

1、MBR分区

MBR(Master Boot Record,主引导记录)是传统的分区机制,使用BI0S引导PC设备,寻址空间只有32bit长。

分区空间最大支持2.2TB

支持的分区数量:4个主分区或者3个主分区1个扩展分区

为什么MBR最多只能有4个主分区?

因为分区表占据64个字节,其中每个分区的信息占用16个字节分区表里面可以记录四个分区信息描述。

2、GPT分区

GPT(GUID Partition Table,全局唯一标识分区表)是一种比MBR分区更先进、更灵活的磁盘分区模式

在默认情况下,GPT最多可支持128个分区

支持大于2.2TB的总容量及大于2.2TB的分区,最大支持

18EB(1EB=1024PB,1PB=1024TB,1TB=1024GB)

GPT分区表自带备份

向后兼容MBR,GPT分区表上包含保护性的MBR区域

查看磁盘信息(块设备)

[root@kongd ~]# lsblk   (block的缩写)

虚拟磁盘类型

IDE(I)(推荐) 磁盘文件名为/dev/hd[a-d]

SCSI(S)  磁盘文件名为/dev/sd[a-z]

SATA(A)  磁盘文件名为/dev/sd[a-z]

NVMe(V)  磁盘文件名为/dev/nvme0n[1-10..](固态硬盘)

只有在虚拟机电源处于关闭状态时,才能添加 IDE 磁盘。

只有在虚拟机电源处于关闭状态时,才能添加 NVMe磁盘。

#示例1:创建gpt格式的分区

[root@xxx ~]# fdisk  /dev/nvme0n2

Welcome to fdisk (util-linux 2.37.4).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table.

Created a new DOS disklabel with disk identifier 0xbbf5e9a9.

Command (m for help): p   #打印

Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors

Disk model: VMware Virtual NVMe Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos    #dos代表的是mbr。fdisk 默认分区为mbr。

Disk identifier: 0xbbf5e9a9

Command (m for help): g   #创建gpt格式分区

Created a new GPT disklabel (GUID: 317F64E5-AE7A-FF4A-8DD1-BF52D70E4F73).

Command (m for help): p

Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors

Disk model: VMware Virtual NVMe Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: gpt    #gpt代表的是gpt分区

Disk identifier: 317F64E5-AE7A-FF4A-8DD1-BF52D70E4F73

Command (m for help): n   #添加分区

Partition number (1-128, default 1):   #分区编号,默认是1

First sector (2048-41943006, default 2048):  #从哪里开始,默认从2048开始

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943006, default 41943006): +5g  #选择大小。

Created a new partition 1 of type 'Linux filesystem' and of size 5 GiB.

Command (m for help): p  #打印

Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors

Disk model: VMware Virtual NVMe Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: gpt

Disk identifier: 317F64E5-AE7A-FF4A-8DD1-BF52D70E4F73

Device         Start      End  Sectors Size Type

/dev/nvme0n2p1  2048 10487807 10485760   5G Linux filesystem

Command (m for help): w   #保存并退出

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

[root@xxx ~]# lsblk -p   #查看

NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS

/dev/sr0                   11:0    1  9.8G  0 rom  /run/media/root/RHEL-9-3-0-BaseOS-x86_64

/dev/nvme0n1              259:0    0   20G  0 disk

├─/dev/nvme0n1p1          259:1    0  600M  0 part /boot/efi

├─/dev/nvme0n1p2          259:2    0    1G  0 part /boot

└─/dev/nvme0n1p3          259:3    0 18.4G  0 part

  ├─/dev/mapper/rhel-root 253:0    0 16.4G  0 lvm  /

  └─/dev/mapper/rhel-swap 253:1    0    2G  0 lvm  [SWAP]

/dev/nvme0n2              259:4    0   20G  0 disk

└─/dev/nvme0n2p1          259:5    0    5G  0 part

[root@xxx ~]# fdisk -l /dev/nvme0n2   #查看

Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors

Disk model: VMware Virtual NVMe Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: gpt

Disk identifier: 317F64E5-AE7A-FF4A-8DD1-BF52D70E4F73

Device         Start      End  Sectors Size Type

/dev/nvme0n2p1  2048 10487807 10485760   5G Linux filesystem

[root@xxx ~]#

[root@xxx ~]#

[root@xxx ~]#

[root@xxx ~]#

Command (m for help): d    #删除分区

Selected partition 1 #选择分区1删除

Partition 1 has been deleted. #分区1已删除

Command (m for help): n   #添加分区

   l   logical (numbered from 5) #l代表逻辑分区

   p   primary (1 primary, 0 extended, 3 free)   #p代表主分区

   e   extended (container for logical partitions)   #e代表扩展分区

Partition number (2-4, default 2): #分区编号

First sector (4196352-41943039, default 4196352): #开始位置

Last sector, +/-sectors or +/-size{K,M,G,T,P} (4196352-41943039, default 41943039): +4g #选择大小,设置为4g

Created a new partition 2 of type 'Extended' and of size 4 GiB.

注意:硬盘也可以不分区

分区格式化(创建文件系统)

格式化的目的: 是为了形成文件系统,文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。

理解为:画格子

文件系统的类型:ext2、ext3、ext4、xfs

文件系统

优点

缺点

ext2

简单和稳定,是最早的Linux文件系统之一。 资源消耗较低,适合在资源有限的环境下使用。

不支持日志功能,文件系统崩溃后恢复数据的能力较差。 不适合大容量存储或者需要频繁写入的场景,容易产生碎片。

ext3

支持日志功能,提高了文件系统的稳定性和可靠性。 能够在崩溃时快速恢复文件系统,减少数据损失。

对大文件的性能表现不如其他文件系统,因为其设计时考虑了更多的数据一致性而非性能优化。

ext4

改进了性能和可靠性,特别是针对大容量存储和大文件操作进行了优化。 支持更大的文件和分区大小。 提供更高的文件系统检查和恢复能力。

在某些情况下可能会牺牲一些数据一致性来获得更高的性能。

xfs

非常适合大文件和大容量的存储需求,有着出色的性能表现。 支持高达16 EB的文件系统和文件大小。 有效地管理大容量的数据,并具有良好的扩展性和高并发性能。

在处理大量小文件时,性能可能不如其他文件系统。

mkfs :用来创建文件系统

blkid : 打印块设备属性,默认打印所有

示例1: 给上面的mbr格式分区中的主分区创建ext4的文件系统。逻辑分区创建xfs的文件系统。

[root@xxx ~]# mkfs.ext4 /dev/nvme0n2p1   #给/dev/nvme0n2p1创建ext4类型的文件系统

[root@xxx ~]# mkfs.xfs /dev/nvme0n2p5   #给/dev/nvme0n2p5创建xfs类型的文件系统

[root@xxx ~]#

[root@xxx ~]# blkid   #查看信息

[root@xxx ~]#

注意:一块硬盘中不可以同时有mbr和gpt分区,也就是说一个硬盘只能是一种分区格式。但是不同的硬盘中可以是不同的文件系统。

【面试笔试】常见的文件系统类型?

答:ext2、ext3、ext4、xfs

分区挂载

挂载:将文件系统的内容(通常是存储设备上的内容)映射到指定的目录,使得可以访问这些内容。

mount :挂载一个文件系统

示例:将上面的ext4类型的文件系统的主分区挂载到/tmp/test1目录,并写入文件内容为 "this is xixi" 文件名为xixi.txt的文件。xfs类型的文件系统的逻辑分区挂载到/tmp/test2目录,并写入文件内容为 "this is haha" 文件名为haha.txt的文件。

[root@xxx ~]# mkdir /root/test1    #创建/root/test1文件

[root@xxx ~]# mkdir /root/test2    

[root@xxx ~]# mkdir /root/test3

[root@xxx ~]# mount /dev/nvme0n2p1 /root/test1  #把/dev/nvme0n2p1 挂载到/root/test1

[root@xxx ~]# mount  #查看挂载

[root@xxx ~]# cd /root/test1  #去到挂载目录

[root@xxx test1]# echo this is test1 > 1.txt   #在挂载目录里面创建一个文件内容为this is test1 文件名为1.txt的文件

[root@xxx ~]# umount /dev/nvme0n2p1   #umount 取消挂载。把/dev/nvme0n2p1取消挂载。以分区来取消挂载

[root@xxx ~]# umount /root/test2   #umount取消挂载。以挂载的目录取消

#注意:不要在挂载目录里面去取消挂载

[root@xxx ~]# mount /dev/nvme0n2p5 /root/test3

[root@xxx ~]# cd /root/test3

[root@xxx test3]# ls

[root@xxx test3]# umount /dev/nvme0n2p5

umount: /root/test3: target is busy.

[root@xxx test3]# cd

[root@xxx ~]# umount /dev/nvme0n2p5

[root@xxx ~]#

【注意】

单一文件系统不应该被重复挂载在不同的挂载点(目录)中

单一目录不应该重复挂载多个文件系统

作为挂载点的目录,应为空目录,否则原有数据会隐藏

查看磁盘空间使用量:df,du

df : 查看磁盘空间的使用情况(-h)

du : 某个文件或者目录所占用的磁盘空间情况。(-h)

[root@xxx ~]# df -h

[root@xxx ~]# du -h

lvm逻辑卷

LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组,形成一个存储池。管理员可以在卷组上任意创建逻辑卷,并进一步在逻辑卷上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。

假设有三块磁盘/dev/sdb、/dev/sdc和/dev/sdd用来划分逻辑卷,LVM模型如图所示:

创建逻辑卷(lvm)

创建逻辑卷(lvm)流程:pv -> vg -> lv

1、创建物理卷(pv)

#创建pv,命令:pvcreate 要创建为物理卷的设备或分区
[root@localhost ~]# pvcreate /dev/sda1 /dev/sdb1

WARNING: ext4 signature detected on /dev/sda1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sda1.
  Physical volume "/dev/sda1" successfully created.
  Physical volume "/dev/sdb1" successfully created.
  
  
[root@localhost ~]# pvscan       #列出所有物理卷(pv),简写pvs
  PV /dev/nvme0n1p3   VG rhel            lvm2 [18.41 GiB / 0    free]
  PV /dev/sda1                           lvm2 [5.00 GiB]
  PV /dev/sdb1                           lvm2 [2.00 GiB]
  Total: 3 [25.41 GiB] / in use: 1 [18.41 GiB] / in no VG: 2 [7.00 GiB]

[root@localhost ~]# pvdisplay    #显示物理卷(pv)的各种属性

2、创建卷组(vg)

# 命令:vgcreate 卷组名称    物理卷名称
[root@localhost ~]# vgcreate vg01 /dev/sda1 /dev/sdb1
  Volume group "vg01" successfully created
  
  
[root@localhost ~]# vgs        #搜索所有的卷组
  VG   #PV #LV #SN Attr   VSize  VFree
  rhel   1   2   0 wz--n- 18.41g    0 
  vg01   2   0   0 wz--n-  6.99g 6.99g
[root@localhost ~]# vgdisplay         #展示卷组的信息

3、创建逻辑卷(lv)

# 命令:lvcreate -n 逻辑卷名称 -L 逻辑卷大小    卷组名称
[root@localhost ~]# lvcreate -n lv01 -L 3G vg01        #大小不能大于vg的大小。
  Logical volume "lv01" created.
  
[root@localhost ~]# lvs        #展示逻辑卷的信息
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 16.41g                                                    
  swap rhel -wi-ao----  2.00g                                                    
  lv01 vg01 -wi-a-----  3.00g                                                    
[root@localhost ~]# lvdisplay         #展示逻辑卷的详细信息

4、格式化

#lsblk -p 或者fdisk -l  查看lvm的完整设备文件名
[root@localhost dev]# fdisk -l

....

Disk /dev/mapper/vg01-lv01: 3 GiB, 3221225472 bytes, 6291456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


#格式化
[root@localhost ~]# mkfs.xfs /dev/mapper/vg01-lv01 
meta-data=/dev/mapper/vg01-lv01  isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=786432, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# 

注意:mkfs.xfs /dev/mapper/vg01-lv01 可以换成mkfs.xfs /dev/vg01/lv01,因为都是dm-2的软链接。
[root@localhost ~]# ll /dev/mapper/vg01-lv01 
lrwxrwxrwx. 1 root root 7 Apr 15 15:21 /dev/mapper/vg01-lv01 -> ../dm-2
[root@localhost ~]# ll /dev/vg01/lv01 
lrwxrwxrwx. 1 root root 7 Apr 15 15:21 /dev/vg01/lv01 -> ../dm-2
[root@localhost ~]# 

5、挂载

[root@localhost ~]# mkdir test4
[root@localhost ~]# ll test4
total 0
[root@localhost ~]# mount /dev/mapper/vg01-lv01 test4
[root@localhost ~]# df -h | grep test4
/dev/mapper/vg01-lv01  3.0G   54M  3.0G   2% /root/test4
[root@localhost ~]# 

删除逻辑卷(lvm)

创建逻辑卷(lvm)流程:lv -> vg -> pv

#卸载
[root@localhost ~]# umount test4
[root@localhost ~]# df -h | grep test4

[root@localhost ~]# lvremove /dev/mapper/vg01-lv01
Do you really want to remove active logical volume vg01/lv01? [y/n]: y
  Logical volume "lv01" successfully removed.
  
[root@localhost ~]# vgremove vg01 
  Volume group "vg01" successfully removed
  
[root@localhost ~]# pvremove /dev/sda1
  Labels on physical volume "/dev/sda1" successfully wiped.
[root@localhost ~]# pvremove /dev/sdb1
  Labels on physical volume "/dev/sdb1" successfully wiped.
[root@localhost ~]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云服务部署项目(Spring + Vue)

云计算:腾讯云 操作系统:Ubuntu 22.04.4 LTS 项目:若依前后端分离项目(SpringBoot Vue) 首先要安装基本的一些依赖环境,大家可以看一下我往期的文章: Ubuntu在线JDK Ubuntu在线安装Nginx Ubunt…

文件解析的终极工具:Apache Tika

文件解析的终极工具:Apache Tika Apache Tika 简介 Apache Tika 是一个开源的、跨平台的库,用于检测、提取和解析各种类型文件的元数据。 它支持多种文件格式,包括文档、图片、音频和视频。 Tika是一个底层库,经常用于搜索引擎…

Android 列表或网格形式展示大量数据:RecyclerView

目录 RecyclerView是什么如何使用RecyclerView 涉及到的类LayoutManager为Item设置不同的布局样式制作拖动的RecyclerView 一、RecyclerView是什么 RecyclerView是Android支持库中的一个控件,用于在列表或网格形式展示大量数据。它是ListView的升级版&#xff0c…

《梦醒蝶飞:释放Excel函数与公式的力量》18.1 图表类型与设计

第18章:创建图表和数据可视化 18.1 图表类型与设计 Excel提供了多种图表类型,帮助用户以直观的方式展示数据。选择合适的图表类型和设计可以显著提高数据的可读性和理解度。以下将介绍常见的图表类型及其应用,并通过具体案例进行说明。 18.…

如何利用Jenkins自动化管理、部署数百个应用

目录 1. Jenkins 安装与部署步骤 1.1 系统要求 1.2 安装步骤 1.2.1 Windows 系统 1.2.2 CentOS 系统 1.3 初次配置 2. Gradle 详细配置方式 2.1 安装 Gradle 2.1.1 Windows 系统 2.1.2 CentOS 系统 2.2 配置 Jenkins 中的 Gradle 3. JDK 详细配置方式 3.1 安装 JD…

Java:防止输入输出超时

一、防止输入超时 当我们直接使用Scanner进行输入操作的时候,每次读取输入的数据都会进行一次硬盘的IO操作,这个操作是很慢的,如果要读取的数据过多,那么我们在刷题网站上就很有可能因为多次的数据读取操作产生超时!那…

渠道查问卷调查个人怎么做?

大家好,我是橙河老师,今天讲一讲渠道查问卷调查个人怎么做? 对海外问卷项目有过一些了解的人呢,都应该知道一些渠道查的优势,首先是省去了注册账号、养号一系列的繁琐操作,那通过测题、做题,然…

vscode调试nextjs前端后端程序、nextjs api接口

最近有一个项目使用了nextjs框架,并且使用nextjs同时实现了前后端,由于之前前后端都是分离的,前端的调试可以通过在代码种添加debugger或者直接在浏览器中打断点实现,现在想调试后端接口,前面的方式就不适用了。故研究…

CMA软件实验室评审如何做好人员技术能力的评价?

人员作为实验室的一个重要质量因素,其技术能力和素质水平体现了实验室水平的高低。人员能力是随着时间动态变化的,有效地评价实验室人员的技术能力,是保证实验室活动的必要条件。CMA软件实验室评审也要求实验室要注意对人员能力的监督&#x…

基于web的物流配送管理系统/基于客户时间窗变化的物流配送管理系统/快递配送管理系统

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&a…

性能测试工具、负载测试工具、缺陷跟踪工具推荐

负载测试工具 - 有助于对站点或应用程序进行性能/负载测试 1)WebLOAD WebLOAD 是一款出色的测试工具,提供了许多强大的脚本功能,有助于测试复杂场景。该工具支持从 Selenium 到移动端、从企业应用到网络协议的数百种技术。使用这款工具可以…

JAVA.包、final、权限

包 final 权限 代码块 1.构造代码块 创建这个本类的对象的时候会先指向构造代码块再执行构造方法 作用:把构造方法重复的部分抽取出来 2.静态代码块 static 随着类的加载而加载,只执行一次。 作用:数据初始化,比如在学生管…

CSS学习笔记[Web开发]

CSS学习 本文为学习笔记,参考菜鸟和w3c 文章目录 CSS 简介CSS 插入外部 CSS内部 CSS行内 CSS多个样式表层叠顺序 CSS 语法例子解释 CSS 选择器CSS 元素选择器CSS id 选择器实例CSS 类选择器实例CSS 通用选择器实例CSS 分组选择器CSS 后代选择器CSS 子元素选择器CSS …

OnlyOffice社区版部署及前端嵌入使用实现office的docx、xlsx等在线协同编辑预览

一、OnlyOffice介绍 ONLYOFFICE 是一款功能丰富的在线办公软件。它由 Ascensio System SIA 公司开发,有社区版、企业版和开发版等版本。本教程介绍开源社区版的安装使用,实现查看、编辑并协作处理文档、工作表、幻灯片,多人实时协同编辑&…

「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树

效果 如图所示 实现 import { createRoot } from react-dom/client; import React, { useState } from react; import { Tree, Input, Button } from antd; import { PlusOutlined } from ant-design/icons;const { TreeNode } Tree; const { Search } Input;const ini…

视频怎么加密?常见的四种视频加密方法和软件

视频加密是一种重要的技术手段,用于保护视频内容不被未经授权的用户获取、复制、修改或传播。在加密过程中,安企神软件作为一种专业的加密工具,可以发挥重要作用。 以下将详细介绍如何使用安企神软件对视频进行加密,并探讨视频加密…

C# 基础语法(一篇包学会的)

C#(读作"C Sharp")是一种现代的、通用的面向对象编程语言,由微软公司开发。它结合了C和C的强大特性,并去掉了一些复杂性,使得开发者可以更加高效地编写代码。 一、入坑C# (一) 安装和设置 首先&#xff0c…

Vue 实现电子签名并生成签名图片

目录 前言项目结构代码实现 安装依赖创建签名画布组件生成签名图片 总结相关阅读 1. 前言 电子签名在现代Web应用中越来越普遍,例如合同签署、确认表单等。本文将介绍如何使用Vue.js实现一个简单的电子签名功能,并将签名生成图片。 2. 项目结构 项…

外行对自动驾驶汽车的一些想法-2024-

起源 前段时间有关于自动驾驶汽车的讨论,现在热度终于快过去了。 (⊙﹏⊙) 其实,完全不用担心自动驾驶取代人类。 引用 这是一篇24年4月的报道。 上图为引用,可以看到打工人的忙碌。 2023 一个热爱自动驾驶但妥妥外行之人的思考-2023-C…

【进程检测】使用pywin32捕获window进程信息

需求 检测win系统依赖服务进程的运行情况,版本信息(进程检测器)检测内外网连接情况 实现 进程检测 # 使用pywin32获取进程版本信息 def get_version_info(path):try:info GetFileVersionInfo(path, \\)ms info[FileVersionMS]ls info[…