云计算学习——Linux存储管理

本文详细介绍了Linux系统中的磁盘管理,包括MBR和GPT两种分区表的差异,磁盘分区的创建、格式化及挂载过程。讨论了如何创建扩展分区和逻辑分区,以及文件系统的格式化。此外,还涵盖了逻辑卷管理,RAID阵列的构建,特别是RAID0、RAID1和RAID5的工作原理和应用场景。
摘要由CSDN通过智能技术生成

磁盘管理

磁盘简介

磁盘命名  
IDE(并口)   /dev/hda——基本已经淘汰
sata(串口)  
    位置——/dev/sda1
        ——/dev(储存设备的文件)
        sda——是一个文件
        s——代表sata就是串口
        d——代表磁盘
        a——代表第一块(a、b、c...)
        1——磁盘的分区,1表示第一个分区
​
磁盘分区类型
MBR(Master Boot Record)——主引导记录,是位于磁盘最前面的一段引导
    支持的最大磁盘容量是<2TB。
    设计时分配4个分区,如果希望超过4个分区,则需要放弃主分区,改为拓展分区和逻辑分区
    命令:fdisk
    
GPT(GUIDPartition Table)——全局唯一标识分区表,是一个实体硬盘的分区表的结构布局的标准
    支持大于2TB,支持128个分区
    命令:gdisk    

磁盘分区管理

三部曲 分区(MBR/GPT)——>格式化/文件系统 filesystem——>挂载mount

查看磁盘信息

第一种:ll /dev/sd*    

第二种:sblk——列出所有块状设备(block文件存储设备文件)

操作步骤

创建分区

MBR类型:fdisk  /dev/sdb(磁盘名称)——启动分区工具,进入会话模式
GPT类型:gdisk
    (m获取帮助)
    选择操作类型:n——划分区   d——删除分区
    选择分区类型:p——选择主分区     e——选择扩展分区
    选择分区编号:MBR(1~4)、GPT(1~128)
    选择磁盘开始的扇区位置——回车(默认)
    选择磁盘分区结束的扇区位置(last 扇区)——+2G(分区大小)
    显示设置分区的记录,但不生效,可继续划分分区重复步骤
    w——输入w保存分区信息,自动退出会话模式
    partprobe /dev/sdb——刷新分区表
    fdisk -l /dev/sdb——查看磁盘分区,确认是否成功创建
    lsblk——查看全部磁盘基本信息

逻辑分区

MBR类型磁盘的分区最多只能有4个主分区,如果想超过4个分区,则必须放弃一个主分区,重新创建扩展分区(不能存放数据,不能格式化和挂载文件),扩展分区相当于在磁盘里又插入了一块磁盘,扩展分区里可创建任意个逻辑分区(不能超过扩展分区的大小),逻辑分区里格式化并挂载文件之后可存放数据。

创建文件系统(格式化)

    mkfs.ext4(文件系统类型) /dev/sdb1(要格式化的分区)
    mk——make 创造
    f——file  文件
    s——system  系统
    ext4——extend4  扩展
    /dev/sdb1——第二串口硬盘第一个分区,进行格式化

手动挂载mount

手动挂载的分区将在系统重启之后消失,存储的文件仍然存在,再次挂载之后将会重新显示

(相当于挂载之后才能看到磁盘文件内容,且重启之后得再次挂载才行)

    mkdir /mnt/disk1——创建一个文件
    mnt目录一般用于挂载外部设备
    mount  -t ext4(文件系统类型)  /dev/sdb1  /mnt/disk1——把disk1文件挂载到分区
                
    df -hT——可进行查看
    被挂载的文件存储的东西会在磁盘储存

永久挂载方法

1、在/etc/fstab文件中添加挂载信息

内容:
分区名 挂载文件 文件系统 挂载选项 dump选项  fsck文件系统检查选项

文件系统:

Linux:ext2,ext3,ext4,xfs,brtfs,zfs
windows:FAT16,FAT32,NTFS
其他:RAMFS(内存文件系统),ISO 9660(光盘),NFS(网络文件系统),
        SMBAFS/CIFS(支持Samba协议的网络文件系统),swap(交换分区)

