Linux下的存储管理
文章目录
一、设备名称识别及设备查看命令
1. 存储设备识别对应名称表
存储设备名称 | 被识别名称 | 解释 |
---|---|---|
STAT/SAS/USB | /dev/sda,/dev/sdb | s=SATA d=DISK a=第1块 b=第2块 |
IDE | /dev/hd0,/dev/hd1 | h=hard d=DISK 1是第1块 |
VIRTIO-BLOCK | /dev/vda,/dev/vdb | v=virtio |
M2(SSD) | /dev/nvme0,/dev/nvme1 | nvme=m2 |
SD /MMC/EMMC(卡) | /dev/mmcblk0,/dev/mmcblk2 | mmcblk=mmc卡 |
2. 实验环境搭建
给虚拟机node2中添加一个20G的硬盘
3. 查看命令
fdisk -l ##查看磁盘分区情况(系统识别准确度高)
lsblk ##设备使用情况
blkid ##设备管理方式及设备id(可以用的设备)
df -h ##查看正在被系统挂载的设备
cat /proc/partitions ##查看系统识别设备(设备能不能用不知道)
loop0相当于光驱,回环设备
远程进node2虚拟机中查看增加的硬盘:
二、设备的挂载卸载及解决设备busy问题
1. 临时挂载 卸载
在系统中有设备id的设备都是可以被系统使用的
挂载命令
语法1:mount -o 挂载参数 device 挂载点 ##挂载
语法2:umount 设备 挂载点 ##卸载
mount ##查看挂载信息
mount -o rw /dev/sdb1 /mnt ##设置为读写模式
mount -o remount, ro /mnt ##转换挂载参数由读写变为只读
2. 解决设备卸载busy问题
问题描述:当卸载时设备正忙,说明有shell正处于挂载目录
方法1:
fuser -kvm 设备 挂载点 ##-k 结束进程 -v 显示详细信息 -m 显示进程
umount 设备 挂载点 ##先杀死进程,再卸载
方法2:
lsof /mnt ##用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息。
kill -9 进程id号
umount /mnt
3.永久挂载或开机自动挂载
临时挂载在重启后便需要再次挂载,现在可以设置开机自动挂载(永久挂载),其实就是修改配置文件。
这里有两个配置文件可以选择修改:
1、 /etc/rc.d/rc.local #表示系统启动后读取的文件,进行挂载
2、 /etc/fstab #内核启动后就开始挂载设备
第一个系统启动后读取文件,再挂载,曾在配置软件仓库里提到过,这里主要演示第二个,内核启动挂载。实验在虚拟机下做,做错系统会起不来!!!!
vim /etc/fstab #设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/sr0 /westos iso9660 defaults 0 0
配置好fstab文件后重新读取一下:
mount -a (/etc/fstab ) ##重新读取/etc/fstab文件
- 此文件内容编写错误会导致系统启动失败
- 按照提示在操作界面输入超级用户密码
- 注释错误行或者修改错误部分
- 重启系统即可
!!若不小心配置文件修改错了,重启进不到系统!
解决办法:
三、主分区表及磁盘分区类型
分区方式表
分区方式 | 位数 | 分区表大小 | 支持分区个数 | 支持单个分区大小 |
---|---|---|---|---|
Legacy | (MBR)32 | 64bytes | 主分区4个,所有分区16个 | 2TB |
UEFI | (GPT)64 | 128bytes | 理论上无限制,window128 | 18EB |
MBR分区最大2TB
GPT(即GUID,全局唯一标识磁盘分区表) 可管理磁盘大小18EB
----------------- 1PB=1024TB 1EB=1024PB 1ZB=1024EB 1YB=1024ZB-----------------
1.MBR分区方式
硬盘完整的0磁道1扇区512字节所包含的信息
512字节 = 446字节 + 64字节 + 2字节
MBR(主引导记录) mpt(主分区表) 55aa(硬盘有效标识)
mpt (master patation table)
硬盘分区数 = 主分区表字节/每个分区占字节数
MBR每个主分区表占16字节,所以可以分4个主分区
主分区:主分区表记录的分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可以直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫逻辑分区
当建立三个主分区后,建第四个分区会默认为扩展分区。
四、划分分区
分区命令
fdisk 要分区的设备
如 : fdisk /dev/vdb
n ##新建
d ##删除
w ##写入
q ##退出
三个主分区后,建第四个分区会默认为扩展分区。
五、设备格式化及挂载
1.给设备安装文件系统
fat 文件兼容性好,但是不能超过2TB
ext日志文件系统,稳定性好,速度慢,大小不能超过16TB
文件系统格式 | 版本支持 | 支持文件系统大小 | 支持单个文件大小 |
---|---|---|---|
ext3 | 红帽5及以前的版本 | 32TB,实际2TB | 2TB,实际16G |
ex4 | 红帽6 | 1EB | 16TB |
xfs | 红帽7及以上 | 18EB | 9EB |
2.格式化分区
mkfs.文件系统格式 磁盘路径
3.挂载
见 第二章.3
六、swap分区管理
1. swap分区建立
划分分区并设定分区标签为82 (t)
mkswap /dev/vdb6 ##格式化为swap分区
swapon -a /dev/vdb6 ##
swapon -s
vim /etc/fstab
添加/dev/vdb6 swap swap defaults 0 0
wq
2. swap分区删除
vim /etc/fstab
删除/dev/vdb6 swap swap defaults 0 0
swapoff /dev/vdb6
swapon -s
七、磁盘配额
mount -o usrquota /dev/vdb7 /public
chmod 777 /public
edquota -u student /dev/vdb7
vim /etc fstab
/dev/vdb7 /public xfs defaults,usrquota 0 0
1.分配(临时&永久)
1.磁盘配额问题
假设一个磁盘有100M分给5个人,如果不设置配额方式,一个人的数据占满100M,其他人就无法使用该磁盘了,所以要设置用户对该磁盘的使用限额(实质限制磁盘)
2. 进行分配
使用 mount -o usrquota /dev/vdb7 /public/
进行临时挂载,关机会丢失。
若需要永久挂载直接修改配置文件,/etc/fstab 。
添加如下信息:
/dev/vdb7 /westos xfs defaults,usrquota 0 0
命令edquota -u westos /dev/vdb7
给用户westos配置20M额度
配置表:
设备 用户已创建数据 软限 硬限 用户已创建文件个数 软限 硬限
Filesystem blocks soft hard inodes soft hard
/dev/vdb7 0 0 20480 0 0 0
切换用户前需要给文件夹加权限:chmod 777 /public/
可以看到超过20M出现错误
2.关闭配额
quotaoff -uv /dev/vdb7 ##关闭配额
-删除/etc/fstab文件中配额参数usrquota
quotaon -uv /dev/vdb7 ##开启配额
八、磁盘加密
-
原理
-
步骤
加密步骤
1.建立一块新的磁盘
2.进行加密,`cryptsetup luksFormat 磁盘名字`
必须是大写的YES,小写出不来,是个bug
luks(Linux Unified Key Setup)
3.打开加密层:`cryptsetup open 设备名(随意起个设备名)`
4.格式化磁盘,`mkfs.xfs /dev/mapper/设备名`
5.ll /dev/mapper 看到新出现的文件就是加密的设备
6.挂载`mount /dev/mapper/名字 要挂载到的目录`
7.现在就可以进行文件的读写
8.使用完可以`unmount 起的名字`
9.`cryptsetup close 起的名字`
10.ll /dev/mapper 下文件消失
此时文件里的内容已经看不到,想查看必须重新打开盖子-起设备名,输入密码,挂载后才能看到
九、加密磁盘开机自动挂载与如何删除加密设备
1.开机自动挂载
第一步:vim /etc/crypttab
名称 设备 密码文件
test /dev/vdb8 /root/diskpass
第二步:vim /etc/fstab
/dev/mapper/test /jiami xfs defaults 0 0
第三步:vim /root/diskpass
输密码 2020test
chmod 600 /root/diskpass
文件和设备关联 cryptsetup luksAddkey /dev/vdb8 /root/diskpass
2. 删除加密设备
第一步:删除文件内容
vim /etc/fstab 删除挂载信息内容
vim /etc/crypttab 删除写的内容
第二步:现在处于解密状态,解除挂载,然后关掉加密
umount /dev/mapper/test或者umount /jiami
cryptsetup close jiami
第三步:如果不想要加密,可以强制格式化
mkfs.xfs /dev/vdb8 -f
十、如何转换分区方式
命令parted 加 磁盘
help
mklable
gpt