Linux存储管理I

news2024/11/19 14:31:18

存储管理I

一 .存储管理

主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID

1.1.初识硬盘
机械 HDD(Hard Disk Drive)
固态 SSD(Solid State Drive):优点:读写速度快、防震抗摔性、低功耗、无噪音、工作温度范围大、轻便;缺点:容量小、寿命有限、售价高。

SSD的优势

SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。

与传统硬盘相比,SSD固态电子盘具有以下优点:

第一,SSD完全的半导体化,不存在数据查找时间、延迟时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。  
第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。 
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。

硬盘尺寸

3.5寸  2.5寸 1.8寸

从插拔方式

#热插拔 即带电插拔,是指将设备板卡或模块等带电接入或移出正在工作的系统,而不影响系统工作的技术。
非热插拔

从硬盘接口

IDE(已经淘汰---也叫ATA) --——  SATA (Serial ATA),是当前主流的一种硬盘接口  
SCSI(小型计算机的接口--很少了)   ——  SAS代替了scsi (串行附加 SCSISerialAttached SCSI),当前SAS接口居多
特性SATASAS
连接器类型15 针电源,7 针数据(分离式连接器)15 针电源,7 针数据(合并式连接器)
速度5400 至 7200 RPM,数据传输速度高达 6Gb/s7200 至 15000 RPM,数据传输速度高达 12Gb/s(使用双端口 SAS)
可靠性在 25°C 下 70 万至 120 万小时,可能在长时间使用后发生故障。在 45°C 下 120 万至 160 万小时,设计用于 7 X 24 小时使用。
价格性价比高相对更贵
使用场景消费级电脑、笔记本电脑和存储解决方案企业环境,如服务器和数据中心

IDE和SATA的区别:

1、接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大。
2、SATA支持热插拔。

SAS与SCSI的区别

1、接口不同;
2、SAS兼容SATA,SCSI不兼容SATA;

硬盘设备命名

物理硬盘:    /dev/sd[a-z]
​
KVM虚拟化:
/dev/vd[a-z](半虚拟化驱动)
/dev/sd[a-z](全虚拟化驱动)
1.2从磁盘分区方式区分
MBR格式
分区命令:fdisk  
MBR(Master Boot Record):MBR是传统的磁盘分区表格式,也被称为DOS分区结构,它位于硬盘的第一个扇区(扇区0),通常为512字节大小。MBR分区表最多支持4个主分区,或者3个主分区和1个扩展分区,每个主分区或扩展分区最多可以有2.2TB的容量限制。由于容量限制和其他限制,MBR分区表在现代计算机中已经逐渐被UEFI和GPT取代。
一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑,基于扩展分区)
MBR 适用于小于2TB的硬盘。
一块硬盘最多分4个主分区。
GPT格式
分区命令:gdisk(parted---rhel6)
GPT(GUID Partition Table,全局唯一标识分区表):GPT是一种更先进的磁盘分区表格式,它使用全局唯一标识符(GUID)来标识分区和磁盘。GPT分区表支持更大的磁盘容量(超过2TB),并且允许最多128个分区。除了提供更大的容量和更多的分区之外,GPT还提供了数据完整性校验和磁盘备份表等功能,使其在现代计算机系统中更为常见。
一共可以分128个主分区
GPT大于小于2TB都可以。
#注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!

Boot code 启动代码

Primary partion table:主分区表

二.基本分区

首先需要先给虚拟机添加磁盘

lsblkl——list block,用于列出所有可用块设备的信息,并显示块设备之间的依赖关系

