学习磁盘管理

news/2024/5/20 1:02:06/文章来源:https://blog.csdn.net/qq_48440248/article/details/134795312

文章目录

  • 一、磁盘接口类型
  • 二、磁盘设备的命名
  • 三、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.luyixian.cn/news_show_982763.aspx

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

相关文章

如何使用自动化工具编写测试用例?

以下为作者观点,仅供参考: 在快速变化的软件开发领域,保证应用程序的可靠性和质量至关重要。随着应用程序复杂性和规模的不断增加,仅手动测试无法满足行业需求。 这就是测试自动化发挥作用的地方,它使软件测试人员能…

用Python实现创建餐厅评分数据分析表

代码的功能是创建一个雷达图(Radar Chart),也称为蜘蛛网图(Spider Chart),用来展示不同餐厅在多个维度上的评分。雷达图是一种非常适合展示多维数据的图形,它能够清楚地显示每个数据点在多个变量…

抖音视频评论数据提取软件|抖音数据抓取工具

一、开发背景: 在业务需求中,我们经常需要下载抖音视频。然而,在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载,这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此,为…

【JVM】线上一次fullGC排查思路

fullGC问题背景 监控告警发现,今天开始我们线上应用频繁出现fullGC,并且每次出现后磁盘都会被占满 查看监控 查看监控发现FULLGC的机器均为同一个机房的集器,并且该机房有线上error报错,数据库监控对应的时间点也有异常&#x…

将一个 PostgreSQL 数据库复制到另一个数据库中

以管理员身份进入cmd窗口,输入如下命令 语法: pg_dump -C -h 本机IP -U 本机postgresql用户名 源数据库名 | psql -h 服务器IP -U 服务器postgresql用户名 目标数据库名 示例: pg_dump -C -h 127.0.0.1 -U postgres test01-dbname | psql…

02|Explain详解

1. Explain工具介绍 Explain关键字可以模拟优化器执行SQL语句,析查询语句或结构的性能瓶颈位置使用方式: explain 关键字 select语句 MySQL 会在査询上设置一个标记,执行査询会返问执行计划的信息,而不是执行这条SQL。 注意:如果…

设计模式六:策略模式

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

Javaweb之SpringBootWeb案例之切入点表达式的详细解析

3.3 切入点表达式 从AOP的入门程序到现在,我们一直都在使用切入点表达式来描述切入点。下面我们就来详细的介绍一下切入点表达式的具体写法。 切入点表达式: 描述切入点方法的一种表达式 作用:主要用来决定项目中的哪些方法需要加入通知 …

备战蓝桥杯————递归反转单链表

当要求只反转单链表中的一部分时,递归实现确实具有一定的挑战性,但也是可行的。下面我将介绍一种递归实现的方法来反转单链表中的一部分。 一、反转链表 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示…

qt-C++笔记之事件过滤器

qt-C笔记之事件过滤器 —— 杭州 2024-02-25 code review! 文章目录 qt-C笔记之事件过滤器一.使用事件过滤器和不使用事件过滤器对比1.1.使用事件过滤器1.2.不使用事件过滤器1.3.比较 二.Qt 中事件过滤器存在的意义三.为什么要重写QObject的eventFilter方法?使用QO…

SpringCloud Nacos安装

1. Nacos的下载:下载的是1.4的版本。 2. Nacos的安装: startup.cmd -m standalone 以单机模式启动Nacos。 登录的账号密码 都是nacos。

Spring Session:Redis序列化配置|Session事件监听

Spring Session是可配置的。 Redis Configuration JSON序列化配置 Spring Session默认使用Java对象序列化机制对Session属性值进行序列化。 预定义类SysUser 先来定义一个SysUser类,在下面的演示案例中会用到。 package com.example.demo.model.entity;import j…

【问题解决】Python matplotlib 画图显示中文字符

import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号

01|Mysql底层存储引擎

1. 聚集索引(聚簇)与非聚集索引 1.1 聚集索引 索引和数据存储在一起。叶子节点存储了完整的数据记录; 1.2 非聚集索引 MyISAM存储引擎就是非聚集索引,索引和数据文件是分开存储的。索引在MYI文件中,数据在MYD文件中…

数据库期末简答题速成-救命专用

简答题: 第 1 章 绪论 DBMS 的主要功能有哪些? 答:数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面: 数据定义功能 DBMS提供数据描述语言&…

高德地图与相机

高德地图与相机 1. 演示效果 2. 实现代码 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>高…

如何实现多账户管理?海外代理IP推荐

伴随着互联网的发展&#xff0c;目前越来越多的用户开始拥有不止一个社交媒体或者电商平台等类型的账号&#xff0c;但实际上不论是社交平台还是电商平台对于用户的多账号使用行为都十分的抵制。如果用户不采取任何措施直接长时间进行多账户操作的话&#xff0c;可能会遇到以下…

SpringBoot3整合Swagger3,访问出现404错误问题(未解决)

秉承着能用就用新的的理念&#xff0c;在JDK、SpringBoot、SpringCloud版本的兼容性下&#xff0c;选择了Java17、SpringBoot3.0.2整合Swagger3。 代码编译一切正常&#xff0c;Swagger的Bean也能加载&#xff0c;到了最后访问前端页面swagger-ui的时候出现404。 根据网上资料…

蓝桥杯:真题讲解2(C++版)附带解析

星系炸弹 来自&#xff1a;2015年六届省赛大学B组真题&#xff08;共6道题) 分析&#xff1a;这题涉及到平年和闰年的知识&#xff0c;如果我们要解这题&#xff0c;首先要知道每月有多少天&#xff0c;其实也就是看2月份的天数&#xff0c;其它月份的天数都是一样的&#xff…