学习磁盘管理

文章目录

  • 一、磁盘接口类型
  • 二、磁盘设备的命名
  • 三、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  #创建硬连接

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

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

相关文章

LeetCode刷题---确认率

解题思路: 将Signups和Confirmations进行左连接,连接的条件为Signups.user_idConfirmations.user_id 根据题中要求进行查询,这里使用AVG聚合函数来求解确认率 AVG(c.action‘confirmed’)表示对action列进行求平均,如果action‘confirmed’&a…

Atcoder ABC341 E - Alternating String

Alternating String(交替字符串) 时间限制:3s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 每个查询 q u e r y i query…

【论文笔记之 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_…

C语言:数组指针 函数指针

C语言:数组指针 & 函数指针 数组指针数组名 数组访问二维数组 函数指针函数指针使用回调函数 typedef关键字 数组指针 数组本质上也是一个变量,那么数组也有自己的地址,指向整个数组的指针,就叫做数组指针。 我先为大家展示…

详解POCV/SOCV的时序报告

​POCV/SOCV的时序报告中有如下变量: Mean: 高斯分布中的μ值(平均值) Sensit: sensitivity,也就是1个Sigma的值; Corner: Sigma边界的最差值 cell的delay Delay mean N * Delay sigma; cell 的Transition Sl…

【简写Mybatis】02-注册机的实现以及SqlSession处理

前言 注意: 学习源码一定一定不要太关注代码的编写,而是注意代码实现思想: 通过设问方式来体现代码中的思想;方法:5W1H 源代码:https://gitee.com/xbhog/mybatis-xbhog;https://github.com/xbh…

vs+qt实现摄像头开启以及拍照功能

无标题 开启摄像头三步走第一步UI界面,自己画的第二步 定义对象第三步 实现功能 后面还有踩得坑记录一下。。。关于UI对象的定义关于使用摄像头前提准备 开启摄像头三步走 第一步UI界面,自己画的 第二步 定义对象 一个UI 一个摄像头 一个用来显示摄像头…

NUS神经网络生成我感觉解读过于夸大了

网上对其解读有点过了,只是合成了最后标准化层的参数,或者是更多的其他层参数。而不是网络结构。对于新任务下的网络结构以及参数如何生成,应该是做不到的,论文意义有限。 论文片段:我们提出了神经网络扩散&#xff0…

GOLANG开发 - Echo 框架 入门

好久没有更新过了,今年年底特别的忙,不知道为啥,太忙了简直,抽空出来赶紧更新一篇关于golang的文章,本次主将的是即Gin框架和Beego框架之后的有一个框架,叫 Echo框架 学习过PHP的同学肯定对这个词不陌生&am…

2步破解官方sublime4

sublime简要破解流程 1.下载sublime官方最新版2. 破解流程 1.下载sublime官方最新版 打开 官方网站下载 portable version 版,省的安装。。解压到任意位置,备份 sublime_text.exe 文件 2. 破解流程 打开网址把文件 sublime_text.exe 拖入网页搜索替换…

Android之UI Automator框架源码分析(第九篇:UiDevice获取UiAutomation对象的过程分析)

前言 通过UiDevice的构造方法,UiDevice对象持有的几个对象一部分是在构造方法中创建的(初始化),它持有的每个对象都是分析的重点 备注:当前对象持有的对象,它的位置一般在实例变量创建时或者构造方法中&…

node14下运行项目报错:regeneratorRuntime is not defined

regeneratorRuntime is not defined,这是由于配置babel出错问题,由于使用了es7语法如async/await而当前babel版本过低 解决: npm install -D babel-plugin-transform-runtime babel-runtime 安装完成后在.babelrc文件下配置: &qu…

矢量图绘制软件:EazyDraw for Mac v11.6.0中文版

EazyDraw是一款功能强大的矢量绘图软件,适用于Mac平台。它提供了直观易用的工具和功能,方便用户进行各种类型的绘图工作,包括插图、图表、技术绘图、流程图、CAD图纸等。 EazyDraw具有丰富的绘图工具,包括线条、多边形、文本、图像…

springboot-基础-eclipse配置+helloword示例

备份笔记。所有代码都是2019年测试通过的,如有问题请自行搜索解决! 目录 配置helloword示例新建项目创建文件 配置 spring boot官方有定制版eclipse,也就是STS,因为不想再装,所以考虑eclipse插件安装jdk和eclipse安装…

人脸2D和3D道具SDK解决方案提供商

人脸识别和增强现实技术成为了许多企业和开发者关注的焦点,为了满足市场对高质量、易于集成的人脸识别SDK的需求,美摄科技推出了一系列领先的人脸2D/3D道具SDK解决方案。 一、产品特点 高精度识别:美摄科技的人脸识别技术采用深度学习算法&…

贝叶斯核机器回归拓展R包:bkmrhat

1.摘要 bkmrhat包是用于扩展bkmr包的贝叶斯核机器回归(Bayesian Kernel Machine Regression, BKMR)分析工具,支持多链推断和诊断。该包利用future, rstan, 和coda包的功能,提供了在贝叶斯半参数广义线性模型下进行identity链接和 …

企业想要高效上云?如何实现?

进入数字化、智能化时代以后,企业数字化转型已成为企业发展的必然趋势。浪潮之中,越来越多的企业开始积极探索上云路径,云上创新已经成为企业加速数字化转型,提升竞争力的必经之路。 赞奇与华为携手共创云桌面SaaS产品—赞奇云工作…

【Flutter/Android】新建项目,打开android 目录,报错红色以及开启 MultiDex 配置

1 报错红色问题。 单独打开 Flutter 项目下的 android 项目即可。 也就是说,你要一部分原生代码开发,你就需要自己把 android 项目单独出去做(其实就相当于android 项目引用 Flutter的dart部分)。也就是说,在 Flutter…

鲲鹏arm64架构下安装KubeSphere

鲲鹏arm64架构下安装KubeSphere 官方参考文档: https://kubesphere.io/zh/docs/quick-start/minimal-kubesphere-on-k8s/ 在Kubernetes基础上最小化安装 KubeSphere 前提条件 官方参考文档: https://kubesphere.io/zh/docs/installing-on-kubernetes/introduction/prerequi…

uniapp的微信小程序授权头像昵称(最新版)

前面我出过两期博客关于小程序授权登录,利用php实现一个简单的小程序授权登录并存储授权用户信息到数据库的完整流程。无奈,小程序官方又整幺蛾子了。wx.getUserInfo接口收回,wx.getUserProfile接口也不让用。导致我的个人小程序:梦缘 的授权…