[root@linux-server ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Nov  7 23:15 /dev/sda
brw-rw----. 1 root disk 8,  1 Nov  7 23:15 /dev/sda1
brw-rw----. 1 root disk 8,  2 Nov  7 23:15 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov  7 23:15 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov  7 23:15 /dev/sdc
[root@linux-server ~]# lsblk           # 查看磁盘设备的分区
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
sdc               8:32   0   10G  0 disk 
2.1.fdisk
  • 早期的磁盘使用 fdisk 工具分区,fdisk只能用于MBR分区,最大限制磁盘容量 2T

语法:fdisk [选项] 设备文件名
-l:显示设备的分区表信息。
-n:创建一个新的分区。
-d:删除一个分区。
-p:打印分区表的内容。
-t:更改分区的类型。
-u:以扇区单位显示分区信息。
-w:将分区表写入磁盘。
[root@linux-server ~]# fdisk -l /dev/sdb #查看磁盘分区信息
[root@linux-server ~]# fdisk /dev/sdb    #针对MBR格式,创建分区
                                         # m  查看帮助
Command (m for help): n                  # n  新建分区
Partition type: p                        #新建主分区
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Using default response p                 #默认回车
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G
Partition 1 of type Linux and of size 5 GiB is set
设置主分区大小创建主分区,然后
Command (m for help): p  ---打印分区信息
#创建扩展分区
Command (m for help): n               #创建扩展分区
Partition type:
   p   primary (1 primary      , 0 extended, 3 free)
   e   extended
Select (default p): e
Partition number (2-4, default 2):   
First sector (10487808-20971519, default 10487808): 
Using default value 10487808
Last sector, +sectors or +size{K,M,G} (10487808-20971519, default 20971519): 
Using default value 20971519   #注意:扩展分区将剩下的空间全都给了,一路回车即可
Partition 2 of type Extended and of size 5 GiB is set
#创建逻辑分区
Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l                 ​​​​#创建逻辑分区
Adding logical partition 5 
First sector (208896-20971519, default 208896): #默认
Using default value 208896
Last sector, +sectors or +size{K,M,G} (208896-20971519, default 20971519): +2G 
                        ​​​​​​​        ​​​​​​​        ​​​​​​​        #指定大小
Partition 5 of type Linux and of size 2 GiB is set
Command (m for help): w   #保存退出
[root@linux-server ~]# partprobe /dev/sdb   
                          #更新磁盘分区表,手动让内核更新分区表。不需要重启reboot
[root@linux-server ~]# lsblk #查看磁盘设备

sdb2——扩展分区(1K是因为存储放到逻辑分区)

sdb5——逻辑分区

2.2 gdisk
  • gdisk 又叫 GPT fdisk,是fdisk的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。

转格式的时候保证此分区没有被系统占用。
[root@qfedu.com ~]# parted -s /dev/sdc mklabel gpt   
        ​​​​​​​        ​​​​​​​        #将/dev/sdc(MBR格式)转换成(GPT格式)
[root@qfedu.com ~]# parted -s /dev/sdc mklabel msdos  
        ​​​​​​​        ​​​​​​​        #将/dev/sda(GPT格式)转换成(MBR格式)
1.创建分区
[root@linux-server ~]# yum -y install gdisk          # 安装分区工具
[root@linux-server ~]# gdisk -l /dev/sdc
[root@linux-server ~]# gdisk /dev/sdc
Command (? for help): n                              # 创建分区
Partition number (1-128, default 1): 
First sector (34-16777182, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-16777182, default = 16777182) or {+-}size{KMGTP}: +100M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):    # 直接回车
Command (? for help): p   --打印分区信息
Command (? for help): w    ---保存
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y   是否覆盖是
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@linux-server ~]# partprobe /dev/sdc             # 刷新分区表
[root@linux-server ~]# gdisk -l /dev/sdc
[root@linux-server ~]# lsblk

2.创建文件系统(格式化)centos7默认使用xfs

创建文件系统——mkfs:make filesystem

文件系统是一种将数据存储在磁盘上的组织方式,它提供了文件和目录的组织和管理方式,使用户可以方便地访问和操作文件和目录。
底层原理上,Linux的文件系统是在磁盘上分配一定的空间用于存储文件和目录。当用户创建一个新文件或目录时,文件系统会在磁盘上分配一块空间,然后记录文件或目录的信息,例如文件名、大小、权限等。文件系统会把文件或目录的数据存储在磁盘的特定位置上,这样用户在访问文件或目录时就可以直接读取这些数据。
[root@linux-server ~]# mkfs.ext4 /dev/sdb1   #格式化成ext4格式的文件系统
[root@linux-server ~]# mkfs.xfs /dev/sdc1   
                        #格式化成xfs格式的文件系统(make file system)
