• 2_5.Linux存储的基本管理


     实验环境:

    系统里添加两块硬盘

    ##1.设备识别## 

    设备接入系统后都是以文件的形式存在
    设备文件名称:

    1. SATA/SAS/USB /dev/sda,/dev/sdb ##s= SATA, d=DISK a=第几块
    2. IDE /dev/hd0,/dev/hd1 ##h= hard
    3. VIRTIO-BLOCK /dev/vda,/dev/vdb ##v=virtio
    4. M2(SSD) /dev/nvme0,/dev/nvme1 ##nvme=m2
    5. SD/MMC/EMMC(卡) /dev/mmcblk0,/dev/mmcblk1 ##mmcblk=mmc卡
    6. 光驱 /dev/cdrom,/dev/sr0,/dev/sr1

    1. 设备查看
    2. fdisk -l ##查看磁盘分区情况
    3. lsblk ##设备使用情况
    4. blkid ##设备管理方式及设备id
    5. df ##查看正在被系统挂载的设备
    6. cat /proc/partitions ##查看系统识别设备

     

    ##2.设备挂载## 

    在系统中有设备id的设备是可以被系统使用的 

    (1)设备临时挂载

    1. 挂载命令:
    2. mount -o 挂载参数 device 挂载点
    3. umount 取消挂载,可以跟设备/挂载点
    4. mount ##查看挂载信息
    5. mount -o rw /dev/vda1 /westos
    6. mount -o remount,ro /westos ##转换挂载参数由读写变为只读
    7. 在卸载时当出现设备正忙:
    8. fuser -kvm 设备|挂载点 #-k 结束进程, -v 现实详细信息 -m 显示进程

     ​​​

    (2)设备永久挂载

    1. 设备永久挂载
    2. vim /etc/fstab ##设备挂载策略文件
    3. 设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
    4. /dev/sr0 /westos iso9660 defaults 0 0
    5. 此文件在编写完成后不会马上生效
    6. mount -a ##重新读取/etc/fstab文件

     此文件内容编写错误会导致系统启动失败
    按照提示在操作界面输入超级用户密码
    注释错误行
    重启系统即可

    ##3.设备中文件的查找##

    1. find
    2. -name #文件名查找
    3. -user #所有人查找
    4. -group #按所有组查找
    5. -type f d s b l #按类型查找,d是目录,f是文件
    6. -perm 222 /222 -222 #按权限查找
    7. 222是查找u、g、o都是2的文件
    8. /222是查找u或g或o中含有2的文件
    9. -222是查找u g o 都含有2的文件
    10. -exec #查找到文件后执行命令
    11. -maxdepth 1 #最大查找深度为1
    12. -mindepth 1 #最小查找深度为1
    13. -cmin 1 -1 +1 #按修改时间查找
    14. -size +|-| 1M #按大小查找,+表示1M以上的文件
    15. -表示1M以下的文件
    16. 1M表示大小为1M的文件
    17. -o #o是或者的意思
    18. -a #a是and的意思可以不要
    19. -not #非的意思,查找不符合条件的文件

    ##4.分区##

    1. 分区方式: 位数 分区表大小 支付分区个数 支持单个分区大小
    2. legacy (MBR) 32 64byte 主分区42.2TB 所有分区16
    3. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    4. UEFI (GPT) 64 128byte 理论上无限制 8ZiB windows 128

    ##MBR分区方式:##
    主分区:
    分区表记录分区的信息并可以直接使用的分区
    扩展分区:
    主分区表记录的分区,不可直接使用,只是逻辑分区容器
    逻辑分区:
    扩展分区之上划分的分区叫做逻辑分区 

    1. #分区方法#
    2. fdisk /dev/sdb
    3. Welcome to fdisk (util-linux 2.32.1).
    4. Changes will remain in memory only, until you decide to write them.
    5. Be careful before using the write command.
    6. Device does not contain a recognized partition table.
    7. Created a new DOS disklabel with disk identifier 0x4018d2a4.
    8. Command (m for help): m ##获得帮助
    9. d ##删除
    10. l ##列出所有分区类型
    11. n ##新建
    12. p ##显示分区表
    13. t ##更改分区类型
    14. w ##保存更改
    15. q ##退出
    16. g ##设定分区方式为GPT
    17. o ##设定分区方式为mbr
    1. ##新建分区##
    2. Command (m for help): n #新建
    3. Partition type
    4. p primary (0 primary, 0 extended, 4 free) ##主分区
    5. e extended (container for logical partitions) ##扩展分区
    6. Select (default p): p ##建立主分区
    7. Partition number (1-4, default 1):1 ##分区表位置
    8. First sector (2048-20971519, default 2048): ##分区起始位置推荐使用默认
    9. Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +100M ##分区结束
    10. 位置
    11. Command (m for help):wq ##退出保存,如果直接q表示退出不保存

     ​​

    1. udevadm settle ##同步分区表
    2. mkfs.xfs -K /dev/sdb1 ##格式化设备为xfs文件系统(相当与在/dev/sda1上安装设备管理软件)
    3. ##-K 不丢弃空数据块
    4. mount /dev/sdb1 /mnt/westos ##mount命令挂在为临时挂在,如果需要永久挂在需要编写/etc/fstab

     

     parted 命令(非交互式)方式建立分区:  

    1. ####parted####
    2. parted /dev/vdb mklabel msdos
    3. parted /dev/vdb mkpart primary 1 100
    4. parted /dev/vdb rm 2

     ​​

     常用文件系统对比:

    1. ####常用文件系统对比####
    2. 文件系统 FAT16 FAT32 NTFS EXT3 EXT4 XFS
    3. 最大卷 2GB 4GB 256TB 32TB 1EB 16EB
    4. 最大单个文件 4GB 8TB 16TB 2TB 16TB 8EB
    5. 最大文件个数 65536 4177920 4294967295 32000个子目录 无限子目录
    6. 代表系统 DOS/Win95 Win98 Win2000以后 RHEL5 RHEL6 RHEL7
    #man 5 fs     ##查看获取帮助

     设备删除:

    1. #####设备删除######
    2. dd if=/dev/zero of=/dev/sdb bs=1M count=1

     mbr分区方式转换成GPT:

    1. #mbr分区方式转换成GPT#
    2. parted /dev/sda
    3. (parted) mklabel
    4. New disk label type? gpt
    5. Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be
    6. lost.
    7. Do you want to continue?
    8. Yes/No? yes
    9. (parted) q

     ##5.swap分区##

    作用:
    程序在运行时所有数据是在RAM
    当RAM使用量超过了限额
    为了使系统更加稳定
    我们在硬盘上划分一部分空间来作内存缓冲区swap
    当内存使用超过限额,内核会把内存中闲置的数据存放到swap中
    当程序需要swap分区中的数据时内核将swap分区中的数据在交还给内存进程处理 

    swap分区大小建议:
    内存大小 swap分区建议大小 当允许HIBERNATE
    2GiB以下 内存两倍 内存3倍 2-8GiB 等于物理内存 物理内存2倍 8-64GiB 4GiB 1.5倍物理内存
    64GiB以上 4GiB HIBERNATE不开 

    1. swap管理
    2. swapon -s ##查看swap分区信息

    (1)临时创建swap分区 

    1. 创建swap分区
    2. 创建分区并设定分区的类型为Linuxswap
    3. mkswap /dev/sda1 ##格式化设备位swap格式
    4. swapon /dev/sda1 -p 0-32767 ## -p表示指定swap的优先级

     

    (2)永久创建swap分区 

    1. vim /etc/fstab
    2. /dev/sda1 swap swap pri=4 0 0
    3. swapon -a

    (3)删除swap 

    1. 删除swap
    2. vim /etc/fstab
    3. /dev/sda1 swap swap pri=4 0 0 ##删除此行
    4. swapoff /dev/sda1

    ##6.磁盘配额## 

    作用:
    设定用户能写入指定设备的最大额度 

    设定方法:

    1. mount /dev/sda1 /pub/ -o usrquota ##挂载设备并激活配额参数
    2. quotaon -uv /dev/sda1 ##激活配额
    3. edquota -u lee ##设定用户lee配额
    4. Disk quotas for user lee (uid 1001):
    1. 设备 用户已经创建数据 软限 硬限 户已经创文件个数 软限 硬限
    2. Filesystem blocks soft hard inodes soft hard
    3. /dev/sda1 20480 0 20480 1 0 0
    1. 永久开启配额
    2. vim /etc/fstab
    3. /dev/sda1 /pub xfs defaults,usrquota 0 0
    1. 测试:
    2. su - lee
    3. cd /pub
    4. dd if=/dev/zero of=/pub/leefile bs=1M count=22 ##截取数据失败只能写入20M数据

     ​​​​​​

     ​​​​​​

     

     

    1. 关闭配额:
    2. quotaoff -uv /dev/sda1
    3. vim /etc/fstab ##去掉配额参数usrquota

     

  • 相关阅读:
    java学习笔记(2)
    AI视频检索丨历史视频标签化,助力重要事件高效溯源
    新闻管理系统,新闻发布系统,新闻发布管理系统毕业设计
    2024年6月 青少年python一级等级考试真题试卷
    【FreeRTOS】FreeRTOS删除任务vTaskDelete()
    消息队列中间件面试笔记总结RabbitMQ,Kafka,RocketMQ
    基于SSM+Vue的网上花店系统
    商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c
    【Unity】如何优雅地移动物体-8个方法
    firewalld常用的基础配置
  • 原文地址:https://blog.csdn.net/weixin_46927961/article/details/137344101