磁盘管理不显示新硬盘_动态磁盘改为基本磁盘

磁盘管理不显示新硬盘_动态磁盘改为基本磁盘文章目录一.磁盘简介1.磁盘设备的命名2.磁盘的分区方式二.管理磁盘1.查看磁盘2.创建分区3.创建文件系统——格式化4.挂载(临时)5.查看挂载信息6.扩展分区7.交换分区Swap三.逻辑卷LVMLinux08:磁盘管理相关一.磁盘简介1.磁盘设备的命名CentOS 7中IDE(并口)SATA(串口)——目前更适用/dev/sda/dev/sdb/dev是一个专门存放设备的目录,s代表sata就是串口,d代表disk磁盘,a代表第一块,b代表第二块…2.磁盘的分区方式

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Linux08:磁盘管理相关

一.磁盘简介

1.磁盘设备的命名

CentOS 7中

  • IDE(并口)

  • SATA(串口)——目前更适用

    • /dev/sda
    • /dev/sdb

    /dev是一个专门存放设备的目录,s代表sata就是串口,d代表disk磁盘,a代表第一块,b代表第二块…

2.磁盘的分区方式

  • MBR

    MBR主引导记录,记录磁盘分配信息。

    1. 最大仅支持磁盘容量2TB
    2. 设计时只能分配4个分区。
      (若希望超过4个分区,需要放弃一个主分区,改为扩展分区或者逻辑分区)
  • GPT(新技术)

    GUID Partition Table 全局唯一标识分区表,是一个实体硬盘的结构布局的标准,分区数扩充的更多,支持的磁盘容量也可以超过2TB


二.管理磁盘

  1. 磁盘分区(方式-MBR)
  2. 格式化——创造文件系统Filesystem
  3. 挂载——mount

1.查看磁盘

方法一:#ll /dev/sd*

请添加图片描述
notes:

  • 磁盘文件的类型为b——block,颜色标记为黄色,所属用户组均为disk(系统自带的磁盘组)

  • sda开头实际是同一块硬盘,后面的数字表示分区(sda一般是系统盘)

  • 一般情况第一块盘也就是此处的sda,表示系统盘


方法二:#lsblk

请添加图片描述

  • 主要看NAME和SIZE
  • 最后一列mountpoint是指挂载点

2.创建分区

  • MBR方式分区
    (可以理解为,一块硬盘是一间毛坯房,最多只能划分4个房间(四个主分区),如果要更多房间,只能将第四个房间拆除,装上很多小柜子(变成扩展分区,提供很多很多逻辑分区))

#fdisk /dev/sdb(f表示MBR分区方式),之后按如下操作键进行下一步

请添加图片描述
n:增加新的分区
p:打印此块磁盘当前分区信息表

步骤:

  1. 按n回车(新增分区)
  2. p(指定此分区为主分区)
  3. 回车(分区号默认,1-4)
  4. 回车(起始扇区默认,从上一个结束开始)

请添加图片描述

最前面的0-2047扇区用于存放MBR(单位:以512B为1个扇区)

  1. 指定分区结束点(last)——其实就是指定分区大小,三种方式

    ​ a.直接输入分区结束位置,例如124448(默认单位B)

    b.输入想要的分区大小,例如+2G(注意带+号,常用)

    ​ c.直接回车,把该磁盘剩余大小都给这个分区 (一般最后一次分区就这么做)

请添加图片描述

  1. 保存分区并退出:输入w回车

请添加图片描述

  1. 刷新磁盘分区信息

​ #partprobe /dev/sdb

  1. 查看刚刚的分区情况
  • 方法一#fdisk -l /dev/sdb

请添加图片描述

  • 方法二#lsblk,更直观

请添加图片描述

3.创建文件系统——格式化

通俗的讲:刚刚分好区的磁盘可以比作分好隔间的房间,格式化就是给房间装上衣柜,方便存放东西——即文件管理,而文件系统有很多,好比文件柜的品牌有很多种,此处用的是ext4
(没有进行分区的部分是不能格式化的,没有格式化的分区也不能使用)

