学习磁盘管理
文章目录
- 一、磁盘接口类型
- 二、磁盘设备的命名
- 三、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链接,使用request库进行批量下载。 send_headers为requests的headers,不需要做变动。 在for循环中读取每一行数据的链接数据,创建一个空pdf,将链接指向的pdf文件写入空pdf文件。 for循环内容…...
Jessibuca 插件播放直播流视频
jessibuca官网:http://jessibuca.monibuca.com/player.html git地址: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 提交容器(打包成镜像)2.8 拷贝文件2.8.1 拷贝容器内文件到宿主机2.8.2 拷贝宿…...
【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章
Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件,是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window:用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…...
什么是芯片委外管理系统? 及其主要作用
随着半导体产业的飞速发展,芯片制造企业面临着日益复杂的生产和管理挑战。为了应对这些挑战,许多企业选择将部分生产环节委托给外部厂商进行,这种合作模式被称为“委外加工”。而为了有效地管理和协调这一合作模式,便诞生了“芯片…...
【实战-08】 flink自定义Map中的变量的行为
场景 自定义Map或者别的算子的时候,有时候需要定义一些类变量,在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(存储卷) 什么是存储卷? 存储卷就是: “将宿主机的本地文件系统中存在的某个目录,与容器内部的文件系统上的某一目录建立绑定关系”。 存储卷与容器本身的联合文件系统? 在宿主机上的这个与容器形成绑定关系…...
开源计算机视觉库OpenCV常用的API介绍
阅读本文之前请参阅-----开源计算机视觉库OpenCV详细介绍 OpenCV(开源计算机视觉库)是一个跨平台的计算机视觉和机器学习软件库,它提供了大量的API(应用程序编程接口),用于处理图像和视频分析、对象检测、面…...
pytorch -- torch.nn下的常用损失函数
1.基础 loss function损失函数:预测输出与实际输出 差距 越小越好 - 计算实际输出和目标之间的差距 - 为我们更新输出提供依据(反向传播) 1. L1 torch.nn.L1Loss(size_averageNone, reduceNone, reduction‘mean’) 2. 平方差(…...
daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具
daydayEXP: 支持自定义Poc文件的图形化漏洞利用工具 基于java fx写的一款支持加载自定义poc文件的、可扩展的的图形化渗透测试框架。支持批量漏洞扫描、漏洞利用、结果导出等功能。 使用 经过测试,项目可在jdk8环境下正常使用。jdk11因为缺少一些必要的组件,所以jdk11版本工…...
无法访问云服务器上部署的Docker容器(二)
说明:记录一次使用公网IP 接口地址无法访问阿里云服务接口的问题; 描述 最近,我使用Docker部署了jeecg-boot项目,部署过程都没有问题,也没有错误信息。部署完成后,通过下面的地址访问后端Swagger接口文档…...
在Pycharm中运行Django项目如何指定运行的端口
方法步骤: 打开 PyCharm,选择你的 Django 项目。在菜单栏中,选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中,选择你的 Django server 配置(如果没有,你…...
Android将 ViewBinding封装到BaseActivity基类中(Java版)
在Android中使用Java语言将ViewBinding封装到基类中,操作步骤如下: 1、在项目的build.gradle文件中启用了ViewBinding,添加以下代码: android {...buildFeatures {viewBinding true} } 2、创建一个名为“BaseActivity”的基类&…...
JSP实现数据传递与保存(一)
一、Web开发步骤 1.1两类模式 后端——————前端 先有前端,前端用的时候直接调用 后端已实现注册接口,接口名为doRegister.jsp 前端此时: 前端的form表单中的action提交地址就只能填doRegister.jsp,即: <f…...
【论文笔记之 YIN】YIN, a fundamental frequency estimator for speech and music
本文对 Alain de Cheveigne 等人于 2002 年在 The Journal of the Acoustical Society of America 上发表的论文进行简单地翻译。如有表述不当之处欢迎批评指正。欢迎任何形式的转载,但请务必注明出处。 论文链接:http://audition.ens.fr/adc/pdf/2002_…...
水印相机小程序源码
水印相机前端源码,本程序无需后端,前端直接导入即可,没有添加流量主功能,大家开通后自行添加 源码搜索:源码软件库 注意小程序后台的隐私权限设置,前端需要授权才可使用 真实时间地址拍照记录,…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