挂载选项:

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选项:

开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

0不要检验
1最早检验(一般根目录会选择)
21级别检验完成之后进行检验

2、在系统自启动文件添加

自启动文件位置:/root/.brshrc ——隐藏文件(使用ls -a查看)

进入文件,在最后一行的位置加入挂载执行命令,系统将会在启动时执行

umount——将挂载文件取消,分区变为未挂载状态 卸载之后文件里面的内容还存在,但是必须再次挂载才能看见文件 卸载文件之后新创建的内容将会在原磁盘分区存储,再次挂载还会出现原来的内容,且新创建的内容不会出现(相当于U盘)

逻辑卷

管理磁盘的一种方式,性质与基本磁盘无异

特点:随意扩张大小,缩减大小,快照备份

PV:物理卷(Physical volume)——相当于一块磁盘

VG:卷组(Volume Group)——相当于一堆磁盘的组合

LV:逻辑卷(Logical Volume)——相当与一个分区

pvs——查看物理卷信息
vgs——查看卷组信息

创建逻辑卷:

    lsblk——查看磁盘信息   准备物理磁盘
    将物理磁盘转换成物理卷     pvcreate /dev/sdc   
    创建卷组        vgcreate vg1 /dev/sdc    ——vg1是自己设置的卷组名字
    创建逻辑卷       lvcreate -L  2G -n lv1 vg1  
        语法:lvcreate -L大小 -n逻辑卷名字 vg1卷组名字
        
    格式化逻辑卷      mkfs.ext4  /dev/vg1/lv1 
    创建挂载点       mkdir  /mnt/lv1     
    挂载          mount  /dev/vg1/lv1     /mnt/lv1    
    查看逻辑卷信息     df -hT      
    完成

卷组扩容vgextend

磁盘转换成物理卷    pvcreate /dev/sdd
    查看物理卷信息     pvs
    扩展卷组        vgextend  vg1  /dev/sdd——(把sdd容量放入卷组)
    查看卷组信息      vgs

逻辑卷扩容lvextend

    vgs——查看卷组信息,查看vg是否有剩余空间
    lvextend -L +2G /dev/vg1/lv1——增加2G空间给lv1(实际操作空间未增加)
    df -hT——观察文件系统当前容量
    resize2fs  /dev/vg1/lv1——文件系统扩容(实际操作空间已增加)
    完成

交换分区

swap交换分区——提升内存容量,防止内容溢出——虚拟内存

SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间 (也就是SWAP分区)虚拟成内存来使用 。它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且对用户不可见。

需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法.

交换分区(swap)的合理值一般在内存的2倍左右?一种流行的、以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。

设置交换分区大小一般为内存的2倍

  • 大于4GB小于16GB的内存系统,最小需要4GB的交换空间

  • 大于16GB小于64GB的内存系统,最小需要8GB的交换空间

  • 大于64GB小于256GB的内存系统,最小需要16GB的交换空间

free -m 查看当前交换分区大小
lsblk   查看全部分区
    前步骤与划分磁盘分区一样(不要w保存退出!)
    划分分区后,将类型设置为82(按t设置)
    partprobe /dev/sde——刷新分区表
    mkswap  /dev/sde1    格式化交换分区
    swapon  /dev/sde1       挂载
    free -m——验证交换分区是否变大
    swapoff  /dev/sde1      删除交换分区  

文件系统

ext3/ext4——索引文件系统(最大为16TB)—————相当于超市储物柜(包含下面3个)

索引文件系统(index):相当于目录

inode(索引节点)——————————储物柜显示屏(显示可用/已用)

  • 记录文件的属性(文件的元数据metadata——大小,权限,属主,属组,连接数,块数量,块编号等)

  • 一个文件占用一个inode,同时记录此文件数据所在的block number

  • inode的大小为128bytes(字节)

  • 决定文件系统中文件的数量

