磁盘管理与磁盘卷--红帽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.xdnf.cn/news/1488928.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

深入剖析:GaussDB与MySQL在COUNT查询中的并行化技术

引言 数据库查询性能优化是数据库管理和开发中的一个重要议题。在处理大数据量的COUNT查询时,传统的单线程处理方式可能无法满足现代应用的性能需求。GaussDB(for MySQL)和MySQL作为流行的数据库系统,它们在并行查询优化方面有着各自的策略和技术。本文…

嵌入式中什么是三次握手

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」,点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!! 在网络数据传输中&#xf…

第2章 编译SDK

安装编译依赖 sudo apt-get update sudo apt-get install clang-format astyle libncurses5-dev build-essential python-configparser sconssudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \ expect g patchelf chrpath gawk texinfo chrpath diffstat …

数据结构(Java):Map集合Set集合哈希表

目录 1、介绍 1.1 Map和Set 1.2 模型 2、Map集合 2.1 Map集合说明 2.2 Map.Entry<K&#xff0c;V> 2.3 Map常用方法 2.4 Map注意事项及实现类 3、Set集合 3.1 Set集合说明 3.2 Set常用方法 3.3 Set注意事项及其实现类 4、TreeMap&TreeSet 4.1 集合类TreeM…

盛元广通实验室自动化生物样本库质量控制管理系统

随着我国生物医学研究的不断深入和精准医疗的快速发展&#xff0c;对高质量生物样本的需求日益增长。近年来&#xff0c;我国生物样本库建设取得了显著进展。各级政府、高校和医院纷纷投入资源建设生物样本库&#xff0c;推动了生物样本资源的有效整合和利用。生物样本库的质量…

【C++】初识C++基础篇·一(命名空间,函数重载,缺省参数,引用);

文章目录 前言1.输入与输出输出输入cin和scanf的对比 2.命名空间2.1namespace存在的意义2.2namespace的使用3.缺省参数4.函数重载重载函数的调用规则 5.引用 前言 我们先通过一段简单的代码来拉开C的序幕&#xff1b; //text.cpp #include<iostream> #include<stdio…

钡铼网关实时数据互联,加速IEC104与MQTT云平台对接

随着工业4.0时代的到来&#xff0c;电力系统中的数据采集、监控与远程控制需求日益增长。IEC 104&#xff08;IEC 60870-5-104&#xff09;作为国际电工委员会&#xff08;IEC&#xff09;制定的电力自动化通信协议&#xff0c;广泛应用于电力系统的状态监测、数据采集和设备控…

【推研小灶】复旦与南大之间:一次独特的计算机保研之旅

写在前面 上午10点填完志愿等待复试通知&#xff0c;利用这段时间记录一下我简短的夏令营和预推免。今年变为线下之后&#xff0c;部分学校的入营情况、考核方式有明显变化。加上CS方向保研名额总体变多&#xff0c;形势有点小乱&#xff0c;甚至填报系统都在9.29中秋节当天&a…

如何优化 Nginx 处理特定 MIME 类型的性能?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; 文章目录 如何优化 Nginx 处理特定 MIME 类型的性能&#xff1f;一、了解 MIME 类型二、分析性能瓶颈三、优化配置1. 开启 Gzip 压缩2. 调整缓存策略3. 优化服务器资源分配…

【C++进阶学习】第九弹——哈希的原理与实现——开放寻址法的讲解

前言&#xff1a; 在前面&#xff0c;我们已经学习了很多存储机构&#xff0c;包括线性存储、树性存储等&#xff0c;并学习了多种拓展结构&#xff0c;效率也越来越高&#xff0c;但是是否有一种存储结构可以在大部分问题中都一次找到目标值呢&#xff1f;哈希可能能实现 目录…

el-tree树添加向下移动按钮,前端界面调整顺序

需求&#xff1a;树上添加向下按钮&#xff0c;再不调用接口的情况下&#xff0c;调整树的顺序结构 遇到的问题&#xff1a;第一次点击更新的&#xff0c;数据和视图是调整好的&#xff0c;再次点击页面调整顺序&#xff0c;只有数据被调整了&#xff0c;视图没有发生改变。 &…

我澄清下,大数据界面虽然有点花,但对趋势的判断还是很准的!

我澄清下&#xff0c;大数据界面虽然有点花&#xff0c;但对趋势的判断还是很准的&#xff01; 艾斯视觉的观点认为&#xff1a;在这个充满不确定性的世界里&#xff0c;大数据就像一位智者&#xff0c;透过那些令人眼花缭乱的界面&#xff0c;总能以它独到的洞察力&#xff0…

链路聚合加单臂路由

一、实验目的及拓扑 实验目的&#xff1a;在路由器及交换机之间建立链接聚合&#xff0c;交换机接入两台主机并通过路由器子接口自动分配IP地址&#xff0c;通过单臂路由实现两台主机互联 二、基本配置 1、交换机配置 [S1]vlan batch 10 20 [S1-Eth-Trunk1]dis th # interf…

eclipse ui bug

eclipse ui bug界面缺陷&#xff0c;可能项目过多&#xff0c;特别maven项目过多&#xff0c;下载&#xff0c;自动编译&#xff0c;加载更新界面异常 所有窗口死活Restore不回去了 1&#xff09;尝试创建项目&#xff0c;还原界面&#xff0c;失败 2&#xff09;关闭所有窗口&…

mysql面试(六)

前言 本章节详细讲解了一下mysql执行计划相关的属性释义&#xff0c;以及不同sql所出现的不同效果 执行计划 一条查询语句经过mysql查询优化器的各种基于成本和各种规则优化之后&#xff0c;会生成一个所谓的 执行计划&#xff0c;这个执行计划展示了这条查询语句具体查询方…

模拟can信号实现通信

实车上算法一般通过ros进行通信&#xff0c;车辆和控制器之间则通过can通信实现&#xff0c;今天来学习一下如何模拟这个can。 can信号的发送和接收一般是需要载体的&#xff0c;我们一般都有can0和can1设备可以使用&#xff0c;在电脑上创建这个设备&#xff1a; 加载vcan内核…

数据库开发:MySQL基础(二)

MySQL基础&#xff08;二&#xff09; 一、表的关联关系 在关系型数据库中&#xff0c;表之间可以通过关联关系进行连接和查询。关联关系是指两个或多个表之间的关系&#xff0c;通过共享相同的列或键来建立连接。常见的关联关系有三种类型&#xff1a;一对多关系&#xff0c;…

Talk|新加坡国立大学赵轩磊:Pyramid Attention Broadcast - 通向视频模型的实时生成

本期为TechBeat人工智能社区第612期线上Talk&#xff01; 北京时间7月25日(周四)20:00&#xff0c;新加坡国立大学博士生—赵轩磊的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “Pyramid Attention Broadcast - 通向视频模型的实时生成”&#x…

Spring Boot中如何实现全链路调用日志跟踪?

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 引言 在Spring Boot中实现全链路调用日志跟踪&#xff0c;主要依赖于Mapped Diagnostic Context&#xff08;MDC&#xff09;功能。MDC是一种用于在多线程条件下记录日志的功能&#xff0c;它可以看作是与当…

深入分析 Android ContentProvider (五)

文章目录 深入分析 Android ContentProvider (五)ContentProvider 的性能优化和实践案例1. 性能优化技巧1.1. 数据库索引优化示例&#xff1a;添加索引 1.2. 批量操作与事务管理示例&#xff1a;批量插入操作 1.3. 使用异步操作示例&#xff1a;使用 AsyncTask 进行异步查询 1.…