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

学习磁盘管理

文章目录

  • 一、磁盘接口类型
  • 二、磁盘设备的命名
  • 三、fdisk分区
  • 四、自动挂载
  • 五、扩容swap
  • 六、GPT分区
  • 七、逻辑卷管理
  • 八、磁盘配额
  • 九、RAID
  • 十、软硬链接

一、磁盘接口类型

IDE、SATA、SCSI、SAS、FC(光纤通道)

  • IDE, 该接口是并口。
  • SATA, 该接口是串口。
  • SCSI, 英文全称为“Small Computer System Interface”(小型计算机系统接口)。
  • SAS, SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,SAS的接口技术可以向下兼容SATA。
  • 之前硬盘像IDE,SCSI,都是并口的,现在主流SAS,以及SATA都是串口的。那么为什么现在跟多的使用串口的硬盘呢?
  • 首先是串口的速度比并口的块,串口形容一下就是一条车道,而并口就是有8个车道。同一时刻能传送8位(一个字节)数据;但是并不是并口快,由于8位通道之间的相互干扰。传输速度就受到了限制。当传输出错时候,要同时重新传送8个位的数据,而且传输速度越快,干扰越严重。这是硬伤,这样速度就无法提升上来了。

二、磁盘设备的命名

在这里插入图片描述
在这里插入图片描述
HP服务器硬盘
在这里插入图片描述

  • 硬盘的分区方式
    MBR :硬盘大小需小于2TB, 分区工具可以使用fdisk ,4个主分区或者3个主分区+1个扩展分区(N个逻辑分区),由三部分组成
    1.Bootloader主引导程序,446字节。
    2.DPT分区表,64字节。分区表保存了硬盘的分区信息,每个分区都需要占用16个字节大小,保存有文件系统标识、起止柱面号、磁头号,扇区号、起始扇区位置(4个字节)、分区总扇区数目(四个字节)等,分区表中保存的都是主分区和扩展分区的分区信息,扩展分区不能直接使用,需要划分成逻辑分区才可以使用,逻辑分区的分区信息保存在扩展分区内而不是保存在MBR分区表内。
    3.硬盘有效标志(校验位),2个字节。
    GPT : 硬盘大于2TB可以使用,分区工具gdisk(parted),可以分128个主分区。
    参考文章
  • 决定硬盘快慢的因素
    1.寻道时间
    2.硬盘的转速
    3.数据传输(接口类型)

三、fdisk分区

例:

fdisk  /dev/sdb    /分区

1.最多只能分4个主分区或者3个主分区加1个扩展分区。
2.逻辑分区的容量总和不能超过扩展分区的大小,逻辑分区的分区编号从5开始。
3.如果删除扩展分区,下面的逻辑分区也会都删除。

四、自动挂载

mount 
-o:挂载选项  ro,sync,rw,remount
-t:文件系统类型[root@localhost ~]# mount -o remount,ro /root/test/
remount:重新挂载一个正在挂载的设备
  • 自动挂载Automount
    挂载是由访问产生,卸载是由超时产生。
    1.自动挂载本地资源
[root@localhost ~]# yum install -y autofs
[root@localhost ~]# vim /etc/auto.master
/media  /etc/node.misc   -t  5      #添加挂载一级目录,定义子配置文件,超时5秒卸载
[root@localhost ~]# vim /etc/node.misc   
iso    -fstype=etx4     :/dev/sdb1    #二级挂载点   挂载类型     挂载设备

五、扩容swap

1.第一种方式使用磁盘进行扩容

[root@localhost ~]# mkswap /dev/sdb2    #第一步将一个分区格式化
[root@localhost ~]# swapon /dev/sdb2    #第二部激活这个分区,然后空间就扩容到swap中了,但是重启会失效。所以为了避免重启失效,会将信息写入到/etc/fstab中
[root@localhost ~]# swapoff /dev/sdb2   #关闭这个分区,取消扩容

2.第二种方式模拟大文件进行扩容

[root@localhost ~]# dd if=/dev/zero of=/tmp/bigfile_swap bs=1M count=1024
[root@localhost ~]# mkswap /tmp/bigfile_swap
[root@localhost ~]# swapon /tmp/bigfile_swap
[root@localhost ~]# swapon -s   #查看swap具体分区

六、GPT分区

[root@localhost ~]# gdisk /dev/sdc    #分区
[root@localhost ~]# mkfs.ext4 /dev/sdc1  #格式化

七、逻辑卷管理

1.fdisk磁盘先分区,按“t”选8e改分区类型
2.创建物理卷pv