block(块)——————决定文件系统中文件的大小———————储物柜小格子

  • 存储文件的最基本单位

  • 存储文件的实际数据

  • 实际存储文件的内容,若文件较大,会占用多个block

  • block大小默认为4k

superblock(超级块、块组)——由inode和多个block组成——————相当于一个完整的储物柜

  • block 与inode的总数

  • 未使用与已使用的block 与inode的数量

操作

  • ls -i 文件——第一个数字是inode编号信息

  • df -i——显示inode信息

  • ls -l | wc -l——查询文件夹中的文件总数

当inode或者block都满了的时候就无法向文件系统中添加内容了

  • inode数量满了时,无法再创建文件,但可向文件里添加内容

  • block满了时,说明磁盘空间已经满了,无法再添加内容

文件链接

符号链接(软链接)——快捷方式

  • 软链接记录的只是源文件的绝对路径,当源文件绝对路径更改,软链接将会不可用

  • 文件和目录都可以创建软链接

创建软连接

    ln -s 文件1   /home/文件2——在home创建文件1的软链接,命名为文件2
    ls -l  文件——查看文件信息
        l开头的文件是链接文件
    两个文件的内容一样
    删除源文件,软链接文件不可用

硬链接

  • 只能针对文件做,不能对目录做

  • 只能在同一分区做

创建硬链接

ln  文件1   /home/文件2——在home创建文件1的硬链接
    ls -l  文件——查看文件信息
    删除源文件不会导致硬链接无法使用

RAID磁盘冗余阵列

RAID——廉价磁盘冗余阵列 作用:容错,提高磁盘读写速率

  • RAID0——条带集 2块硬盘以上,读写速率快,没有容错 2块硬盘全部放数据,数据平均大小分开存放

  • RAID1——镜像集 2块磁盘,容量50%用于存放数据,另50%用于备份,读写速率一般,容错高

  • RAID5: 3块硬盘以上,容量大小相同(大小不相同会使每一块硬盘只能使用相当于最小硬盘的容量) 三块数据盘:两块存放数据,一块放算法校验结果

    RAID5会根据前面的数据经过算法把得出的结果存放到校验盘,当任意一块数据盘损坏时,校验盘会根据 另一块数据盘经过算法逆推出损坏的数据。

    数据盘数量=n-1 n为数据盘数量 一个为校验盘 ​ 利用率=(n-1)/n ​

  • 拓展:可加一块热备盘(当其中一块硬盘损坏,立即替代损坏硬盘的位置) ​

  • 可靠性:其中一块硬盘损坏,可以通过算法逆运算回推数据信息 ​ ​

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

  • 软RAID:通过操作系统实现,如windows,linux

软RAID操作:

准备多块硬盘{3块数据盘(2块存数据,一块校验盘),一块热备盘}
    ls  -l  /dev/sd*——查看磁盘信息
    yum -y install mdadm——确保mdadm命令可用
    mdadm -C /dev/md0 -l5 -n3 -x1  /dev/sd{ b,c,d,e}——创建RAID
        -C:创建RAID
        /dev/md0:起名,一般在dev目录下创建文件,md+数字
        -l5:RAID5
        -n3:RAID的成员数量
        -x1:热备盘的数量
        /dev/sd{ b,c,d,e}:被设置的磁盘
    mkfs.ext4  /dev/mdo——格式化
    mkdir  /mnt/raid5——准备文件
    mount /dev/md0  /mnt/raid5——挂载到文件
    cp -rf  /etc/   /mnt/raid5/etc1——拷贝数据到文件(检查是否能使用)
    df -hT——查看磁盘信息
    mdadm -D  /dev/md0——查看详细信息

模拟硬盘损坏情况

新建终端打开实时观察: watch -n0.5 ‘mdadm  -D /dev/md0 |tail -10
​
    mdadm /dev/md0  -f  /dev/sdb  -r  /dev/sdb
                      数据盘
            -f  强制
            -r  移除
    热备盘会拷贝损坏磁盘的数据并代替损坏磁盘
​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值