#mkfs.ext4 /dev/sdb1——注意:这个操作会清空该磁盘分区内原有的数据

  • (用#mkfs -t ext4 /dev/sdb1也可以,t-type)

  • (把上面指令拆开解释就是make-file-system.extend4)
    这个extend4是文件系统第四代,是一种文件系统类型请添加图片描述

4.挂载(临时)

挂载的意义,对于一个格式化完成的分区,也不能直接进行操作,必须把它挂载到/mnt/目录下的一个自定义目录,相当于给这个分区装一个门,然后通过此门对其进行操作,也可以理解为把这个分区链接到挂载目录

以后进行读写操作,用户会以为就是在某个目录下进行直接操作的,这样屏蔽了背后磁盘相关的内容

#mount 文件系统类型 磁盘 挂载位置

  • 首先要新建一个挂载目录(磁盘分区的入口),写在/mnt下面
    #mkdir /mnt/disk1

  • 进行挂载
    (什么类型,从哪里挂到哪里)
    #mount -t ext4 /dev/sdb1 /mnt/disk1

  • 取消挂载
    (直接取消某磁盘名)
    #umount /dev/sdb1

note:

  1. 取消挂载后,该磁盘内的文件不会丢失,但是无法查看和编辑(无法找到绝对路径);重新挂载后即可继续使用——可以想象为u盘的插拔
  2. 挂载只能一对一,一个目录只能挂载一个磁盘分区,当有新的磁盘分区挂载到这个目录时,前一个磁盘分区自动取消挂载

永久挂载需要修改配置文件——/etc/fstab
在这里插入图片描述
解释:

  • 第一列:
    磁盘设备名或者该设备的Label或者UUID
    【blkid命令+设别名绝对路径】可以查看Lable和UUID
    uuid的优点:每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。
  • 第二列:挂载点
  • 第三列:文件系统
  • 第四列:文件系统的参数

Async/sync:设置是否为同步方式运行,默认为async
auto/noauto :当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto

rw/ro :是否以以只读或者读写模式挂载

exec/noexec:限制此文件系统内是否能够进行”执行”的操作

user/nouser:是否允许用户使用mount命令挂载

suid/nosuid:是否允许SUID的存在

Usrquota:启动文件系统支持磁盘配额模式

Grpquota:启动文件系统对群组磁盘配额模式的支持

Defaults:最常用的,同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

  • 第五列:
    能否被dump备份命令作用
    (dump是一个用来作为备份的命令。通常这个参数的值为0或者1)
    0:代表不要做dump备份
    1:代表要每天进行dump的操作
    2:代表不定日期的进行dump操作

  • 第六列:
    是否检验扇区。
    开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
    0:不要检验
    1:最早检验(一般根目录会选择)
    2:1级别检验完成之后进行检验


一些挂载的主要事项
1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。

2、挂载点必须是已经存在的目录。

3、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。

5.查看挂载信息

#df -hT(d-disk,f-free空闲空间,h-以合适的形式显示单位,T-type)

(未被挂载的磁盘分区是看不到的,lsblk可以看)

请添加图片描述


备注:这个sdb磁盘一共5G,已经处理了2G(分区-格式化-挂载)可以正常使用,还剩3G是不能直接用的,同样要经过上面一系列操作才能使用。

由于本虚拟机的磁盘空间给了40G,所以目前来说可用为42G。


6.扩展分区

  • MBR分区方式中只能有四个主分区,如果要进行更多的分区,需要放弃一个主分区,将它设置为扩展分区。(原来选p的地方选e,e-extend)

  • 扩展分区相当于一块新的磁盘

  • 扩展分区的内部支持再次划分——逻辑分区

  • 扩展分区本身不能存放数据(不能挂载),可以想象为扩展分区是磁盘内的一块独立小磁盘。若想要使用,必须再进行分区,而此时的分区就称为逻辑分区,然后把逻辑分区进行格式化,再挂载,才能使用


操作步骤:删除原有的4号分区,新建分区为扩展分区

  • 进入磁盘sdb分区管理——#fdisk /dev/sdb
  • 输入p——打印当前分区信息表
  • 输入d——删除分区4
  • 输入n——新增分区
  • 输入e——指定为扩展分区(extend)
  • 然后继续新增分区输入n——就可以创建逻辑分区5逻辑分区6…
  • 然后对逻辑分区格式化,挂载

注意前四个分区一般是4个主分区或者3个主分区+1个扩展分区,或者2个主分区+1个扩展分区,反正1-4编号的分区只能是主分区+扩展分区的形式,逻辑分区编号只能从5开始

7.交换分区Swap

作用:提升内存的容量,防止OOM(out of memory),交换分区存放的是热点数据(无法人为干涉)

目的:提升硬盘速度,类似缓存区的意思

大小:推荐为内存的2倍


查看存储情况——#free -m(单位是M,默认是字节)(-h显示合适单位

请添加图片描述

#lsblk也可查看,其中交换区可以看到是接近4G

请添加图片描述

划分新的交换分区

  • 进入一块新的硬盘#fdisk /dev/sdc
  • 进行一次分区,得到sdc1
  • 输入w,保存并退出

针对交换分区的格式化指令:

#mkswap /dev/sdc1

挂载指令:

#swapon /dev/sdc1(不需要指定挂到哪里,可以理解为启用

卸载指令:

#swapoff /dev/sdc1


#free -h 查看当前存储情况


三.逻辑卷LVM

介绍一条快速写满硬盘的指令——抄写

#dd if=要抄的内容 of=抄到哪里 bs=抄多大 count=抄多少次

#dd if=/dev/zero of=/mnt/disk4/test.txt bs=1M count=1000

zero是一个字符设备,类型为c,可以理解为它是0文件,里面全是0字符)
[c字符设备,是一些串行端口的接口设备,例如键盘、鼠标、打印机、tty终端 ]
在这里插入图片描述