3.挂载mount使用
[root@linux-server ~]# mkdir /mnt/disk1   #创建挂载目录
[root@linux-server ~]# mkdir /mnt/disks   #创建挂载目录
[root@linux-server ~]# mount  /dev/sdb1 /mnt/disk1/ #挂载disk1目录到sdb1目录
[root@linux-server ~]# mount /dev/sdc1 /mnt/disks/

查看磁盘挂载与磁盘使用空间

df:disk free的缩写,用于列出文件系统的整体磁盘使用量

语法:df [-a -h -i -k -H -T -m] [目录或文件名]
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示磁盘空间大小;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
[root@linux-server ~]# df -Th   #查看磁盘空间的详细信息(格式、类型等)
                        类型     大小   可用   使用
                                              百分比 挂载点
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  979M     0  979M   0% /dev
tmpfs                   tmpfs     991M     0  991M   0% /dev/shm
tmpfs                   tmpfs     991M  9.6M  981M   1% /run
tmpfs                   tmpfs     991M     0  991M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        18G  6.8G   11G  39% /
/dev/sda1               xfs       497M  131M  367M  27% /boot
tmpfs                   tmpfs     199M     0  199M   0% /run/user/0
/dev/sdb1               ext4      4.8G   20M  4.6G   1% /mnt/disk1
/dev/sdc1               xfs        97M  5.3M   92M   6% /mnt/disks
取消挂载
[root@linux-server ~]# umount /mnt/disks/
[root@linux-server ~]# umount -l /mnt/disk1/ 
                # 强行卸载,即使目录有资源被进程占用,也可以卸载

三、fstab开机自动挂载

fstab只能对磁盘或挂载设备

3.1./etc/fstab文件实现开机的时候自动挂载
[root@linux-server ~]# blkid /dev/sdb1  # 查看uuid和文件系统类型
/dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
[root@linux-server ~]# vim /etc/fstab   # 实现开机自动挂载
参数解释:
第1列:挂载设备名(两种写法)   (1)/dev/sda5       (2)UUID=设备的uuid      
第2列:挂载点 /mnt/disk1
第3列:文件系统类型               ext4、xfs
第4列:文件系统属性               defaults
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查

[root@qfedu.com ~]# mount -a #自动挂载

实战二

