学习磁盘管理

文章目录

  • 一、磁盘接口类型
  • 二、磁盘设备的命名
  • 三、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://www.mzph.cn/news/704049.shtml

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

相关文章

golang学习2,golang开发配置国内镜像

go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct

K8S部署Java项目(Gitlab CI/CD自动化部署终极版)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

websocket入门及应用

websocket When to use a HTTP call instead of a WebSocket (or HTTP 2.0) WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 是双向通讯,有状态,客户端一(多)个与服务端一(多&#xff09…

代码随想录刷题第43天

第一题是最后一块石头的重量IIhttps://leetcode.cn/problems/last-stone-weight-ii/,没啥思路,直接上题解了。本题可以看作将一堆石头尽可能分成两份重量相似的石头,于是问题转化为如何合理取石头,使其装满容量为石头总重量一半的…

【AI Agent系列】【MetaGPT多智能体学习】0. 环境准备 - 升级MetaGPT 0.7.2版本及遇到的坑

之前跟着《MetaGPT智能体开发入门课程》学了一些MetaGPT的知识和实践,主要关注在MetaGPT入门和单智能体部分(系列文章附在文末,感兴趣的可以看下)。现在新的教程来了,新教程主要关注多智能体部分。 本系列文章跟随《M…

Wagtail安装运行并结合内网穿透实现公网访问本地网站界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默&#xf…

C++Lambda表达式介绍

C11中引入了Lambda表达式,Lambda表达式是一种匿名函数,它可以在需要函数的地方直接定义和使用,而无需显式地定义一个函数。 lambda表达式 Lambda表达式语法定义 [capture-list](parameters) -> return-type { statement } capture-lis…

SQL Developer 小贴士:PL/SQL语法分析

对于SQL或PL/SQL中的语法错误和警告,SQL Developer可以用不同颜色的下划波浪线显示。 启用语法分析,可以用菜单Tool>Preferences>Code Editor>Completion Insight>Enable Semantic Analysis Info Tips 例如,以下的代码中&…

blender bvh显示关节名称

导入bvh,菜单选择布局,右边出现属性窗口, 在下图红色框依次点击选中,就可以查看bvh关节名称了。

自考《计算机网络原理》考前冲刺

常考选择填空 1、计算机网络的定义:计算机网络是互连的、自治的计算机的集合。 2、协议的定义:协议是网络通信实体之间在数据交换过程中需要遵循的规则或约定 3、协议的3个要素 (1) 语法:定义实体之间交换信息的格式与结构,或…

设计模式六:策略模式

1、策略模式 策略模式定义了一系列的算法,并将每一个算法封装起来,使每个算法可以相互替代,使算法本身和使用算法的客户端分割开来,相互独立。 策略模式的角色: 策略接口角色IStrategy:用来约束一系列具体…

第一次开机开机动画结束后闪白屏

开机动画结束会闪下白屏,再进入launcher 思路 : 分析下从开机动画结束到launcher起来之间的流程步骤 从ZygoteInit.java开始分析 : SystemServer起来后会启动一些核心服务 attachApplication方法中主要创建了Application和Activity 接下里RootActivityC…

快速搭建网站原型!8款网站原型软件推荐

现在,基于云的软件已经逐渐成为主流,网站原型设计工具也不例外。与桌面版本相比,在线原型工具具有独特的优势,无论您使用Linux,Mac 或者Windows,都不需要安装就可以使用这些工具。下面小编就为大家推荐8款非…

c++入门学习⑧——模板

目录 前言 基本介绍 什么是模板? 作用 特点 分类 函数模板 语法 使用方式 注意事项 函数模板和普通函数区别 普通函数和函数模板的调用规则 局限性 类模板 语法 类模板的成员函数创建时机 类模板实例化对象 类模板实例化对象做函数参数 类模板成…

普中51单片机学习(LCD1602)

LCD1602 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔&#…

代码随想录算法训练营29期|day60 任务以及具体安排

第九章 动态规划part17 647. 回文子串 class Solution {public int countSubstrings(String s) {char[] chars s.toCharArray();int len chars.length;boolean[][] dp new boolean[len][len];int result 0;for (int i len - 1; i > 0; i--) {for (int j i; j < le…

C++ 高频考点

1. C/C内存有哪几种类型&#xff1f; C中&#xff0c;内存分为5个区&#xff1a;堆(malloc)、栈(如局部变量、函数参数)、程序代码区&#xff08;存放二进制代码&#xff09;、全局/静态存储区&#xff08;全局变量、static变量&#xff09;和常量存储区&#xff08;常量&…

YOLOv9来了!实时目标检测新SOTA

先上一把网上的测试效果对比: YOLOv9架构图 速度论文 代码&#xff1a;GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information 论文&#xff1a;[2402.13616] YOLOv9: Learning What You…

HTTP/HTTPS协议

什么是HTTP协议 HTTP被称为超文本传输协议(里面不仅仅可以是字符串,还可以是图片,特殊字符等),这是一种应用非常广泛的应用层协议. HTTP协议诞生于1991年,现在是最主流使用的一种应用层协议.它从诞生到现在为止迭代了多个版本. 但目前最主流使用的还是HTTP1.1和HTTP2.0. HTTP协…

Java数据结构---初识集合框架

目录 一、什么是集合框架 二、集合框架的重要性 三、背后涉及的数据结构及算法 1.什么是数据结构 2.容器背后对应的数据结构 3.相关的Java知识 4.什么是算法 一、什么是集合框架 Java 集合框架 Java Collection Framework &#xff0c;又被称为容器 container &#xff0…