可以另开一个终端查看磁盘容量的动态变化过程(每隔0.5秒显示一次):

#watch -n0.5 ‘df -hT’


由于物理磁盘的空间经过分区后,是有限且固定的,不方便管理(分区数有限,容量有限),所以引出逻辑卷(分区无限,方便扩容缩容)。

LVM是 Logical Volume Manager逻辑卷管理

  • 它是Linux环境下对磁盘分区进行管理的一种机制,用户在无需停机的情况下可以方便地调整各个分区大小

普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。

LVM可以把几块磁盘加入到一个卷组中,再从卷组中抽出空间生成一个或多个逻辑卷(相当于之前的分区),这样的逻辑卷空间是可变的,可以随时使用卷组的空闲空间。

  • 卷组空间不足,只需要加入新的磁盘到卷组就可以。

但是,用户文件可以指定存储在某一块逻辑卷中,但实际存在哪一块物理磁盘我们是无法掌控的,这由系统背后来管理。


步骤:

  1. 找一块新磁盘 /dev/sdf

  2. 将磁盘创建为物理卷

    #pvcreate /dev/sdf

  3. 创建卷组vg1,并将物理卷sdf加入(如果有卷组直接加入就可以用了)

    #vgcreate vg1 /dev/sdf

  4. 在卷组中抽调空间,制作逻辑卷lv1—— /dev/vg1/lv1(其实就是把卷组进行分区)

    #lvcreate -L 200M -n lv1 vg1

-L 200M表示大小(M或G) 
-n lv1表示卷名 
vg1表示从哪个卷组中拿空间)
  1. 格式化逻辑卷lv1——创建文件系统

    #mkfs.ext4 /dev/vg1/lv1

  2. 挂载lv1到指定目录

    #mkdir /mnt/lv1
    #mount /dev/vg1/lv1 /mnt/lv1