[root@linux-server ~]# vim /etc/fstab
/dev/sdc2       /mnt/disks      xfs     defaults        0 0
[root@linux-server ~]# mount -a
3.2/etc/rc.d/rc.local开机自动挂载
这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可
[root@linux-server ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
mount /dev/sdb1 /mnt/disk1/
mount /dev/sdc1 /mnt/disk2/
[root@linux-server ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@linux-server ~]# reboot

文件系统

文件系统分类

1.1分类
分类:
本地文件系统,不能在网络上用。
ntfs  xfs  ext2,ext3,ext4
网络文件系统,也可以在本地用。
nfs   glusterfs   hdfs   ceph
nfs:(Network File System),网络文件系统,
glusterfs:开源的分布式文件系统
hdfs:Hadoop Distributed File System,是 Apache Hadoop 的核心组件之一
1.2概念
作用:
管理文件的一套系统。
文件的编辑,拷贝,粘贴,移动。
​
#理解inode:
inode :inode块、i节点--索引节点。专门存储inode信息。也就是是文件的属性-(也叫元信息).它是文件或目录在磁盘里的唯一标识,linux读取文件首先要读取到这个索引节点,每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
inode的内容
文件的字节数
文件拥有者的User ID
文件的Group ID
文件的读、写、执行权限
文件的时间戳,共有三个:ctime,mtime,atime。
链接数,即有多少文件名指向这个inode
查看inode

stat、ls -i

[root@linux-server ~]# stat /etc/hosts   #显示文件的状态信息
  File: ‘/etc/hosts’
  Size: 158             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 16778306    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-07-28 19:11:48.781000069 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2020-07-18 15:37:52.353025437 +0800
 Birth: -
文件:显示文件名。
大小:文件大小,以字节为单位。
块:分配给文件的块数。
IO块:每个块的字节大小。
设备:设备编号,十六进制或十进制格式。
Inode:这是文件的索引节点号。
链接:与文件关联的硬链接数。
访问权限:符号或数字格式的文件权限。
Uid:所有者的用户ID和名称。
Gid:群组ID和所有者名称。
上下文:SeLinux安全上下文
文件类型:显示文件的类型(常规文件,符号链接等)。
访问:显示上次访问文件的时间。
修改:显示上次更改文件内容的时间。
更改:显示文件元数据(例如权限和所有权)上次更改的时间。

 
[root@linux-server ~]# ls -i /etc/hosts  #-i:查看分区的inode号
16778306 /etc/hosts
1.3.EXT

ext4:ext4是Linux中最常用的文件系统之一,它是ext文件系统的进化版本。ext4提供了更快的文件系统检查和更好的性能,支持更大的文件和分区大小。它是许多Linux发行版的默认文件系统。

EXT 家族支持度最广:
但创建文件系统(格式化)慢!
修复慢!
文件系统存储容量有限!
1.4.XFS

XFS:XFS是一种高性能的日志文件系统,适用于大容量存储和大文件。它具有快速的读写速度、高效的空间管理和稳定的性能,在处理大文件和大型数据集时效果显著。

XFS 同样是一种日志式文件系統:
高容量,支持大存储
高性能,创建/修复文件系统快
格式化快

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

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

相关文章

笔记:SpringBoot+Vue全栈开发2

笔记:SpringBootVue全栈开发2 1. MVVM模式2. Vue组件化开发3. 第三方组件element-ui的使用4. axios网络请求5. 前端路由VueRouter 1. MVVM模式 MVVM是Model-View-ViewModel的缩写,是一种基于前端开发的架构模式,其核心是提供对View和ViewMod…

Shopee(虾皮)怎么获取流量?

店铺流量的高低会直接关联到卖家店铺单量,也关系到一个店铺的营业情况和利润,那么Shopee的流量从哪里来呢? Shopee的平台流量可分为五个部分: 1.自然流量 2.关键字广告流量 3.平台活动流量 4.营销流量 5.粉丝流量 怎么提升…

Vue + SpringBoot:el-upload组件单文件、多文件上传实战解析

文章目录 单文件上传后端前端 多文件上传后端前端 单文件上传 后端 PostMapping("/uploadDxfFile") public R uploadDxfFile(RequestParam(value "file", required true) MultipartFile multipartFile) throws Exception {// 文件校验工作if (multipar…

类和对象深入理解

目录 static成员概念静态成员变量面试题补充代码1代码2代码3如何访问private中的成员变量 静态成员函数静态成员函数没有this指针 特性 友元友元函数友元类 内部类特性1特性2 匿名对象拷贝对象时的一些编译器优化 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接…

Qtgui编程基础

Qt简介 ( 框架5.9.8版本 ) Qt是源代码级的跨平台一次编写到处编译.一次开发的Qt应用程序可以移值到不同平台. Qt体系架构 Qt的整个设计都是以单根继承为主这跟java相同.所谓单根继承就是说所有的Qt类都有一个共同的祖先都是QObject类QObject类后面有三个大的子类分别负责不同…

厌倦了Nvim、vim等命令行编辑器?来看看新血脉....

是否厌倦了那几款烂大街的命令行风格编辑器?今天就来给各位换换血,介绍几个新成员。 让我们深入了解这些文本编辑器的主要功能和优点: 1. Ox Editor:优雅的新秀 Ox Editor是一款新兴的终端文本编辑器,以其简洁和优雅…

汽车IVI中控开发入门及进阶(三十三):i.MX linux开发之开发板

前言: 大部分物料/芯片,不管MCU 还是SoC,都会有原厂提供配套开发板,有这样一个使用原型,在遇到问题时或者进行开发时可以使用。 i.MX 8QuadXPlus MEK board: 1、要测试display显示器,可使用i.MX mini SAS将“LVDS1_CH0”端口连接到LVDS到HDMI适配器的cable。 2、要测试…

接口参数化--代码支撑参数

如果测试的用例里传动态参数,就需要把列出规则,然后在代码里运用前期是把动态参数都列出了,现在需要运用 步骤: 先excel表中定义规范,将请求参数里的时间戳定义规则(规范也需要提前写出) 建立…

库表设计(基础)-实体与设计关系

实体关系分析 1 实体关系是指系统事务之间的联系。 2 实体关系需要双向分析。 3 实体关系决定表关系。 实体关系的种类 1 一对一 2 一对多 3 多对多 举例: 上面关系如下: 班级和学生 : 1:N 学生和课程:N : N 学生和学籍档案&a…

【MotionCap】pycharm 远程在wsl2 ubuntu20.04中root的miniconda3环境

pycharm wsl2 链接到pycharmsbin 都能看到内容,/root 下内容赋予了zhangbin 所有,pycharm还是看不到/root 下内容。sudo 安装了miniconda3 引发了这些问题 由于是在 root 用户安装的miniconda3 所以安装路径在/root/miniconda3 里 这导致了环境也是root用户的,会触发告警 WA…

温州网站建设方案及报价

随着互联网的发展,网站建设已经成为企业推广和营销的重要手段。温州作为中国经济发达地区之一,各行各业企业纷纷意识到网站建设的重要性,纷纷加大网站建设工作的投入。那么,温州网站建设方案及报价是怎样的呢?下面我们…

昇思25天学习打卡营第10天|ResNet50迁移学习

文章目录 昇思MindSpore应用实践基于MindSpore的ResNet50迁移学习1、迁移学习简介2、加载ImageNet数据集数据集可视化 3、ResNet50 模型4、模型训练固定特征进行训练 5、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25天学习打卡营的学习心得。 基于…

AI革命:RAG技术引领未来智能

AI革命:RAG技术引领未来智能 在人工智能的浪潮中,一种名为RAG(Retrieval-Augmented Generation)的技术正在悄然改变我们的世界。这种技术通过整合外部知识库,极大地增强了大型语言模型(LLM)的性能,为智能助手、聊天机器人等应用带来了革命性的提升。 1 突破性的RAG技…

迈威通信本安Wi-Fi 6工业无线AP系列,促进井下无线全覆盖

在现代化的工业生产中,无线通信技术的应用日益广泛。特别是对于矿井等复杂环境,传统的有线通信方式往往面临着布线困难、维护成本高、灵活性差等问题。为了解决这些难题,迈威通信推出了本安Wi-Fi 6工业无线AP系列,以其卓越的性能和…

《C++20设计模式》外观模式

文章目录 一、前言二、实现1、UML类图2、实现 一、前言 一句话总结外观模式:简化接口,或者简化流程。🙂 相关代码可以在这里,如有帮助给个star!AidenYuanDev/design_patterns_in_modern_Cpp_20 二、实现 原来需要很…

idea MarketPlace插件找不到

一、背景 好久没用idea了,打开项目后没有lombok,安装lombok插件时发现idea MarketPlace插件市场找不到,需要重新配置代理源,在外网访问时通过代理服务进行连接 二、操作 ### File-->setting 快捷键 Ctrl Alt S 远端源地…

怎么做外贸推广:10个详细教程和工具

1. 介绍 1.1 什么是外贸推广 外贸推广指的是将产品或服务推广到国际市场的过程。它的主要目的是吸引海外客户,增加销售额,并扩大企业的全球影响力。外贸推广不仅仅是销售产品,它还包括品牌建设、市场研究和客户关系管理。 谷歌外贸推广案例…

实战干货,企业在数字化转型中如何通过最佳实践落地BI报表?

引言:上一篇文章我们提到:通过9大步骤,帮助企业在数字化转型中搭建数据分析的报表体系!在实际中的落地过程,通过实施服务的哪些最佳实践可以确保落地效果,达到项目预期目标,给客户带来实质价值&…

MySQL索引教程(01):创建索引

文章目录 MySQL 创建索引索引介绍MySQL CREATE INDEX 语法MySQL 索引类型MySQL CREATE INDEX 实例结论 MySQL 创建索引 对于一个具有大量数据行的表,如果你根据某个查询条件检索数据时很慢,可能是因为你没有在检索条件相关的列上创建索引。 索引类似于…

小红书矩阵系统源码:赋能内容创作与电商营销的创新工具

在内容驱动的电商时代,小红书凭借其独特的社区氛围和用户基础,成为品牌营销和个人创作者不可忽视的平台。小红书矩阵系统源码,作为支撑这一平台的核心技术,提供了一系列的功能和优势,助力用户在小红书生态中实现更高效…