[root@localhost ~]# pvcreate /dev/sdb1  #也可以多个分区一起创建物理卷
[root@localhost ~]# pvs #查看pv
[root@localhost ~]# pvdisplay  #查看所有pv,也可以后面跟具体物理卷名称

3.创建卷组vg

[root@localhost ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2
[root@localhost ~]# vgs #查看卷组
[root@localhost ~]# vgdisplay  #查看所有卷组,也可以后面跟具体卷组名称

4.创建逻辑卷lv

[root@localhost ~]# lvcreate -n lv01 -L 2.5G vg01 #还可以使用-l指定PE的数量和-l100%free卷组剩余空间百分比来设置逻辑卷大小
[root@localhost ~]# lvs #查看逻辑卷
[root@localhost ~]# lvdisplay  #查看所有逻辑卷,也可以后面跟具体逻辑卷名称

5.格式化使用

[root@localhost ~]# mkfs.ext4 /dev/vg01/lv01  #或者使用/dev/mapper/vg01-lv01这个路径

6.删除

[root@localhost ~]# lvremove /dev/vg01/lv01  #删除逻辑卷lv01,或者使用lvremove vg01 lv01删除
[root@localhost ~]# vgreduce vg01 /dev/sdb1  #移除卷组里面的物理卷
[root@localhost ~]# vgremove vg01  #删除卷组
[root@localhost ~]# pvremove /dev/sdb1  #删除物理卷

7.扩容

[root@localhost ~]# vgextend vg01 /dev/sdb2  #扩容卷组
[root@localhost ~]# lvextend /dev/vg01/lv01 -L +1G  #扩容逻辑卷,-L参数以后可以加+1G或者直接指定最终大小
[root@localhost ~]# resize2fs /dev/vg01/lv01  #如果是逻辑卷在线扩容,需要扩展文件系统

8.迁移MySQL
创建好逻辑卷,然后将逻辑卷挂载到一个临时目录,接着将数据库安装目录/usr/local/mysql中的全部文件使用rsync同步到逻辑卷挂载的目录,最后将逻辑卷重新挂载到/usr/local/mysql目录下就完成了迁移(或者使用rsync同步/usr/local/mysql/data到逻辑卷挂载的目录,不过逻辑卷重新挂载的时候需要挂载到/usr/local/mysql/data目录下)
9.逻辑卷条带化
优缺点:将保存到逻辑卷的数据分为n份,分别写入不同的物理卷,增加读写效率,但如果任何一个物理卷出现故障,数据都无法恢复。

[root@localhost local]# lvcreate  -n lv01  vg01 -L 1G -i 2 /dev/sdb[1,2]   #创建条带化逻辑卷
[root@localhost local]# iostat -m -d /dev/sdb[1,2] 2  #测试

10.逻辑卷快照

[root@localhost ~]# lvcreate -n lv01_snap -L 100M -s /dev/vg01/lv01  #创建快照
[root@localhost ~]# vim /etc/lvm/lvm.conf   #当快照空间使用率达到百分之80,自动扩容百分之20
snapshot_autoextend_threshold = 80
snapshot_autoextend_percent = 20

八、磁盘配额

1.开启配额参数

[root@localhost ~]# mount -o usrquota,grpquota  /dev/vg01/lv01 /mnt   #挂载时开启配额

2.安装quota并生成配置文件

[root@localhost ~]# yum install -y quota
[root@localhost ~]# quotacheck -acug   #创建配额数据库文件,会在磁盘挂载目录/mnt下面生成两个文件

3.启用

[root@localhost ~]# quotaon -a

4.设置用户配额或组配额

[root@localhost ~]# edquota -u test     #设置用户配额
[root@localhost ~]# edquota -g group01   #设置组配额

在这里插入图片描述

九、RAID

1.软硬raid
软raid:软raid运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。软raid有如下特点:占用内存空间、占用cpu资源、如果程序或者操作系统故障就无法运行。
硬raid:通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不通的RAID卡支持的RAID功能不同。支持RAID0、RAID1、RAID4、RAID5、RAID10不等。

2.软raid创建

[root@localhost ~]# yum -y install mdadm   #安装工具
[root@localhost ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdb2  #创建raid0
[root@localhost ~]# cat /proc/mdstat 
[root@localhost ~]# dd if=/dev/zero of=/mnt/bigfile bs=1M count=1024 #用dd写入数据,用iostat观察
[root@localhost ~]# iostat -m -d /dev/sdb1 /dev/sdb2 2[root@localhost ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb5 /dev/sdb6  #创建raid1,并查看同步过程
[root@localhost ~]# watch -n 1 cat /proc/mdstat  
[root@localhost ~]# mdadm -D /dev/md1  #查看raid1详情
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb5   #将raid1的一个磁盘标记为失效
[root@localhost ~]# mdadm /dev/md1 -r /dev/sdb5   #移除raid1中的失效磁盘,可以测试出raid1的数据没有丢失
[root@localhost ~]# mdadm /dev/md1 -a /dev/sdb5   #将磁盘添加回去,相当于验证了热插拔[root@localhost ~]# mdadm -C /dev/md5 -l 5 -x 1 -n 3 /dev/sdb{7,8,9,10}   #创建raid5,并设置一个热备盘[root@localhost ~]# vim /etc/mdadm.conf    #创建配置文件
DEVICES /dev/sdb[1256789]
[root@localhost ~]# mdadm -D --scan     #写入raid信息
[root@localhost ~]# mdadm --stop /dev/md5    #停止raid5
[root@localhost ~]# mdadm -A /dev/md5 /dev/sdb[789]   #启动raid5[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb[789]    #移除所有磁盘
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdb[789]
[root@localhost ~]# mdadm --stop /dev/md5    #停止raid
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb[789]  #擦除超级块

十、软硬链接

软连接inode号不一样,硬连接inode号一样,但是不能对目录创建硬连接

[root@localhost tmp]# ln -s file1 test1   #为file1创建软链接test1
[root@localhost tmp]# unlink test1    #取消软链接,取消的时候只写链接名
[root@localhost ~]# ln -s /tmp/bbb/ /root/ccc 为目录创建软链接
[root@localhost ~]# unlink ccc
[root@localhost ~]# ln file2 test2  #创建硬连接

相关文章:

学习磁盘管理

文章目录 一、磁盘接口类型二、磁盘设备的命名三、fdisk分区四、自动挂载五、扩容swap六、GPT分区七、逻辑卷管理八、磁盘配额九、RAID十、软硬链接 一、磁盘接口类型 IDE、SATA、SCSI、SAS、FC(光纤通道) IDE, 该接口是并口。SATA, 该接口是串口。SCS…...

C语言从入门到精通(一) - C语言开发神器CLion

clion安装配置 下载安装 下载 安装 运行clion clion设置 配置快捷键 配置快捷键为eclipse模式 [可以选择自己喜欢的快捷键模式] 添加cygwin编译器 下载cygwin Cygwin Installation Cygwin是一个在windows平台上运行的类UNIX模拟环境,是Cygnus Solutions公司开发的…...

【办公类-16-10-02】“2023下学期 6个中班 自主游戏观察记录(python 排班表系列)

背景需求: 已经制作了本学期的中4班自主游戏观察记录表 【办公类-16-10-01】“2023下学期 中4班 自主游戏观察记录(python 排班表系列)-CSDN博客文章浏览阅读398次,点赞10次,收藏3次。【办公类-16-10-01】“2023下学…...

SpringBooot之RestTemplate接口返回多层泛型导致java.util.LinkedHashMap cannot be cast to异常

统一泛型返回对象 Data public class Res<T> implements Serializable {private static final long serialVersionUID 6558796578827818466L;private Integer code; //状态码private String msg; //返回消息private T data; //数据 }data里包裹的泛型对象假设是DZPJ D…...

【新三板年报文本分析】第二辑:从pdf链接的列表中批量下载年报文件

第一辑中已经获取了新三板年报的pdf链接&#xff0c;使用request库进行批量下载。 send_headers为requests的headers&#xff0c;不需要做变动。 在for循环中读取每一行数据的链接数据&#xff0c;创建一个空pdf&#xff0c;将链接指向的pdf文件写入空pdf文件。 for循环内容…...

Jessibuca 插件播放直播流视频

jessibuca官网&#xff1a;http://jessibuca.monibuca.com/player.html git地址&#xff1a;https://gitee.com/huangz2350_admin/jessibuca#https://gitee.com/link?targethttp%3A%2F%2Fjessibuca.monibuca.com%2F 项目需要的文件 1.播放组件 <template ><div i…...

【Docker】03 容器操作

文章目录 一、流转图二、基本操作2.1 查看本地容器进程2.2 启动容器2.2.1 交互式启动容器2.2.2 后台启动容器 2.3 进入容器2.4 停止启动重启容器2.5 退出容器2.6 删除容器2.7 提交容器&#xff08;打包成镜像&#xff09;2.8 拷贝文件2.8.1 拷贝容器内文件到宿主机2.8.2 拷贝宿…...

【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章

Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件&#xff0c;是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window&#xff1a;用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…...

什么是芯片委外管理系统? 及其主要作用

随着半导体产业的飞速发展&#xff0c;芯片制造企业面临着日益复杂的生产和管理挑战。为了应对这些挑战&#xff0c;许多企业选择将部分生产环节委托给外部厂商进行&#xff0c;这种合作模式被称为“委外加工”。而为了有效地管理和协调这一合作模式&#xff0c;便诞生了“芯片…...

【实战-08】 flink自定义Map中的变量的行为

场景 自定义Map或者别的算子的时候&#xff0c;有时候需要定义一些类变量&#xff0c;在flink内部高并发的情况下需要正确理解这些变量的行为 代码 package com.pg.function;import org.apache.flink.api.common.functions.MapFunction; import org.apache.flink.api.common…...

Docker Volume

"Ice in my vein" Docker Volume(存储卷) 什么是存储卷? 存储卷就是: “将宿主机的本地文件系统中存在的某个目录&#xff0c;与容器内部的文件系统上的某一目录建立绑定关系”。 存储卷与容器本身的联合文件系统&#xff1f; 在宿主机上的这个与容器形成绑定关系…...

开源计算机视觉库OpenCV常用的API介绍

阅读本文之前请参阅-----开源计算机视觉库OpenCV详细介绍 OpenCV&#xff08;开源计算机视觉库&#xff09;是一个跨平台的计算机视觉和机器学习软件库&#xff0c;它提供了大量的API&#xff08;应用程序编程接口&#xff09;&#xff0c;用于处理图像和视频分析、对象检测、面…...

pytorch -- torch.nn下的常用损失函数

1.基础 loss function损失函数&#xff1a;预测输出与实际输出 差距 越小越好 - 计算实际输出和目标之间的差距 - 为我们更新输出提供依据&#xff08;反向传播&#xff09; 1. L1 torch.nn.L1Loss(size_averageNone, reduceNone, reduction‘mean’) 2. 平方差&#xff08;…...

daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具

daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具 基于java fx写的一款支持加载自定义poc文件的、可扩展的的图形化渗透测试框架。支持批量漏洞扫描、漏洞利用、结果导出等功能。 使用 经过测试,项目可在jdk8环境下正常使用。jdk11因为缺少一些必要的组件,所以jdk11版本工…...

无法访问云服务器上部署的Docker容器(二)

说明&#xff1a;记录一次使用公网IP 接口地址无法访问阿里云服务接口的问题&#xff1b; 描述 最近&#xff0c;我使用Docker部署了jeecg-boot项目&#xff0c;部署过程都没有问题&#xff0c;也没有错误信息。部署完成后&#xff0c;通过下面的地址访问后端Swagger接口文档…...

在Pycharm中运行Django项目如何指定运行的端口

方法步骤&#xff1a; 打开 PyCharm&#xff0c;选择你的 Django 项目。在菜单栏中&#xff0c;选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中&#xff0c;选择你的 Django server 配置&#xff08;如果没有&#xff0c;你…...

Android将 ViewBinding封装到BaseActivity基类中(Java版)

在Android中使用Java语言将ViewBinding封装到基类中&#xff0c;操作步骤如下&#xff1a; 1、在项目的build.gradle文件中启用了ViewBinding&#xff0c;添加以下代码&#xff1a; android {...buildFeatures {viewBinding true} } 2、创建一个名为“BaseActivity”的基类&…...

JSP实现数据传递与保存(一)

一、Web开发步骤 1.1两类模式 后端——————前端 先有前端&#xff0c;前端用的时候直接调用 后端已实现注册接口&#xff0c;接口名为doRegister.jsp 前端此时&#xff1a; 前端的form表单中的action提交地址就只能填doRegister.jsp&#xff0c;即&#xff1a; <f…...

【论文笔记之 YIN】YIN, a fundamental frequency estimator for speech and music

本文对 Alain de Cheveigne 等人于 2002 年在 The Journal of the Acoustical Society of America 上发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载&#xff0c;但请务必注明出处。 论文链接&#xff1a;http://audition.ens.fr/adc/pdf/2002_…...

水印相机小程序源码

水印相机前端源码&#xff0c;本程序无需后端&#xff0c;前端直接导入即可&#xff0c;没有添加流量主功能&#xff0c;大家开通后自行添加 源码搜索&#xff1a;源码软件库 注意小程序后台的隐私权限设置&#xff0c;前端需要授权才可使用 真实时间地址拍照记录&#xff0c…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...