PV:物理卷Physical Volume
VG:卷组Volume Group
LV:逻辑卷Logical Volume

  1. 写满后扩展逻辑卷(前提是卷组中有空间)
  • 扩展逻辑卷lv1大小(从所属的卷组里拿空间就好)

    第一步,扩展

    #lvextend -L +4G /dev/vg1/lv1

    第二步,刷新逻辑卷lv1的文件系统大小,2表示to

    #resize2fs /dev/vg1/lv1

  • 卷组空间不足,先扩展卷组大小

    第一步,创建新的物理卷sdg

    #pvcreate /dev/sdg
    (通过#pvs可以查看创建情况)

    第二步,将sdg物理卷添加进卷组vg1

    #vgextend vg1 /dev/sdg(通过#vgs查看)

    第三步,再进行逻辑卷扩展


四.文件系统

1.索引型管理

以块为基本单位,每块大小默认4096字节(4KB),主要是三个部分

  • 1. inode——索引(i是指index)

    一个文件占用一个inode,一个node大小为128bytes

    记录文件的元数据metadata(属性,大小,权限,主信息)

  • 2. block——块,记录实际的数据

  • 3. superblock——超级块

    记录block和inode的总量,未使用与已经使用的block,inode情况

目前linux系统中常用的文件系统:

  • ext3——最大支持文件16TB
  • ext4——最大支持文件16TB
  • XFS——最大支持文件100TB

查看文件的inode号 ——#ll -i 文件名

查看磁盘的inode使用情况——#df -i


一个常见问题:

因为一个文件占用一个inode,当inode用完了,即使磁盘空间很充裕,也无法再存放或创建新文件了。

清空磁盘:#rm -rf 磁盘路径

2.文件链接

先随便创建一个文件用于练习

#echo 123 > /file1


一. 软链接(符号链接)

  • Symbolic links (指令选项中有 -s)

  • #ln -s 源路径 新路径

  • 文件实际只有一份,其他文件指向源文件,不会过多占用内存,类似快捷方式

  • 删除源文件,链接文件失效

  • 软链接可以对文件目录


补充说明:文件颜色

天蓝: Symbolic link file 链接文件,主要是使用ln命令建立的文件

红字黑底: Broken link 无效链接


二 .硬链接(不常用)

  • #ln 源路径 新路径
  • 一个链接对应一个文件,所以创建硬链接会占用多份空间,修改一个其他都改,同步编辑
  • 删除源文件,链接文件不受影响,对应文件的链接数会减少
  • 硬链接不能对目录做
  • 硬链接只能在同一个分区中做

3.RAID磁盘阵列

Redundant Array of Independent Disks——廉价磁盘冗余阵列

保证数据安全性,提升数据读取速度

  • RAID 1 :

    镜像集,两块磁盘,容量50%

    特点:容错

  • RAID 5:

    至少3块磁盘,磁盘大小要相同

    数据盘…数据盘…校验盘…热备盘(可无)

    前两块磁盘用于存放数据,第三块存放校验信息

    热备盘本身不存东西,它是数据盘的备胎,自动顶替坏盘

    特点:可靠

    空间利用率:(n-1)/n

  • RAID 0:

    条带集,速度快,但不容错,至少需要两块盘


  • 硬RAID:需要RAID卡,有自己的cpu,处理速度快,分有电池和无电池

  • 软RAID:通过操作系统对应命令实现


磁盘冗余阵列的处理步骤:

  1. 准备多块硬盘

    RAID 5:三块数据,一块热备(sdd,sdg,sdh,sdi),每块盘是5G大小

    请添加图片描述

  2. 将多块硬盘组合成RAID

    #mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,g,h,i}

(mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令)

选项解释:
-C /dev/md0 : 创建磁盘阵列/dev/md0,-C是create

-l5:表示level5——RAID5

-n3:表示三块数据盘(其中最后一块是校验盘)

-x1:表示一块热备盘

最后写出四块用来做磁盘阵列的可用磁盘,可以分开写
请添加图片描述

  1. 格式化,挂载

#mkfs.ext4 /dev/md0
#mkdir /mnt/raid5
#mount /dev/md0 /mnt/raid5

  1. 查看RAID信息

#df -hT

请添加图片描述

四块盘20G,其中一块做校验盘,一块做热备盘,所以实际能用只有两块数据盘,大小为10G

#mdadm -D /dev/md0——查看该阵列的详细信息

-D:detail

请添加图片描述

验证磁盘阵列的热备功能:

用mdadm指令强制移除磁盘阵列中的某一块数据盘,可以看到热备盘进行顶替

  • 先在磁盘阵列md0的挂载目录/mnt/raid5中随便写入一个文件

  • 新开一个终端查看磁盘阵列的最后十行变化

#watch -n0.5 ‘mdadm -D /dev/md0 |tail -10’

  • 强制移除sdd

#mdadm /dev/md0 -f /dev/sdd -r /dev/sdd

(-f强制,-r移除)

  • 查看文件是否还存在,以及内容是否有损坏
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168474.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • vue 强制清除浏览器缓存

    vue 强制清除浏览器缓存(1)最基本的方法就是,在打包的时候给每个打包文件加上hash值,一般是在文件后面加上时间戳//在vue.config.js文件中,找到output:constTimestamp=newDate().getTime()output:{//输出重构打包编译后的文件名称【模块名称.版本号.时间戳】filename:`[name].${process.env.VUE_APP_Version}.${Timestamp}.js`,chunkFilen

  • 一张图看懂字节跳动8年创业史,太励志了吧

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 转载自| BAT(id:batfun) 字节跳动可以说是这两年 最受关注的互联网公司之一 2020年3月12日 字节…

  • python读取图像数据的一些方法[通俗易懂]

    python读取图像数据的一些方法[通俗易懂]工作和学习中设计一个神经网络中经常需要设计一个数据载入器。首先第一件事我们要根据我们的任务要求确定一个数据提供的方法。如我们是一个分类任务,我们就需要读取数据和数据本身对应的标签。12除了分类任务之外当然还有一些图像到图像的任务,如…

  • vmware 15.5.7 激活码【中文破解版】

    (vmware 15.5.7 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/ide…

  • java集合类框架的基本接口有哪些

    java集合类框架的基本接口有哪些转自:牛客网java集合类框架的基本接口有哪些?答:Collection:代表一组对象,每一个对象都是它的子元素Set:不包括重复元素的CollectionList:有顺序的Collection,并且可以包含重复元素Map:可以把键(key)映射到值(value)的对象,键不能重复下面是详细解释:转自:牛客网(一)总共有两大接口:Collecti

  • Android Studio 安装配置教程 – Windows(详细版)

    Android Studio 安装配置教程 – Windows(详细版)准备工作Java环境变量配置好,参考:Java环境变量配置然后首先是安装程序,这里默认不翻墙,使用国内的,:AndroidStudio下载地址,最新版本目前是3.5.2,由于我之前已经下载过了3.5.0了,所以我就不需要再下载3.5.2了,安装双击运行点击Next下一步点击Next下一步默认会给你转到C盘,这里我修改到了G盘(PS:这里一定要改路径,否则随着你开…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号