当前位置: 首页 > 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…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...